]>
Commit | Line | Data |
---|---|---|
01974bd1 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | //***************************************************** | |
17 | // Class AliCentralitySelectionTask | |
18 | // Class to analyze determine centrality | |
19 | // author: Alberica Toia | |
20 | //***************************************************** | |
21 | ||
22 | #include "AliCentralitySelectionTask.h" | |
23 | ||
24 | #include <TTree.h> | |
25 | #include <TList.h> | |
26 | #include <TH1F.h> | |
27 | #include <TH2F.h> | |
28 | #include <TF1.h> | |
29 | #include <TProfile.h> | |
30 | #include <TFile.h> | |
31 | #include <TObjString.h> | |
32 | #include <TString.h> | |
33 | #include <TCanvas.h> | |
34 | #include <TROOT.h> | |
35 | #include <TDirectory.h> | |
36 | #include <TSystem.h> | |
37 | #include <iostream> | |
38 | ||
39 | #include "AliAnalysisManager.h" | |
40 | #include "AliHeader.h" | |
41 | #include "AliVEvent.h" | |
42 | #include "AliESD.h" | |
43 | #include "AliESDEvent.h" | |
44 | #include "AliESDHeader.h" | |
45 | #include "AliESDInputHandler.h" | |
46 | #include "AliESDZDC.h" | |
47 | #include "AliESDFMD.h" | |
48 | #include "AliESDTZERO.h" | |
49 | #include "AliESDVZERO.h" | |
50 | #include "AliESDtrackCuts.h" | |
51 | #include "AliESDVertex.h" | |
52 | #include "AliCentrality.h" | |
53 | #include "AliOADBCentrality.h" | |
54 | #include "AliOADBContainer.h" | |
55 | #include "AliMultiplicity.h" | |
56 | #include "AliAODHandler.h" | |
57 | #include "AliAODHeader.h" | |
58 | #include "AliAODEvent.h" | |
59 | #include "AliAODVertex.h" | |
60 | #include "AliAODVZERO.h" | |
61 | #include "AliAODTracklets.h" | |
62 | #include "AliAODMCHeader.h" | |
63 | #include "AliMCEventHandler.h" | |
64 | #include "AliMCEvent.h" | |
65 | #include "AliAODMCParticle.h" | |
66 | #include "AliMCParticle.h" | |
67 | #include "AliStack.h" | |
68 | #include "AliAnalysisTaskSE.h" | |
69 | #include "AliGenEventHeader.h" | |
70 | #include "AliGenHijingEventHeader.h" | |
8432b617 | 71 | #include "AliGenDPMjetEventHeader.h" |
72 | #include "AliGenCocktailEventHeader.h" | |
01974bd1 | 73 | #include "AliPhysicsSelectionTask.h" |
74 | #include "AliPhysicsSelection.h" | |
75 | #include "AliBackgroundSelection.h" | |
76 | #include "AliESDUtils.h" | |
77 | ||
78 | ClassImp(AliCentralitySelectionTask) | |
79 | ||
80 | ||
81 | //________________________________________________________________________ | |
82 | AliCentralitySelectionTask::AliCentralitySelectionTask(): | |
83 | AliAnalysisTaskSE(), | |
84 | fAnalysisInput("ESD"), | |
85 | fIsMCInput(kFALSE), | |
86 | fCurrentRun(-1), | |
87 | fUseScaling(0), | |
88 | fUseCleaning(0), | |
89 | fFillHistos(0), | |
90 | fV0MScaleFactor(0), | |
91 | fSPDScaleFactor(0), | |
92 | fTPCScaleFactor(0), | |
93 | fV0MScaleFactorMC(0), | |
94 | fV0MSPDOutlierPar0(0), | |
95 | fV0MSPDOutlierPar1(0), | |
96 | fV0MTPCOutlierPar0(0), | |
97 | fV0MTPCOutlierPar1(0), | |
98 | fV0MSPDSigmaOutlierPar0(0), | |
99 | fV0MSPDSigmaOutlierPar1(0), | |
100 | fV0MSPDSigmaOutlierPar2(0), | |
101 | fV0MTPCSigmaOutlierPar0(0), | |
102 | fV0MTPCSigmaOutlierPar1(0), | |
103 | fV0MTPCSigmaOutlierPar2(0), | |
104 | fV0MZDCOutlierPar0(0), | |
105 | fV0MZDCOutlierPar1(0), | |
106 | fV0MZDCEcalOutlierPar0(0), | |
107 | fV0MZDCEcalOutlierPar1(0), | |
108 | fTrackCuts(0), | |
2d27827d | 109 | fEsdTrackCuts(0), |
110 | fEsdTrackCutsExtra1(0), | |
111 | fEsdTrackCutsExtra2(0), | |
01974bd1 | 112 | fZVCut(10), |
113 | fOutliersCut(5), | |
114 | fQuality(999), | |
115 | fIsSelected(0), | |
116 | fMSL(0), | |
117 | fMSH(0), | |
118 | fMUL(0), | |
119 | fMLL(0), | |
120 | fEJE(0), | |
121 | fEGA(0), | |
122 | fPHS(0), | |
123 | fMB(0), | |
124 | fCVHN(0), | |
125 | fCVLN(0), | |
126 | fCVHNbit(0), | |
127 | fCVLNbit(0), | |
128 | fCCENT(0), | |
129 | fCSEMI(0), | |
130 | fCCENTbit(0), | |
131 | fCSEMIbit(0), | |
132 | fCentV0M(0), | |
133 | fCentV0A(0), | |
9113c527 | 134 | fCentV0A0(0), |
2d12adde | 135 | fCentV0A123(0), |
01974bd1 | 136 | fCentV0C(0), |
26f02c2c | 137 | fCentV0A23(0), |
138 | fCentV0C01(0), | |
139 | fCentV0S(0), | |
f9a774f9 | 140 | fCentV0MEq(0), |
141 | fCentV0AEq(0), | |
142 | fCentV0CEq(0), | |
01974bd1 | 143 | fCentFMD(0), |
144 | fCentTRK(0), | |
145 | fCentTKL(0), | |
146 | fCentCL0(0), | |
147 | fCentCL1(0), | |
148 | fCentCND(0), | |
99029fba | 149 | fCentZNA(0), |
f9a774f9 | 150 | fCentZNC(0), |
3a19f64f | 151 | fCentZPA(0), |
152 | fCentZPC(0), | |
39a3e400 | 153 | fCentNPA(0), |
01974bd1 | 154 | fCentV0MvsFMD(0), |
155 | fCentTKLvsV0M(0), | |
156 | fCentZEMvsZDC(0), | |
39a3e400 | 157 | fCentV0Mtrue(0), |
158 | fCentV0Atrue(0), | |
159 | fCentV0Ctrue(0), | |
f9a774f9 | 160 | fCentV0MEqtrue(0), |
161 | fCentV0AEqtrue(0), | |
162 | fCentV0CEqtrue(0), | |
39a3e400 | 163 | fCentFMDtrue(0), |
164 | fCentTRKtrue(0), | |
165 | fCentTKLtrue(0), | |
166 | fCentCL0true(0), | |
167 | fCentCL1true(0), | |
168 | fCentCNDtrue(0), | |
169 | fCentZNAtrue(0), | |
f9a774f9 | 170 | fCentZNCtrue(0), |
3a19f64f | 171 | fCentZPAtrue(0), |
172 | fCentZPCtrue(0), | |
01974bd1 | 173 | fHtempV0M(0), |
174 | fHtempV0A(0), | |
9113c527 | 175 | fHtempV0A0(0), |
2d12adde | 176 | fHtempV0A123(0), |
01974bd1 | 177 | fHtempV0C(0), |
26f02c2c | 178 | fHtempV0A23(0), |
179 | fHtempV0C01(0), | |
180 | fHtempV0S(0), | |
f9a774f9 | 181 | fHtempV0MEq(0), |
182 | fHtempV0AEq(0), | |
183 | fHtempV0CEq(0), | |
01974bd1 | 184 | fHtempFMD(0), |
185 | fHtempTRK(0), | |
186 | fHtempTKL(0), | |
187 | fHtempCL0(0), | |
188 | fHtempCL1(0), | |
189 | fHtempCND(0), | |
99029fba | 190 | fHtempZNA(0), |
f9a774f9 | 191 | fHtempZNC(0), |
3a19f64f | 192 | fHtempZPA(0), |
193 | fHtempZPC(0), | |
01974bd1 | 194 | fHtempV0MvsFMD(0), |
195 | fHtempTKLvsV0M(0), | |
196 | fHtempZEMvsZDC(0), | |
39a3e400 | 197 | fHtempNPA(0), |
198 | fHtempV0Mtrue(0), | |
199 | fHtempV0Atrue(0), | |
200 | fHtempV0Ctrue(0), | |
f9a774f9 | 201 | fHtempV0MEqtrue(0), |
202 | fHtempV0AEqtrue(0), | |
203 | fHtempV0CEqtrue(0), | |
39a3e400 | 204 | fHtempFMDtrue(0), |
205 | fHtempTRKtrue(0), | |
206 | fHtempTKLtrue(0), | |
207 | fHtempCL0true(0), | |
208 | fHtempCL1true(0), | |
209 | fHtempCNDtrue(0), | |
210 | fHtempZNAtrue(0), | |
f9a774f9 | 211 | fHtempZNCtrue(0), |
3a19f64f | 212 | fHtempZPAtrue(0), |
213 | fHtempZPCtrue(0), | |
01974bd1 | 214 | fOutputList(0), |
39a3e400 | 215 | fHOutCentV0M(0), |
216 | fHOutCentV0A(0), | |
9113c527 | 217 | fHOutCentV0A0(0), |
2d12adde | 218 | fHOutCentV0A123(0), |
39a3e400 | 219 | fHOutCentV0C(0), |
26f02c2c | 220 | fHOutCentV0A23(0), |
221 | fHOutCentV0C01(0), | |
222 | fHOutCentV0S(0), | |
f9a774f9 | 223 | fHOutCentV0MEq(0), |
224 | fHOutCentV0AEq(0), | |
225 | fHOutCentV0CEq(0), | |
01974bd1 | 226 | fHOutCentV0MCVHN(0), |
227 | fHOutCentV0MCVLN(0), | |
228 | fHOutCentV0MCVHNinMB(0), | |
229 | fHOutCentV0MCVLNinMB(0), | |
230 | fHOutCentV0MCCENT(0), | |
231 | fHOutCentV0MCSEMI(0), | |
232 | fHOutCentV0MCCENTinMB(0), | |
233 | fHOutCentV0MCSEMIinMB(0), | |
234 | fHOutCentV0MMSL(0), | |
235 | fHOutCentV0MMSH(0), | |
236 | fHOutCentV0MMUL(0), | |
237 | fHOutCentV0MMLL(0), | |
238 | fHOutCentV0MEJE(0), | |
239 | fHOutCentV0MEGA(0), | |
240 | fHOutCentV0MPHS(0), | |
241 | fHOutCentV0MMSLinMB(0), | |
242 | fHOutCentV0MMSHinMB(0), | |
243 | fHOutCentV0MMULinMB(0), | |
244 | fHOutCentV0MMLLinMB(0), | |
245 | fHOutCentV0MEJEinMB(0), | |
246 | fHOutCentV0MEGAinMB(0), | |
247 | fHOutCentV0MPHSinMB(0), | |
39a3e400 | 248 | fHOutCentFMD(0), |
249 | fHOutCentTRK(0), | |
250 | fHOutCentTKL(0), | |
251 | fHOutCentCL0(0), | |
252 | fHOutCentCL1(0), | |
253 | fHOutCentCND(0), | |
254 | fHOutCentNPA(0), | |
255 | fHOutCentZNA(0), | |
f9a774f9 | 256 | fHOutCentZNC(0), |
3a19f64f | 257 | fHOutCentZPA(0), |
258 | fHOutCentZPC(0), | |
01974bd1 | 259 | fHOutCentV0MvsFMD(0), |
260 | fHOutCentTKLvsV0M(0), | |
261 | fHOutCentZEMvsZDC(0), | |
262 | fHOutCentV0MvsCentCL1(0), | |
263 | fHOutCentV0MvsCentTRK(0), | |
264 | fHOutCentTRKvsCentCL1(0), | |
265 | fHOutCentV0MvsCentZDC(0), | |
266 | fHOutCentV0AvsCentV0C(0), | |
267 | fHOutCentV0AvsCentTRK(0), | |
268 | fHOutCentV0AvsCentCND(0), | |
269 | fHOutCentV0AvsCentCL1(0), | |
270 | fHOutCentV0CvsCentTRK(0), | |
271 | fHOutCentV0CvsCentCND(0), | |
272 | fHOutCentV0CvsCentCL1(0), | |
8432b617 | 273 | fHOutCentNPAvsCentV0A(0), |
274 | fHOutCentNPAvsCentV0C(0), | |
275 | fHOutCentNPAvsCentTRK(0), | |
276 | fHOutCentNPAvsCentCND(0), | |
277 | fHOutCentNPAvsCentCL1(0), | |
99029fba | 278 | fHOutCentZNAvsCentV0A(0), |
279 | fHOutCentZNAvsCentV0C(0), | |
280 | fHOutCentZNAvsCentTRK(0), | |
281 | fHOutCentZNAvsCentCND(0), | |
282 | fHOutCentZNAvsCentCL1(0), | |
bfbc1975 | 283 | fHOutCentZNAvsCentZPA(0), |
01974bd1 | 284 | fHOutMultV0AC(0), |
285 | fHOutMultV0M(0), | |
286 | fHOutMultV0A(0), | |
9113c527 | 287 | fHOutMultV0A0(0), |
2d12adde | 288 | fHOutMultV0A123(0), |
01974bd1 | 289 | fHOutMultV0C(0), |
26f02c2c | 290 | fHOutMultV0A23(0), |
291 | fHOutMultV0C01(0), | |
292 | fHOutMultV0S(0), | |
f9a774f9 | 293 | fHOutMultV0MEq(0), |
294 | fHOutMultV0AEq(0), | |
295 | fHOutMultV0CEq(0), | |
e1d58f75 | 296 | fHOutMultV0Mnc(0), |
297 | fHOutMultV0Anc(0), | |
298 | fHOutMultV0Cnc(0), | |
01974bd1 | 299 | fHOutMultV0O(0), |
300 | fHOutMultV0Cells(0), | |
301 | fHOutMultFMD(0), | |
302 | fHOutMultTRK(0), | |
303 | fHOutMultTKL(0), | |
304 | fHOutMultCL0(0), | |
305 | fHOutMultCL1(0), | |
306 | fHOutMultCND(0), | |
8432b617 | 307 | fHOutMultNPA(0), |
99029fba | 308 | fHOutMultZNA(0), |
f9a774f9 | 309 | fHOutMultZNC(0), |
3a19f64f | 310 | fHOutMultZPA(0), |
311 | fHOutMultZPC(0), | |
01974bd1 | 312 | fHOutMultV0MvsZDN(0), |
313 | fHOutMultZEMvsZDN(0), | |
314 | fHOutMultV0MvsZDC(0), | |
315 | fHOutMultZEMvsZDC(0), | |
316 | fHOutMultZEMvsZDCw(0), | |
317 | fHOutMultV0MvsCL1(0), | |
318 | fHOutMultV0MvsTRK(0), | |
319 | fHOutMultTRKvsCL1(0), | |
320 | fHOutMultV0MvsV0O(0), | |
321 | fHOutMultV0OvsCL1(0), | |
322 | fHOutMultV0OvsTRK(0), | |
323 | fHOutMultCL1vsTKL(0), | |
bfbc1975 | 324 | fHOutMultZNAvsZPA(0), |
01974bd1 | 325 | fHOutCentV0Mqual1(0), |
326 | fHOutCentTRKqual1(0), | |
327 | fHOutCentCL1qual1(0), | |
328 | fHOutMultV0MvsCL1qual1(0), | |
329 | fHOutMultV0MvsTRKqual1(0), | |
330 | fHOutMultTRKvsCL1qual1(0), | |
331 | fHOutCentV0Mqual2(0), | |
332 | fHOutCentTRKqual2(0), | |
333 | fHOutCentCL1qual2(0), | |
334 | fHOutMultV0MvsCL1qual2(0), | |
335 | fHOutMultV0MvsTRKqual2(0), | |
336 | fHOutMultTRKvsCL1qual2(0), | |
337 | fHOutQuality(0), | |
338 | fHOutVertex(0), | |
339 | fHOutVertexT0(0) | |
340 | { | |
341 | // Default constructor | |
342 | AliInfo("Centrality Selection enabled."); | |
343 | ||
344 | fUseScaling=kTRUE; | |
345 | fUseCleaning=kTRUE; | |
346 | fFillHistos=kFALSE; | |
347 | fBranchNames="ESD:AliESDRun.,AliESDHeader.,AliESDZDC.,AliESDFMD.,AliESDVZERO.,AliESDTZERO." | |
348 | ",SPDVertex.,TPCVertex.,PrimaryVertex.,AliMultiplicity.,Tracks "; | |
349 | } | |
350 | ||
351 | //________________________________________________________________________ | |
352 | AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name): | |
353 | AliAnalysisTaskSE(name), | |
354 | fAnalysisInput("ESD"), | |
355 | fIsMCInput(kFALSE), | |
356 | fCurrentRun(-1), | |
357 | fUseScaling(0), | |
358 | fUseCleaning(0), | |
359 | fFillHistos(0), | |
360 | fV0MScaleFactor(0), | |
361 | fSPDScaleFactor(0), | |
362 | fTPCScaleFactor(0), | |
363 | fV0MScaleFactorMC(0), | |
364 | fV0MSPDOutlierPar0(0), | |
365 | fV0MSPDOutlierPar1(0), | |
366 | fV0MTPCOutlierPar0(0), | |
367 | fV0MTPCOutlierPar1(0), | |
368 | fV0MSPDSigmaOutlierPar0(0), | |
369 | fV0MSPDSigmaOutlierPar1(0), | |
370 | fV0MSPDSigmaOutlierPar2(0), | |
371 | fV0MTPCSigmaOutlierPar0(0), | |
372 | fV0MTPCSigmaOutlierPar1(0), | |
373 | fV0MTPCSigmaOutlierPar2(0), | |
374 | fV0MZDCOutlierPar0(0), | |
375 | fV0MZDCOutlierPar1(0), | |
376 | fV0MZDCEcalOutlierPar0(0), | |
377 | fV0MZDCEcalOutlierPar1(0), | |
378 | fTrackCuts(0), | |
2d27827d | 379 | fEsdTrackCuts(0), |
380 | fEsdTrackCutsExtra1(0), | |
381 | fEsdTrackCutsExtra2(0), | |
01974bd1 | 382 | fZVCut(10), |
383 | fOutliersCut(5), | |
384 | fQuality(999), | |
385 | fIsSelected(0), | |
386 | fMSL(0), | |
387 | fMSH(0), | |
388 | fMUL(0), | |
389 | fMLL(0), | |
390 | fEJE(0), | |
391 | fEGA(0), | |
392 | fPHS(0), | |
393 | fMB(0), | |
394 | fCVHN(0), | |
395 | fCVLN(0), | |
396 | fCVHNbit(0), | |
397 | fCVLNbit(0), | |
398 | fCCENT(0), | |
399 | fCSEMI(0), | |
400 | fCCENTbit(0), | |
401 | fCSEMIbit(0), | |
402 | fCentV0M(0), | |
403 | fCentV0A(0), | |
9113c527 | 404 | fCentV0A0(0), |
2d12adde | 405 | fCentV0A123(0), |
01974bd1 | 406 | fCentV0C(0), |
26f02c2c | 407 | fCentV0A23(0), |
408 | fCentV0C01(0), | |
409 | fCentV0S(0), | |
f9a774f9 | 410 | fCentV0MEq(0), |
411 | fCentV0AEq(0), | |
412 | fCentV0CEq(0), | |
01974bd1 | 413 | fCentFMD(0), |
414 | fCentTRK(0), | |
415 | fCentTKL(0), | |
416 | fCentCL0(0), | |
417 | fCentCL1(0), | |
418 | fCentCND(0), | |
99029fba | 419 | fCentZNA(0), |
f9a774f9 | 420 | fCentZNC(0), |
3a19f64f | 421 | fCentZPA(0), |
422 | fCentZPC(0), | |
39a3e400 | 423 | fCentNPA(0), |
01974bd1 | 424 | fCentV0MvsFMD(0), |
425 | fCentTKLvsV0M(0), | |
426 | fCentZEMvsZDC(0), | |
39a3e400 | 427 | fCentV0Mtrue(0), |
428 | fCentV0Atrue(0), | |
429 | fCentV0Ctrue(0), | |
f9a774f9 | 430 | fCentV0MEqtrue(0), |
431 | fCentV0AEqtrue(0), | |
432 | fCentV0CEqtrue(0), | |
39a3e400 | 433 | fCentFMDtrue(0), |
434 | fCentTRKtrue(0), | |
435 | fCentTKLtrue(0), | |
436 | fCentCL0true(0), | |
437 | fCentCL1true(0), | |
438 | fCentCNDtrue(0), | |
439 | fCentZNAtrue(0), | |
f9a774f9 | 440 | fCentZNCtrue(0), |
3a19f64f | 441 | fCentZPAtrue(0), |
442 | fCentZPCtrue(0), | |
01974bd1 | 443 | fHtempV0M(0), |
444 | fHtempV0A(0), | |
9113c527 | 445 | fHtempV0A0(0), |
2d12adde | 446 | fHtempV0A123(0), |
01974bd1 | 447 | fHtempV0C(0), |
26f02c2c | 448 | fHtempV0A23(0), |
449 | fHtempV0C01(0), | |
450 | fHtempV0S(0), | |
f9a774f9 | 451 | fHtempV0MEq(0), |
452 | fHtempV0AEq(0), | |
453 | fHtempV0CEq(0), | |
01974bd1 | 454 | fHtempFMD(0), |
455 | fHtempTRK(0), | |
456 | fHtempTKL(0), | |
457 | fHtempCL0(0), | |
458 | fHtempCL1(0), | |
459 | fHtempCND(0), | |
99029fba | 460 | fHtempZNA(0), |
f9a774f9 | 461 | fHtempZNC(0), |
3a19f64f | 462 | fHtempZPA(0), |
463 | fHtempZPC(0), | |
01974bd1 | 464 | fHtempV0MvsFMD(0), |
465 | fHtempTKLvsV0M(0), | |
466 | fHtempZEMvsZDC(0), | |
39a3e400 | 467 | fHtempNPA(0), |
468 | fHtempV0Mtrue(0), | |
469 | fHtempV0Atrue(0), | |
470 | fHtempV0Ctrue(0), | |
f9a774f9 | 471 | fHtempV0MEqtrue(0), |
472 | fHtempV0AEqtrue(0), | |
473 | fHtempV0CEqtrue(0), | |
39a3e400 | 474 | fHtempFMDtrue(0), |
475 | fHtempTRKtrue(0), | |
476 | fHtempTKLtrue(0), | |
477 | fHtempCL0true(0), | |
478 | fHtempCL1true(0), | |
479 | fHtempCNDtrue(0), | |
480 | fHtempZNAtrue(0), | |
f9a774f9 | 481 | fHtempZNCtrue(0), |
3a19f64f | 482 | fHtempZPAtrue(0), |
483 | fHtempZPCtrue(0), | |
01974bd1 | 484 | fOutputList(0), |
39a3e400 | 485 | fHOutCentV0M(0), |
486 | fHOutCentV0A(0), | |
9113c527 | 487 | fHOutCentV0A0(0), |
2d12adde | 488 | fHOutCentV0A123(0), |
39a3e400 | 489 | fHOutCentV0C(0), |
26f02c2c | 490 | fHOutCentV0A23(0), |
491 | fHOutCentV0C01(0), | |
492 | fHOutCentV0S(0), | |
f9a774f9 | 493 | fHOutCentV0MEq(0), |
494 | fHOutCentV0AEq(0), | |
495 | fHOutCentV0CEq(0), | |
01974bd1 | 496 | fHOutCentV0MCVHN(0), |
497 | fHOutCentV0MCVLN(0), | |
498 | fHOutCentV0MCVHNinMB(0), | |
499 | fHOutCentV0MCVLNinMB(0), | |
500 | fHOutCentV0MCCENT(0), | |
501 | fHOutCentV0MCSEMI(0), | |
502 | fHOutCentV0MCCENTinMB(0), | |
503 | fHOutCentV0MCSEMIinMB(0), | |
504 | fHOutCentV0MMSL(0), | |
505 | fHOutCentV0MMSH(0), | |
506 | fHOutCentV0MMUL(0), | |
507 | fHOutCentV0MMLL(0), | |
508 | fHOutCentV0MEJE(0), | |
509 | fHOutCentV0MEGA(0), | |
510 | fHOutCentV0MPHS(0), | |
511 | fHOutCentV0MMSLinMB(0), | |
512 | fHOutCentV0MMSHinMB(0), | |
513 | fHOutCentV0MMULinMB(0), | |
514 | fHOutCentV0MMLLinMB(0), | |
515 | fHOutCentV0MEJEinMB(0), | |
516 | fHOutCentV0MEGAinMB(0), | |
517 | fHOutCentV0MPHSinMB(0), | |
39a3e400 | 518 | fHOutCentFMD(0), |
519 | fHOutCentTRK(0), | |
520 | fHOutCentTKL(0), | |
521 | fHOutCentCL0(0), | |
522 | fHOutCentCL1(0), | |
523 | fHOutCentCND(0), | |
524 | fHOutCentNPA(0), | |
525 | fHOutCentZNA(0), | |
f9a774f9 | 526 | fHOutCentZNC(0), |
3a19f64f | 527 | fHOutCentZPA(0), |
528 | fHOutCentZPC(0), | |
01974bd1 | 529 | fHOutCentV0MvsFMD(0), |
530 | fHOutCentTKLvsV0M(0), | |
531 | fHOutCentZEMvsZDC(0), | |
532 | fHOutCentV0MvsCentCL1(0), | |
533 | fHOutCentV0MvsCentTRK(0), | |
534 | fHOutCentTRKvsCentCL1(0), | |
535 | fHOutCentV0MvsCentZDC(0), | |
536 | fHOutCentV0AvsCentV0C(0), | |
537 | fHOutCentV0AvsCentTRK(0), | |
538 | fHOutCentV0AvsCentCND(0), | |
539 | fHOutCentV0AvsCentCL1(0), | |
540 | fHOutCentV0CvsCentTRK(0), | |
541 | fHOutCentV0CvsCentCND(0), | |
542 | fHOutCentV0CvsCentCL1(0), | |
8432b617 | 543 | fHOutCentNPAvsCentV0A(0), |
544 | fHOutCentNPAvsCentV0C(0), | |
545 | fHOutCentNPAvsCentTRK(0), | |
546 | fHOutCentNPAvsCentCND(0), | |
547 | fHOutCentNPAvsCentCL1(0), | |
99029fba | 548 | fHOutCentZNAvsCentV0A(0), |
549 | fHOutCentZNAvsCentV0C(0), | |
550 | fHOutCentZNAvsCentTRK(0), | |
551 | fHOutCentZNAvsCentCND(0), | |
552 | fHOutCentZNAvsCentCL1(0), | |
bfbc1975 | 553 | fHOutCentZNAvsCentZPA(0), |
01974bd1 | 554 | fHOutMultV0AC(0), |
555 | fHOutMultV0M(0), | |
556 | fHOutMultV0A(0), | |
9113c527 | 557 | fHOutMultV0A0(0), |
2d12adde | 558 | fHOutMultV0A123(0), |
01974bd1 | 559 | fHOutMultV0C(0), |
26f02c2c | 560 | fHOutMultV0A23(0), |
561 | fHOutMultV0C01(0), | |
562 | fHOutMultV0S(0), | |
f9a774f9 | 563 | fHOutMultV0MEq(0), |
564 | fHOutMultV0AEq(0), | |
565 | fHOutMultV0CEq(0), | |
e1d58f75 | 566 | fHOutMultV0Mnc(0), |
567 | fHOutMultV0Anc(0), | |
568 | fHOutMultV0Cnc(0), | |
01974bd1 | 569 | fHOutMultV0O(0), |
570 | fHOutMultV0Cells(0), | |
571 | fHOutMultFMD(0), | |
572 | fHOutMultTRK(0), | |
573 | fHOutMultTKL(0), | |
574 | fHOutMultCL0(0), | |
575 | fHOutMultCL1(0), | |
576 | fHOutMultCND(0), | |
8432b617 | 577 | fHOutMultNPA(0), |
99029fba | 578 | fHOutMultZNA(0), |
f9a774f9 | 579 | fHOutMultZNC(0), |
3a19f64f | 580 | fHOutMultZPA(0), |
581 | fHOutMultZPC(0), | |
01974bd1 | 582 | fHOutMultV0MvsZDN(0), |
583 | fHOutMultZEMvsZDN(0), | |
584 | fHOutMultV0MvsZDC(0), | |
585 | fHOutMultZEMvsZDC(0), | |
586 | fHOutMultZEMvsZDCw(0), | |
587 | fHOutMultV0MvsCL1(0), | |
588 | fHOutMultV0MvsTRK(0), | |
589 | fHOutMultTRKvsCL1(0), | |
590 | fHOutMultV0MvsV0O(0), | |
591 | fHOutMultV0OvsCL1(0), | |
592 | fHOutMultV0OvsTRK(0), | |
593 | fHOutMultCL1vsTKL(0), | |
bfbc1975 | 594 | fHOutMultZNAvsZPA(0), |
01974bd1 | 595 | fHOutCentV0Mqual1(0), |
596 | fHOutCentTRKqual1(0), | |
597 | fHOutCentCL1qual1(0), | |
598 | fHOutMultV0MvsCL1qual1(0), | |
599 | fHOutMultV0MvsTRKqual1(0), | |
600 | fHOutMultTRKvsCL1qual1(0), | |
601 | fHOutCentV0Mqual2(0), | |
602 | fHOutCentTRKqual2(0), | |
603 | fHOutCentCL1qual2(0), | |
604 | fHOutMultV0MvsCL1qual2(0), | |
605 | fHOutMultV0MvsTRKqual2(0), | |
606 | fHOutMultTRKvsCL1qual2(0), | |
607 | fHOutQuality(0), | |
608 | fHOutVertex(0), | |
609 | fHOutVertexT0(0) | |
610 | { | |
611 | // Default constructor | |
612 | AliInfo("Centrality Selection enabled."); | |
613 | //DefineOutput(1, TList::Class()); | |
614 | fUseScaling=kTRUE; | |
615 | fUseCleaning=kTRUE; | |
616 | fFillHistos=kFALSE; | |
617 | fBranchNames="ESD:AliESDRun.,AliESDHeader.,AliESDZDC.,AliESDFMD.,AliESDVZERO.,AliESDTZERO." | |
618 | ",SPDVertex.,TPCVertex.,PrimaryVertex.,AliMultiplicity.,Tracks "; | |
619 | } | |
620 | ||
621 | //________________________________________________________________________ | |
622 | AliCentralitySelectionTask& AliCentralitySelectionTask::operator=(const AliCentralitySelectionTask& c) | |
623 | { | |
624 | // Assignment operator | |
625 | if (this!=&c) { | |
626 | AliAnalysisTaskSE::operator=(c); | |
627 | } | |
628 | return *this; | |
629 | } | |
630 | ||
631 | //________________________________________________________________________ | |
632 | AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelectionTask& ana): | |
633 | AliAnalysisTaskSE(ana), | |
634 | fAnalysisInput(ana.fAnalysisInput), | |
635 | fIsMCInput(ana.fIsMCInput), | |
636 | fCurrentRun(ana.fCurrentRun), | |
637 | fUseScaling(ana.fUseScaling), | |
638 | fUseCleaning(ana.fUseCleaning), | |
639 | fFillHistos(ana.fFillHistos), | |
640 | fV0MScaleFactor(ana.fV0MScaleFactor), | |
641 | fSPDScaleFactor(ana.fSPDScaleFactor), | |
642 | fTPCScaleFactor(ana.fTPCScaleFactor), | |
643 | fV0MScaleFactorMC(ana.fV0MScaleFactorMC), | |
644 | fV0MSPDOutlierPar0(ana.fV0MSPDOutlierPar0), | |
645 | fV0MSPDOutlierPar1(ana.fV0MSPDOutlierPar1), | |
646 | fV0MTPCOutlierPar0(ana.fV0MTPCOutlierPar0), | |
647 | fV0MTPCOutlierPar1(ana.fV0MTPCOutlierPar1), | |
648 | fV0MSPDSigmaOutlierPar0(ana.fV0MSPDSigmaOutlierPar0), | |
649 | fV0MSPDSigmaOutlierPar1(ana.fV0MSPDSigmaOutlierPar1), | |
650 | fV0MSPDSigmaOutlierPar2(ana.fV0MSPDSigmaOutlierPar2), | |
651 | fV0MTPCSigmaOutlierPar0(ana.fV0MTPCSigmaOutlierPar0), | |
652 | fV0MTPCSigmaOutlierPar1(ana.fV0MTPCSigmaOutlierPar1), | |
653 | fV0MTPCSigmaOutlierPar2(ana.fV0MTPCSigmaOutlierPar2), | |
654 | fV0MZDCOutlierPar0(ana.fV0MZDCOutlierPar0), | |
655 | fV0MZDCOutlierPar1(ana.fV0MZDCOutlierPar1), | |
656 | fV0MZDCEcalOutlierPar0(ana.fV0MZDCEcalOutlierPar0), | |
657 | fV0MZDCEcalOutlierPar1(ana.fV0MZDCEcalOutlierPar1), | |
658 | fTrackCuts(ana.fTrackCuts), | |
2d27827d | 659 | fEsdTrackCuts(ana.fEsdTrackCuts), |
660 | fEsdTrackCutsExtra1(ana.fEsdTrackCutsExtra1), | |
661 | fEsdTrackCutsExtra2(ana.fEsdTrackCutsExtra2), | |
01974bd1 | 662 | fZVCut(ana.fZVCut), |
663 | fOutliersCut(ana.fOutliersCut), | |
664 | fQuality(ana.fQuality), | |
665 | fIsSelected(ana.fIsSelected), | |
666 | fMSL(ana.fMSL), | |
667 | fMSH(ana.fMSH), | |
668 | fMUL(ana.fMUL), | |
669 | fMLL(ana.fMLL), | |
670 | fEJE(ana.fEJE), | |
671 | fEGA(ana.fEGA), | |
672 | fPHS(ana.fPHS), | |
673 | fMB(ana.fMB), | |
674 | fCVHN(ana.fCVHN), | |
675 | fCVLN(ana.fCVLN), | |
676 | fCVHNbit(ana.fCVHNbit), | |
677 | fCVLNbit(ana.fCVLNbit), | |
678 | fCCENT(ana.fCCENT), | |
679 | fCSEMI(ana.fCSEMI), | |
680 | fCCENTbit(ana.fCCENTbit), | |
681 | fCSEMIbit(ana.fCSEMIbit), | |
682 | fCentV0M(ana.fCentV0M), | |
683 | fCentV0A(ana.fCentV0A), | |
9113c527 | 684 | fCentV0A0(ana.fCentV0A0), |
2d12adde | 685 | fCentV0A123(ana.fCentV0A123), |
01974bd1 | 686 | fCentV0C(ana.fCentV0C), |
26f02c2c | 687 | fCentV0A23(ana.fCentV0A23), |
688 | fCentV0C01(ana.fCentV0C01), | |
689 | fCentV0S(ana.fCentV0S), | |
f9a774f9 | 690 | fCentV0MEq(ana.fCentV0MEq), |
691 | fCentV0AEq(ana.fCentV0AEq), | |
692 | fCentV0CEq(ana.fCentV0CEq), | |
01974bd1 | 693 | fCentFMD(ana.fCentFMD), |
694 | fCentTRK(ana.fCentTRK), | |
695 | fCentTKL(ana.fCentTKL), | |
696 | fCentCL0(ana.fCentCL0), | |
697 | fCentCL1(ana.fCentCL1), | |
698 | fCentCND(ana.fCentCND), | |
99029fba | 699 | fCentZNA(ana.fCentZNA), |
f9a774f9 | 700 | fCentZNC(ana.fCentZNC), |
3a19f64f | 701 | fCentZPA(ana.fCentZPA), |
702 | fCentZPC(ana.fCentZPC), | |
39a3e400 | 703 | fCentNPA(ana.fCentNPA), |
01974bd1 | 704 | fCentV0MvsFMD(ana.fCentV0MvsFMD), |
705 | fCentTKLvsV0M(ana.fCentTKLvsV0M), | |
706 | fCentZEMvsZDC(ana.fCentZEMvsZDC), | |
39a3e400 | 707 | fCentV0Mtrue(ana.fCentV0Mtrue), |
708 | fCentV0Atrue(ana.fCentV0Atrue), | |
709 | fCentV0Ctrue(ana.fCentV0Ctrue), | |
f9a774f9 | 710 | fCentV0MEqtrue(ana.fCentV0MEqtrue), |
711 | fCentV0AEqtrue(ana.fCentV0AEqtrue), | |
712 | fCentV0CEqtrue(ana.fCentV0CEqtrue), | |
39a3e400 | 713 | fCentFMDtrue(ana.fCentFMDtrue), |
714 | fCentTRKtrue(ana.fCentTRKtrue), | |
715 | fCentTKLtrue(ana.fCentTKLtrue), | |
716 | fCentCL0true(ana.fCentCL0true), | |
717 | fCentCL1true(ana.fCentCL1true), | |
718 | fCentCNDtrue(ana.fCentCNDtrue), | |
719 | fCentZNAtrue(ana.fCentZNAtrue), | |
f9a774f9 | 720 | fCentZNCtrue(ana.fCentZNCtrue), |
3a19f64f | 721 | fCentZPAtrue(ana.fCentZPAtrue), |
722 | fCentZPCtrue(ana.fCentZPCtrue), | |
01974bd1 | 723 | fHtempV0M(ana.fHtempV0M), |
724 | fHtempV0A(ana.fHtempV0A), | |
9113c527 | 725 | fHtempV0A0(ana.fHtempV0A0), |
2d12adde | 726 | fHtempV0A123(ana.fHtempV0A123), |
01974bd1 | 727 | fHtempV0C(ana.fHtempV0C), |
26f02c2c | 728 | fHtempV0A23(ana.fHtempV0A23), |
729 | fHtempV0C01(ana.fHtempV0C01), | |
730 | fHtempV0S(ana.fHtempV0S), | |
f9a774f9 | 731 | fHtempV0MEq(ana.fHtempV0MEq), |
732 | fHtempV0AEq(ana.fHtempV0AEq), | |
733 | fHtempV0CEq(ana.fHtempV0CEq), | |
01974bd1 | 734 | fHtempFMD(ana.fHtempFMD), |
735 | fHtempTRK(ana.fHtempTRK), | |
736 | fHtempTKL(ana.fHtempTKL), | |
737 | fHtempCL0(ana.fHtempCL0), | |
738 | fHtempCL1(ana.fHtempCL1), | |
739 | fHtempCND(ana.fHtempCND), | |
99029fba | 740 | fHtempZNA(ana.fHtempZNA), |
f9a774f9 | 741 | fHtempZNC(ana.fHtempZNC), |
3a19f64f | 742 | fHtempZPA(ana.fHtempZPA), |
743 | fHtempZPC(ana.fHtempZPC), | |
01974bd1 | 744 | fHtempV0MvsFMD(ana.fHtempV0MvsFMD), |
745 | fHtempTKLvsV0M(ana.fHtempTKLvsV0M), | |
746 | fHtempZEMvsZDC(ana.fHtempZEMvsZDC), | |
39a3e400 | 747 | fHtempNPA(ana.fHtempNPA), |
748 | fHtempV0Mtrue(ana.fHtempV0Mtrue), | |
749 | fHtempV0Atrue(ana.fHtempV0Atrue), | |
750 | fHtempV0Ctrue(ana.fHtempV0Ctrue), | |
f9a774f9 | 751 | fHtempV0MEqtrue(ana.fHtempV0MEqtrue), |
752 | fHtempV0AEqtrue(ana.fHtempV0AEqtrue), | |
753 | fHtempV0CEqtrue(ana.fHtempV0CEqtrue), | |
39a3e400 | 754 | fHtempFMDtrue(ana.fHtempFMDtrue), |
755 | fHtempTRKtrue(ana.fHtempTRKtrue), | |
756 | fHtempTKLtrue(ana.fHtempTKLtrue), | |
757 | fHtempCL0true(ana.fHtempCL0true), | |
758 | fHtempCL1true(ana.fHtempCL1true), | |
759 | fHtempCNDtrue(ana.fHtempCNDtrue), | |
760 | fHtempZNAtrue(ana.fHtempZNAtrue), | |
f9a774f9 | 761 | fHtempZNCtrue(ana.fHtempZNCtrue), |
3a19f64f | 762 | fHtempZPAtrue(ana.fHtempZPAtrue), |
763 | fHtempZPCtrue(ana.fHtempZPCtrue), | |
01974bd1 | 764 | fOutputList(ana.fOutputList), |
39a3e400 | 765 | fHOutCentV0M(ana.fHOutCentV0M), |
766 | fHOutCentV0A(ana.fHOutCentV0A), | |
9113c527 | 767 | fHOutCentV0A0(ana.fHOutCentV0A0), |
2d12adde | 768 | fHOutCentV0A123(ana.fHOutCentV0A123), |
39a3e400 | 769 | fHOutCentV0C(ana.fHOutCentV0C), |
26f02c2c | 770 | fHOutCentV0A23(ana.fHOutCentV0A23), |
771 | fHOutCentV0C01(ana.fHOutCentV0C01), | |
772 | fHOutCentV0S(ana.fHOutCentV0S), | |
f9a774f9 | 773 | fHOutCentV0MEq(ana.fHOutCentV0MEq), |
774 | fHOutCentV0AEq(ana.fHOutCentV0AEq), | |
775 | fHOutCentV0CEq(ana.fHOutCentV0CEq), | |
01974bd1 | 776 | fHOutCentV0MCVHN(ana.fHOutCentV0MCVHN), |
777 | fHOutCentV0MCVLN(ana.fHOutCentV0MCVLN), | |
778 | fHOutCentV0MCVHNinMB(ana.fHOutCentV0MCVHNinMB), | |
779 | fHOutCentV0MCVLNinMB(ana.fHOutCentV0MCVLNinMB), | |
780 | fHOutCentV0MCCENT(ana.fHOutCentV0MCCENT), | |
781 | fHOutCentV0MCSEMI(ana.fHOutCentV0MCSEMI), | |
782 | fHOutCentV0MCCENTinMB(ana.fHOutCentV0MCCENTinMB), | |
783 | fHOutCentV0MCSEMIinMB(ana.fHOutCentV0MCSEMIinMB), | |
784 | fHOutCentV0MMSL(ana.fHOutCentV0MMSL), | |
785 | fHOutCentV0MMSH(ana.fHOutCentV0MMSH), | |
786 | fHOutCentV0MMUL(ana.fHOutCentV0MMUL), | |
787 | fHOutCentV0MMLL(ana.fHOutCentV0MMLL), | |
788 | fHOutCentV0MEJE(ana.fHOutCentV0MEJE), | |
789 | fHOutCentV0MEGA(ana.fHOutCentV0MEGA), | |
790 | fHOutCentV0MPHS(ana.fHOutCentV0MPHS), | |
791 | fHOutCentV0MMSLinMB(ana.fHOutCentV0MMSLinMB), | |
792 | fHOutCentV0MMSHinMB(ana.fHOutCentV0MMSHinMB), | |
793 | fHOutCentV0MMULinMB(ana.fHOutCentV0MMULinMB), | |
794 | fHOutCentV0MMLLinMB(ana.fHOutCentV0MMLLinMB), | |
795 | fHOutCentV0MEJEinMB(ana.fHOutCentV0MEJEinMB), | |
796 | fHOutCentV0MEGAinMB(ana.fHOutCentV0MEGAinMB), | |
797 | fHOutCentV0MPHSinMB(ana.fHOutCentV0MPHSinMB), | |
39a3e400 | 798 | fHOutCentFMD(ana.fHOutCentFMD), |
799 | fHOutCentTRK(ana.fHOutCentTRK), | |
800 | fHOutCentTKL(ana.fHOutCentTKL), | |
801 | fHOutCentCL0(ana.fHOutCentCL0), | |
802 | fHOutCentCL1(ana.fHOutCentCL1), | |
803 | fHOutCentCND(ana.fHOutCentCND), | |
804 | fHOutCentNPA(ana.fHOutCentNPA), | |
805 | fHOutCentZNA(ana.fHOutCentZNA), | |
f9a774f9 | 806 | fHOutCentZNC(ana.fHOutCentZNC), |
3a19f64f | 807 | fHOutCentZPA(ana.fHOutCentZPA), |
808 | fHOutCentZPC(ana.fHOutCentZPC), | |
01974bd1 | 809 | fHOutCentV0MvsFMD(ana.fHOutCentV0MvsFMD), |
810 | fHOutCentTKLvsV0M(ana.fHOutCentTKLvsV0M), | |
811 | fHOutCentZEMvsZDC(ana.fHOutCentZEMvsZDC), | |
812 | fHOutCentV0MvsCentCL1(ana.fHOutCentV0MvsCentCL1), | |
813 | fHOutCentV0MvsCentTRK(ana.fHOutCentV0MvsCentTRK), | |
814 | fHOutCentTRKvsCentCL1(ana.fHOutCentTRKvsCentCL1), | |
815 | fHOutCentV0MvsCentZDC(ana.fHOutCentV0MvsCentZDC), | |
816 | fHOutCentV0AvsCentV0C(ana.fHOutCentV0AvsCentV0C), | |
817 | fHOutCentV0AvsCentTRK(ana.fHOutCentV0AvsCentTRK), | |
818 | fHOutCentV0AvsCentCND(ana.fHOutCentV0AvsCentCND), | |
819 | fHOutCentV0AvsCentCL1(ana.fHOutCentV0AvsCentCL1), | |
820 | fHOutCentV0CvsCentTRK(ana.fHOutCentV0CvsCentTRK), | |
821 | fHOutCentV0CvsCentCND(ana.fHOutCentV0CvsCentCND), | |
822 | fHOutCentV0CvsCentCL1(ana.fHOutCentV0CvsCentCL1), | |
8432b617 | 823 | fHOutCentNPAvsCentV0A(ana.fHOutCentNPAvsCentV0A), |
824 | fHOutCentNPAvsCentV0C(ana.fHOutCentNPAvsCentV0C), | |
825 | fHOutCentNPAvsCentTRK(ana.fHOutCentNPAvsCentTRK), | |
826 | fHOutCentNPAvsCentCND(ana.fHOutCentNPAvsCentCND), | |
827 | fHOutCentNPAvsCentCL1(ana.fHOutCentNPAvsCentCL1), | |
99029fba | 828 | fHOutCentZNAvsCentV0A(ana.fHOutCentZNAvsCentV0A), |
829 | fHOutCentZNAvsCentV0C(ana.fHOutCentZNAvsCentV0C), | |
830 | fHOutCentZNAvsCentTRK(ana.fHOutCentZNAvsCentTRK), | |
831 | fHOutCentZNAvsCentCND(ana.fHOutCentZNAvsCentCND), | |
832 | fHOutCentZNAvsCentCL1(ana.fHOutCentZNAvsCentCL1), | |
bfbc1975 | 833 | fHOutCentZNAvsCentZPA(ana.fHOutCentZNAvsCentZPA), |
01974bd1 | 834 | fHOutMultV0AC(ana.fHOutMultV0AC), |
835 | fHOutMultV0M(ana.fHOutMultV0M), | |
836 | fHOutMultV0A(ana.fHOutMultV0A), | |
9113c527 | 837 | fHOutMultV0A0(ana.fHOutMultV0A0), |
2d12adde | 838 | fHOutMultV0A123(ana.fHOutMultV0A123), |
01974bd1 | 839 | fHOutMultV0C(ana.fHOutMultV0C), |
26f02c2c | 840 | fHOutMultV0A23(ana.fHOutMultV0A23), |
841 | fHOutMultV0C01(ana.fHOutMultV0C01), | |
842 | fHOutMultV0S(ana.fHOutMultV0S), | |
f9a774f9 | 843 | fHOutMultV0MEq(ana.fHOutMultV0MEq), |
844 | fHOutMultV0AEq(ana.fHOutMultV0AEq), | |
845 | fHOutMultV0CEq(ana.fHOutMultV0CEq), | |
e1d58f75 | 846 | fHOutMultV0Mnc(ana.fHOutMultV0Mnc), |
847 | fHOutMultV0Anc(ana.fHOutMultV0Anc), | |
848 | fHOutMultV0Cnc(ana.fHOutMultV0Cnc), | |
01974bd1 | 849 | fHOutMultV0O(ana.fHOutMultV0O), |
850 | fHOutMultV0Cells(ana.fHOutMultV0Cells), | |
851 | fHOutMultFMD(ana.fHOutMultFMD), | |
852 | fHOutMultTRK(ana.fHOutMultTRK), | |
853 | fHOutMultTKL(ana.fHOutMultTKL), | |
854 | fHOutMultCL0(ana.fHOutMultCL0), | |
855 | fHOutMultCL1(ana.fHOutMultCL1), | |
856 | fHOutMultCND(ana.fHOutMultCND), | |
8432b617 | 857 | fHOutMultNPA(ana.fHOutMultNPA), |
99029fba | 858 | fHOutMultZNA(ana.fHOutMultZNA), |
f9a774f9 | 859 | fHOutMultZNC(ana.fHOutMultZNC), |
3a19f64f | 860 | fHOutMultZPA(ana.fHOutMultZPA), |
861 | fHOutMultZPC(ana.fHOutMultZPC), | |
01974bd1 | 862 | fHOutMultV0MvsZDN(ana.fHOutMultV0MvsZDN), |
863 | fHOutMultZEMvsZDN(ana.fHOutMultZEMvsZDN), | |
864 | fHOutMultV0MvsZDC(ana.fHOutMultV0MvsZDC), | |
865 | fHOutMultZEMvsZDC(ana.fHOutMultZEMvsZDC), | |
866 | fHOutMultZEMvsZDCw(ana.fHOutMultZEMvsZDCw), | |
867 | fHOutMultV0MvsCL1(ana.fHOutMultV0MvsCL1), | |
868 | fHOutMultV0MvsTRK(ana.fHOutMultV0MvsTRK), | |
869 | fHOutMultTRKvsCL1(ana.fHOutMultTRKvsCL1), | |
870 | fHOutMultV0MvsV0O(ana.fHOutMultV0MvsV0O), | |
871 | fHOutMultV0OvsCL1(ana.fHOutMultV0OvsCL1), | |
872 | fHOutMultV0OvsTRK(ana.fHOutMultV0OvsTRK), | |
873 | fHOutMultCL1vsTKL(ana.fHOutMultCL1vsTKL), | |
bfbc1975 | 874 | fHOutMultZNAvsZPA(ana.fHOutMultZNAvsZPA), |
01974bd1 | 875 | fHOutCentV0Mqual1(ana.fHOutCentV0Mqual1), |
876 | fHOutCentTRKqual1(ana.fHOutCentTRKqual1), | |
877 | fHOutCentCL1qual1(ana.fHOutCentCL1qual1), | |
878 | fHOutMultV0MvsCL1qual1(ana.fHOutMultV0MvsCL1qual1), | |
879 | fHOutMultV0MvsTRKqual1(ana.fHOutMultV0MvsTRKqual1), | |
880 | fHOutMultTRKvsCL1qual1(ana.fHOutMultTRKvsCL1qual1), | |
881 | fHOutCentV0Mqual2(ana.fHOutCentV0Mqual2), | |
882 | fHOutCentTRKqual2(ana.fHOutCentTRKqual2), | |
883 | fHOutCentCL1qual2(ana.fHOutCentCL1qual2), | |
884 | fHOutMultV0MvsCL1qual2(ana.fHOutMultV0MvsCL1qual2), | |
885 | fHOutMultV0MvsTRKqual2(ana.fHOutMultV0MvsTRKqual2), | |
886 | fHOutMultTRKvsCL1qual2(ana.fHOutMultTRKvsCL1qual2), | |
887 | fHOutQuality(ana.fHOutQuality), | |
888 | fHOutVertex(ana.fHOutVertex), | |
889 | fHOutVertexT0(ana.fHOutVertexT0) | |
890 | { | |
891 | // Copy Constructor | |
892 | ||
893 | } | |
894 | ||
895 | //________________________________________________________________________ | |
896 | AliCentralitySelectionTask::~AliCentralitySelectionTask() | |
897 | { | |
898 | // Destructor | |
899 | if (fOutputList && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) delete fOutputList; | |
900 | if (fTrackCuts) delete fTrackCuts; | |
2d27827d | 901 | if (fEsdTrackCuts) delete fEsdTrackCuts; |
902 | if (fEsdTrackCutsExtra1) delete fEsdTrackCutsExtra1; | |
903 | if (fEsdTrackCutsExtra2) delete fEsdTrackCutsExtra2; | |
01974bd1 | 904 | } |
905 | ||
906 | //________________________________________________________________________ | |
907 | void AliCentralitySelectionTask::UserCreateOutputObjects() | |
908 | { | |
909 | // Create the output containers | |
910 | if(fDebug>1) printf("AnalysisCentralitySelectionTask::UserCreateOutputObjects() \n"); | |
911 | AliLog::SetClassDebugLevel("AliCentralitySelectionTask", AliLog::kInfo); | |
912 | ||
913 | if (fFillHistos) { | |
914 | fOutputList = new TList(); | |
915 | fOutputList->SetOwner(); | |
916 | fHOutCentV0M = new TH1F("fHOutCentV0M","fHOutCentV0M; Centrality V0",505,0,101); | |
917 | fHOutCentV0A = new TH1F("fHOutCentV0A","fHOutCentV0A; Centrality V0A",505,0,101); | |
9113c527 | 918 | fHOutCentV0A0 = new TH1F("fHOutCentV0A0","fHOutCentV0A0; Centrality V0A-0",505,0,101); |
2d12adde | 919 | fHOutCentV0A123 = new TH1F("fHOutCentV0A123","fHOutCentV0A123; Centrality V0A-123",505,0,101); |
01974bd1 | 920 | fHOutCentV0C = new TH1F("fHOutCentV0C","fHOutCentV0C; Centrality V0C",505,0,101); |
26f02c2c | 921 | fHOutCentV0A23 = new TH1F("fHOutCentV0A23","fHOutCentV0A23; Centrality V0A-23",505,0,101); |
922 | fHOutCentV0C01 = new TH1F("fHOutCentV0C01","fHOutCentV0C01; Centrality V0C-01",505,0,101); | |
923 | fHOutCentV0S = new TH1F("fHOutCentV0S","fHOutCentV0S; Centrality V0A-23 & V0C-01",505,0,101); | |
1a9bd911 | 924 | fHOutCentV0MEq = new TH1F("fHOutCentV0MEq","fHOutCentV0MEq; Centrality V0 equalized",505,0,101); |
925 | fHOutCentV0AEq = new TH1F("fHOutCentV0AEq","fHOutCentV0AEq; Centrality V0A equalized",505,0,101); | |
926 | fHOutCentV0CEq = new TH1F("fHOutCentV0CEq","fHOutCentV0CEq; Centrality V0C equalized",505,0,101); | |
01974bd1 | 927 | fHOutCentV0MCVHN= new TH1F("fHOutCentV0M_CVHN","fHOutCentV0M_CVHN; Centrality V0",505,0,101); |
928 | fHOutCentV0MCVLN= new TH1F("fHOutCentV0M_CVLN","fHOutCentV0M_CVLN; Centrality V0",505,0,101); | |
929 | fHOutCentV0MCVHNinMB= new TH1F("fHOutCentV0M_CVHNinMB","fHOutCentV0M_CVHN; Centrality V0",505,0,101); | |
930 | fHOutCentV0MCVLNinMB= new TH1F("fHOutCentV0M_CVLNinMB","fHOutCentV0M_CVLN; Centrality V0",505,0,101); | |
931 | fHOutCentV0MCCENT= new TH1F("fHOutCentV0M_CCENT","fHOutCentV0M_CCENT; Centrality V0",505,0,101); | |
932 | fHOutCentV0MCSEMI= new TH1F("fHOutCentV0M_CSEMI","fHOutCentV0M_CSEMI; Centrality V0",505,0,101); | |
933 | fHOutCentV0MCCENTinMB= new TH1F("fHOutCentV0M_CCENTinMB","fHOutCentV0M_CCENT; Centrality V0",505,0,101); | |
934 | fHOutCentV0MCSEMIinMB= new TH1F("fHOutCentV0M_CSEMIinMB","fHOutCentV0M_CSEMI; Centrality V0",505,0,101); | |
935 | fHOutCentV0MMSL= new TH1F("fHOutCentV0M_MSL","fHOutCentV0M_MSL; Centrality V0",505,0,101); | |
936 | fHOutCentV0MMSH= new TH1F("fHOutCentV0M_MSH","fHOutCentV0M_MSH; Centrality V0",505,0,101); | |
937 | fHOutCentV0MMUL= new TH1F("fHOutCentV0M_MUL","fHOutCentV0M_MUL; Centrality V0",505,0,101); | |
938 | fHOutCentV0MMLL= new TH1F("fHOutCentV0M_MLL","fHOutCentV0M_MLL; Centrality V0",505,0,101); | |
939 | fHOutCentV0MEJE= new TH1F("fHOutCentV0M_EJE","fHOutCentV0M_EJE; Centrality V0",505,0,101); | |
940 | fHOutCentV0MEGA= new TH1F("fHOutCentV0M_EGA","fHOutCentV0M_EGA; Centrality V0",505,0,101); | |
941 | fHOutCentV0MPHS= new TH1F("fHOutCentV0M_PHS","fHOutCentV0M_PHS; Centrality V0",505,0,101); | |
942 | fHOutCentV0MMSLinMB= new TH1F("fHOutCentV0M_MSLinMB","fHOutCentV0M_MSLinMB; Centrality V0",505,0,101); | |
943 | fHOutCentV0MMSHinMB= new TH1F("fHOutCentV0M_MSHinMB","fHOutCentV0M_MSHinMB; Centrality V0",505,0,101); | |
944 | fHOutCentV0MMULinMB= new TH1F("fHOutCentV0M_MULinMB","fHOutCentV0M_MULinMB; Centrality V0",505,0,101); | |
945 | fHOutCentV0MMLLinMB= new TH1F("fHOutCentV0M_MLLinMB","fHOutCentV0M_MLLinMB; Centrality V0",505,0,101); | |
946 | fHOutCentV0MEJEinMB= new TH1F("fHOutCentV0M_EJEinMB","fHOutCentV0M_EJEinMB; Centrality V0",505,0,101); | |
947 | fHOutCentV0MEGAinMB= new TH1F("fHOutCentV0M_EGAinMB","fHOutCentV0M_EGAinMB; Centrality V0",505,0,101); | |
948 | fHOutCentV0MPHSinMB= new TH1F("fHOutCentV0M_PHSinMB","fHOutCentV0M_PHSinMB; Centrality V0",505,0,101); | |
949 | fHOutCentFMD = new TH1F("fHOutCentFMD","fHOutCentFMD; Centrality FMD",505,0,101); | |
950 | fHOutCentTRK = new TH1F("fHOutCentTRK","fHOutCentTRK; Centrality TPC",505,0,101); | |
951 | fHOutCentTKL = new TH1F("fHOutCentTKL","fHOutCentTKL; Centrality tracklets",505,0,101); | |
952 | fHOutCentCL0 = new TH1F("fHOutCentCL0","fHOutCentCL0; Centrality SPD inner",505,0,101); | |
953 | fHOutCentCL1 = new TH1F("fHOutCentCL1","fHOutCentCL1; Centrality SPD outer",505,0,101); | |
954 | fHOutCentCND = new TH1F("fHOutCentCND","fHOutCentCND; Centrality candle",505,0,101); | |
99029fba | 955 | fHOutCentNPA = new TH1F("fHOutCentNPA","fHOutCentNPA; Centrality Npart",505,0,101); |
956 | fHOutCentZNA = new TH1F("fHOutCentZNA","fHOutCentZNA; Centrality ZNA",505,0,101); | |
1a9bd911 | 957 | fHOutCentZNC = new TH1F("fHOutCentZNC","fHOutCentZNC; Centrality ZNC",505,0,101); |
3a19f64f | 958 | fHOutCentZPA = new TH1F("fHOutCentZPA","fHOutCentZPA; Centrality ZPA",505,0,101); |
959 | fHOutCentZPC = new TH1F("fHOutCentZPC","fHOutCentZPC; Centrality ZPC",505,0,101); | |
01974bd1 | 960 | fHOutCentV0MvsFMD= new TH1F("fHOutCentV0MvsFMD","fHOutCentV0MvsFMD; Centrality V0 vs FMD",505,0,101); |
961 | fHOutCentTKLvsV0M= new TH1F("fHOutCentTKLvsV0M","fHOutCentTKLvsV0M; Centrality tracklets vs V0",505,0,101); | |
962 | fHOutCentZEMvsZDC= new TH1F("fHOutCentZEMvsZDC","fHOutCentZEMvsZDC; Centrality ZEM vs ZDC",505,0,101); | |
963 | fHOutCentV0MvsCentCL1= new TH2F("fHOutCentV0MvsCentCL1","fHOutCentV0MvsCentCL1; Cent V0; Cent SPD",505,0,101,505,0,101); | |
964 | fHOutCentV0MvsCentTRK= new TH2F("fHOutCentV0MvsCentTRK","fHOutCentV0MvsCentTRK; Cent V0; Cent TPC",505,0,101,505,0,101); | |
965 | fHOutCentTRKvsCentCL1= new TH2F("fHOutCentTRKvsCentCL1","fHOutCentTRKvsCentCL1; Cent TPC; Cent SPD",505,0,101,505,0,101); | |
966 | fHOutCentV0MvsCentZDC= new TH2F("fHOutCentV0MvsCentZDC","fHOutCentV0MvsCentZDC; Cent V0; Cent ZDC",505,0,101,505,0,101); | |
967 | fHOutCentV0AvsCentV0C= new TH2F("fHOutCentV0AvsCentV0C","fHOutCentV0AvsCentV0C; Cent V0A; Cent V0C;", 505,0,101,505,0,101); | |
968 | fHOutCentV0AvsCentTRK= new TH2F("fHOutCentV0AvsCentTRK","fHOutCentV0AvsCentTRK; Cent V0A; Cent TRK;", 505,0,101,505,0,101); | |
969 | fHOutCentV0AvsCentCND= new TH2F("fHOutCentV0AvsCentCND","fHOutCentV0AvsCentCND; Cent V0A; Cent CND;", 505,0,101,505,0,101); | |
970 | fHOutCentV0AvsCentCL1= new TH2F("fHOutCentV0AvsCentCL1","fHOutCentV0AvsCentCL1; Cent V0A; Cent CL1;", 505,0,101,505,0,101); | |
971 | fHOutCentV0CvsCentTRK= new TH2F("fHOutCentV0CvsCentTRK","fHOutCentV0CvsCentTRK; Cent V0C; Cent TRK;", 505,0,101,505,0,101); | |
972 | fHOutCentV0CvsCentCND= new TH2F("fHOutCentV0CvsCentCND","fHOutCentV0CvsCentCND; Cent V0C; Cent CND;", 505,0,101,505,0,101); | |
973 | fHOutCentV0CvsCentCL1= new TH2F("fHOutCentV0CvsCentCL1","fHOutCentV0CvsCentCL1; Cent V0C; Cent CL1;", 505,0,101,505,0,101); | |
8432b617 | 974 | fHOutCentNPAvsCentV0A= new TH2F("fHOutCentNPAvsCentV0A","fHOutCentNPAvsCentV0A; Cent NPA; Cent V0A;", 505,0,101,505,0,101); |
975 | fHOutCentNPAvsCentV0C= new TH2F("fHOutCentNPAvsCentV0C","fHOutCentNPAvsCentV0C; Cent NPA; Cent V0C;", 505,0,101,505,0,101); | |
976 | fHOutCentNPAvsCentTRK= new TH2F("fHOutCentNPAvsCentTRK","fHOutCentNPAvsCentTRK; Cent NPA; Cent TRK;", 505,0,101,505,0,101); | |
977 | fHOutCentNPAvsCentCND= new TH2F("fHOutCentNPAvsCentCND","fHOutCentNPAvsCentCND; Cent NPA; Cent CND;", 505,0,101,505,0,101); | |
978 | fHOutCentNPAvsCentCL1= new TH2F("fHOutCentNPAvsCentCL1","fHOutCentNPAvsCentCL1; Cent NPA; Cent CL1;", 505,0,101,505,0,101); | |
99029fba | 979 | fHOutCentZNAvsCentV0A= new TH2F("fHOutCentZNAvsCentV0A","fHOutCentZNAvsCentV0A; Cent ZNA; Cent V0A;", 505,0,101,505,0,101); |
980 | fHOutCentZNAvsCentV0C= new TH2F("fHOutCentZNAvsCentV0C","fHOutCentZNAvsCentV0C; Cent ZNA; Cent V0C;", 505,0,101,505,0,101); | |
981 | fHOutCentZNAvsCentTRK= new TH2F("fHOutCentZNAvsCentTRK","fHOutCentZNAvsCentTRK; Cent ZNA; Cent TRK;", 505,0,101,505,0,101); | |
982 | fHOutCentZNAvsCentCND= new TH2F("fHOutCentZNAvsCentCND","fHOutCentZNAvsCentCND; Cent ZNA; Cent CND;", 505,0,101,505,0,101); | |
983 | fHOutCentZNAvsCentCL1= new TH2F("fHOutCentZNAvsCentCL1","fHOutCentZNAvsCentCL1; Cent ZNA; Cent CL1;", 505,0,101,505,0,101); | |
bfbc1975 | 984 | fHOutCentZNAvsCentZPA= new TH2F("fHOutCentZNAvsCentZPA","fHOutCentZNAvsCentZPA; Cent ZNA; Cent ZPA;", 505,0,101,505,0,101); |
01974bd1 | 985 | |
986 | fHOutMultV0AC = new TH2F("fHOutMultV0AC","fHOutMultV0AC; Multiplicity V0A; Multiplicity V0C",1000,0,1000,1000,0,1000); | |
987 | fHOutMultV0M = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,25000); | |
988 | fHOutMultV0A = new TH1F("fHOutMultV0A","fHOutMultV0A; Multiplicity V0",25000,0,25000); | |
9113c527 | 989 | fHOutMultV0A0 = new TH1F("fHOutMultV0A0","fHOutMultV0A0; Multiplicity V0A-0",25000,0,25000); |
2d12adde | 990 | fHOutMultV0A123 = new TH1F("fHOutMultV0A123","fHOutMultV0A123; Multiplicity V0A-123",25000,0,25000); |
01974bd1 | 991 | fHOutMultV0C = new TH1F("fHOutMultV0C","fHOutMultV0C; Multiplicity V0",25000,0,25000); |
26f02c2c | 992 | fHOutMultV0A23 = new TH1F("fHOutMultV0A23","fHOutMultV0A23; Multiplicity V0A-23",25000,0,25000); |
993 | fHOutMultV0C01 = new TH1F("fHOutMultV0C01","fHOutMultV0C01; Multiplicity V0C-01",25000,0,25000); | |
994 | fHOutMultV0S = new TH1F("fHOutMultV0S","fHOutMultV0S; Multiplicity V0A-23 & V0C-01",25000,0,25000); | |
7c928baf | 995 | fHOutMultV0MEq = new TH1F("fHOutMultV0MEq","fHOutMultV0MEq; Multiplicity V0",25000,0,25000); |
996 | fHOutMultV0AEq = new TH1F("fHOutMultV0AEq","fHOutMultV0AEq; Multiplicity V0",25000,0,25000); | |
997 | fHOutMultV0CEq = new TH1F("fHOutMultV0CEq","fHOutMultV0CEq; Multiplicity V0",25000,0,25000); | |
e1d58f75 | 998 | fHOutMultV0Mnc= new TH1F("fHOutMultV0Mnc","fHOutMultV0Mnc; Multiplicity V0",25000,0,25000); |
999 | fHOutMultV0Anc= new TH1F("fHOutMultV0Anc","fHOutMultV0Anc; Multiplicity V0",25000,0,25000); | |
1000 | fHOutMultV0Cnc= new TH1F("fHOutMultV0Cnc","fHOutMultV0Cnc; Multiplicity V0",25000,0,25000); | |
01974bd1 | 1001 | fHOutMultV0O = new TH1F("fHOutMultV0O","fHOutMultV0O; Multiplicity V0",40000,0,40000); |
1002 | fHOutMultV0Cells = new TH2F("fHOutMultV0Cells","fHOutMultV0Cells",33,-0.5,32.5,33,-0.5,32.5); | |
1003 | fHOutMultFMD = new TH1F("fHOutMultFMD","fHOutMultFMD; Multiplicity FMD",24000,0,24000); | |
1004 | fHOutMultTRK = new TH1F("fHOutMultTRK","fHOutMultTRK; Multiplicity TPC",4000,0,4000); | |
1005 | fHOutMultTKL = new TH1F("fHOutMultTKL","fHOutMultTKL; Multiplicity tracklets",5000,0,5000); | |
1006 | fHOutMultCL0 = new TH1F("fHOutMultCL0","fHOutMultCL0; Multiplicity SPD inner",7000,0,7000); | |
1007 | fHOutMultCL1 = new TH1F("fHOutMultCL1","fHOutMultCL1; Multiplicity SPD outer",7000,0,7000); | |
1008 | fHOutMultCND = new TH1F("fHOutMultCND","fHOutMultCND; Multiplicity candle",4000,0,4000); | |
8432b617 | 1009 | fHOutMultNPA = new TH1F("fHOutMultNPA","fHOutMultNPA; Nparticipants",450,0,450); |
3a19f64f | 1010 | fHOutMultZNA = new TH1F("fHOutMultZNA","fHOutMultZNA; ZNA Energy",2000,0,2000); |
1011 | fHOutMultZNC = new TH1F("fHOutMultZNC","fHOutMultZNC; ZNC Energy",2000,0,2000); | |
1012 | fHOutMultZPA = new TH1F("fHOutMultZPA","fHOutMultZPA; ZPA Energy",2000,0,2000); | |
1013 | fHOutMultZPC = new TH1F("fHOutMultZPC","fHOutMultZPC; ZPC Energy",2000,0,2000); | |
01974bd1 | 1014 | |
3a19f64f | 1015 | fHOutMultV0MvsZDN = new TH2F("fHOutMultV0MvsZDN","fHOutMultV0MvsZDN; Multiplicity V0; Energy ZDC-N",500,0,1200,500,0,2000); |
01974bd1 | 1016 | fHOutMultZEMvsZDN = new TH2F("fHOutMultZEMvsZDN","fHOutMultZEMvsZDN; Energy ZEM; Energy ZDC-N",500,0,2500,500,0,180000); |
1017 | fHOutMultV0MvsZDC = new TH2F("fHOutMultV0MvsZDC","fHOutMultV0MvsZDC; Multiplicity V0; Energy ZDC",500,0,30000,500,0,200000); | |
1018 | fHOutMultZEMvsZDC = new TH2F("fHOutMultZEMvsZDC","fHOutMultZEMvsZDC; Energy ZEM; Energy ZDC",500,0,2500,500,0,200000); | |
1019 | fHOutMultZEMvsZDCw = new TH2F("fHOutMultZEMvsZDCw","fHOutMultZEMvsZDCw; Energy ZEM; Energy ZDC (weigthed with V0 percentile)",500,0,2500,500,0,200000); | |
1020 | fHOutMultV0MvsCL1 = new TH2F("fHOutMultV0MvsCL1","fHOutMultV0MvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,30000,700,0,7000); | |
1021 | fHOutMultV0MvsTRK = new TH2F("fHOutMultV0MvsTRK","fHOutMultV0MvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,30000,400,0,4000); | |
1022 | fHOutMultTRKvsCL1 = new TH2F("fHOutMultTRKvsCL1","fHOutMultTRKvsCL1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000); | |
1023 | fHOutMultV0MvsV0O = new TH2F("fHOutMultV0MvsV0O","fHOutMultV0MvsV0O; Multiplicity V0; Multiplicity V0 Online",500,0,30000,500,0,40000); | |
1024 | fHOutMultV0OvsCL1 = new TH2F("fHOutMultV0OvsCL1","fHOutMultV0OvsCL1; Multiplicity V0; Multiplicity SPD outer",500,0,40000,700,0,7000); | |
1025 | fHOutMultV0OvsTRK = new TH2F("fHOutMultV0OvsTRK","fHOutMultV0OvsTRK; Multiplicity V0; Multiplicity TPC",500,0,40000,400,0,4000); | |
1026 | fHOutMultV0MvsV0O = new TH2F("fHOutMultV0MvsV0O","fHOutMultV0MvsV0O; Multiplicity V0; Multiplicity V0 Online",500,0,30000,500,0,30000); | |
1027 | fHOutMultV0OvsCL1 = new TH2F("fHOutMultV0OvsCL1","fHOutMultV0OvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,30000,700,0,7000); | |
1028 | fHOutMultV0OvsTRK = new TH2F("fHOutMultV0OvsTRK","fHOutMultV0OvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,30000,400,0,4000); | |
1029 | fHOutMultCL1vsTKL = new TH2F ("fHOutMultCL1vsTKL","fHOutMultCL1vsTKL; Multiplicity SPD outer; Multiplicity tracklets",700,0,7000,700,0,7000); | |
bfbc1975 | 1030 | fHOutMultZNAvsZPA = new TH2F ("fHOutMultZNAvsZPA","fHOutMultZNAvsZPA; Energy ZNA; Energy ZPA",500,0,2000,500,0,2000); |
01974bd1 | 1031 | |
1032 | fHOutCentV0Mqual1 = new TH1F("fHOutCentV0M_qual1","fHOutCentV0M_qual1; Centrality V0",505,0,101); | |
1033 | fHOutCentTRKqual1 = new TH1F("fHOutCentTRK_qual1","fHOutCentTRK_qual1; Centrality TPC",505,0,101); | |
1034 | fHOutCentCL1qual1 = new TH1F("fHOutCentCL1_qual1","fHOutCentCL1_qual1; Centrality SPD outer",505,0,101); | |
1035 | fHOutMultV0MvsCL1qual1 = new TH2F("fHOutMultV0MvsCL1_qual1","fHOutMultV0MvsCL1_qual1; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000); | |
1036 | fHOutMultV0MvsTRKqual1 = new TH2F("fHOutMultV0MvsTRK_qual1","fHOutMultV0MvsTRK_qual1; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000); | |
1037 | fHOutMultTRKvsCL1qual1 = new TH2F("fHOutMultTRKvsCL1_qual1","fHOutMultTRKvsCL1_qual1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000); | |
1038 | ||
1039 | fHOutCentV0Mqual2 = new TH1F("fHOutCentV0M_qual2","fHOutCentV0M_qual2; Centrality V0",505,0,101); | |
1040 | fHOutCentTRKqual2 = new TH1F("fHOutCentTRK_qual2","fHOutCentTRK_qual2; Centrality TPC",505,0,101); | |
1041 | fHOutCentCL1qual2 = new TH1F("fHOutCentCL1_qual2","fHOutCentCL1_qual2; Centrality SPD outer",505,0,101); | |
1042 | fHOutMultV0MvsCL1qual2 = new TH2F("fHOutMultV0MvsCL1_qual2","fHOutMultV0MvsCL1_qual2; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000); | |
1043 | fHOutMultV0MvsTRKqual2 = new TH2F("fHOutMultV0MvsTRK_qual2","fHOutMultV0MvsTRK_qual2; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000); | |
1044 | fHOutMultTRKvsCL1qual2 = new TH2F("fHOutMultTRKvsCL1_qual2","fHOutMultTRKvsCL1_qual2; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000); | |
1045 | ||
1046 | fHOutQuality = new TH1F("fHOutQuality", "fHOutQuality", 100,-0.5,99.5); | |
1047 | fHOutVertex = new TH1F("fHOutVertex", "fHOutVertex", 100,-20,20); | |
1048 | fHOutVertexT0 = new TH1F("fHOutVertexT0", "fHOutVertexT0", 100,-20,20); | |
1049 | ||
377e5a61 | 1050 | fOutputList->Add(fHOutCentV0M); |
1051 | fOutputList->Add(fHOutCentV0A); | |
9113c527 | 1052 | fOutputList->Add(fHOutCentV0A0); |
2d12adde | 1053 | fOutputList->Add(fHOutCentV0A123); |
377e5a61 | 1054 | fOutputList->Add(fHOutCentV0C); |
26f02c2c | 1055 | fOutputList->Add(fHOutCentV0A23); |
1056 | fOutputList->Add(fHOutCentV0C01); | |
1057 | fOutputList->Add(fHOutCentV0S); | |
1a9bd911 | 1058 | fOutputList->Add(fHOutCentV0MEq); |
1059 | fOutputList->Add(fHOutCentV0AEq); | |
1060 | fOutputList->Add(fHOutCentV0CEq); | |
377e5a61 | 1061 | fOutputList->Add(fHOutCentV0MCVHN); |
1062 | fOutputList->Add(fHOutCentV0MCVLN); | |
1063 | fOutputList->Add(fHOutCentV0MCVHNinMB); | |
1064 | fOutputList->Add(fHOutCentV0MCVLNinMB); | |
1065 | fOutputList->Add(fHOutCentV0MCCENT); | |
1066 | fOutputList->Add(fHOutCentV0MCSEMI); | |
1067 | fOutputList->Add(fHOutCentV0MCCENTinMB); | |
1068 | fOutputList->Add(fHOutCentV0MCSEMIinMB); | |
1069 | fOutputList->Add(fHOutCentV0MMSL); | |
1070 | fOutputList->Add(fHOutCentV0MMSH); | |
1071 | fOutputList->Add(fHOutCentV0MMUL); | |
1072 | fOutputList->Add(fHOutCentV0MMLL); | |
1073 | fOutputList->Add(fHOutCentV0MEJE); | |
1074 | fOutputList->Add(fHOutCentV0MEGA); | |
1075 | fOutputList->Add(fHOutCentV0MPHS); | |
1076 | fOutputList->Add(fHOutCentV0MMSLinMB); | |
1077 | fOutputList->Add(fHOutCentV0MMSHinMB); | |
1078 | fOutputList->Add(fHOutCentV0MMULinMB); | |
1079 | fOutputList->Add(fHOutCentV0MMLLinMB); | |
1080 | fOutputList->Add(fHOutCentV0MEJEinMB); | |
1081 | fOutputList->Add(fHOutCentV0MEGAinMB); | |
1082 | fOutputList->Add(fHOutCentV0MPHSinMB); | |
1083 | fOutputList->Add(fHOutCentFMD); | |
1084 | fOutputList->Add(fHOutCentTRK); | |
1085 | fOutputList->Add(fHOutCentTKL); | |
1086 | fOutputList->Add(fHOutCentCL0); | |
1087 | fOutputList->Add(fHOutCentCL1); | |
1088 | fOutputList->Add(fHOutCentCND); | |
1089 | fOutputList->Add(fHOutCentNPA); | |
1090 | fOutputList->Add(fHOutCentZNA); | |
1a9bd911 | 1091 | fOutputList->Add(fHOutCentZNC); |
3a19f64f | 1092 | fOutputList->Add(fHOutCentZPA); |
1093 | fOutputList->Add(fHOutCentZPC); | |
377e5a61 | 1094 | fOutputList->Add(fHOutCentV0MvsFMD); |
1095 | fOutputList->Add(fHOutCentTKLvsV0M); | |
1096 | fOutputList->Add(fHOutCentZEMvsZDC); | |
1097 | fOutputList->Add(fHOutCentV0MvsCentCL1); | |
1098 | fOutputList->Add(fHOutCentV0MvsCentTRK); | |
1099 | fOutputList->Add(fHOutCentTRKvsCentCL1); | |
1100 | fOutputList->Add(fHOutCentV0MvsCentZDC); | |
1101 | fOutputList->Add(fHOutCentV0AvsCentV0C); | |
1102 | fOutputList->Add(fHOutCentV0AvsCentTRK); | |
1103 | fOutputList->Add(fHOutCentV0AvsCentCND); | |
1104 | fOutputList->Add(fHOutCentV0AvsCentCL1); | |
1105 | fOutputList->Add(fHOutCentV0CvsCentTRK); | |
1106 | fOutputList->Add(fHOutCentV0CvsCentCND); | |
1107 | fOutputList->Add(fHOutCentV0CvsCentCL1); | |
1108 | fOutputList->Add(fHOutCentNPAvsCentV0A); | |
1109 | fOutputList->Add(fHOutCentNPAvsCentV0C); | |
1110 | fOutputList->Add(fHOutCentNPAvsCentTRK); | |
1111 | fOutputList->Add(fHOutCentNPAvsCentCND); | |
1112 | fOutputList->Add(fHOutCentNPAvsCentCL1); | |
1113 | fOutputList->Add(fHOutCentZNAvsCentV0A); | |
1114 | fOutputList->Add(fHOutCentZNAvsCentV0C); | |
1115 | fOutputList->Add(fHOutCentZNAvsCentTRK); | |
1116 | fOutputList->Add(fHOutCentZNAvsCentCND); | |
1117 | fOutputList->Add(fHOutCentZNAvsCentCL1); | |
bfbc1975 | 1118 | fOutputList->Add(fHOutCentZNAvsCentZPA); |
377e5a61 | 1119 | |
1120 | fOutputList->Add(fHOutMultV0AC); | |
1121 | fOutputList->Add(fHOutMultV0M); | |
1122 | fOutputList->Add(fHOutMultV0A); | |
9113c527 | 1123 | fOutputList->Add(fHOutMultV0A0); |
2d12adde | 1124 | fOutputList->Add(fHOutMultV0A123); |
377e5a61 | 1125 | fOutputList->Add(fHOutMultV0C); |
26f02c2c | 1126 | fOutputList->Add(fHOutMultV0A23); |
1127 | fOutputList->Add(fHOutMultV0C01); | |
1128 | fOutputList->Add(fHOutMultV0S); | |
7c928baf | 1129 | fOutputList->Add(fHOutMultV0MEq); |
1130 | fOutputList->Add(fHOutMultV0AEq); | |
1131 | fOutputList->Add(fHOutMultV0CEq); | |
377e5a61 | 1132 | fOutputList->Add(fHOutMultV0Mnc); |
1133 | fOutputList->Add(fHOutMultV0Anc); | |
1134 | fOutputList->Add(fHOutMultV0Cnc); | |
1135 | fOutputList->Add(fHOutMultV0O); | |
1136 | fOutputList->Add(fHOutMultV0Cells) ; | |
1137 | fOutputList->Add(fHOutMultFMD); | |
1138 | fOutputList->Add(fHOutMultTRK); | |
1139 | fOutputList->Add(fHOutMultTKL); | |
1140 | fOutputList->Add(fHOutMultCL0); | |
1141 | fOutputList->Add(fHOutMultCL1); | |
1142 | fOutputList->Add(fHOutMultCND); | |
1143 | fOutputList->Add(fHOutMultNPA); | |
1144 | fOutputList->Add(fHOutMultZNA); | |
7c928baf | 1145 | fOutputList->Add(fHOutMultZNC); |
3a19f64f | 1146 | fOutputList->Add(fHOutMultZPA); |
1147 | fOutputList->Add(fHOutMultZPC); | |
377e5a61 | 1148 | fOutputList->Add(fHOutMultV0MvsZDN); |
1149 | fOutputList->Add(fHOutMultZEMvsZDN); | |
1150 | fOutputList->Add(fHOutMultV0MvsZDC); | |
1151 | fOutputList->Add(fHOutMultZEMvsZDC); | |
1152 | fOutputList->Add(fHOutMultZEMvsZDCw); | |
1153 | fOutputList->Add(fHOutMultV0MvsCL1); | |
1154 | fOutputList->Add(fHOutMultV0MvsTRK); | |
1155 | fOutputList->Add(fHOutMultTRKvsCL1); | |
1156 | fOutputList->Add(fHOutMultV0MvsV0O); | |
1157 | fOutputList->Add(fHOutMultV0OvsCL1); | |
1158 | fOutputList->Add(fHOutMultV0OvsTRK); | |
1159 | fOutputList->Add(fHOutMultCL1vsTKL); | |
bfbc1975 | 1160 | fOutputList->Add(fHOutMultZNAvsZPA); |
377e5a61 | 1161 | fOutputList->Add(fHOutCentV0Mqual1); |
1162 | fOutputList->Add(fHOutCentTRKqual1); | |
1163 | fOutputList->Add(fHOutCentCL1qual1); | |
1164 | fOutputList->Add(fHOutMultV0MvsCL1qual1); | |
1165 | fOutputList->Add(fHOutMultV0MvsTRKqual1); | |
1166 | fOutputList->Add(fHOutMultTRKvsCL1qual1); | |
1167 | fOutputList->Add(fHOutCentV0Mqual2); | |
1168 | fOutputList->Add(fHOutCentTRKqual2); | |
1169 | fOutputList->Add(fHOutCentCL1qual2); | |
1170 | fOutputList->Add(fHOutMultV0MvsCL1qual2); | |
1171 | fOutputList->Add(fHOutMultV0MvsTRKqual2); | |
1172 | fOutputList->Add(fHOutMultTRKvsCL1qual2); | |
1173 | fOutputList->Add(fHOutQuality); | |
1174 | fOutputList->Add(fHOutVertex); | |
1175 | fOutputList->Add(fHOutVertexT0); | |
01974bd1 | 1176 | |
1177 | PostData(1, fOutputList); | |
1178 | } | |
1179 | ||
1180 | fTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); | |
2d27827d | 1181 | fEsdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(); |
1182 | fEsdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kOff); | |
1183 | // Add SPD requirement | |
1184 | fEsdTrackCutsExtra1 = new AliESDtrackCuts("SPD", "Require 1 cluster in SPD"); | |
1185 | fEsdTrackCutsExtra1->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); | |
1186 | // Add SDD requirement | |
1187 | fEsdTrackCutsExtra2 = new AliESDtrackCuts("SDD", "Require 1 cluster in first layer SDD"); | |
1188 | fEsdTrackCutsExtra2->SetClusterRequirementITS(AliESDtrackCuts::kSDD,AliESDtrackCuts::kFirst); | |
01974bd1 | 1189 | } |
1190 | ||
1191 | //________________________________________________________________________ | |
1192 | void AliCentralitySelectionTask::UserExec(Option_t */*option*/) | |
1193 | { | |
1194 | // Execute analysis for current event: | |
1195 | if(fDebug>1) printf(" **** AliCentralitySelectionTask::UserExec() \n"); | |
1196 | ||
c932ac15 | 1197 | Int_t runType = 0; // 0:PbPb, 1:pPb or Pbp |
1198 | ||
01974bd1 | 1199 | Float_t zncEnergy = 0.; // ZNC Energy |
1200 | Float_t zpcEnergy = 0.; // ZPC Energy | |
1201 | Float_t znaEnergy = 0.; // ZNA Energy | |
1202 | Float_t zpaEnergy = 0.; // ZPA Energy | |
1203 | Float_t zem1Energy = 0.; // ZEM1 Energy | |
1204 | Float_t zem2Energy = 0.; // ZEM2 Energy | |
1205 | Bool_t zdcEnergyCal = kFALSE; // if zdc is calibrated (in pass2) | |
99029fba | 1206 | Double_t znaTower = 0.; // common PMT of ZNA |
3a19f64f | 1207 | Double_t zncTower = 0.; // common PMT of ZNC |
1208 | Double_t zpaTower = 0.; // common PMT of ZPA | |
1209 | Double_t zpcTower = 0.; // common PMT of ZPC | |
99029fba | 1210 | Bool_t znaFired = kFALSE; |
f9a774f9 | 1211 | Bool_t zncFired = kFALSE; |
3a19f64f | 1212 | Bool_t zpaFired = kFALSE; |
1213 | Bool_t zpcFired = kFALSE; | |
01974bd1 | 1214 | |
1215 | Int_t nTracks = 0; // no. tracks | |
1216 | Int_t nTracklets = 0; // no. tracklets | |
1217 | Int_t nClusters[6] = {0}; // no. clusters on 6 ITS layers | |
377e5a61 | 1218 | Int_t nChips[2] = {0,0}; // no. chips on 2 SPD layers |
01974bd1 | 1219 | Float_t spdCorr =0; // corrected spd2 multiplicity |
1220 | Int_t multCND = 0; // no. tracks (candle condition) | |
1221 | ||
97570bc1 | 1222 | Float_t multV0A0 = 0; // multiplicity from V0 reco side A (ring 0) |
2d12adde | 1223 | Float_t multV0A123 = 0; // multiplicity from V0 reco side A (ring 1-2-3) |
01974bd1 | 1224 | Float_t multV0A = 0; // multiplicity from V0 reco side A |
1225 | Float_t multV0C = 0; // multiplicity from V0 reco side C | |
26f02c2c | 1226 | Float_t multV0A23 = 0; // multiplicity from V0 reco side A (ring 2-3) |
1227 | Float_t multV0C01 = 0; // multiplicity from V0 reco side C (ring 0-1) | |
f9a774f9 | 1228 | Float_t multV0AEq = 0; // multiplicity from V0 reco side A |
1229 | Float_t multV0CEq = 0; // multiplicity from V0 reco side C | |
97570bc1 | 1230 | Float_t multV0A0Corr = 0; // multiplicity from V0 reco side A (ring 0) |
1231 | Float_t multV0A123Corr = 0; // multiplicity from V0 reco side A (ring 1-2-3) | |
26f02c2c | 1232 | Float_t multV0A23Corr = 0; // multiplicity from V0 reco side A (ring 2-3) |
1233 | Float_t multV0C01Corr = 0; // multiplicity from V0 reco side C (ring 0-1) | |
1234 | Float_t multV0SCorr = 0; // multiplicity from V0 reco side A (ring 2-3) & side C (ring 0-1) | |
97570bc1 | 1235 | Float_t multV0ACorr = 0; // multiplicity from V0 reco side A |
1236 | Float_t multV0CCorr = 0; // multiplicity from V0 reco side C | |
01974bd1 | 1237 | Short_t multV0AOnline = 0; // multiplicity from V0 reco side A |
1238 | Short_t multV0COnline = 0; // multiplicity from V0 reco side C | |
8432b617 | 1239 | Float_t v0Corr = 0; // corrected V0 multiplicity (used for MC) |
26f02c2c | 1240 | |
01974bd1 | 1241 | Int_t nV0A = 0; |
1242 | Int_t nV0C = 0; | |
1243 | ||
1244 | Float_t multFMDA = 0; // multiplicity from FMD on detector A | |
1245 | Float_t multFMDC = 0; // multiplicity from FMD on detector C | |
1246 | ||
1247 | Float_t zvtx =0; // z-vertex SPD | |
1248 | Int_t zvtxNcont =0; // contributors to z-vertex SPD | |
1249 | ||
1250 | Float_t zvtxT0 =0; // z-vertex T0 | |
1251 | ||
8432b617 | 1252 | Int_t Npart =0; // N. of participants (true MC) |
01974bd1 | 1253 | |
1254 | AliCentrality *esdCent = 0; | |
1255 | ||
377e5a61 | 1256 | AliVEvent *event = InputEvent(); |
1257 | AliESDEvent *esd = dynamic_cast<AliESDEvent*>(event); | |
1258 | AliAODEvent *aod = dynamic_cast<AliAODEvent*>(event); | |
01974bd1 | 1259 | if(fAnalysisInput.CompareTo("ESD")==0){ |
01974bd1 | 1260 | if (!esd) { |
1261 | AliError("No ESD Event"); | |
1262 | return; | |
1263 | } | |
377e5a61 | 1264 | } else if(fAnalysisInput.CompareTo("AOD")==0){ |
1265 | if (!aod) { | |
1266 | AliError("No AOD Event"); | |
01974bd1 | 1267 | return; |
1268 | } | |
377e5a61 | 1269 | } |
1270 | LoadBranches(); | |
1271 | ||
1272 | if (SetupRun(event)<0) { | |
1273 | AliError("Centrality File not available for this run"); | |
1274 | return; | |
1275 | } | |
1276 | ||
1277 | if (esd) { | |
c932ac15 | 1278 | if (strcmp(esd->GetESDRun()->GetBeamType(), "A-A") == 0) runType=0; |
e786baa0 | 1279 | else runType=1; |
1280 | if (strcmp(esd->GetESDRun()->GetBeamType(), "p-p") == 0) runType=2; | |
377e5a61 | 1281 | } else { |
1282 | Int_t runNumber = event->GetRunNumber(); | |
1283 | if ((runNumber >= 136851 && runNumber <= 139517) || // LHC10h | |
1284 | (runNumber >= 166529 && runNumber <= 170593)) // LHC11h | |
1285 | runType=0; | |
3ea81187 | 1286 | else if ((runNumber >= 188355 && runNumber <= 188366) || // LHC12h |
1287 | (runNumber >= 195344 && runNumber <= 197692)) // LHC13h | |
1288 | runType=1; | |
1289 | else runType=2; | |
377e5a61 | 1290 | } |
c932ac15 | 1291 | |
377e5a61 | 1292 | esdCent = event->GetCentrality(); |
01974bd1 | 1293 | |
377e5a61 | 1294 | // ***** Vertex Info |
1295 | if (esd) { | |
e1d58f75 | 1296 | const AliESDVertex* vtxESD = esd->GetPrimaryVertexSPD(); |
1297 | zvtx = vtxESD->GetZ(); | |
1298 | zvtxNcont = vtxESD->GetNContributors(); | |
377e5a61 | 1299 | } else { |
1300 | const AliAODVertex* spdVtx = aod->GetPrimaryVertexSPD(); | |
1301 | zvtx = spdVtx->GetZ(); | |
1302 | zvtxNcont = spdVtx->GetNContributors(); | |
1303 | } | |
e1d58f75 | 1304 | |
01974bd1 | 1305 | // ***** V0 info |
377e5a61 | 1306 | AliVVZERO* esdV0 = event->GetVZEROData(); |
1307 | if (!esdV0) { | |
1308 | AliError("AliVVZERO not available"); | |
1309 | return; | |
1310 | } | |
e1d58f75 | 1311 | |
377e5a61 | 1312 | multV0A=esdV0->GetMTotV0A(); |
1313 | multV0C=esdV0->GetMTotV0C(); | |
e1d58f75 | 1314 | |
2d12adde | 1315 | // excluding innermost V0A ring |
9113c527 | 1316 | for (int i=32; i<40; i++) |
1317 | multV0A0 += esdV0->GetMultiplicity(i); | |
2d12adde AM |
1318 | for (int i=40; i<64; i++) |
1319 | multV0A123 += esdV0->GetMultiplicity(i); | |
1320 | ||
26f02c2c | 1321 | for (int i=48; i<64; i++) |
1322 | multV0A23 += esdV0->GetMultiplicity(i); | |
1323 | for (int i=0; i<16; i++) | |
1324 | multV0C01 += esdV0->GetMultiplicity(i); | |
1325 | ||
1326 | ||
97570bc1 | 1327 | multV0A0Corr = AliESDUtils::GetCorrV0A0(multV0A0,zvtx); |
1328 | multV0A123Corr = AliESDUtils::GetCorrV0A(multV0A123,zvtx); | |
1329 | multV0ACorr = AliESDUtils::GetCorrV0A(multV0A,zvtx); | |
1330 | multV0CCorr = AliESDUtils::GetCorrV0C(multV0C,zvtx); | |
26f02c2c | 1331 | multV0A23Corr = AliESDUtils::GetCorrV0A(multV0A23,zvtx); |
1332 | multV0C01Corr = AliESDUtils::GetCorrV0C(multV0C01,zvtx); | |
1333 | multV0SCorr = multV0A23Corr + multV0C01Corr; | |
3a19f64f | 1334 | v0Corr = multV0A+multV0C; // Todo: C.L. not clear why here we do not use the sum of the corrected values? |
26f02c2c | 1335 | |
377e5a61 | 1336 | multV0AOnline=esdV0->GetTriggerChargeA(); |
1337 | multV0COnline=esdV0->GetTriggerChargeC(); | |
1338 | ||
1339 | // Count V0 flags | |
1340 | for(Int_t i = 0; i < 32; ++i) { | |
1341 | if (esdV0->GetBBFlag(i)) nV0C++; | |
1342 | if (esdV0->GetBBFlag(i+32)) nV0A++; | |
1343 | } | |
01974bd1 | 1344 | |
f9a774f9 | 1345 | // Equalized signals |
1346 | multV0AEq=0.; | |
1347 | multV0CEq=0.; | |
f5cff976 | 1348 | if (esd) { // only for ESD? |
5666ecb7 | 1349 | for(Int_t iCh = 32; iCh < 64; ++iCh) { |
f5cff976 | 1350 | Double_t mult = esd->GetVZEROEqMultiplicity(iCh); |
1351 | multV0AEq += mult; | |
1352 | } | |
5666ecb7 | 1353 | for(Int_t iCh = 0; iCh < 32; ++iCh) { |
f5cff976 | 1354 | Double_t mult = esd->GetVZEROEqMultiplicity(iCh); |
1355 | multV0CEq += mult; | |
1356 | } | |
f9a774f9 | 1357 | } |
5666ecb7 | 1358 | else { |
1359 | for(Int_t iCh = 32; iCh < 64; ++iCh) { | |
1360 | Double_t mult = aod->GetVZEROEqMultiplicity(iCh); | |
1361 | multV0AEq += mult; | |
1362 | } | |
1363 | for(Int_t iCh = 0; iCh < 32; ++iCh) { | |
1364 | Double_t mult = aod->GetVZEROEqMultiplicity(iCh); | |
1365 | multV0CEq += mult; | |
1366 | } | |
1367 | } | |
377e5a61 | 1368 | Bool_t kT0BB = kFALSE; |
1369 | if (esd) { | |
01974bd1 | 1370 | // ***** T0 info |
1371 | const AliESDTZERO* esdT0 = esd->GetESDTZERO(); | |
1372 | if (!esdT0) | |
1373 | { | |
1374 | AliError("AliESDTZERO not available"); | |
1375 | return; | |
1376 | } | |
1377 | Int_t trig=esdT0->GetT0Trig(); | |
01974bd1 | 1378 | if(trig&1) kT0BB=kTRUE; |
1379 | zvtxT0=esdT0->GetT0zVertex(); | |
377e5a61 | 1380 | } else { |
1381 | const AliAODTZERO* esdT0 = aod->GetTZEROData(); | |
1382 | if (!esdT0) | |
1383 | { | |
1384 | AliError("AliAODTZERO not available"); | |
1385 | return; | |
1386 | } | |
3a19f64f | 1387 | Int_t trig=1;//esdT0->GetT0Trig(); //* Todo: C.L. This info is not in AOD? */ |
377e5a61 | 1388 | if(trig&1) kT0BB=kTRUE; |
1389 | zvtxT0=esdT0->GetT0zVertex(); | |
1390 | } | |
01974bd1 | 1391 | |
377e5a61 | 1392 | // ***** Trigger info |
1393 | fIsSelected = ((esdV0->GetV0ADecision()==1) && (esdV0->GetV0CDecision()==1)); | |
1394 | TString trigStr; | |
1395 | if (esd) | |
1396 | trigStr = esd->GetFiredTriggerClasses(); | |
1397 | else | |
1398 | trigStr = aod->GetFiredTriggerClasses(); | |
01974bd1 | 1399 | |
377e5a61 | 1400 | fMB=kFALSE; |
1401 | fCVHN=kFALSE; fCVLN=kFALSE; fCCENT=kFALSE; fCSEMI=kFALSE; | |
1402 | fMSL=kFALSE; fMSH=kFALSE; fMUL=kFALSE; fMLL=kFALSE; | |
1403 | fEJE=kFALSE; fEGA=kFALSE; fPHS=kFALSE; | |
1404 | ||
1405 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI")) && (fIsSelected)) | |
1406 | fMB=kTRUE; | |
1407 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CVHN")) && (fIsSelected)) | |
1408 | fCVHN=kTRUE; | |
1409 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CVLN")) && (fIsSelected)) | |
1410 | fCVLN=kTRUE; | |
1411 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CCENT")) && (fIsSelected)) | |
1412 | fCCENT=kTRUE; | |
1413 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CSEMI")) && (fIsSelected)) | |
1414 | fCSEMI=kTRUE; | |
01974bd1 | 1415 | |
377e5a61 | 1416 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MSL")) && (fIsSelected)) |
1417 | fMSL=kTRUE; | |
1418 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MSH")) && (fIsSelected)) | |
1419 | fMSH=kTRUE; | |
1420 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MUL")) && (fIsSelected)) | |
1421 | fMUL=kTRUE; | |
1422 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MLL")) && (fIsSelected)) | |
1423 | fMLL=kTRUE; | |
1424 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1EJE")) && (fIsSelected)) | |
1425 | fEJE=kTRUE; | |
1426 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1EGA")) && (fIsSelected)) | |
1427 | fEGA=kTRUE; | |
1428 | if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1PHS")) && (fIsSelected)) | |
1429 | fPHS=kTRUE; | |
1430 | ||
1431 | fCVHNbit=kFALSE; fCVLNbit=kFALSE; fCCENTbit=kFALSE; fCSEMIbit=kFALSE; | |
1432 | if (esdV0->GetTriggerBits() & (1<<8)) | |
1433 | fCVHNbit=kTRUE; | |
1434 | if (esdV0->GetTriggerBits() & (1<<6)) | |
1435 | fCVLNbit=kTRUE; | |
01974bd1 | 1436 | |
377e5a61 | 1437 | if (kT0BB && fCVHNbit) |
1438 | fCCENTbit=kTRUE; | |
1439 | if (kT0BB && fCVLNbit) | |
1440 | fCSEMIbit=kTRUE; | |
01974bd1 | 1441 | |
377e5a61 | 1442 | if (esd) { |
01974bd1 | 1443 | // ***** CB info (tracklets, clusters, chips) |
1444 | //nTracks = event->GetNumberOfTracks(); | |
1445 | nTracks = fTrackCuts ? (Short_t)fTrackCuts->GetReferenceMultiplicity(esd,kTRUE):-1; | |
377e5a61 | 1446 | } else { |
1447 | AliAODHeader *h = aod->GetHeader(); | |
1448 | nTracks = h!=0 ? (Short_t)h->GetTPConlyRefMultiplicity():-1; | |
1449 | } | |
2d27827d | 1450 | |
377e5a61 | 1451 | if (esd) { |
01974bd1 | 1452 | Short_t nTrTPCcandle = 0; |
1453 | for (Int_t iTracks = 0; iTracks < esd->GetNumberOfTracks(); iTracks++) { | |
2d27827d | 1454 | |
01974bd1 | 1455 | AliESDtrack* track = esd->GetTrack(iTracks); |
1456 | if (!track) continue; | |
2d27827d | 1457 | |
1458 | if (! fEsdTrackCuts->IsSelected(track) )continue; | |
1459 | ||
1460 | if (fEsdTrackCutsExtra1 && fEsdTrackCutsExtra2 && | |
1461 | !fEsdTrackCutsExtra1->IsSelected(track) && | |
1462 | !fEsdTrackCutsExtra2->IsSelected(track)) continue; | |
1463 | ||
1464 | if (track->Pt() > 0.4 && TMath::Abs(track->Eta()) < 0.9) nTrTPCcandle++; | |
01974bd1 | 1465 | } |
1466 | multCND = nTrTPCcandle; | |
377e5a61 | 1467 | } else { |
1468 | Short_t nTrTPCcandle = 0; | |
1469 | for (Int_t iTracks = 0; iTracks < aod->GetNumberOfTracks(); iTracks++) { | |
1470 | ||
1471 | AliAODTrack* track = aod->GetTrack(iTracks); | |
1472 | ||
1473 | if (!track) continue; | |
1474 | if (!track->TestFilterBit(1<<5) && | |
1475 | !track->TestFilterBit(1<<6)) continue; | |
1476 | ||
1477 | if (track->Pt() > 0.4 && TMath::Abs(track->Eta()) < 0.9) nTrTPCcandle++; | |
1478 | } | |
1479 | multCND = nTrTPCcandle; | |
1480 | } | |
01974bd1 | 1481 | |
377e5a61 | 1482 | if (esd) { |
01974bd1 | 1483 | const AliMultiplicity *mult = esd->GetMultiplicity(); |
1484 | nTracklets = mult->GetNumberOfTracklets(); | |
1485 | ||
1486 | for(Int_t ilay=0; ilay<6; ilay++){ | |
1487 | nClusters[ilay] = mult->GetNumberOfITSClusters(ilay); | |
1488 | } | |
1489 | ||
1490 | for(Int_t ilay=0; ilay<2; ilay++){ | |
1491 | nChips[ilay] = mult->GetNumberOfFiredChips(ilay); | |
1492 | } | |
377e5a61 | 1493 | } else { |
1494 | AliAODTracklets *mult = aod->GetTracklets(); | |
1495 | nTracklets = mult->GetNumberOfTracklets(); | |
1496 | AliAODHeader *h = aod->GetHeader(); | |
1497 | for(Int_t ilay=0; ilay<6; ilay++){ | |
1498 | nClusters[ilay] = h->GetNumberOfITSClusters(ilay); | |
1499 | } | |
1500 | } | |
1501 | spdCorr = AliESDUtils::GetCorrSPD2(nClusters[1],zvtx); | |
1502 | ||
1503 | if (esd) { | |
01974bd1 | 1504 | // ***** FMD info |
1505 | AliESDFMD *fmd = esd->GetFMDData(); | |
1506 | Float_t totalMultA = 0; | |
1507 | Float_t totalMultC = 0; | |
1508 | const Float_t fFMDLowCut = 0.4; | |
1509 | ||
1510 | for(UShort_t det=1;det<=3;det++) { | |
1511 | Int_t nRings = (det==1 ? 1 : 2); | |
1512 | for (UShort_t ir = 0; ir < nRings; ir++) { | |
1513 | Char_t ring = (ir == 0 ? 'I' : 'O'); | |
1514 | UShort_t nsec = (ir == 0 ? 20 : 40); | |
1515 | UShort_t nstr = (ir == 0 ? 512 : 256); | |
1516 | for(UShort_t sec =0; sec < nsec; sec++) { | |
1517 | for(UShort_t strip = 0; strip < nstr; strip++) { | |
1518 | ||
1519 | Float_t fmdMult = fmd->Multiplicity(det,ring,sec,strip); | |
1520 | if(fmdMult == 0 || fmdMult == AliESDFMD::kInvalidMult) continue; | |
1521 | ||
1522 | Float_t nParticles=0; | |
1523 | ||
1524 | if(fmdMult > fFMDLowCut) { | |
1525 | nParticles = 1.; | |
1526 | } | |
1527 | ||
1528 | if (det<3) totalMultA = totalMultA + nParticles; | |
1529 | else totalMultC = totalMultC + nParticles; | |
1530 | ||
1531 | } | |
1532 | } | |
1533 | } | |
1534 | } | |
1535 | multFMDA = totalMultA; | |
1536 | multFMDC = totalMultC; | |
377e5a61 | 1537 | } |
1538 | ||
1539 | if (esd) { | |
01974bd1 | 1540 | // ***** ZDC info |
1541 | AliESDZDC *esdZDC = esd->GetESDZDC(); | |
1542 | zdcEnergyCal = esdZDC->AliESDZDC::TestBit(AliESDZDC::kEnergyCalibratedSignal); | |
1543 | if (zdcEnergyCal) { | |
1544 | zncEnergy = (Float_t) (esdZDC->GetZDCN1Energy()); | |
1545 | zpcEnergy = (Float_t) (esdZDC->GetZDCP1Energy()); | |
1546 | znaEnergy = (Float_t) (esdZDC->GetZDCN2Energy()); | |
1547 | zpaEnergy = (Float_t) (esdZDC->GetZDCP2Energy()); | |
1548 | } else { | |
1549 | zncEnergy = (Float_t) (esdZDC->GetZDCN1Energy())/8.; | |
1550 | zpcEnergy = (Float_t) (esdZDC->GetZDCP1Energy())/8.; | |
1551 | znaEnergy = (Float_t) (esdZDC->GetZDCN2Energy())/8.; | |
1552 | zpaEnergy = (Float_t) (esdZDC->GetZDCP2Energy())/8.; | |
1553 | } | |
1554 | zem1Energy = (Float_t) (esdZDC->GetZDCEMEnergy(0))/8.; | |
1555 | zem2Energy = (Float_t) (esdZDC->GetZDCEMEnergy(1))/8.; | |
99029fba | 1556 | |
f9a774f9 | 1557 | for (Int_t j = 0; j < 4; ++j) |
1558 | if (esdZDC->GetZDCTDCData(12,j) != 0) | |
99029fba | 1559 | znaFired = kTRUE; |
f9a774f9 | 1560 | |
1561 | for (Int_t j = 0; j < 4; ++j) | |
1562 | if (esdZDC->GetZDCTDCData(10,j) != 0) | |
1563 | zncFired = kTRUE; | |
1564 | ||
3a19f64f | 1565 | for (Int_t j = 0; j < 4; ++j) |
1566 | if (esdZDC->GetZDCTDCData(13,j) != 0) | |
1567 | zpaFired = kTRUE; | |
1568 | ||
1569 | for (Int_t j = 0; j < 4; ++j) | |
1570 | if (esdZDC->GetZDCTDCData(11,j) != 0) | |
1571 | zpcFired = kTRUE; | |
1572 | ||
bfbc1975 | 1573 | const Double_t *ZNAtower = esdZDC->GetZN2TowerEnergy(); |
1574 | const Double_t *ZNCtower = esdZDC->GetZN1TowerEnergy(); | |
1575 | const Double_t *ZPAtower = esdZDC->GetZP2TowerEnergy(); | |
1576 | const Double_t *ZPCtower = esdZDC->GetZP1TowerEnergy(); | |
1577 | if (znaFired) znaTower = ZNAtower[0]; | |
1578 | if (zncFired) zncTower = ZNCtower[0]; | |
1579 | if (zpaFired) zpaTower = ZPAtower[0]; | |
1580 | if (zpcFired) zpcTower = ZPCtower[0]; | |
1581 | ||
377e5a61 | 1582 | } else { |
1583 | AliAODHeader *h = aod->GetHeader(); | |
3a19f64f | 1584 | zncEnergy = (Float_t) (h->GetZDCN1Energy()); |
1585 | zpcEnergy = (Float_t) (h->GetZDCP1Energy()); | |
1586 | znaEnergy = (Float_t) (h->GetZDCN2Energy()); | |
1587 | zpaEnergy = (Float_t) (h->GetZDCP2Energy()); | |
377e5a61 | 1588 | zem1Energy = (Float_t) (h->GetZDCEMEnergy(0))/8.; //Todo: C.L. Should we devide here by 8? It is done in the ESD case! |
1589 | zem2Energy = (Float_t) (h->GetZDCEMEnergy(1))/8.; | |
1590 | ||
1591 | AliAODZDC *aodZDC = aod->GetZDCData(); | |
1592 | const Double_t *ZNAtower = aodZDC->GetZNATowerEnergy(); | |
3a19f64f | 1593 | const Double_t *ZNCtower = aodZDC->GetZNCTowerEnergy(); |
1594 | const Double_t *ZPAtower = aodZDC->GetZPATowerEnergy(); | |
1595 | const Double_t *ZPCtower = aodZDC->GetZPCTowerEnergy(); | |
377e5a61 | 1596 | znaTower = ZNAtower[0]; |
666dc076 | 1597 | zncTower = ZNCtower[0]; |
3a19f64f | 1598 | zpaTower = ZPAtower[0]; |
1599 | zpcTower = ZPCtower[0]; | |
377e5a61 | 1600 | |
1601 | znaFired = kFALSE; // trick because info is not stored in AOD | |
666dc076 | 1602 | zncFired = kFALSE; // trick because info is not stored in AOD |
3a19f64f | 1603 | zpaFired = kFALSE; // trick because info is not stored in AOD |
1604 | zpcFired = kFALSE; // trick because info is not stored in AOD | |
1605 | if (esdCent->GetCentralityPercentile("ZNA") != 101) znaFired = kTRUE; | |
1606 | if (esdCent->GetCentralityPercentile("ZNC") != 101) zncFired = kTRUE; | |
1607 | if (esdCent->GetCentralityPercentile("ZPA") != 101) zpaFired = kTRUE; | |
1608 | if (esdCent->GetCentralityPercentile("ZPC") != 101) zpcFired = kTRUE; | |
377e5a61 | 1609 | } |
1610 | ||
1611 | if (esd) { | |
99029fba | 1612 | // ***** MC info |
1613 | AliAnalysisManager* anMan = AliAnalysisManager::GetAnalysisManager(); | |
1614 | AliMCEventHandler* eventHandler = (AliMCEventHandler*)anMan->GetMCtruthEventHandler(); | |
3a19f64f | 1615 | AliStack* stack=0; |
99029fba | 1616 | AliMCEvent* mcEvent=0; |
3a19f64f | 1617 | if (fIsMCInput && eventHandler && (mcEvent=eventHandler->MCEvent()) && (stack=mcEvent->Stack())) { |
99029fba | 1618 | AliGenHijingEventHeader* hHijing=0; |
9b389d09 | 1619 | AliGenDPMjetEventHeader* dpmHeader=0; |
1620 | ||
99029fba | 1621 | AliGenEventHeader* mcGenH = mcEvent->GenEventHeader(); |
74b0bf85 | 1622 | if (mcGenH->InheritsFrom(AliGenHijingEventHeader::Class())) |
1623 | hHijing = (AliGenHijingEventHeader*)mcGenH; | |
99029fba | 1624 | else if (mcGenH->InheritsFrom(AliGenCocktailEventHeader::Class())) { |
1625 | TList* headers = ((AliGenCocktailEventHeader*)mcGenH)->GetHeaders(); | |
3a19f64f | 1626 | //headers->Print(); |
99029fba | 1627 | hHijing = dynamic_cast<AliGenHijingEventHeader*>(headers->FindObject("Hijing")); |
74b0bf85 | 1628 | if (!hHijing) hHijing = dynamic_cast<AliGenHijingEventHeader*>(headers->FindObject("Hijing pPb_0")); |
3ef9b178 | 1629 | if (!hHijing) hHijing = dynamic_cast<AliGenHijingEventHeader*>(headers->FindObject("Hijing_0")); |
99029fba | 1630 | } |
9b389d09 | 1631 | else if (mcGenH->InheritsFrom(AliGenDPMjetEventHeader::Class())) { |
1632 | dpmHeader = (AliGenDPMjetEventHeader*)mcGenH; | |
99029fba | 1633 | } |
74b0bf85 | 1634 | if(hHijing) Npart = hHijing->ProjectileParticipants()+hHijing->TargetParticipants(); |
1635 | if(dpmHeader) Npart = dpmHeader->ProjectileParticipants()+ dpmHeader->TargetParticipants(); | |
8432b617 | 1636 | } |
01974bd1 | 1637 | } |
1638 | ||
1639 | // ***** Scaling for MC | |
1640 | if (fIsMCInput) { | |
1641 | fUseScaling=kFALSE; | |
97570bc1 | 1642 | v0Corr = Short_t((multV0A+multV0C) * fV0MScaleFactorMC); |
1643 | multV0A0 = multV0A0 * fV0MScaleFactorMC; | |
bfd47aba | 1644 | multV0A = multV0A * fV0MScaleFactorMC; |
1645 | multV0C = multV0C * fV0MScaleFactorMC; | |
01974bd1 | 1646 | } |
1647 | // ***** Scaling for Data | |
1648 | if (fUseScaling) { | |
1649 | v0Corr = Short_t(v0Corr / fV0MScaleFactor); | |
1650 | spdCorr = spdCorr / fSPDScaleFactor; | |
1651 | nTracks = Int_t(nTracks / fTPCScaleFactor); | |
1652 | } | |
1653 | ||
1654 | // ***** Centrality Selection | |
1655 | if(fHtempV0M) fCentV0M = fHtempV0M->GetBinContent(fHtempV0M->FindBin((v0Corr))); | |
e1d58f75 | 1656 | if(fHtempV0A) fCentV0A = fHtempV0A->GetBinContent(fHtempV0A->FindBin((multV0ACorr))); |
97570bc1 | 1657 | if(fHtempV0A0) fCentV0A0 = fHtempV0A0->GetBinContent(fHtempV0A0->FindBin((multV0A0Corr))); |
1658 | if(fHtempV0A123) fCentV0A123 = fHtempV0A123->GetBinContent(fHtempV0A123->FindBin((multV0A123Corr))); | |
e1d58f75 | 1659 | if(fHtempV0C) fCentV0C = fHtempV0C->GetBinContent(fHtempV0C->FindBin((multV0CCorr))); |
26f02c2c | 1660 | if(fHtempV0A23) fCentV0A23 = fHtempV0A23->GetBinContent(fHtempV0A23->FindBin((multV0A23Corr))); |
1661 | if(fHtempV0C01) fCentV0C01 = fHtempV0C01->GetBinContent(fHtempV0C01->FindBin((multV0C01Corr))); | |
1662 | if(fHtempV0S) fCentV0S = fHtempV0S->GetBinContent(fHtempV0S->FindBin((multV0SCorr))); | |
f9a774f9 | 1663 | if(fHtempV0MEq) fCentV0MEq = fHtempV0MEq->GetBinContent(fHtempV0MEq->FindBin((multV0AEq+multV0CEq))); |
1664 | if(fHtempV0AEq) fCentV0AEq = fHtempV0AEq->GetBinContent(fHtempV0AEq->FindBin((multV0AEq))); | |
1665 | if(fHtempV0CEq) fCentV0CEq = fHtempV0CEq->GetBinContent(fHtempV0CEq->FindBin((multV0CEq))); | |
01974bd1 | 1666 | if(fHtempFMD) fCentFMD = fHtempFMD->GetBinContent(fHtempFMD->FindBin((multFMDA+multFMDC))); |
1667 | if(fHtempTRK) fCentTRK = fHtempTRK->GetBinContent(fHtempTRK->FindBin(nTracks)); | |
1668 | if(fHtempTKL) fCentTKL = fHtempTKL->GetBinContent(fHtempTKL->FindBin(nTracklets)); | |
1669 | if(fHtempCL0) fCentCL0 = fHtempCL0->GetBinContent(fHtempCL0->FindBin(nClusters[0])); | |
1670 | if(fHtempCL1) fCentCL1 = fHtempCL1->GetBinContent(fHtempCL1->FindBin(spdCorr)); | |
1671 | if(fHtempCND) fCentCND = fHtempCND->GetBinContent(fHtempCND->FindBin(multCND)); | |
99029fba | 1672 | if(fHtempZNA) { |
1673 | if(znaFired) fCentZNA = fHtempZNA->GetBinContent(fHtempZNA->FindBin(znaTower)); | |
1674 | else fCentZNA = 101; | |
1675 | } | |
f9a774f9 | 1676 | if(fHtempZNC) { |
1677 | if(zncFired) fCentZNC = fHtempZNC->GetBinContent(fHtempZNC->FindBin(zncTower)); | |
1678 | else fCentZNC = 101; | |
1679 | } | |
3a19f64f | 1680 | if(fHtempZPA) { |
1681 | if(znaFired) fCentZPA = fHtempZPA->GetBinContent(fHtempZPA->FindBin(zpaTower)); | |
1682 | else fCentZPA = 101; | |
1683 | } | |
1684 | if(fHtempZPC) { | |
1685 | if(zpcFired) fCentZPC = fHtempZPC->GetBinContent(fHtempZPC->FindBin(zpcTower)); | |
1686 | else fCentZPC = 101; | |
1687 | } | |
1688 | ||
1689 | ||
01974bd1 | 1690 | if(fHtempV0MvsFMD) fCentV0MvsFMD = fHtempV0MvsFMD->GetBinContent(fHtempV0MvsFMD->FindBin((multV0A+multV0C))); |
1691 | if(fHtempTKLvsV0M) fCentTKLvsV0M = fHtempTKLvsV0M->GetBinContent(fHtempTKLvsV0M->FindBin(nTracklets)); | |
1692 | if(fHtempZEMvsZDC) fCentZEMvsZDC = fHtempZEMvsZDC->GetBinContent(fHtempZEMvsZDC->FindBin(zem1Energy+zem2Energy,zncEnergy+znaEnergy+zpcEnergy+zpaEnergy)); | |
1693 | ||
39a3e400 | 1694 | if(fHtempNPA) fCentNPA = fHtempNPA->GetBinContent(fHtempNPA->FindBin(Npart)); |
1695 | if(fHtempV0Mtrue) fCentV0Mtrue = fHtempV0Mtrue->GetBinContent(fHtempV0Mtrue->FindBin((multV0ACorr+multV0CCorr))); | |
1696 | if(fHtempV0Atrue) fCentV0Atrue = fHtempV0Atrue->GetBinContent(fHtempV0Atrue->FindBin((multV0ACorr))); | |
1697 | if(fHtempV0Ctrue) fCentV0Ctrue = fHtempV0Ctrue->GetBinContent(fHtempV0Ctrue->FindBin((multV0CCorr))); | |
f9a774f9 | 1698 | if(fHtempV0MEqtrue) fCentV0MEqtrue = fHtempV0MEqtrue->GetBinContent(fHtempV0MEqtrue->FindBin((multV0AEq+multV0CEq))); |
1699 | if(fHtempV0AEqtrue) fCentV0AEqtrue = fHtempV0AEqtrue->GetBinContent(fHtempV0AEqtrue->FindBin((multV0AEq))); | |
1700 | if(fHtempV0CEqtrue) fCentV0CEqtrue = fHtempV0CEqtrue->GetBinContent(fHtempV0CEqtrue->FindBin((multV0CEq))); | |
39a3e400 | 1701 | if(fHtempFMDtrue) fCentFMDtrue = fHtempFMDtrue->GetBinContent(fHtempFMDtrue->FindBin((multFMDA+multFMDC))); |
1702 | if(fHtempTRKtrue) fCentTRKtrue = fHtempTRKtrue->GetBinContent(fHtempTRKtrue->FindBin(nTracks)); | |
1703 | if(fHtempTKLtrue) fCentTKLtrue = fHtempTKLtrue->GetBinContent(fHtempTKLtrue->FindBin(nTracklets)); | |
1704 | if(fHtempCL0true) fCentCL0true = fHtempCL0true->GetBinContent(fHtempCL0true->FindBin(nClusters[0])); | |
1705 | if(fHtempCL1true) fCentCL1true = fHtempCL1true->GetBinContent(fHtempCL1true->FindBin(spdCorr)); | |
1706 | if(fHtempCNDtrue) fCentCNDtrue = fHtempCNDtrue->GetBinContent(fHtempCNDtrue->FindBin(multCND)); | |
1707 | if(fHtempZNAtrue) fCentZNAtrue = fHtempZNAtrue->GetBinContent(fHtempZNAtrue->FindBin(znaTower)); | |
f9a774f9 | 1708 | if(fHtempZNCtrue) fCentZNCtrue = fHtempZNCtrue->GetBinContent(fHtempZNCtrue->FindBin(zncTower)); |
39a3e400 | 1709 | |
1710 | ||
01974bd1 | 1711 | // ***** Cleaning |
1712 | if (fUseCleaning) { | |
1713 | fQuality=0; | |
1714 | ||
1715 | // ***** vertex | |
1716 | if (TMath::Abs(zvtx)>fZVCut || zvtxNcont<1) fQuality += 1; | |
1717 | ||
1718 | // ***** outliers, skip in case of MC input | |
1719 | if (!fIsMCInput) { | |
1720 | // **** V0 vs SPD | |
1721 | if (IsOutlierV0MSPD(spdCorr, v0Corr, int(fCentV0M))) fQuality += 2; | |
1722 | // ***** V0 vs TPC | |
1723 | if (IsOutlierV0MTPC(nTracks, v0Corr, int(fCentV0M))) fQuality += 4; | |
1724 | // ***** V0 vs ZDC | |
1725 | if (IsOutlierV0MZDC((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) && | |
1726 | (zdcEnergyCal==kFALSE) ) fQuality += 8; | |
1727 | if (IsOutlierV0MZDCECal((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) && | |
1728 | (zdcEnergyCal==kTRUE) ) fQuality += 8; | |
1729 | } | |
1730 | } else { | |
1731 | fQuality = 0; | |
1732 | } | |
1733 | ||
1734 | ||
1735 | if (esdCent) { | |
377e5a61 | 1736 | if (aod&&(fDebug>1)) { |
1737 | Double_t v0m = esdCent->GetCentralityPercentile("V0M"); | |
1738 | Double_t cl1 = esdCent->GetCentralityPercentile("CL1"); | |
1739 | Double_t trk = esdCent->GetCentralityPercentile("TRK"); | |
1740 | Double_t cnd = esdCent->GetCentralityPercentile("CND"); | |
1741 | Double_t zna = esdCent->GetCentralityPercentile("ZNA"); | |
3a19f64f | 1742 | printf("AOD: v0m %.2f %.2f (%.2f) cl1 %.2f %.2f (%.2f) trk %.2f %.2f (%.2f) cnd %.2f %.2f (%.2f) zna %.2f %.2f (%.2f)\n", |
377e5a61 | 1743 | v0m, fCentV0M, fCentV0M!=0?v0m/fCentV0M:1, cl1, fCentCL1, fCentCL1!=0?cl1/fCentCL1:1, trk, fCentTRK, |
3a19f64f | 1744 | fCentTRK!=0?trk/fCentTRK:1, cnd, fCentCND, fCentCND!=0?cnd/fCentCND:1, zna, fCentZNA, fCentZNA!=0?zna/fCentZNA:1); |
377e5a61 | 1745 | } |
01974bd1 | 1746 | esdCent->SetQuality(fQuality); |
1747 | esdCent->SetCentralityV0M(fCentV0M); | |
1748 | esdCent->SetCentralityV0A(fCentV0A); | |
667b97c4 | 1749 | esdCent->SetCentralityV0A0(fCentV0A0); |
2d12adde | 1750 | esdCent->SetCentralityV0A123(fCentV0A123); |
01974bd1 | 1751 | esdCent->SetCentralityV0C(fCentV0C); |
26f02c2c | 1752 | esdCent->SetCentralityV0A23(fCentV0A23); |
1753 | esdCent->SetCentralityV0C01(fCentV0C01); | |
1754 | esdCent->SetCentralityV0S(fCentV0S); | |
f9a774f9 | 1755 | esdCent->SetCentralityV0MEq(fCentV0MEq); |
1756 | esdCent->SetCentralityV0AEq(fCentV0AEq); | |
1757 | esdCent->SetCentralityV0CEq(fCentV0CEq); | |
01974bd1 | 1758 | esdCent->SetCentralityFMD(fCentFMD); |
1759 | esdCent->SetCentralityTRK(fCentTRK); | |
1760 | esdCent->SetCentralityTKL(fCentTKL); | |
1761 | esdCent->SetCentralityCL0(fCentCL0); | |
1762 | esdCent->SetCentralityCL1(fCentCL1); | |
1763 | esdCent->SetCentralityCND(fCentCND); | |
8432b617 | 1764 | esdCent->SetCentralityNPA(fCentNPA); |
99029fba | 1765 | esdCent->SetCentralityZNA(fCentZNA); |
f9a774f9 | 1766 | esdCent->SetCentralityZNC(fCentZNC); |
3a19f64f | 1767 | esdCent->SetCentralityZPA(fCentZPA); |
1768 | esdCent->SetCentralityZPC(fCentZPC); | |
01974bd1 | 1769 | esdCent->SetCentralityV0MvsFMD(fCentV0MvsFMD); |
1770 | esdCent->SetCentralityTKLvsV0M(fCentTKLvsV0M); | |
1771 | esdCent->SetCentralityZEMvsZDC(fCentZEMvsZDC); | |
1772 | } | |
1773 | ||
1774 | // filling QA histograms | |
1775 | if (fFillHistos) { | |
39a3e400 | 1776 | |
1777 | if (fIsMCInput) { // fill histo with true centrality for simulations | |
1778 | fCentV0M = fCentV0Mtrue; | |
1779 | fCentV0A = fCentV0Atrue; | |
1780 | fCentV0C = fCentV0Ctrue; | |
f9a774f9 | 1781 | fCentV0MEq = fCentV0MEqtrue; |
1782 | fCentV0AEq = fCentV0AEqtrue; | |
1783 | fCentV0CEq = fCentV0CEqtrue; | |
39a3e400 | 1784 | fCentFMD = fCentFMDtrue; |
1785 | fCentTRK = fCentTRKtrue; | |
1786 | fCentTKL = fCentTKLtrue; | |
1787 | fCentCL0 = fCentCL0true; | |
1788 | fCentCL1 = fCentCL1true; | |
1789 | fCentCND = fCentCNDtrue; | |
1790 | fCentZNA = fCentZNAtrue; | |
f9a774f9 | 1791 | fCentZNC = fCentZNCtrue; |
3a19f64f | 1792 | fCentZPA = fCentZPAtrue; |
1793 | fCentZPC = fCentZPCtrue; | |
39a3e400 | 1794 | } |
1795 | ||
1796 | ||
01974bd1 | 1797 | if ((fMB) && (abs(zvtx)<10)) fHOutMultCL1vsTKL->Fill(spdCorr,nTracklets); |
1798 | ||
1799 | if (fCVHN) fHOutCentV0MCVHN->Fill(fCentV0M); | |
1800 | if (fCVLN) fHOutCentV0MCVLN->Fill(fCentV0M); | |
1801 | if (fCCENT) fHOutCentV0MCCENT->Fill(fCentV0M); | |
1802 | if (fCSEMI) fHOutCentV0MCSEMI->Fill(fCentV0M); | |
1803 | if (fMSL) fHOutCentV0MMSL->Fill(fCentV0M); | |
1804 | if (fMSH) fHOutCentV0MMSH->Fill(fCentV0M); | |
1805 | if (fMUL) fHOutCentV0MMUL->Fill(fCentV0M); | |
1806 | if (fMLL) fHOutCentV0MMLL->Fill(fCentV0M); | |
1807 | if (fEJE) fHOutCentV0MEJE->Fill(fCentV0M); | |
1808 | if (fEGA) fHOutCentV0MEGA->Fill(fCentV0M); | |
1809 | if (fPHS) fHOutCentV0MPHS->Fill(fCentV0M); | |
1810 | ||
c932ac15 | 1811 | if (((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB) && (runType==0)) || |
e786baa0 | 1812 | ((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7) && (runType==1)) || |
1813 | ((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB) && (runType==2)) ) { // fill the QA histograms only for MB events! | |
9113c527 | 1814 | |
01974bd1 | 1815 | fHOutQuality->Fill(fQuality); |
1816 | fHOutVertex->Fill(zvtx); | |
1817 | fHOutVertexT0->Fill(zvtxT0); | |
1818 | ||
1819 | if (fQuality==0) { | |
1820 | fHOutCentV0M->Fill(fCentV0M); | |
1821 | fHOutCentV0A->Fill(fCentV0A); | |
9113c527 | 1822 | fHOutCentV0A0->Fill(fCentV0A0); |
2d12adde | 1823 | fHOutCentV0A123->Fill(fCentV0A123); |
01974bd1 | 1824 | fHOutCentV0C->Fill(fCentV0C); |
26f02c2c | 1825 | fHOutCentV0A23->Fill(fCentV0A23); |
1826 | fHOutCentV0C01->Fill(fCentV0C01); | |
1827 | fHOutCentV0S->Fill(fCentV0S); | |
f9a774f9 | 1828 | fHOutCentV0MEq->Fill(fCentV0MEq); |
1829 | fHOutCentV0AEq->Fill(fCentV0AEq); | |
1830 | fHOutCentV0CEq->Fill(fCentV0CEq); | |
01974bd1 | 1831 | |
1832 | if (fCVHNbit) fHOutCentV0MCVHNinMB->Fill(fCentV0M); | |
1833 | if (fCVLNbit) fHOutCentV0MCVLNinMB->Fill(fCentV0M); | |
1834 | if (fCCENTbit) fHOutCentV0MCCENTinMB->Fill(fCentV0M); | |
1835 | if (fCSEMIbit) fHOutCentV0MCSEMIinMB->Fill(fCentV0M); | |
1836 | if (fMSL) fHOutCentV0MMSLinMB->Fill(fCentV0M); | |
1837 | if (fMSH) fHOutCentV0MMSHinMB->Fill(fCentV0M); | |
1838 | if (fMUL) fHOutCentV0MMULinMB->Fill(fCentV0M); | |
1839 | if (fMLL) fHOutCentV0MMLLinMB->Fill(fCentV0M); | |
1840 | if (fEJE) fHOutCentV0MEJEinMB->Fill(fCentV0M); | |
1841 | if (fEGA) fHOutCentV0MEGAinMB->Fill(fCentV0M); | |
1842 | if (fPHS) fHOutCentV0MPHSinMB->Fill(fCentV0M); | |
1843 | ||
1844 | fHOutCentFMD->Fill(fCentFMD); | |
1845 | fHOutCentTRK->Fill(fCentTRK); | |
1846 | fHOutCentTKL->Fill(fCentTKL); | |
1847 | fHOutCentCL0->Fill(fCentCL0); | |
1848 | fHOutCentCL1->Fill(fCentCL1); | |
1849 | fHOutCentCND->Fill(fCentCND); | |
8432b617 | 1850 | fHOutCentNPA->Fill(fCentNPA); |
99029fba | 1851 | fHOutCentZNA->Fill(fCentZNA); |
f9a774f9 | 1852 | fHOutCentZNC->Fill(fCentZNC); |
3a19f64f | 1853 | fHOutCentZPA->Fill(fCentZPA); |
1854 | fHOutCentZPC->Fill(fCentZPC); | |
01974bd1 | 1855 | fHOutCentV0MvsFMD->Fill(fCentV0MvsFMD); |
1856 | fHOutCentTKLvsV0M->Fill(fCentTKLvsV0M); | |
1857 | fHOutCentZEMvsZDC->Fill(fCentZEMvsZDC); | |
1858 | fHOutCentV0MvsCentCL1->Fill(fCentV0M,fCentCL1); | |
1859 | fHOutCentV0MvsCentTRK->Fill(fCentV0M,fCentTRK); | |
1860 | fHOutCentTRKvsCentCL1->Fill(fCentTRK,fCentCL1); | |
1861 | fHOutCentV0MvsCentZDC->Fill(fCentV0M,fCentZEMvsZDC); | |
1862 | fHOutCentV0AvsCentV0C->Fill(fCentV0A,fCentV0C); | |
1863 | fHOutCentV0AvsCentTRK->Fill(fCentV0A,fCentTRK); | |
1864 | fHOutCentV0AvsCentCND->Fill(fCentV0A,fCentCND); | |
1865 | fHOutCentV0AvsCentCL1->Fill(fCentV0A,fCentCL1); | |
1866 | fHOutCentV0CvsCentTRK->Fill(fCentV0C,fCentTRK); | |
1867 | fHOutCentV0CvsCentCND->Fill(fCentV0C,fCentCND); | |
1868 | fHOutCentV0CvsCentCL1->Fill(fCentV0C,fCentCL1); | |
8432b617 | 1869 | fHOutCentNPAvsCentV0A->Fill(fCentNPA,fCentV0A); |
1870 | fHOutCentNPAvsCentV0C->Fill(fCentNPA,fCentV0C); | |
1871 | fHOutCentNPAvsCentTRK->Fill(fCentNPA,fCentTRK); | |
1872 | fHOutCentNPAvsCentCND->Fill(fCentNPA,fCentCND); | |
1873 | fHOutCentNPAvsCentCL1->Fill(fCentNPA,fCentCL1); | |
99029fba | 1874 | fHOutCentZNAvsCentV0A->Fill(fCentZNA,fCentV0A); |
1875 | fHOutCentZNAvsCentV0C->Fill(fCentZNA,fCentV0C); | |
1876 | fHOutCentZNAvsCentTRK->Fill(fCentZNA,fCentTRK); | |
1877 | fHOutCentZNAvsCentCND->Fill(fCentZNA,fCentCND); | |
1878 | fHOutCentZNAvsCentCL1->Fill(fCentZNA,fCentCL1); | |
bfbc1975 | 1879 | fHOutCentZNAvsCentZPA->Fill(fCentZNA,fCentZPA); |
01974bd1 | 1880 | |
1881 | fHOutMultV0AC->Fill(multV0A,multV0C); | |
e1d58f75 | 1882 | fHOutMultV0M->Fill(multV0ACorr+multV0CCorr); |
1883 | fHOutMultV0A->Fill(multV0ACorr); | |
97570bc1 | 1884 | fHOutMultV0A0->Fill(multV0A0Corr); |
1885 | fHOutMultV0A123->Fill(multV0A123Corr); | |
e1d58f75 | 1886 | fHOutMultV0C->Fill(multV0CCorr); |
26f02c2c | 1887 | fHOutMultV0A23->Fill(multV0A23Corr); |
1888 | fHOutMultV0C01->Fill(multV0C01Corr); | |
1889 | fHOutMultV0S->Fill(multV0SCorr); | |
f9a774f9 | 1890 | fHOutMultV0MEq->Fill(multV0AEq+multV0CEq); |
1891 | fHOutMultV0AEq->Fill(multV0AEq); | |
1892 | fHOutMultV0CEq->Fill(multV0CEq); | |
e1d58f75 | 1893 | fHOutMultV0Mnc->Fill(multV0A+multV0C); |
1894 | fHOutMultV0Anc->Fill(multV0A); | |
1895 | fHOutMultV0Cnc->Fill(multV0C); | |
01974bd1 | 1896 | fHOutMultV0O->Fill(multV0AOnline+multV0COnline); |
1897 | fHOutMultV0Cells->Fill(nV0A,nV0C); | |
1898 | fHOutMultFMD->Fill(multFMDA+multFMDC); | |
1899 | fHOutMultTRK->Fill(nTracks); | |
1900 | fHOutMultTKL->Fill(nTracklets); | |
1901 | fHOutMultCL0->Fill(nClusters[0]); | |
1902 | fHOutMultCL1->Fill(spdCorr); | |
1903 | fHOutMultCND->Fill(multCND); | |
8432b617 | 1904 | fHOutMultNPA->Fill(Npart); |
f9a774f9 | 1905 | if(znaFired)fHOutMultZNA->Fill(znaTower); |
1906 | if(zncFired)fHOutMultZNC->Fill(zncTower); | |
3a19f64f | 1907 | if(zpaFired)fHOutMultZPA->Fill(zpaTower); |
1908 | if(zpcFired)fHOutMultZPC->Fill(zpcTower); | |
bfbc1975 | 1909 | fHOutMultZNAvsZPA->Fill(znaTower,zpaTower); |
01974bd1 | 1910 | |
3a19f64f | 1911 | //fHOutMultV0MvsZDN->Fill(v0Corr,(zncEnergy+znaEnergy)); |
1912 | fHOutMultV0MvsZDN->Fill(v0Corr,znaTower); | |
01974bd1 | 1913 | fHOutMultZEMvsZDN->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy)); |
1914 | fHOutMultV0MvsZDC->Fill(v0Corr,(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy)); | |
1915 | fHOutMultZEMvsZDC->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy)); | |
1916 | fHOutMultZEMvsZDCw->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy),fCentV0M); | |
1917 | fHOutMultV0MvsCL1->Fill(v0Corr,spdCorr); | |
1918 | fHOutMultV0MvsTRK->Fill(v0Corr,nTracks); | |
1919 | fHOutMultTRKvsCL1->Fill(nTracks,spdCorr); | |
1920 | fHOutMultV0MvsV0O->Fill(v0Corr,(multV0AOnline+multV0COnline)); | |
1921 | fHOutMultV0OvsCL1->Fill((multV0AOnline+multV0COnline),spdCorr); | |
1922 | fHOutMultV0OvsTRK->Fill((multV0AOnline+multV0COnline),nTracks); | |
1923 | } else if (fQuality%2 == 0) { | |
1924 | fHOutCentV0Mqual1->Fill(fCentV0M); | |
1925 | fHOutCentTRKqual1->Fill(fCentTRK); | |
1926 | fHOutCentCL1qual1->Fill(fCentCL1); | |
1927 | fHOutMultV0MvsCL1qual1->Fill(v0Corr,spdCorr); | |
1928 | fHOutMultV0MvsTRKqual1->Fill(v0Corr,nTracks); | |
1929 | fHOutMultTRKvsCL1qual1->Fill(nTracks,spdCorr); | |
1930 | } else { | |
1931 | fHOutCentV0Mqual2->Fill(fCentV0M); | |
1932 | fHOutCentTRKqual2->Fill(fCentTRK); | |
1933 | fHOutCentCL1qual2->Fill(fCentCL1); | |
1934 | fHOutMultV0MvsCL1qual2->Fill(v0Corr,spdCorr); | |
1935 | fHOutMultV0MvsTRKqual2->Fill(v0Corr,nTracks); | |
1936 | fHOutMultTRKvsCL1qual2->Fill(nTracks,spdCorr); | |
1937 | } | |
1938 | } | |
1939 | PostData(1, fOutputList); | |
1940 | } | |
1941 | } | |
1942 | //________________________________________________________________________ | |
1943 | void AliCentralitySelectionTask::Terminate(Option_t */*option*/) | |
1944 | { | |
1945 | // Terminate analysis | |
1946 | } | |
1947 | //________________________________________________________________________ | |
377e5a61 | 1948 | Int_t AliCentralitySelectionTask::SetupRun(const AliVEvent* const esd) |
01974bd1 | 1949 | { |
1950 | // Setup files for run | |
1951 | ||
1952 | if (!esd) | |
1953 | return -1; | |
1954 | ||
1955 | // check if something to be done | |
1956 | if (fCurrentRun == esd->GetRunNumber()) | |
1957 | return 0; | |
1958 | else | |
1959 | fCurrentRun = esd->GetRunNumber(); | |
1960 | ||
1961 | TString fileName =(Form("%s/COMMON/CENTRALITY/data/centrality.root", AliAnalysisManager::GetOADBPath())); | |
1962 | AliInfo(Form("Setup Centrality Selection for run %d with file %s\n",fCurrentRun,fileName.Data())); | |
1963 | ||
1964 | AliOADBContainer *con = new AliOADBContainer("OADB"); | |
1965 | con->InitFromFile(fileName,"Centrality"); | |
1966 | ||
1967 | AliOADBCentrality* centOADB = 0; | |
1968 | centOADB = (AliOADBCentrality*)(con->GetObject(fCurrentRun)); | |
1969 | if (!centOADB) { | |
1970 | AliWarning(Form("Centrality OADB does not exist for run %d, using Default \n",fCurrentRun )); | |
1971 | centOADB = (AliOADBCentrality*)(con->GetDefaultObject("oadbDefault")); | |
1972 | } | |
1973 | ||
39a3e400 | 1974 | Bool_t isHijing=kFALSE; |
1975 | Bool_t isDpmjet=kFALSE; | |
1976 | AliAnalysisManager* anMan = AliAnalysisManager::GetAnalysisManager(); | |
1977 | AliMCEventHandler* eventHandler = (AliMCEventHandler*)anMan->GetMCtruthEventHandler(); | |
1978 | AliMCEvent* mcEvent=0; | |
1979 | if (fIsMCInput && eventHandler && (mcEvent=eventHandler->MCEvent()) ) { | |
1980 | AliGenEventHeader* mcGenH = mcEvent->GenEventHeader(); | |
1981 | if (mcGenH->InheritsFrom(AliGenHijingEventHeader::Class())) isHijing=kTRUE; | |
1982 | else if (mcGenH->InheritsFrom(AliGenCocktailEventHeader::Class())) isHijing=kTRUE; | |
1983 | else if (mcGenH->InheritsFrom(AliGenDPMjetEventHeader::Class())) isDpmjet=kTRUE; | |
1984 | } | |
1985 | ||
1986 | ||
01974bd1 | 1987 | // modes |
1988 | fUseScaling = centOADB->UseScaling(); | |
1989 | fUseCleaning = centOADB->UseCleaning(); | |
1990 | ||
1991 | // cuts | |
1992 | fZVCut = centOADB->ZVCut(); | |
1993 | fOutliersCut = centOADB->OutliersCut(); | |
1994 | ||
1995 | // centrality histos | |
1996 | fHtempV0M = centOADB->V0hist(); | |
1997 | fHtempV0A = centOADB->V0Ahist(); | |
9113c527 | 1998 | fHtempV0A0 = centOADB->V0A0hist(); |
2d12adde | 1999 | fHtempV0A123 = centOADB->V0A123hist(); |
01974bd1 | 2000 | fHtempV0C = centOADB->V0Chist(); |
26f02c2c | 2001 | fHtempV0A23 = centOADB->V0A23hist(); |
2002 | fHtempV0C01 = centOADB->V0C01hist(); | |
2003 | fHtempV0S = centOADB->V0Shist(); | |
f9a774f9 | 2004 | fHtempV0MEq = centOADB->V0Eqhist(); |
2005 | fHtempV0AEq = centOADB->V0AEqhist(); | |
2006 | fHtempV0CEq = centOADB->V0CEqhist(); | |
01974bd1 | 2007 | fHtempTRK = centOADB->TPChist(); |
2008 | fHtempCL1 = centOADB->SPDhist(); | |
2009 | fHtempCND = centOADB->CNDhist(); | |
39a3e400 | 2010 | fHtempFMD = centOADB->FMDhist(); |
99029fba | 2011 | fHtempZNA = centOADB->ZNAhist(); |
f9a774f9 | 2012 | fHtempZNC = centOADB->ZNChist(); |
3a19f64f | 2013 | fHtempZPA = centOADB->ZPAhist(); |
2014 | fHtempZPC = centOADB->ZPChist(); | |
01974bd1 | 2015 | fHtempZEMvsZDC = centOADB->ZEMvsZDChist(); |
39a3e400 | 2016 | |
f9a774f9 | 2017 | if (isHijing) { |
2018 | fHtempNPA = centOADB->NPAhist(); | |
2019 | fHtempV0Mtrue = centOADB->V0histtrue(); | |
2020 | fHtempV0Atrue = centOADB->V0Ahisttrue(); | |
2021 | fHtempV0Ctrue = centOADB->V0Chisttrue(); | |
2022 | fHtempV0MEqtrue = centOADB->V0Eqhisttrue(); | |
2023 | fHtempV0AEqtrue = centOADB->V0AEqhisttrue(); | |
2024 | fHtempV0CEqtrue = centOADB->V0CEqhisttrue(); | |
2025 | fHtempTRKtrue = centOADB->TPChisttrue(); | |
2026 | fHtempCL1true = centOADB->SPDhisttrue(); | |
2027 | fHtempCNDtrue = centOADB->CNDhisttrue(); | |
2028 | fHtempFMDtrue = centOADB->FMDhisttrue(); | |
2029 | fHtempZNAtrue = centOADB->ZNAhisttrue(); | |
2030 | fHtempZNCtrue = centOADB->ZNChisttrue(); | |
3a19f64f | 2031 | fHtempZPAtrue = centOADB->ZPAhisttrue(); |
2032 | fHtempZPCtrue = centOADB->ZPChisttrue(); | |
f9a774f9 | 2033 | } else if (isDpmjet) { |
2034 | fHtempNPA = centOADB->NPAhistDPM(); | |
2035 | fHtempV0Mtrue = centOADB->V0histtrueDPM(); | |
2036 | fHtempV0Atrue = centOADB->V0AhisttrueDPM(); | |
2037 | fHtempV0Ctrue = centOADB->V0ChisttrueDPM(); | |
2038 | fHtempV0MEqtrue = centOADB->V0EqhisttrueDPM(); | |
2039 | fHtempV0AEqtrue = centOADB->V0AEqhisttrueDPM(); | |
2040 | fHtempV0CEqtrue = centOADB->V0CEqhisttrueDPM(); | |
2041 | fHtempTRKtrue = centOADB->TPChisttrueDPM(); | |
2042 | fHtempCL1true = centOADB->SPDhisttrueDPM(); | |
2043 | fHtempCNDtrue = centOADB->CNDhisttrueDPM(); | |
2044 | fHtempFMDtrue = centOADB->FMDhisttrueDPM(); | |
2045 | fHtempZNAtrue = centOADB->ZNAhisttrueDPM(); | |
2046 | fHtempZNCtrue = centOADB->ZNChisttrueDPM(); | |
3a19f64f | 2047 | fHtempZPAtrue = centOADB->ZPAhisttrueDPM(); |
2048 | fHtempZPCtrue = centOADB->ZPChisttrueDPM(); | |
f9a774f9 | 2049 | } |
2050 | ||
2051 | ||
2052 | TString path = gSystem->ExpandPathName(fileName.Data()); | |
01974bd1 | 2053 | if (!fHtempV0M) AliWarning(Form("Calibration for V0M does not exist in %s", path.Data())); |
2054 | if (!fHtempV0A) AliWarning(Form("Calibration for V0A does not exist in %s", path.Data())); | |
2055 | if (!fHtempV0C) AliWarning(Form("Calibration for V0C does not exist in %s", path.Data())); | |
26f02c2c | 2056 | if (!fHtempV0A23) AliWarning(Form("Calibration for V0A23 does not exist in %s", path.Data())); |
2057 | if (!fHtempV0C01) AliWarning(Form("Calibration for V0C01 does not exist in %s", path.Data())); | |
2058 | if (!fHtempV0S) AliWarning(Form("Calibration for V0S does not exist in %s", path.Data())); | |
f9a774f9 | 2059 | if (!fHtempV0MEq) AliWarning(Form("Calibration for V0MEq does not exist in %s", path.Data())); |
2060 | if (!fHtempV0AEq) AliWarning(Form("Calibration for V0AEq does not exist in %s", path.Data())); | |
2061 | if (!fHtempV0CEq) AliWarning(Form("Calibration for V0CEq does not exist in %s", path.Data())); | |
01974bd1 | 2062 | if (!fHtempTRK) AliWarning(Form("Calibration for TRK does not exist in %s", path.Data())); |
2063 | if (!fHtempCL1) AliWarning(Form("Calibration for CL1 does not exist in %s", path.Data())); | |
2064 | if (!fHtempCND) AliWarning(Form("Calibration for CND does not exist in %s", path.Data())); | |
99029fba | 2065 | if (!fHtempZNA) AliWarning(Form("Calibration for ZNA does not exist in %s", path.Data())); |
f9a774f9 | 2066 | if (!fHtempZNC) AliWarning(Form("Calibration for ZNC does not exist in %s", path.Data())); |
3a19f64f | 2067 | if (!fHtempZPA) AliWarning(Form("Calibration for ZPA does not exist in %s", path.Data())); |
2068 | if (!fHtempZPC) AliWarning(Form("Calibration for ZPC does not exist in %s", path.Data())); | |
39a3e400 | 2069 | if (!fHtempFMD) AliWarning(Form("Calibration for FMD does not exist in %s", path.Data())); |
01974bd1 | 2070 | if (!fHtempZEMvsZDC) AliWarning(Form("Calibration for ZEMvsZDC does not exist in %s", path.Data())); |
39a3e400 | 2071 | if (!fHtempNPA) AliWarning(Form("Calibration for NPA does not exist in %s", path.Data())); |
2072 | ||
2073 | if (!fHtempV0Mtrue) AliWarning(Form("Calibration for V0Mtrue does not exist in %s", path.Data())); | |
2074 | if (!fHtempV0Atrue) AliWarning(Form("Calibration for V0Atrue does not exist in %s", path.Data())); | |
2075 | if (!fHtempV0Ctrue) AliWarning(Form("Calibration for V0Ctrue does not exist in %s", path.Data())); | |
f9a774f9 | 2076 | if (!fHtempV0MEqtrue) AliWarning(Form("Calibration for V0MEqtrue does not exist in %s", path.Data())); |
2077 | if (!fHtempV0AEqtrue) AliWarning(Form("Calibration for V0AEqtrue does not exist in %s", path.Data())); | |
2078 | if (!fHtempV0CEqtrue) AliWarning(Form("Calibration for V0CEqtrue does not exist in %s", path.Data())); | |
39a3e400 | 2079 | if (!fHtempTRKtrue) AliWarning(Form("Calibration for TRKtrue does not exist in %s", path.Data())); |
2080 | if (!fHtempCL1true) AliWarning(Form("Calibration for CL1true does not exist in %s", path.Data())); | |
2081 | if (!fHtempCNDtrue) AliWarning(Form("Calibration for CNDtrue does not exist in %s", path.Data())); | |
2082 | if (!fHtempZNAtrue) AliWarning(Form("Calibration for ZNAtrue does not exist in %s", path.Data())); | |
f9a774f9 | 2083 | if (!fHtempZNCtrue) AliWarning(Form("Calibration for ZNCtrue does not exist in %s", path.Data())); |
3a19f64f | 2084 | if (!fHtempZPAtrue) AliWarning(Form("Calibration for ZPAtrue does not exist in %s", path.Data())); |
2085 | if (!fHtempZPCtrue) AliWarning(Form("Calibration for ZPCtrue does not exist in %s", path.Data())); | |
39a3e400 | 2086 | if (!fHtempFMDtrue) AliWarning(Form("Calibration for FMDtrue does not exist in %s", path.Data())); |
01974bd1 | 2087 | |
f9a774f9 | 2088 | |
01974bd1 | 2089 | // scale factors |
2090 | fV0MScaleFactor = centOADB->V0MScaleFactor(); | |
2091 | fSPDScaleFactor = centOADB->SPDScaleFactor(); | |
2092 | fTPCScaleFactor = centOADB->TPCScaleFactor(); | |
2093 | fV0MScaleFactorMC = centOADB->V0MScaleFactorMC(); | |
2094 | ||
2095 | // outliers parameters | |
2096 | fV0MSPDOutlierPar0 = centOADB->V0MSPDOutlierPar0(); | |
2097 | fV0MSPDOutlierPar1 = centOADB->V0MSPDOutlierPar1(); | |
2098 | fV0MTPCOutlierPar0 = centOADB->V0MTPCOutlierPar0(); | |
2099 | fV0MTPCOutlierPar1 = centOADB->V0MTPCOutlierPar1(); | |
2100 | ||
2101 | fV0MSPDSigmaOutlierPar0 = centOADB->V0MSPDSigmaOutlierPar0(); | |
2102 | fV0MSPDSigmaOutlierPar1 = centOADB->V0MSPDSigmaOutlierPar1(); | |
2103 | fV0MSPDSigmaOutlierPar2 = centOADB->V0MSPDSigmaOutlierPar2(); | |
2104 | fV0MTPCSigmaOutlierPar0 = centOADB->V0MTPCSigmaOutlierPar0(); | |
2105 | fV0MTPCSigmaOutlierPar1 = centOADB->V0MTPCSigmaOutlierPar1(); | |
2106 | fV0MTPCSigmaOutlierPar2 = centOADB->V0MTPCSigmaOutlierPar2(); | |
2107 | ||
2108 | fV0MZDCOutlierPar0 = centOADB->V0MZDCOutlierPar0(); | |
2109 | fV0MZDCOutlierPar1 = centOADB->V0MZDCOutlierPar1(); | |
2110 | fV0MZDCEcalOutlierPar0 = centOADB->V0MZDCEcalOutlierPar0(); | |
2111 | fV0MZDCEcalOutlierPar1 = centOADB->V0MZDCEcalOutlierPar1(); | |
2112 | ||
01974bd1 | 2113 | return 0; |
2114 | } | |
2115 | ||
2116 | ||
2117 | ||
2118 | //________________________________________________________________________ | |
2119 | Bool_t AliCentralitySelectionTask::IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const | |
2120 | { | |
2121 | // Clean outliers | |
2122 | Float_t val = fV0MSPDOutlierPar0 + fV0MSPDOutlierPar1 * v0; | |
2123 | Float_t spdSigma = fV0MSPDSigmaOutlierPar0 + fV0MSPDSigmaOutlierPar1*cent + fV0MSPDSigmaOutlierPar2*cent*cent; | |
2124 | if ( TMath::Abs(spd-val) > fOutliersCut*spdSigma ) | |
2125 | return kTRUE; | |
2126 | else | |
2127 | return kFALSE; | |
2128 | } | |
2129 | ||
2130 | //________________________________________________________________________ | |
2131 | Bool_t AliCentralitySelectionTask::IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const | |
2132 | { | |
2133 | // Clean outliers | |
2134 | Float_t val = fV0MTPCOutlierPar0 + fV0MTPCOutlierPar1 * v0; | |
2135 | Float_t tpcSigma = fV0MTPCSigmaOutlierPar0 + fV0MTPCSigmaOutlierPar1*cent + fV0MTPCSigmaOutlierPar2*cent*cent; | |
2136 | if ( TMath::Abs(tracks-val) > fOutliersCut*tpcSigma ) | |
2137 | return kTRUE; | |
2138 | else | |
2139 | return kFALSE; | |
2140 | } | |
2141 | ||
2142 | //________________________________________________________________________ | |
2143 | Bool_t AliCentralitySelectionTask::IsOutlierV0MZDC(Float_t zdc, Float_t v0) const | |
2144 | { | |
2145 | // Clean outliers | |
2146 | Float_t val = fV0MZDCOutlierPar0 + fV0MZDCOutlierPar1 * v0; | |
2147 | if (zdc > val) | |
2148 | return kTRUE; | |
2149 | else | |
2150 | return kFALSE; | |
2151 | } | |
2152 | ||
2153 | //________________________________________________________________________ | |
2154 | Bool_t AliCentralitySelectionTask::IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const | |
2155 | { | |
2156 | // Clean outliers | |
2157 | Float_t val = fV0MZDCEcalOutlierPar0 + fV0MZDCEcalOutlierPar1 * v0; | |
2158 | if (zdc > val) | |
2159 | return kTRUE; | |
2160 | else | |
2161 | return kFALSE; | |
2162 | } | |
667b97c4 | 2163 |