]>
Commit | Line | Data |
---|---|---|
84164254 | 1 | #ifndef ALIANALYSISTASKEFFICIENCYBF_cxx |
2 | #define ALIANALYSISTASKEFFICIENCYBF_cxx | |
3 | ||
4 | // --------------------------------------------------------------------- | |
5 | // | |
6 | // Task for calculating the efficiency of the Balance Function | |
7 | // for single particles and pairs | |
8 | // | |
9 | // Authors: Panos Christakoglou, Michael Weber | |
10 | // | |
11 | // --------------------------------------------------------------------- | |
12 | ||
13 | class TH1F; | |
40b41983 | 14 | class TH3D; |
84164254 | 15 | class TH2F; |
16 | class TString; | |
17 | class AliESDEvent; | |
18 | class AliESDtrackCuts; | |
19 | ||
20 | #include "AliAnalysisTaskSE.h" | |
21 | ||
22 | class AliAnalysisTaskEfficiencyBF : public AliAnalysisTaskSE { | |
23 | public: | |
24 | AliAnalysisTaskEfficiencyBF() : AliAnalysisTaskSE(), | |
25 | fESD(0), fQAList(0), fOutputList(0), | |
26 | fHistEventStats(0), fHistCentrality(0), fHistNMult(0), | |
40b41983 | 27 | fHistGeneratedEtaPtPhiPlus(0), fHistFindableEtaPtPhiPlus(0), |
28 | fHistReconstructedEtaPtPhiPlus(0), fHistSurvivedEtaPtPhiPlus(0), | |
29 | fHistGeneratedEtaPtPhiMinus(0), fHistFindableEtaPtPhiMinus(0), | |
30 | fHistReconstructedEtaPtPhiMinus(0), fHistSurvivedEtaPtPhiMinus(0), | |
84164254 | 31 | fHistGeneratedEtaPtPlusControl(0), fHistFindableEtaPtPlusControl(0), |
32 | fHistReconstructedEtaPtPlusControl(0), fHistSurvivedEtaPtPlusControl(0), | |
33 | fHistGeneratedEtaPtMinusControl(0), fHistFindableEtaPtMinusControl(0), | |
34 | fHistReconstructedEtaPtMinusControl(0), fHistSurvivedEtaPtMinusControl(0), | |
35 | fHistGeneratedEtaPtPlusPlus(0), fHistFindableEtaPtPlusPlus(0), | |
36 | fHistReconstructedEtaPtPlusPlus(0), fHistSurvivedEtaPtPlusPlus(0), | |
37 | fHistGeneratedEtaPtMinusMinus(0), fHistFindableEtaPtMinusMinus(0), | |
38 | fHistReconstructedEtaPtMinusMinus(0), fHistSurvivedEtaPtMinusMinus(0), | |
39 | fHistGeneratedEtaPtPlusMinus(0), fHistFindableEtaPtPlusMinus(0), | |
40 | fHistReconstructedEtaPtPlusMinus(0), fHistSurvivedEtaPtPlusMinus(0), | |
40b41983 | 41 | fHistGeneratedPhiEtaPlusPlus(0), fHistFindablePhiEtaPlusPlus(0), |
42 | fHistReconstructedPhiEtaPlusPlus(0), fHistSurvivedPhiEtaPlusPlus(0), | |
43 | fHistGeneratedPhiEtaMinusMinus(0), fHistFindablePhiEtaMinusMinus(0), | |
44 | fHistReconstructedPhiEtaMinusMinus(0), fHistSurvivedPhiEtaMinusMinus(0), | |
45 | fHistGeneratedPhiEtaPlusMinus(0), fHistFindablePhiEtaPlusMinus(0), | |
46 | fHistReconstructedPhiEtaPlusMinus(0), fHistSurvivedPhiEtaPlusMinus(0), | |
84164254 | 47 | fESDtrackCuts(0), fAnalysisMode(0), |
48 | fCentralityEstimator("V0M"), fCentralityPercentileMin(0.0), fCentralityPercentileMax(5.0), | |
49 | fVxMax(3.0), fVyMax(3.0), fVzMax(10.), | |
50 | fMinNumberOfTPCClusters(80), fMaxChi2PerTPCCluster(4.0), fMaxDCAxy(3.0), fMaxDCAz(3.0), | |
622c9e7f | 51 | fMinPt(0.3), fMaxPt(1.5), fMinEta(-0.8),fMaxEta(0.8), fEtaRangeMin(0.0), fEtaRangeMax(1.6), fPtRangeMin(0.1), fPtRangeMax(5.0), fPhiRangeMin(0.0),fPhiRangeMax(360.), fEtaBin(64),fPtBin(49),fPhiBin(90){} |
84164254 | 52 | AliAnalysisTaskEfficiencyBF(const char *name); |
53 | virtual ~AliAnalysisTaskEfficiencyBF() {} | |
54 | ||
55 | virtual void UserCreateOutputObjects(); | |
56 | virtual void UserExec(Option_t *option); | |
57 | virtual void Terminate(Option_t *); | |
58 | ||
59 | Bool_t IsLabelUsed(TArrayI array, Int_t label); | |
60 | ||
61 | void SetAnalysisCutObject(AliESDtrackCuts *const trackCuts) { | |
62 | fESDtrackCuts = trackCuts;} | |
63 | void SetVertexDiamond(Double_t vx, Double_t vy, Double_t vz) { | |
64 | fVxMax = vx; | |
65 | fVyMax = vy; | |
66 | fVzMax = vz; | |
67 | } | |
68 | ||
69 | //Centrality | |
70 | void SetCentralityEstimator(const char* centralityEstimator) { | |
71 | fCentralityEstimator = centralityEstimator;} | |
72 | void SetCentralityPercentileRange(Float_t min, Float_t max) { | |
73 | fCentralityPercentileMin=min; | |
74 | fCentralityPercentileMax=max; | |
75 | } | |
76 | ||
77 | void SetAnalysisMode(const char* analysisMode) { | |
78 | fAnalysisMode = analysisMode;} | |
79 | ||
80 | //Track cuts | |
81 | void SetMinNumberOfTPCClusters(Double_t min) { | |
82 | fMinNumberOfTPCClusters = min;} | |
83 | void SetMaxChi2PerTPCCluster(Double_t max) { | |
84 | fMaxChi2PerTPCCluster = max;} | |
85 | void SetMaxDCAxy(Double_t max) { | |
86 | fMaxDCAxy = max;} | |
87 | void SetMaxDCAz(Double_t max) { | |
88 | fMaxDCAz = max;} | |
89 | void SetMinPt(Double_t minPt) { | |
90 | fMinPt = minPt;} | |
91 | void SetMaxPt(Double_t maxPt) { | |
92 | fMaxPt = maxPt;} | |
622c9e7f | 93 | void SetMinEta(Double_t minEta) { |
94 | fMinEta = minEta;} | |
84164254 | 95 | void SetMaxEta(Double_t maxEta) { |
96 | fMaxEta = maxEta;} | |
97 | ||
622c9e7f | 98 | void SetEtaRange(Double_t minRangeEta, Double_t maxRangeEta, Int_t binEta){ |
99 | fEtaRangeMax = maxRangeEta; | |
100 | fEtaRangeMin = minRangeEta; | |
101 | fEtaBin = binEta;} | |
102 | void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){ | |
103 | fPtRangeMin = minRangePt; | |
104 | fPtRangeMax = maxRangePt; | |
105 | fPtBin = binPt;} | |
106 | //void SetPtRangeMax(Double_t maxRangePt){ | |
107 | //fPtRangeMax = maxRangePt;} | |
108 | void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi){ | |
109 | fPhiRangeMin = minRangePhi; | |
110 | fPhiRangeMax = maxRangePhi; | |
111 | fPhiBin = binPhi;} | |
84164254 | 112 | |
622c9e7f | 113 | //void SetPhiRangeMax(Double_t maxRangePhi){ |
114 | //fPhiRangeMax = maxRangePhi;} | |
115 | ||
116 | /*void SetEtaBin(Double_t binEta){ | |
117 | fEtaBin = binEta;} | |
118 | void SetPtBin(Double_t binPt){ | |
119 | fPtBin = binPt;} | |
120 | void SetPhiBin(Double_t binPhi){ | |
121 | fPhiBin = binPhi;}*/ | |
40b41983 | 122 | |
84164254 | 123 | private: |
124 | AliESDEvent *fESD; //! ESD object | |
125 | TList *fQAList; //! QA list | |
126 | TList *fOutputList; //! Output list | |
127 | ||
128 | // QA histograms | |
129 | TH1F *fHistEventStats; //!event stats | |
130 | TH1F *fHistCentrality; //!centrality | |
131 | TH1F *fHistNMult; //! nmult | |
132 | ||
133 | // output histograms (single particles) | |
40b41983 | 134 | TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated) |
135 | TH3D *fHistFindableEtaPtPhiPlus;//!correction map for positives (findable) | |
136 | TH3D *fHistReconstructedEtaPtPhiPlus;//!correction map for positives (reconstructed) | |
137 | TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived) | |
84164254 | 138 | |
40b41983 | 139 | TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated) |
140 | TH3D *fHistFindableEtaPtPhiMinus;//!correction map for negatives (findable) | |
141 | TH3D *fHistReconstructedEtaPtPhiMinus;//!correction map for negatives (reconstructed) | |
142 | TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived) | |
84164254 | 143 | |
144 | TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated) | |
145 | TH2F *fHistFindableEtaPtPlusControl;//!correction map for positives (findable) | |
146 | TH2F *fHistReconstructedEtaPtPlusControl;//!correction map for positives (reconstructed) | |
147 | TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived) | |
148 | ||
149 | TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated) | |
150 | TH2F *fHistFindableEtaPtMinusControl;//!correction map for negatives (findable) | |
151 | TH2F *fHistReconstructedEtaPtMinusControl;//!correction map for negatives (reconstructed) | |
152 | TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived) | |
153 | ||
154 | // output histograms (pairs) | |
155 | TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated) | |
156 | TH2F *fHistFindableEtaPtPlusPlus;//!correction map for ++ (findable) | |
157 | TH2F *fHistReconstructedEtaPtPlusPlus;//!correction map for ++ (reconstructed) | |
158 | TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived) | |
159 | ||
160 | TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated) | |
161 | TH2F *fHistFindableEtaPtMinusMinus;//!correction map for -- (findable) | |
162 | TH2F *fHistReconstructedEtaPtMinusMinus;//!correction map for -- (reconstructed) | |
163 | TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived) | |
164 | ||
165 | TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated) | |
166 | TH2F *fHistFindableEtaPtPlusMinus;//!correction map for +- (findable) | |
167 | TH2F *fHistReconstructedEtaPtPlusMinus;//!correction map for +- (reconstructed) | |
168 | TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived) | |
169 | ||
40b41983 | 170 | //============// |
171 | TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated) | |
172 | TH2F *fHistFindablePhiEtaPlusPlus;//!correction map for ++ (findable) | |
173 | TH2F *fHistReconstructedPhiEtaPlusPlus;//!correction map for ++ (reconstructed) | |
174 | TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived) | |
84164254 | 175 | |
40b41983 | 176 | TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated) |
177 | TH2F *fHistFindablePhiEtaMinusMinus;//!correction map for -- (findable) | |
178 | TH2F *fHistReconstructedPhiEtaMinusMinus;//!correction map for -- (reconstructed) | |
179 | TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived) | |
180 | ||
181 | TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated) | |
182 | TH2F *fHistFindablePhiEtaPlusMinus;//!correction map for +- (findable) | |
183 | TH2F *fHistReconstructedPhiEtaPlusMinus;//!correction map for +- (reconstructed) | |
184 | TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived) | |
185 | //============// | |
84164254 | 186 | |
187 | AliESDtrackCuts *fESDtrackCuts; //ESD track cuts | |
188 | ||
189 | TString fAnalysisMode;//"TPC", "Global" | |
190 | ||
191 | TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD" | |
192 | Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile | |
193 | ||
194 | Double_t fVxMax;//vxmax | |
195 | Double_t fVyMax;//vymax | |
196 | Double_t fVzMax;//vzmax | |
197 | ||
40b41983 | 198 | Double_t fMinNumberOfTPCClusters; |
199 | Double_t fMaxChi2PerTPCCluster; | |
200 | Double_t fMaxDCAxy, fMaxDCAz; | |
84164254 | 201 | Double_t fMinPt, fMaxPt; |
622c9e7f | 202 | Double_t fMinEta, fMaxEta; |
203 | Double_t fEtaRangeMin;// acceptance cuts | |
40b41983 | 204 | Double_t fEtaRangeMax; // acceptance cuts |
205 | Double_t fPtRangeMin; //acceptance cuts | |
206 | Double_t fPtRangeMax; //acceptance cuts | |
207 | Double_t fPhiRangeMin; //acceptance cuts | |
208 | Double_t fPhiRangeMax; // acceptance cuts | |
622c9e7f | 209 | |
210 | Int_t fEtaBin; //acceptance cuts | |
211 | Int_t fPtBin; //acceptance cuts | |
212 | Int_t fPhiBin; // acceptance cuts | |
84164254 | 213 | |
214 | AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented | |
215 | AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented | |
216 | ||
217 | ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis | |
218 | }; | |
219 | ||
220 | #endif |