X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=ANALYSIS%2FAliEPSelectionTask.h;h=3d3b2e56da5b5b08a4ed290c09f2ecd8127d5a78;hp=7f564951a8a71fcfb3ad4af97e9e1d244fcf47c1;hb=b559c641a42c55fbc36652abb0674266e9ee8e89;hpb=1e55299159b8d71a70f464bf87bc3e74780a64fd diff --git a/ANALYSIS/AliEPSelectionTask.h b/ANALYSIS/AliEPSelectionTask.h index 7f564951a8a..3d3b2e56da5 100644 --- a/ANALYSIS/AliEPSelectionTask.h +++ b/ANALYSIS/AliEPSelectionTask.h @@ -1,5 +1,5 @@ -#ifndef ALIEPSELECTIONTASK_H -#define ALIEPSELECTIONTASK_H +#ifndef AliEPSELECTIONTASK_H +#define AliEPSELECTIONTASK_H /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ @@ -23,10 +23,15 @@ class AliESDtrackCuts; class AliESDtrack; class AliEventplane; class AliOADBContainer; +class AliVTrack; +class THnSparse; +class TProfile; class AliEPSelectionTask : public AliAnalysisTaskSE { public: + + enum ResoMethod{kRandom,kEta,kCharge}; AliEPSelectionTask(); AliEPSelectionTask(const char *name); @@ -38,40 +43,63 @@ class AliEPSelectionTask : public AliAnalysisTaskSE { virtual void Terminate(Option_t *option); TVector2 GetQ(AliEventplane* EP, TObjArray* event); - void GetQsub(TVector2& Qsub1, TVector2& Qsub2, TObjArray* event); - Double_t GetWeight(AliESDtrack* track); - Double_t GetPhiWeight(AliESDtrack* track); - - virtual void SetDebugLevel(Int_t level) {fDebug = level;} - void SetInput(const char* input) {fAnalysisInput = input;} - void SetUseMCRP() {fUseMCRP = kTRUE;} - void SetUsePhiWeight() {fUsePhiWeight = kTRUE;} - void SetUsePtWeight() {fUsePtWeight = kTRUE;} - void SetSaveTrackContribution() {fSaveTrackContribution = kTRUE;} + void GetQsub(TVector2& Qsub1, TVector2& Qsub2, TObjArray* event,AliEventplane* EP); + Double_t GetWeight(TObject* track1); + Double_t GetPhiWeight(TObject* track1); + void Recenter(Int_t var, Double_t * values); + + virtual void SetDebugLevel(Int_t level) {fDebug = level;} + void SetInput(const char* input) {fAnalysisInput = input;} + void SetUseMCRP() {fUseMCRP = kTRUE;} + void SetUsePhiWeight(Bool_t usephi = kTRUE){fUsePhiWeight = usephi;} + void SetUsePtWeight() {fUsePtWeight = kTRUE;} + void SetUseRecentering() {fUseRecentering = kTRUE;} + void SetSaveTrackContribution() {fSaveTrackContribution = kTRUE;} void SetTrackType(TString tracktype); void SetPhiDist(); + void SetQvectorDist(); void SetPersonalESDtrackCuts(AliESDtrackCuts* trackcuts); + void SetPersonalAODtrackCuts(UInt_t filterbit = 1, Float_t etalow = -0.8, Float_t etaup = 0.8, Float_t ptlow = 0.15, Float_t ptup = 20., Int_t ntpc = 50); void SetPersonalPhiDistribution(const char* filename, char* listname); + void SetEtaGap(Float_t etagap) {fEtaGap = etagap;} + void SetSubeventsSplitMethod(Int_t method) {fSplitMethod = method;} private: AliEPSelectionTask(const AliEPSelectionTask& ep); AliEPSelectionTask& operator= (const AliEPSelectionTask& ep); + TObjArray* GetAODTracksAndMaxID(AliAODEvent* aod, Int_t& maxid); + void SetOADBandPeriod(); + TH1F* SelectPhiDist(AliVTrack *track); + TObjArray* GetTracksForLHC11h(AliESDEvent* esd); + TString fAnalysisInput; // "ESD", "AOD" TString fTrackType; // "GLOBAL", "TPC" + TString fPeriod; // "LHC11h","LHC10h" + Double_t fCentrality; // centrality percentile from "V0M" Bool_t fUseMCRP; // i.e. usable for Therminator, when MC RP is provided Bool_t fUsePhiWeight; // use of phi weights Bool_t fUsePtWeight; // use of pT weights + Bool_t fUseRecentering; // use of mean & rms of q vector components for recentering Bool_t fSaveTrackContribution; // storage of contribution of each track to Q-Vector Bool_t fUserphidist; // bool, if personal phi distribution should be used Bool_t fUsercuts; // bool, if personal cuts should be used Int_t fRunNumber; // runnumber + UInt_t fAODfilterbit; // AOD filter bit for AOD track selection + Float_t fEtaGap; // Eta Gap between Subevent A and B + Int_t fSplitMethod; // Splitting Method for subevents + AliESDtrackCuts* fESDtrackCuts; // track cuts AliOADBContainer* fEPContainer; //! OADB Container - TH1F* fPhiDist; // Phi distribution used to calculate phi weights + AliOADBContainer* fQxContainer; //! OADB Container for Q_x vector + AliOADBContainer* fQyContainer; //! OADB Container for Q_y vector + TH1F* fPhiDist[4]; // array of Phi distributions used to calculate phi weights + THnSparse *fSparseDist; //! THn for eta-charge phi-weighting + TProfile* fQDist[2]; // array of TProfiles with mean+rms for recentering + TH1F *fHruns; // information about runwise statistics of phi-weights TVector2* fQVector; //! Q-Vector of the event Double_t* fQContributionX; //! array of the tracks' contributions to X component of Q-Vector - index = track ID