]>
Commit | Line | Data |
---|---|---|
dcd68d00 | 1 | #ifndef ALICENTRALITYSELECTIONTASK_H |
2 | #define ALICENTRALITYSELECTIONTASK_H | |
3 | ||
4 | /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //***************************************************** | |
8 | // Class AliCentralitySelectionTask | |
9 | // author: Alberica Toia | |
10 | //***************************************************** | |
11 | ||
12 | #include "AliAnalysisTaskSE.h" | |
13 | ||
14 | class TFile; | |
9f14d90a | 15 | class TH1F; |
36ee40df | 16 | class TH2F; |
68e344b7 | 17 | class TList; |
9f14d90a | 18 | class TString; |
68e344b7 | 19 | |
20 | class AliESDEvent; | |
05915818 | 21 | class AliESDtrackCuts; |
dcd68d00 | 22 | |
23 | class AliCentralitySelectionTask : public AliAnalysisTaskSE { | |
24 | ||
25 | public: | |
26 | ||
27 | AliCentralitySelectionTask(); | |
28 | AliCentralitySelectionTask(const char *name); | |
29 | AliCentralitySelectionTask& operator= (const AliCentralitySelectionTask& ana); | |
30 | AliCentralitySelectionTask(const AliCentralitySelectionTask& c); | |
31 | virtual ~AliCentralitySelectionTask(); | |
32 | ||
33 | // Implementation of interface methods | |
34 | virtual void UserCreateOutputObjects(); | |
35 | virtual void UserExec(Option_t *option); | |
36 | virtual void Terminate(Option_t *option); | |
37 | ||
dcd68d00 | 38 | void SetInput(const char* input) {fAnalysisInput = input;} |
39 | void SetMCInput() {fIsMCInput = kTRUE;} | |
a540a9d3 | 40 | void DontUseScaling() {fUseScaling=kFALSE;} |
d015c169 | 41 | void DontUseCleaning() {fUseCleaning=kFALSE;} |
9b55f3ac | 42 | void SetFillHistos() {fFillHistos=kTRUE; DefineOutput(1, TList::Class()); |
43 | } | |
a43ed687 | 44 | |
dcd68d00 | 45 | private: |
68e344b7 | 46 | |
39c6be2c | 47 | Int_t SetupRun(const AliESDEvent* const esd); |
f690bf48 | 48 | Bool_t IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const; |
49 | Bool_t IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const; | |
50 | Bool_t IsOutlierV0MZDC(Float_t zdc, Float_t v0) const; | |
51 | Bool_t IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const; | |
68e344b7 | 52 | |
dcd68d00 | 53 | TString fAnalysisInput; // "ESD", "AOD" |
54 | Bool_t fIsMCInput; // true when input is MC | |
68e344b7 | 55 | Int_t fCurrentRun; // current run number |
d015c169 | 56 | Bool_t fUseScaling; // flag to use scaling |
a43ed687 | 57 | Bool_t fUseCleaning; // flag to use cleaning |
3e654564 | 58 | Bool_t fFillHistos; // flag to fill the QA histos |
a43ed687 | 59 | Float_t fV0MScaleFactor; // scale factor V0M |
60 | Float_t fSPDScaleFactor; // scale factor SPD | |
61 | Float_t fTPCScaleFactor; // scale factor TPC | |
62 | Float_t fV0MScaleFactorMC; // scale factor V0M for MC | |
63 | Float_t fV0MSPDOutlierPar0; // outliers parameter | |
64 | Float_t fV0MSPDOutlierPar1; // outliers parameter | |
65 | Float_t fV0MTPCOutlierPar0; // outliers parameter | |
66 | Float_t fV0MTPCOutlierPar1; // outliers parameter | |
67 | Float_t fV0MSPDSigmaOutlierPar0; // outliers parameter | |
68 | Float_t fV0MSPDSigmaOutlierPar1; // outliers parameter | |
69 | Float_t fV0MSPDSigmaOutlierPar2; // outliers parameter | |
70 | Float_t fV0MTPCSigmaOutlierPar0; // outliers parameter | |
71 | Float_t fV0MTPCSigmaOutlierPar1; // outliers parameter | |
72 | Float_t fV0MTPCSigmaOutlierPar2; // outliers parameter | |
73 | Float_t fV0MZDCOutlierPar0; // outliers parameter | |
74 | Float_t fV0MZDCOutlierPar1; // outliers parameter | |
75 | Float_t fV0MZDCEcalOutlierPar0; // outliers parameter | |
76 | Float_t fV0MZDCEcalOutlierPar1; // outliers parameter | |
a540a9d3 | 77 | |
78 | AliESDtrackCuts* fTrackCuts; //! optional track cuts | |
2d27827d | 79 | AliESDtrackCuts* fEsdTrackCuts; //! optional track cuts |
80 | AliESDtrackCuts* fEsdTrackCutsExtra1; //! optional track cuts | |
81 | AliESDtrackCuts* fEsdTrackCutsExtra2; //! optional track cuts | |
d15bf53f | 82 | |
a540a9d3 | 83 | Float_t fZVCut; //! z-vertex cut (in cm) |
84 | Float_t fOutliersCut; //! outliers cut (in n-sigma) | |
85 | Int_t fQuality; //! quality for centrality determination | |
05915818 | 86 | |
3e654564 | 87 | Bool_t fIsSelected; //! V0BG rejection |
88 | ||
89 | Bool_t fMSL; //! | |
90 | Bool_t fMSH; //! | |
91 | Bool_t fMUL; //! | |
92 | Bool_t fMLL; //! | |
93 | ||
94 | Bool_t fEJE; //! | |
95 | Bool_t fEGA; //! | |
96 | Bool_t fPHS; //! | |
97 | ||
13e74ee2 | 98 | Bool_t fMB; //! if the event is MB |
4fced115 | 99 | Bool_t fCVHN; //! if the event is central trigger |
100 | Bool_t fCVLN; //! if the event is semicentral trigger | |
13e74ee2 | 101 | Bool_t fCVHNbit; //! if the event is central trigger |
102 | Bool_t fCVLNbit; //! if the event is semicentral trigger | |
9448ffd1 | 103 | Bool_t fCCENT; //! if the event is central trigger |
104 | Bool_t fCSEMI; //! if the event is semicentral trigger | |
105 | Bool_t fCCENTbit; //! if the event is central trigger | |
106 | Bool_t fCSEMIbit; //! if the event is semicentral trigger | |
4fced115 | 107 | |
d15bf53f | 108 | Float_t fCentV0M; // percentile centrality from V0 |
13e74ee2 | 109 | Float_t fCentV0A; // percentile centrality from V0A |
110 | Float_t fCentV0C; // percentile centrality from V0C | |
d15bf53f | 111 | Float_t fCentFMD; // percentile centrality from FMD |
112 | Float_t fCentTRK; // percentile centrality from tracks | |
113 | Float_t fCentTKL; // percentile centrality from tracklets | |
114 | Float_t fCentCL0; // percentile centrality from clusters in layer 0 | |
13e74ee2 | 115 | Float_t fCentCL1; // percentile centrality from clusters in layer 1 |
116 | Float_t fCentCND; // percentile centrality from candle | |
99029fba | 117 | Float_t fCentZNA; // percentile centrality from ZNA |
39a3e400 | 118 | Float_t fCentNPA; // percentile centrality from Npart (MC) |
d15bf53f | 119 | Float_t fCentV0MvsFMD; // percentile centrality from V0 vs FMD |
120 | Float_t fCentTKLvsV0M; // percentile centrality from tracklets vs V0 | |
121 | Float_t fCentZEMvsZDC; // percentile centrality from ZEM vs ZDC | |
122 | ||
39a3e400 | 123 | Float_t fCentV0Mtrue; // percentile centrality from true (sim) V0A+V0C |
124 | Float_t fCentV0Atrue; // percentile centrality from true (sim) V0A | |
125 | Float_t fCentV0Ctrue; // percentile centrality from true (sim) V0C | |
126 | Float_t fCentFMDtrue; // percentile centrality from true (sim) FMD | |
127 | Float_t fCentTRKtrue; // percentile centrality from true (sim) tracks | |
128 | Float_t fCentTKLtrue; // percentile centrality from true (sim) tracklets | |
129 | Float_t fCentCL0true; // percentile centrality from true (sim) Clusters in layer 0 | |
130 | Float_t fCentCL1true; // percentile centrality from true (sim) Clusters in layer 1 | |
131 | Float_t fCentCNDtrue; // percentile centrality from true (sim) tracks (candle condition) | |
132 | Float_t fCentZNAtrue; // percentile centrality from true (sim) ZNA | |
133 | ||
134 | ||
9f14d90a | 135 | TH1F *fHtempV0M; // histogram with centrality vs multiplicity using V0 |
13e74ee2 | 136 | TH1F *fHtempV0A; // histogram with centrality vs multiplicity using V0A |
137 | TH1F *fHtempV0C; // histogram with centrality vs multiplicity using V0C | |
9f14d90a | 138 | TH1F *fHtempFMD; // histogram with centrality vs multiplicity using FMD |
139 | TH1F *fHtempTRK; // histogram with centrality vs multiplicity using tracks | |
140 | TH1F *fHtempTKL; // histogram with centrality vs multiplicity using tracklets | |
141 | TH1F *fHtempCL0; // histogram with centrality vs multiplicity using clusters in layer 0 | |
13e74ee2 | 142 | TH1F *fHtempCL1; // histogram with centrality vs multiplicity using clusters in layer 1 |
143 | TH1F *fHtempCND; // histogram with centrality vs multiplicity using candle | |
99029fba | 144 | TH1F *fHtempZNA; // histogram with centrality vs multiplicity using ZNA |
13e74ee2 | 145 | TH1F *fHtempV0MvsFMD; // histogram with centrality vs multiplicity using V0 vs FMD |
146 | TH1F *fHtempTKLvsV0M; // histogram with centrality vs multiplicity using tracklets vs V0 | |
147 | TH2F *fHtempZEMvsZDC; // histogram with centrality vs multiplicity using ZEM vs ZDC | |
39a3e400 | 148 | TH1F *fHtempNPA; // histogram with centrality vs multiplicity using Npart |
149 | ||
150 | TH1F *fHtempV0Mtrue; // histogram with centrality true (sim) vs multiplicity using V0 | |
151 | TH1F *fHtempV0Atrue; // histogram with centrality true (sim) vs multiplicity using V0A | |
152 | TH1F *fHtempV0Ctrue; // histogram with centrality true (sim) vs multiplicity using V0C | |
153 | TH1F *fHtempFMDtrue; // histogram with centrality true (sim) vs multiplicity using FMD | |
154 | TH1F *fHtempTRKtrue; // histogram with centrality true (sim) vs multiplicity using tracks | |
155 | TH1F *fHtempTKLtrue; // histogram with centrality true (sim) vs multiplicity using tracklets | |
156 | TH1F *fHtempCL0true; // histogram with centrality true (sim) vs multiplicity using clusters in layer 0 | |
157 | TH1F *fHtempCL1true; // histogram with centrality true (sim) vs multiplicity using clusters in layer 1 | |
158 | TH1F *fHtempCNDtrue; // histogram with centrality true (sim) vs multiplicity using candle | |
159 | TH1F *fHtempZNAtrue; // histogram with centrality true (sim) vs multiplicity using ZNA | |
d15bf53f | 160 | |
36ee40df | 161 | TList *fOutputList; // output list |
05915818 | 162 | |
13e74ee2 | 163 | TH1F *fHOutCentV0M ; //control histogram for centrality |
164 | TH1F *fHOutCentV0A ; //control histogram for centrality | |
165 | TH1F *fHOutCentV0C ; //control histogram for centrality | |
166 | TH1F *fHOutCentV0MCVHN; //control histogram for centrality | |
167 | TH1F *fHOutCentV0MCVLN; //control histogram for centrality | |
168 | TH1F *fHOutCentV0MCVHNinMB; //control histogram for centrality | |
169 | TH1F *fHOutCentV0MCVLNinMB; //control histogram for centrality | |
170 | TH1F *fHOutCentV0MCCENT; //control histogram for centrality | |
171 | TH1F *fHOutCentV0MCSEMI; //control histogram for centrality | |
172 | TH1F *fHOutCentV0MCCENTinMB; //control histogram for centrality | |
173 | TH1F *fHOutCentV0MCSEMIinMB; //control histogram for centrality | |
174 | TH1F *fHOutCentV0MMSL; //control histogram for centrality | |
175 | TH1F *fHOutCentV0MMSH; //control histogram for centrality | |
176 | TH1F *fHOutCentV0MMUL; //control histogram for centrality | |
177 | TH1F *fHOutCentV0MMLL; //control histogram for centrality | |
178 | TH1F *fHOutCentV0MEJE; //control histogram for centrality | |
179 | TH1F *fHOutCentV0MEGA; //control histogram for centrality | |
180 | TH1F *fHOutCentV0MPHS; //control histogram for centrality | |
39c6be2c | 181 | TH1F *fHOutCentV0MMSLinMB; //control histogram for centrality |
182 | TH1F *fHOutCentV0MMSHinMB; //control histogram for centrality | |
183 | TH1F *fHOutCentV0MMULinMB; //control histogram for centrality | |
184 | TH1F *fHOutCentV0MMLLinMB; //control histogram for centrality | |
185 | TH1F *fHOutCentV0MEJEinMB; //control histogram for centrality | |
186 | TH1F *fHOutCentV0MEGAinMB; //control histogram for centrality | |
187 | TH1F *fHOutCentV0MPHSinMB; //control histogram for centrality | |
13e74ee2 | 188 | TH1F *fHOutCentFMD ; //control histogram for centrality |
189 | TH1F *fHOutCentTRK ; //control histogram for centrality | |
190 | TH1F *fHOutCentTKL ; //control histogram for centrality | |
191 | TH1F *fHOutCentCL0 ; //control histogram for centrality | |
192 | TH1F *fHOutCentCL1 ; //control histogram for centrality | |
193 | TH1F *fHOutCentCND ; //control histogram for centrality | |
8432b617 | 194 | TH1F *fHOutCentNPA ; //control histogram for centrality |
99029fba | 195 | TH1F *fHOutCentZNA ; //control histogram for centrality |
13e74ee2 | 196 | TH1F *fHOutCentV0MvsFMD; //control histogram for centrality |
197 | TH1F *fHOutCentTKLvsV0M; //control histogram for centrality | |
198 | TH1F *fHOutCentZEMvsZDC; //control histogram for centrality | |
199 | TH2F *fHOutCentV0MvsCentCL1; //control histogram for centrality | |
200 | TH2F *fHOutCentV0MvsCentTRK; //control histogram for centrality | |
201 | TH2F *fHOutCentTRKvsCentCL1; //control histogram for centrality | |
202 | TH2F *fHOutCentV0MvsCentZDC; //control histogram for centrality | |
203 | TH2F *fHOutCentV0AvsCentV0C; //control histogram for centrality | |
204 | TH2F *fHOutCentV0AvsCentTRK; //control histogram for centrality | |
205 | TH2F *fHOutCentV0AvsCentCND; //control histogram for centrality | |
206 | TH2F *fHOutCentV0AvsCentCL1; //control histogram for centrality | |
207 | TH2F *fHOutCentV0CvsCentTRK; //control histogram for centrality | |
208 | TH2F *fHOutCentV0CvsCentCND; //control histogram for centrality | |
209 | TH2F *fHOutCentV0CvsCentCL1; //control histogram for centrality | |
8432b617 | 210 | TH2F *fHOutCentNPAvsCentV0A; //control histogram for centrality |
211 | TH2F *fHOutCentNPAvsCentV0C; //control histogram for centrality | |
212 | TH2F *fHOutCentNPAvsCentTRK; //control histogram for centrality | |
213 | TH2F *fHOutCentNPAvsCentCND; //control histogram for centrality | |
214 | TH2F *fHOutCentNPAvsCentCL1; //control histogram for centrality | |
99029fba | 215 | TH2F *fHOutCentZNAvsCentV0A; //control histogram for centrality |
216 | TH2F *fHOutCentZNAvsCentV0C; //control histogram for centrality | |
217 | TH2F *fHOutCentZNAvsCentTRK; //control histogram for centrality | |
218 | TH2F *fHOutCentZNAvsCentCND; //control histogram for centrality | |
219 | TH2F *fHOutCentZNAvsCentCL1; //control histogram for centrality | |
13e74ee2 | 220 | |
221 | TH2F *fHOutMultV0AC; //control histogram for multiplicity | |
222 | TH1F *fHOutMultV0M ; //control histogram for multiplicity | |
223 | TH1F *fHOutMultV0A ; //control histogram for multiplicity | |
224 | TH1F *fHOutMultV0C ; //control histogram for multiplicity | |
7971b7c9 | 225 | TH1F *fHOutMultV0Mnc ; //control histogram for multiplicity |
226 | TH1F *fHOutMultV0Anc ; //control histogram for multiplicity | |
227 | TH1F *fHOutMultV0Cnc ; //control histogram for multiplicity | |
13e74ee2 | 228 | TH1F *fHOutMultV0O ; //control histogram for multiplicity |
1abba036 | 229 | TH2F *fHOutMultV0Cells ; //control histogram for multiplicity |
13e74ee2 | 230 | TH1F *fHOutMultFMD ; //control histogram for multiplicity |
231 | TH1F *fHOutMultTRK ; //control histogram for multiplicity | |
232 | TH1F *fHOutMultTKL ; //control histogram for multiplicity | |
233 | TH1F *fHOutMultCL0 ; //control histogram for multiplicity | |
234 | TH1F *fHOutMultCL1 ; //control histogram for multiplicity | |
235 | TH1F *fHOutMultCND ; //control histogram for multiplicity | |
8432b617 | 236 | TH1F *fHOutMultNPA ; //control histogram for multiplicity |
99029fba | 237 | TH1F *fHOutMultZNA ; //control histogram for multiplicity |
13e74ee2 | 238 | |
239 | TH2F *fHOutMultV0MvsZDN; //control histogram for multiplicity | |
240 | TH2F *fHOutMultZEMvsZDN; //control histogram for multiplicity | |
241 | TH2F *fHOutMultV0MvsZDC; //control histogram for multiplicity | |
242 | TH2F *fHOutMultZEMvsZDC; //control histogram for multiplicity | |
243 | TH2F *fHOutMultZEMvsZDCw; //control histogram for multiplicity | |
244 | TH2F *fHOutMultV0MvsCL1; //control histogram for multiplicity | |
245 | TH2F *fHOutMultV0MvsTRK; //control histogram for multiplicity | |
246 | TH2F *fHOutMultTRKvsCL1; //control histogram for multiplicity | |
247 | TH2F *fHOutMultV0MvsV0O; //control histogram for multiplicity | |
248 | TH2F *fHOutMultV0OvsCL1; //control histogram for multiplicity | |
249 | TH2F *fHOutMultV0OvsTRK; //control histogram for multiplicity | |
8432b617 | 250 | TH2F *fHOutMultCL1vsTKL; //control histogram for multiplicity |
13e74ee2 | 251 | |
252 | TH1F *fHOutCentV0Mqual1 ; //control histogram for centrality quality 1 | |
253 | TH1F *fHOutCentTRKqual1 ; //control histogram for centrality quality 1 | |
254 | TH1F *fHOutCentCL1qual1 ; //control histogram for centrality quality 1 | |
255 | TH2F *fHOutMultV0MvsCL1qual1; //control histogram for multiplicity quality 1 | |
256 | TH2F *fHOutMultV0MvsTRKqual1; //control histogram for multiplicity quality 1 | |
257 | TH2F *fHOutMultTRKvsCL1qual1; //control histogram for multiplicity quality 1 | |
258 | ||
259 | TH1F *fHOutCentV0Mqual2 ; //control histogram for centrality quality 2 | |
260 | TH1F *fHOutCentTRKqual2 ; //control histogram for centrality quality 2 | |
261 | TH1F *fHOutCentCL1qual2 ; //control histogram for centrality quality 2 | |
262 | TH2F *fHOutMultV0MvsCL1qual2; //control histogram for multiplicity quality 2 | |
263 | TH2F *fHOutMultV0MvsTRKqual2; //control histogram for multiplicity quality 2 | |
264 | TH2F *fHOutMultTRKvsCL1qual2; //control histogram for multiplicity quality 2 | |
265 | ||
266 | TH1F *fHOutQuality ; //control histogram for quality | |
267 | TH1F *fHOutVertex ; //control histogram for vertex SPD | |
268 | TH1F *fHOutVertexT0 ; //control histogram for vertex T0 | |
269 | ||
39a3e400 | 270 | ClassDef(AliCentralitySelectionTask, 25); |
dcd68d00 | 271 | }; |
272 | ||
273 | #endif | |
274 |