]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/AliFlowTasks/AliAnalysisTaskFlowEvent.h
ove all PID related things to AliFlowTrackCuts, make Bethe Bloch parameters user...
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTasks / AliAnalysisTaskFlowEvent.h
CommitLineData
fdff44c8 1/////////////////////////////////////////////////////
2// AliAnalysisTaskFlowEvent:
3// analysis task to fill the flow event
4// and make it available to the flow analysis methods.
5//////////////////////////////////////////////////////
6
1c1d4332 7/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
8* See cxx source for full Copyright notice */
9/* $Id: $ */
10
94cd9888 11#ifndef AliAnalysisTaskFlowEvent_H
12#define AliAnalysisTaskFlowEvent_H
13
1c1d4332 14class AliCFManager;
daf66719 15class AliFlowEventCuts;
16class AliFlowTrackCuts;
1c1d4332 17class AliFlowEventSimpleMaker;
18class TList;
489fdf79 19class TRandom3;
fbdb53fa 20class AliAnalysisTaskSE;
21class TString;
32b846cd 22class AliESDpid;
1c1d4332 23
65201059 24class AliAnalysisTaskFlowEvent : public AliAnalysisTaskSE {
1c1d4332 25 public:
26 AliAnalysisTaskFlowEvent();
6e214c87 27 AliAnalysisTaskFlowEvent(const char *name, TString RPtype, Bool_t QAon, UInt_t seed=666, Bool_t bCandidates=kFALSE);
1c1d4332 28 virtual ~AliAnalysisTaskFlowEvent();
29
65201059 30 virtual void UserCreateOutputObjects();
31 virtual void UserExec(Option_t *option);
1c1d4332 32 virtual void Terminate(Option_t *);
32b846cd 33 virtual void NotifyRun();
1c1d4332 34
f6f8c3fc 35 void SetAnalysisType(TString type) { this->fAnalysisType = type; }
36 TString GetAnalysisType() const { return this->fAnalysisType; }
1c1d4332 37
f6f8c3fc 38 void SetRPType(TString rptype) { this->fRPType = rptype; }
39 TString GetRPType() const { return this->fRPType; }
ef4799a7 40
fdff44c8 41 void SetMinMult(Int_t multmin) {this->fMinMult = multmin; }
42 Int_t GetMinMult() const {return this->fMinMult; }
43 void SetMaxMult(Int_t multmax) {this->fMaxMult = multmax; }
44 Int_t GetMaxMult() const {return this->fMaxMult; }
fdff44c8 45
7a01f4a7 46 void SetSubeventEtaRange(Double_t minA, Double_t maxA, Double_t minB, Double_t maxB)
47 {this->fMinA = minA; this->fMaxA = maxA; this->fMinB = minB; this->fMaxB = maxB; }
48 Double_t GetMinA() const {return this->fMinA;}
49 Double_t GetMaxA() const {return this->fMaxA;}
50 Double_t GetMinB() const {return this->fMinB;}
51 Double_t GetMaxB() const {return this->fMaxB;}
52
f6f8c3fc 53 void DefineDeadZone( Double_t etaMin, Double_t etaMax, Double_t phiMin, Double_t phiMax )
54 {this->fExcludedEtaMin = etaMin; this->fExcludedEtaMax = etaMax;
55 this->fExcludedPhiMin = phiMin; this->fExcludedPhiMax = phiMax; }
56
daf66719 57 void SetCutsEvent(AliFlowEventCuts* cutsEvent) {fCutsEvent=cutsEvent;}
58 AliFlowEventCuts* GetCutsEvent() const {return fCutsEvent;}
59 void SetCutsRP(AliFlowTrackCuts* cutsRP) {fCutsRP=cutsRP;}
60 AliFlowTrackCuts* GetCutsRP() const {return fCutsRP;}
61 void SetCutsPOI(AliFlowTrackCuts* cutsPOI) {fCutsPOI=cutsPOI;}
62 AliFlowTrackCuts* GetCutsPOI() const {return fCutsPOI;}
63
7183fe85 64 void SetCFManager1(AliCFManager* cfmgr) {this->fCFManager1 = cfmgr; }
1c1d4332 65 AliCFManager* GetCFManager1() {return this->fCFManager1; }
7183fe85 66 void SetCFManager2(AliCFManager* cfmgr) {this->fCFManager2 = cfmgr; }
1c1d4332 67 AliCFManager* GetCFManager2() {return this->fCFManager2; }
68 void SetQAList1(TList* list) {this->fQAInt = list; }
69 TList* GetQAList1() {return this->fQAInt; }
70 void SetQAList2(TList* list) {this->fQADiff = list; }
71 TList* GetQAList2() {return this->fQADiff; }
72 void SetQAOn(Bool_t kt) {this->fQA = kt; }
73 Bool_t GetQAOn() {return this->fQA; }
7a01f4a7 74
d459546b 75 // setters for common constants
76 void SetNbinsMult( Int_t i ) { fNbinsMult = i; }
77 void SetNbinsPt( Int_t i ) { fNbinsPt = i; }
78 void SetNbinsPhi( Int_t i ) { fNbinsPhi = i; }
79 void SetNbinsEta( Int_t i ) { fNbinsEta = i; }
80 void SetNbinsQ( Int_t i ) { fNbinsQ = i; }
81
82 void SetMultMin( Double_t i ) { fMultMin = i; }
83 void SetMultMax( Double_t i ) { fMultMax = i; }
84 void SetPtMin( Double_t i ) { fPtMin = i; }
85 void SetPtMax( Double_t i ) { fPtMax = i; }
86 void SetPhiMin( Double_t i ) { fPhiMin = i; }
87 void SetPhiMax( Double_t i ) { fPhiMax = i; }
88 void SetEtaMin( Double_t i ) { fEtaMin = i; }
89 void SetEtaMax( Double_t i ) { fEtaMax = i; }
90 void SetQMin( Double_t i ) { fQMin = i; }
91 void SetQMax( Double_t i ) { fQMax = i; }
92 // end setters common constants
93
94 // setters for adding by hand flow values (afterburner)
54089829 95 void SetAfterburnerOn(Bool_t b=kTRUE) {fAfterburnerOn=b;}
96 void SetNonFlowNumberOfTrackClones(Int_t n) {fNonFlowNumberOfTrackClones=n;}
97 void SetFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4) {fV1=v1;fV2=v2;fV3=v3;fV4=v4;}
d459546b 98 // end setters afterburner
1c1d4332 99
100 private:
101
102 AliAnalysisTaskFlowEvent(const AliAnalysisTaskFlowEvent& aAnalysisTask);
103 AliAnalysisTaskFlowEvent& operator=(const AliAnalysisTaskFlowEvent& aAnalysisTask);
104
d459546b 105 // TFile* fOutputFile; // temporary output file for testing
106 // AliESDEvent* fESD; // ESD object
107 // AliAODEvent* fAOD; // AOD object
108 TString fAnalysisType; // can be MC, ESD or AOD
109 TString fRPType; // can be Global or Tracklet or FMD
110 AliCFManager* fCFManager1; // correction framework manager
111 AliCFManager* fCFManager2; // correction framework manager
daf66719 112 AliFlowEventCuts* fCutsEvent; //event cuts
113 AliFlowTrackCuts* fCutsRP; //cuts for RPs
114 AliFlowTrackCuts* fCutsPOI; //cuts for POIs
d459546b 115 TList* fQAInt; // QA histogram list
116 TList* fQADiff; // QA histogram list
117 Int_t fMinMult; // Minimum multiplicity from tracks selected using CORRFW
118 Int_t fMaxMult; // Maximum multiplicity from tracks selected using CORRFW
119 Double_t fMinA; // Minimum of eta range for subevent A
120 Double_t fMaxA; // Maximum of eta range for subevent A
121 Double_t fMinB; // Minimum of eta range for subevent B
122 Double_t fMaxB; // Maximum of eta range for subevent B
123
124 Bool_t fQA; // flag to set the filling of the QA hostograms
6e214c87 125 Bool_t fLoadCandidates; // true if reciving candidates collection
d459546b 126
127 // setters for common constants
128 //histogram sizes
129 Int_t fNbinsMult; // histogram size
130 Int_t fNbinsPt; // histogram size
131 Int_t fNbinsPhi; // histogram size
132 Int_t fNbinsEta; // histogram size
133 Int_t fNbinsQ; // histogram size
134
135 // Histograms limits
136 Double_t fMultMin; // histogram limit
137 Double_t fMultMax; // histogram limit
138 Double_t fPtMin; // histogram limit
139 Double_t fPtMax; // histogram limit
140 Double_t fPhiMin; // histogram limit
141 Double_t fPhiMax; // histogram limit
142 Double_t fEtaMin; // histogram limit
143 Double_t fEtaMax; // histogram limit
144 Double_t fQMin; // histogram limit
145 Double_t fQMax; // histogram limit
146 // end common constants
147
f6f8c3fc 148 // Excluding a range
149 Double_t fExcludedEtaMin; // excluded region limit
150 Double_t fExcludedEtaMax; // excluded region limit
151 Double_t fExcludedPhiMin; // excluded region limit
152 Double_t fExcludedPhiMax; // excluded region limit
153 // End of excluding a range
154
489fdf79 155 // values afterburner
54089829 156 Bool_t fAfterburnerOn; // do we afterburn?
157 Int_t fNonFlowNumberOfTrackClones; // number of times to clone the particles (nonflow)
158 Double_t fV1; // Add Flow. Must be in range [0,0.5].
159 Double_t fV2; // Add Flow. Must be in range [0,0.5].
160 Double_t fV3; // Add Flow. Must be in range [0,0.5].
161 Double_t fV4; // Add Flow. Must be in range [0,0.5].
489fdf79 162
d459546b 163 TRandom3* fMyTRandom3; // TRandom3 generator
489fdf79 164 // end afterburner
165
587b0a35 166 ClassDef(AliAnalysisTaskFlowEvent, 1); // example of analysis
1c1d4332 167};
168
169#endif
489fdf79 170