]>
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), | |
d9906391 | 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.), fdPhiRangeMax(180.), fEtaBin(100),fdEtaBin(64),fPtBin(49),fPhiBin(100),fdPhiBin(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;} | |
d9906391 | 93 | |
94 | void SetEtaRange(Double_t minEta, Double_t maxEta, Int_t binEta, Double_t minRangeEta, Double_t maxRangeEta, Int_t bindEta){ | |
95 | fMinEta = minEta; | |
96 | fMaxEta = maxEta; | |
97 | fEtaBin = binEta; | |
622c9e7f | 98 | fEtaRangeMax = maxRangeEta; |
99 | fEtaRangeMin = minRangeEta; | |
d9906391 | 100 | fdEtaBin = bindEta; |
101 | } | |
622c9e7f | 102 | void SetPtRange(Double_t minRangePt, Double_t maxRangePt,Int_t binPt){ |
103 | fPtRangeMin = minRangePt; | |
104 | fPtRangeMax = maxRangePt; | |
105 | fPtBin = binPt;} | |
77e61e9e | 106 | void SetPhiRange(Double_t minRangePhi, Double_t maxRangePhi,Int_t binPhi,Double_t maxRangedPhi,Int_t bindPhi ){ |
622c9e7f | 107 | fPhiRangeMin = minRangePhi; |
108 | fPhiRangeMax = maxRangePhi; | |
77e61e9e | 109 | fPhiBin = binPhi; |
110 | fdPhiRangeMax = maxRangedPhi; | |
111 | fdPhiBin = bindPhi; | |
112 | } | |
84164254 | 113 | |
114 | private: | |
115 | AliESDEvent *fESD; //! ESD object | |
116 | TList *fQAList; //! QA list | |
117 | TList *fOutputList; //! Output list | |
118 | ||
119 | // QA histograms | |
120 | TH1F *fHistEventStats; //!event stats | |
121 | TH1F *fHistCentrality; //!centrality | |
122 | TH1F *fHistNMult; //! nmult | |
123 | ||
124 | // output histograms (single particles) | |
40b41983 | 125 | TH3D *fHistGeneratedEtaPtPhiPlus;//!correction map for positives (generated) |
126 | TH3D *fHistFindableEtaPtPhiPlus;//!correction map for positives (findable) | |
127 | TH3D *fHistReconstructedEtaPtPhiPlus;//!correction map for positives (reconstructed) | |
128 | TH3D *fHistSurvivedEtaPtPhiPlus;//!correction map positives (survived) | |
84164254 | 129 | |
40b41983 | 130 | TH3D *fHistGeneratedEtaPtPhiMinus;//!correction map for negatives (generated) |
131 | TH3D *fHistFindableEtaPtPhiMinus;//!correction map for negatives (findable) | |
132 | TH3D *fHistReconstructedEtaPtPhiMinus;//!correction map for negatives (reconstructed) | |
133 | TH3D *fHistSurvivedEtaPtPhiMinus;//!correction map negatives (survived) | |
84164254 | 134 | |
135 | TH2F *fHistGeneratedEtaPtPlusControl;//!correction map for positives (generated) | |
136 | TH2F *fHistFindableEtaPtPlusControl;//!correction map for positives (findable) | |
137 | TH2F *fHistReconstructedEtaPtPlusControl;//!correction map for positives (reconstructed) | |
138 | TH2F *fHistSurvivedEtaPtPlusControl;//!correction map positives (survived) | |
139 | ||
140 | TH2F *fHistGeneratedEtaPtMinusControl;//!correction map for negatives (generated) | |
141 | TH2F *fHistFindableEtaPtMinusControl;//!correction map for negatives (findable) | |
142 | TH2F *fHistReconstructedEtaPtMinusControl;//!correction map for negatives (reconstructed) | |
143 | TH2F *fHistSurvivedEtaPtMinusControl;//!correction map negatives (survived) | |
144 | ||
145 | // output histograms (pairs) | |
146 | TH2F *fHistGeneratedEtaPtPlusPlus;//!correction map for ++ (generated) | |
147 | TH2F *fHistFindableEtaPtPlusPlus;//!correction map for ++ (findable) | |
148 | TH2F *fHistReconstructedEtaPtPlusPlus;//!correction map for ++ (reconstructed) | |
149 | TH2F *fHistSurvivedEtaPtPlusPlus;//!correction map ++ (survived) | |
150 | ||
151 | TH2F *fHistGeneratedEtaPtMinusMinus;//!correction map for -- (generated) | |
152 | TH2F *fHistFindableEtaPtMinusMinus;//!correction map for -- (findable) | |
153 | TH2F *fHistReconstructedEtaPtMinusMinus;//!correction map for -- (reconstructed) | |
154 | TH2F *fHistSurvivedEtaPtMinusMinus;//!correction map -- (survived) | |
155 | ||
156 | TH2F *fHistGeneratedEtaPtPlusMinus;//!correction map for +- (generated) | |
157 | TH2F *fHistFindableEtaPtPlusMinus;//!correction map for +- (findable) | |
158 | TH2F *fHistReconstructedEtaPtPlusMinus;//!correction map for +- (reconstructed) | |
159 | TH2F *fHistSurvivedEtaPtPlusMinus;//!correction map +- (survived) | |
160 | ||
40b41983 | 161 | //============// |
162 | TH2F *fHistGeneratedPhiEtaPlusPlus;//!correction map for ++ (generated) | |
163 | TH2F *fHistFindablePhiEtaPlusPlus;//!correction map for ++ (findable) | |
164 | TH2F *fHistReconstructedPhiEtaPlusPlus;//!correction map for ++ (reconstructed) | |
165 | TH2F *fHistSurvivedPhiEtaPlusPlus;//!correction map ++ (survived) | |
84164254 | 166 | |
40b41983 | 167 | TH2F *fHistGeneratedPhiEtaMinusMinus;//!correction map for -- (generated) |
168 | TH2F *fHistFindablePhiEtaMinusMinus;//!correction map for -- (findable) | |
169 | TH2F *fHistReconstructedPhiEtaMinusMinus;//!correction map for -- (reconstructed) | |
170 | TH2F *fHistSurvivedPhiEtaMinusMinus;//!correction map -- (survived) | |
171 | ||
172 | TH2F *fHistGeneratedPhiEtaPlusMinus;//!correction map for +- (generated) | |
173 | TH2F *fHistFindablePhiEtaPlusMinus;//!correction map for +- (findable) | |
174 | TH2F *fHistReconstructedPhiEtaPlusMinus;//!correction map for +- (reconstructed) | |
175 | TH2F *fHistSurvivedPhiEtaPlusMinus;//!correction map +- (survived) | |
176 | //============// | |
84164254 | 177 | |
178 | AliESDtrackCuts *fESDtrackCuts; //ESD track cuts | |
179 | ||
180 | TString fAnalysisMode;//"TPC", "Global" | |
181 | ||
182 | TString fCentralityEstimator;//"V0M","TRK","TKL","ZDC","FMD" | |
183 | Float_t fCentralityPercentileMin, fCentralityPercentileMax; //min-max centrality percentile | |
184 | ||
185 | Double_t fVxMax;//vxmax | |
186 | Double_t fVyMax;//vymax | |
187 | Double_t fVzMax;//vzmax | |
188 | ||
40b41983 | 189 | Double_t fMinNumberOfTPCClusters; |
190 | Double_t fMaxChi2PerTPCCluster; | |
191 | Double_t fMaxDCAxy, fMaxDCAz; | |
84164254 | 192 | Double_t fMinPt, fMaxPt; |
622c9e7f | 193 | Double_t fMinEta, fMaxEta; |
194 | Double_t fEtaRangeMin;// acceptance cuts | |
40b41983 | 195 | Double_t fEtaRangeMax; // acceptance cuts |
196 | Double_t fPtRangeMin; //acceptance cuts | |
197 | Double_t fPtRangeMax; //acceptance cuts | |
198 | Double_t fPhiRangeMin; //acceptance cuts | |
199 | Double_t fPhiRangeMax; // acceptance cuts | |
77e61e9e | 200 | Double_t fdPhiRangeMax; // acceptance cuts |
622c9e7f | 201 | |
202 | Int_t fEtaBin; //acceptance cuts | |
d9906391 | 203 | Int_t fdEtaBin; //acceptance cuts |
622c9e7f | 204 | Int_t fPtBin; //acceptance cuts |
205 | Int_t fPhiBin; // acceptance cuts | |
77e61e9e | 206 | Int_t fdPhiBin; // acceptance cuts |
84164254 | 207 | |
208 | AliAnalysisTaskEfficiencyBF(const AliAnalysisTaskEfficiencyBF&); // not implemented | |
209 | AliAnalysisTaskEfficiencyBF& operator=(const AliAnalysisTaskEfficiencyBF&); // not implemented | |
210 | ||
211 | ClassDef(AliAnalysisTaskEfficiencyBF, 1); // example of analysis | |
212 | }; | |
213 | ||
214 | #endif |