1 /**************************************************************************
2 * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 //*****************************************************
17 // Class AliCentralitySelectionTask
18 // Class to analyze determine centrality
19 // author: Alberica Toia
20 //*****************************************************
22 #include "AliCentralitySelectionTask.h"
31 #include <TObjString.h>
35 #include <TDirectory.h>
39 #include "AliAnalysisManager.h"
40 #include "AliHeader.h"
41 #include "AliVEvent.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"
68 #include "AliAnalysisTaskSE.h"
69 #include "AliGenEventHeader.h"
70 #include "AliGenHijingEventHeader.h"
71 #include "AliGenDPMjetEventHeader.h"
72 #include "AliGenCocktailEventHeader.h"
73 #include "AliPhysicsSelectionTask.h"
74 #include "AliPhysicsSelection.h"
75 #include "AliBackgroundSelection.h"
76 #include "AliESDUtils.h"
78 ClassImp(AliCentralitySelectionTask)
81 //________________________________________________________________________
82 AliCentralitySelectionTask::AliCentralitySelectionTask():
84 fAnalysisInput("ESD"),
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),
161 fHOutCentV0MCVHNinMB(0),
162 fHOutCentV0MCVLNinMB(0),
163 fHOutCentV0MCCENT(0),
164 fHOutCentV0MCSEMI(0),
165 fHOutCentV0MCCENTinMB(0),
166 fHOutCentV0MCSEMIinMB(0),
174 fHOutCentV0MMSLinMB(0),
175 fHOutCentV0MMSHinMB(0),
176 fHOutCentV0MMULinMB(0),
177 fHOutCentV0MMLLinMB(0),
178 fHOutCentV0MEJEinMB(0),
179 fHOutCentV0MEGAinMB(0),
180 fHOutCentV0MPHSinMB(0),
188 fHOutCentV0MvsFMD(0),
189 fHOutCentTKLvsV0M(0),
190 fHOutCentZEMvsZDC(0),
191 fHOutCentV0MvsCentCL1(0),
192 fHOutCentV0MvsCentTRK(0),
193 fHOutCentTRKvsCentCL1(0),
194 fHOutCentV0MvsCentZDC(0),
195 fHOutCentV0AvsCentV0C(0),
196 fHOutCentV0AvsCentTRK(0),
197 fHOutCentV0AvsCentCND(0),
198 fHOutCentV0AvsCentCL1(0),
199 fHOutCentV0CvsCentTRK(0),
200 fHOutCentV0CvsCentCND(0),
201 fHOutCentV0CvsCentCL1(0),
202 fHOutCentNPAvsCentV0A(0),
203 fHOutCentNPAvsCentV0C(0),
204 fHOutCentNPAvsCentTRK(0),
205 fHOutCentNPAvsCentCND(0),
206 fHOutCentNPAvsCentCL1(0),
223 fHOutMultV0MvsZDN(0),
224 fHOutMultZEMvsZDN(0),
225 fHOutMultV0MvsZDC(0),
226 fHOutMultZEMvsZDC(0),
227 fHOutMultZEMvsZDCw(0),
228 fHOutMultV0MvsCL1(0),
229 fHOutMultV0MvsTRK(0),
230 fHOutMultTRKvsCL1(0),
231 fHOutMultV0MvsV0O(0),
232 fHOutMultV0OvsCL1(0),
233 fHOutMultV0OvsTRK(0),
234 fHOutMultCL1vsTKL(0),
235 fHOutCentV0Mqual1(0),
236 fHOutCentTRKqual1(0),
237 fHOutCentCL1qual1(0),
238 fHOutMultV0MvsCL1qual1(0),
239 fHOutMultV0MvsTRKqual1(0),
240 fHOutMultTRKvsCL1qual1(0),
241 fHOutCentV0Mqual2(0),
242 fHOutCentTRKqual2(0),
243 fHOutCentCL1qual2(0),
244 fHOutMultV0MvsCL1qual2(0),
245 fHOutMultV0MvsTRKqual2(0),
246 fHOutMultTRKvsCL1qual2(0),
251 // Default constructor
252 AliInfo("Centrality Selection enabled.");
257 fBranchNames="ESD:AliESDRun.,AliESDHeader.,AliESDZDC.,AliESDFMD.,AliESDVZERO.,AliESDTZERO."
258 ",SPDVertex.,TPCVertex.,PrimaryVertex.,AliMultiplicity.,Tracks ";
261 //________________________________________________________________________
262 AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
263 AliAnalysisTaskSE(name),
264 fAnalysisInput("ESD"),
273 fV0MScaleFactorMC(0),
274 fV0MSPDOutlierPar0(0),
275 fV0MSPDOutlierPar1(0),
276 fV0MTPCOutlierPar0(0),
277 fV0MTPCOutlierPar1(0),
278 fV0MSPDSigmaOutlierPar0(0),
279 fV0MSPDSigmaOutlierPar1(0),
280 fV0MSPDSigmaOutlierPar2(0),
281 fV0MTPCSigmaOutlierPar0(0),
282 fV0MTPCSigmaOutlierPar1(0),
283 fV0MTPCSigmaOutlierPar2(0),
284 fV0MZDCOutlierPar0(0),
285 fV0MZDCOutlierPar1(0),
286 fV0MZDCEcalOutlierPar0(0),
287 fV0MZDCEcalOutlierPar1(0),
341 fHOutCentV0MCVHNinMB(0),
342 fHOutCentV0MCVLNinMB(0),
343 fHOutCentV0MCCENT(0),
344 fHOutCentV0MCSEMI(0),
345 fHOutCentV0MCCENTinMB(0),
346 fHOutCentV0MCSEMIinMB(0),
354 fHOutCentV0MMSLinMB(0),
355 fHOutCentV0MMSHinMB(0),
356 fHOutCentV0MMULinMB(0),
357 fHOutCentV0MMLLinMB(0),
358 fHOutCentV0MEJEinMB(0),
359 fHOutCentV0MEGAinMB(0),
360 fHOutCentV0MPHSinMB(0),
368 fHOutCentV0MvsFMD(0),
369 fHOutCentTKLvsV0M(0),
370 fHOutCentZEMvsZDC(0),
371 fHOutCentV0MvsCentCL1(0),
372 fHOutCentV0MvsCentTRK(0),
373 fHOutCentTRKvsCentCL1(0),
374 fHOutCentV0MvsCentZDC(0),
375 fHOutCentV0AvsCentV0C(0),
376 fHOutCentV0AvsCentTRK(0),
377 fHOutCentV0AvsCentCND(0),
378 fHOutCentV0AvsCentCL1(0),
379 fHOutCentV0CvsCentTRK(0),
380 fHOutCentV0CvsCentCND(0),
381 fHOutCentV0CvsCentCL1(0),
382 fHOutCentNPAvsCentV0A(0),
383 fHOutCentNPAvsCentV0C(0),
384 fHOutCentNPAvsCentTRK(0),
385 fHOutCentNPAvsCentCND(0),
386 fHOutCentNPAvsCentCL1(0),
403 fHOutMultV0MvsZDN(0),
404 fHOutMultZEMvsZDN(0),
405 fHOutMultV0MvsZDC(0),
406 fHOutMultZEMvsZDC(0),
407 fHOutMultZEMvsZDCw(0),
408 fHOutMultV0MvsCL1(0),
409 fHOutMultV0MvsTRK(0),
410 fHOutMultTRKvsCL1(0),
411 fHOutMultV0MvsV0O(0),
412 fHOutMultV0OvsCL1(0),
413 fHOutMultV0OvsTRK(0),
414 fHOutMultCL1vsTKL(0),
415 fHOutCentV0Mqual1(0),
416 fHOutCentTRKqual1(0),
417 fHOutCentCL1qual1(0),
418 fHOutMultV0MvsCL1qual1(0),
419 fHOutMultV0MvsTRKqual1(0),
420 fHOutMultTRKvsCL1qual1(0),
421 fHOutCentV0Mqual2(0),
422 fHOutCentTRKqual2(0),
423 fHOutCentCL1qual2(0),
424 fHOutMultV0MvsCL1qual2(0),
425 fHOutMultV0MvsTRKqual2(0),
426 fHOutMultTRKvsCL1qual2(0),
431 // Default constructor
432 AliInfo("Centrality Selection enabled.");
433 //DefineOutput(1, TList::Class());
437 fBranchNames="ESD:AliESDRun.,AliESDHeader.,AliESDZDC.,AliESDFMD.,AliESDVZERO.,AliESDTZERO."
438 ",SPDVertex.,TPCVertex.,PrimaryVertex.,AliMultiplicity.,Tracks ";
441 //________________________________________________________________________
442 AliCentralitySelectionTask& AliCentralitySelectionTask::operator=(const AliCentralitySelectionTask& c)
444 // Assignment operator
446 AliAnalysisTaskSE::operator=(c);
451 //________________________________________________________________________
452 AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelectionTask& ana):
453 AliAnalysisTaskSE(ana),
454 fAnalysisInput(ana.fAnalysisInput),
455 fIsMCInput(ana.fIsMCInput),
456 fCurrentRun(ana.fCurrentRun),
457 fUseScaling(ana.fUseScaling),
458 fUseCleaning(ana.fUseCleaning),
459 fFillHistos(ana.fFillHistos),
460 fV0MScaleFactor(ana.fV0MScaleFactor),
461 fSPDScaleFactor(ana.fSPDScaleFactor),
462 fTPCScaleFactor(ana.fTPCScaleFactor),
463 fV0MScaleFactorMC(ana.fV0MScaleFactorMC),
464 fV0MSPDOutlierPar0(ana.fV0MSPDOutlierPar0),
465 fV0MSPDOutlierPar1(ana.fV0MSPDOutlierPar1),
466 fV0MTPCOutlierPar0(ana.fV0MTPCOutlierPar0),
467 fV0MTPCOutlierPar1(ana.fV0MTPCOutlierPar1),
468 fV0MSPDSigmaOutlierPar0(ana.fV0MSPDSigmaOutlierPar0),
469 fV0MSPDSigmaOutlierPar1(ana.fV0MSPDSigmaOutlierPar1),
470 fV0MSPDSigmaOutlierPar2(ana.fV0MSPDSigmaOutlierPar2),
471 fV0MTPCSigmaOutlierPar0(ana.fV0MTPCSigmaOutlierPar0),
472 fV0MTPCSigmaOutlierPar1(ana.fV0MTPCSigmaOutlierPar1),
473 fV0MTPCSigmaOutlierPar2(ana.fV0MTPCSigmaOutlierPar2),
474 fV0MZDCOutlierPar0(ana.fV0MZDCOutlierPar0),
475 fV0MZDCOutlierPar1(ana.fV0MZDCOutlierPar1),
476 fV0MZDCEcalOutlierPar0(ana.fV0MZDCEcalOutlierPar0),
477 fV0MZDCEcalOutlierPar1(ana.fV0MZDCEcalOutlierPar1),
478 fTrackCuts(ana.fTrackCuts),
480 fOutliersCut(ana.fOutliersCut),
481 fQuality(ana.fQuality),
482 fIsSelected(ana.fIsSelected),
493 fCVHNbit(ana.fCVHNbit),
494 fCVLNbit(ana.fCVLNbit),
497 fCCENTbit(ana.fCCENTbit),
498 fCSEMIbit(ana.fCSEMIbit),
499 fCentV0M(ana.fCentV0M),
500 fCentV0A(ana.fCentV0A),
501 fCentV0C(ana.fCentV0C),
502 fCentFMD(ana.fCentFMD),
503 fCentTRK(ana.fCentTRK),
504 fCentTKL(ana.fCentTKL),
505 fCentCL0(ana.fCentCL0),
506 fCentCL1(ana.fCentCL1),
507 fCentCND(ana.fCentCND),
508 fCentNPA(ana.fCentNPA),
509 fCentV0MvsFMD(ana.fCentV0MvsFMD),
510 fCentTKLvsV0M(ana.fCentTKLvsV0M),
511 fCentZEMvsZDC(ana.fCentZEMvsZDC),
512 fHtempV0M(ana.fHtempV0M),
513 fHtempV0A(ana.fHtempV0A),
514 fHtempV0C(ana.fHtempV0C),
515 fHtempFMD(ana.fHtempFMD),
516 fHtempTRK(ana.fHtempTRK),
517 fHtempTKL(ana.fHtempTKL),
518 fHtempCL0(ana.fHtempCL0),
519 fHtempCL1(ana.fHtempCL1),
520 fHtempCND(ana.fHtempCND),
521 fHtempNPA(ana.fHtempNPA),
522 fHtempV0MvsFMD(ana.fHtempV0MvsFMD),
523 fHtempTKLvsV0M(ana.fHtempTKLvsV0M),
524 fHtempZEMvsZDC(ana.fHtempZEMvsZDC),
525 fOutputList(ana.fOutputList),
526 fHOutCentV0M (ana.fHOutCentV0M ),
527 fHOutCentV0A (ana.fHOutCentV0A ),
528 fHOutCentV0C (ana.fHOutCentV0C ),
529 fHOutCentV0MCVHN(ana.fHOutCentV0MCVHN),
530 fHOutCentV0MCVLN(ana.fHOutCentV0MCVLN),
531 fHOutCentV0MCVHNinMB(ana.fHOutCentV0MCVHNinMB),
532 fHOutCentV0MCVLNinMB(ana.fHOutCentV0MCVLNinMB),
533 fHOutCentV0MCCENT(ana.fHOutCentV0MCCENT),
534 fHOutCentV0MCSEMI(ana.fHOutCentV0MCSEMI),
535 fHOutCentV0MCCENTinMB(ana.fHOutCentV0MCCENTinMB),
536 fHOutCentV0MCSEMIinMB(ana.fHOutCentV0MCSEMIinMB),
537 fHOutCentV0MMSL(ana.fHOutCentV0MMSL),
538 fHOutCentV0MMSH(ana.fHOutCentV0MMSH),
539 fHOutCentV0MMUL(ana.fHOutCentV0MMUL),
540 fHOutCentV0MMLL(ana.fHOutCentV0MMLL),
541 fHOutCentV0MEJE(ana.fHOutCentV0MEJE),
542 fHOutCentV0MEGA(ana.fHOutCentV0MEGA),
543 fHOutCentV0MPHS(ana.fHOutCentV0MPHS),
544 fHOutCentV0MMSLinMB(ana.fHOutCentV0MMSLinMB),
545 fHOutCentV0MMSHinMB(ana.fHOutCentV0MMSHinMB),
546 fHOutCentV0MMULinMB(ana.fHOutCentV0MMULinMB),
547 fHOutCentV0MMLLinMB(ana.fHOutCentV0MMLLinMB),
548 fHOutCentV0MEJEinMB(ana.fHOutCentV0MEJEinMB),
549 fHOutCentV0MEGAinMB(ana.fHOutCentV0MEGAinMB),
550 fHOutCentV0MPHSinMB(ana.fHOutCentV0MPHSinMB),
551 fHOutCentFMD (ana.fHOutCentFMD ),
552 fHOutCentTRK (ana.fHOutCentTRK ),
553 fHOutCentTKL (ana.fHOutCentTKL ),
554 fHOutCentCL0 (ana.fHOutCentCL0 ),
555 fHOutCentCL1 (ana.fHOutCentCL1 ),
556 fHOutCentCND (ana.fHOutCentCND ),
557 fHOutCentNPA (ana.fHOutCentNPA ),
558 fHOutCentV0MvsFMD(ana.fHOutCentV0MvsFMD),
559 fHOutCentTKLvsV0M(ana.fHOutCentTKLvsV0M),
560 fHOutCentZEMvsZDC(ana.fHOutCentZEMvsZDC),
561 fHOutCentV0MvsCentCL1(ana.fHOutCentV0MvsCentCL1),
562 fHOutCentV0MvsCentTRK(ana.fHOutCentV0MvsCentTRK),
563 fHOutCentTRKvsCentCL1(ana.fHOutCentTRKvsCentCL1),
564 fHOutCentV0MvsCentZDC(ana.fHOutCentV0MvsCentZDC),
565 fHOutCentV0AvsCentV0C(ana.fHOutCentV0AvsCentV0C),
566 fHOutCentV0AvsCentTRK(ana.fHOutCentV0AvsCentTRK),
567 fHOutCentV0AvsCentCND(ana.fHOutCentV0AvsCentCND),
568 fHOutCentV0AvsCentCL1(ana.fHOutCentV0AvsCentCL1),
569 fHOutCentV0CvsCentTRK(ana.fHOutCentV0CvsCentTRK),
570 fHOutCentV0CvsCentCND(ana.fHOutCentV0CvsCentCND),
571 fHOutCentV0CvsCentCL1(ana.fHOutCentV0CvsCentCL1),
572 fHOutCentNPAvsCentV0A(ana.fHOutCentNPAvsCentV0A),
573 fHOutCentNPAvsCentV0C(ana.fHOutCentNPAvsCentV0C),
574 fHOutCentNPAvsCentTRK(ana.fHOutCentNPAvsCentTRK),
575 fHOutCentNPAvsCentCND(ana.fHOutCentNPAvsCentCND),
576 fHOutCentNPAvsCentCL1(ana.fHOutCentNPAvsCentCL1),
577 fHOutMultV0AC(ana.fHOutMultV0AC),
578 fHOutMultV0M(ana.fHOutMultV0M),
579 fHOutMultV0A(ana.fHOutMultV0A),
580 fHOutMultV0C(ana.fHOutMultV0C),
581 fHOutMultV0Mnc(ana.fHOutMultV0Mnc),
582 fHOutMultV0Anc(ana.fHOutMultV0Anc),
583 fHOutMultV0Cnc(ana.fHOutMultV0Cnc),
584 fHOutMultV0O(ana.fHOutMultV0O),
585 fHOutMultV0Cells(ana.fHOutMultV0Cells),
586 fHOutMultFMD(ana.fHOutMultFMD),
587 fHOutMultTRK(ana.fHOutMultTRK),
588 fHOutMultTKL(ana.fHOutMultTKL),
589 fHOutMultCL0(ana.fHOutMultCL0),
590 fHOutMultCL1(ana.fHOutMultCL1),
591 fHOutMultCND(ana.fHOutMultCND),
592 fHOutMultNPA(ana.fHOutMultNPA),
593 fHOutMultV0MvsZDN(ana.fHOutMultV0MvsZDN),
594 fHOutMultZEMvsZDN(ana.fHOutMultZEMvsZDN),
595 fHOutMultV0MvsZDC(ana.fHOutMultV0MvsZDC),
596 fHOutMultZEMvsZDC(ana.fHOutMultZEMvsZDC),
597 fHOutMultZEMvsZDCw(ana.fHOutMultZEMvsZDCw),
598 fHOutMultV0MvsCL1(ana.fHOutMultV0MvsCL1),
599 fHOutMultV0MvsTRK(ana.fHOutMultV0MvsTRK),
600 fHOutMultTRKvsCL1(ana.fHOutMultTRKvsCL1),
601 fHOutMultV0MvsV0O(ana.fHOutMultV0MvsV0O),
602 fHOutMultV0OvsCL1(ana.fHOutMultV0OvsCL1),
603 fHOutMultV0OvsTRK(ana.fHOutMultV0OvsTRK),
604 fHOutMultCL1vsTKL(ana.fHOutMultCL1vsTKL),
605 fHOutCentV0Mqual1(ana.fHOutCentV0Mqual1),
606 fHOutCentTRKqual1(ana.fHOutCentTRKqual1),
607 fHOutCentCL1qual1(ana.fHOutCentCL1qual1),
608 fHOutMultV0MvsCL1qual1(ana.fHOutMultV0MvsCL1qual1),
609 fHOutMultV0MvsTRKqual1(ana.fHOutMultV0MvsTRKqual1),
610 fHOutMultTRKvsCL1qual1(ana.fHOutMultTRKvsCL1qual1),
611 fHOutCentV0Mqual2(ana.fHOutCentV0Mqual2),
612 fHOutCentTRKqual2(ana.fHOutCentTRKqual2),
613 fHOutCentCL1qual2(ana.fHOutCentCL1qual2),
614 fHOutMultV0MvsCL1qual2(ana.fHOutMultV0MvsCL1qual2),
615 fHOutMultV0MvsTRKqual2(ana.fHOutMultV0MvsTRKqual2),
616 fHOutMultTRKvsCL1qual2(ana.fHOutMultTRKvsCL1qual2),
617 fHOutQuality(ana.fHOutQuality),
618 fHOutVertex(ana.fHOutVertex),
619 fHOutVertexT0(ana.fHOutVertexT0)
625 //________________________________________________________________________
626 AliCentralitySelectionTask::~AliCentralitySelectionTask()
629 if (fOutputList && !AliAnalysisManager::GetAnalysisManager()->IsProofMode()) delete fOutputList;
630 if (fTrackCuts) delete fTrackCuts;
633 //________________________________________________________________________
634 void AliCentralitySelectionTask::UserCreateOutputObjects()
636 // Create the output containers
637 if(fDebug>1) printf("AnalysisCentralitySelectionTask::UserCreateOutputObjects() \n");
638 AliLog::SetClassDebugLevel("AliCentralitySelectionTask", AliLog::kInfo);
641 fOutputList = new TList();
642 fOutputList->SetOwner();
643 fHOutCentV0M = new TH1F("fHOutCentV0M","fHOutCentV0M; Centrality V0",505,0,101);
644 fHOutCentV0A = new TH1F("fHOutCentV0A","fHOutCentV0A; Centrality V0A",505,0,101);
645 fHOutCentV0C = new TH1F("fHOutCentV0C","fHOutCentV0C; Centrality V0C",505,0,101);
646 fHOutCentV0MCVHN= new TH1F("fHOutCentV0M_CVHN","fHOutCentV0M_CVHN; Centrality V0",505,0,101);
647 fHOutCentV0MCVLN= new TH1F("fHOutCentV0M_CVLN","fHOutCentV0M_CVLN; Centrality V0",505,0,101);
648 fHOutCentV0MCVHNinMB= new TH1F("fHOutCentV0M_CVHNinMB","fHOutCentV0M_CVHN; Centrality V0",505,0,101);
649 fHOutCentV0MCVLNinMB= new TH1F("fHOutCentV0M_CVLNinMB","fHOutCentV0M_CVLN; Centrality V0",505,0,101);
650 fHOutCentV0MCCENT= new TH1F("fHOutCentV0M_CCENT","fHOutCentV0M_CCENT; Centrality V0",505,0,101);
651 fHOutCentV0MCSEMI= new TH1F("fHOutCentV0M_CSEMI","fHOutCentV0M_CSEMI; Centrality V0",505,0,101);
652 fHOutCentV0MCCENTinMB= new TH1F("fHOutCentV0M_CCENTinMB","fHOutCentV0M_CCENT; Centrality V0",505,0,101);
653 fHOutCentV0MCSEMIinMB= new TH1F("fHOutCentV0M_CSEMIinMB","fHOutCentV0M_CSEMI; Centrality V0",505,0,101);
654 fHOutCentV0MMSL= new TH1F("fHOutCentV0M_MSL","fHOutCentV0M_MSL; Centrality V0",505,0,101);
655 fHOutCentV0MMSH= new TH1F("fHOutCentV0M_MSH","fHOutCentV0M_MSH; Centrality V0",505,0,101);
656 fHOutCentV0MMUL= new TH1F("fHOutCentV0M_MUL","fHOutCentV0M_MUL; Centrality V0",505,0,101);
657 fHOutCentV0MMLL= new TH1F("fHOutCentV0M_MLL","fHOutCentV0M_MLL; Centrality V0",505,0,101);
658 fHOutCentV0MEJE= new TH1F("fHOutCentV0M_EJE","fHOutCentV0M_EJE; Centrality V0",505,0,101);
659 fHOutCentV0MEGA= new TH1F("fHOutCentV0M_EGA","fHOutCentV0M_EGA; Centrality V0",505,0,101);
660 fHOutCentV0MPHS= new TH1F("fHOutCentV0M_PHS","fHOutCentV0M_PHS; Centrality V0",505,0,101);
661 fHOutCentV0MMSLinMB= new TH1F("fHOutCentV0M_MSLinMB","fHOutCentV0M_MSLinMB; Centrality V0",505,0,101);
662 fHOutCentV0MMSHinMB= new TH1F("fHOutCentV0M_MSHinMB","fHOutCentV0M_MSHinMB; Centrality V0",505,0,101);
663 fHOutCentV0MMULinMB= new TH1F("fHOutCentV0M_MULinMB","fHOutCentV0M_MULinMB; Centrality V0",505,0,101);
664 fHOutCentV0MMLLinMB= new TH1F("fHOutCentV0M_MLLinMB","fHOutCentV0M_MLLinMB; Centrality V0",505,0,101);
665 fHOutCentV0MEJEinMB= new TH1F("fHOutCentV0M_EJEinMB","fHOutCentV0M_EJEinMB; Centrality V0",505,0,101);
666 fHOutCentV0MEGAinMB= new TH1F("fHOutCentV0M_EGAinMB","fHOutCentV0M_EGAinMB; Centrality V0",505,0,101);
667 fHOutCentV0MPHSinMB= new TH1F("fHOutCentV0M_PHSinMB","fHOutCentV0M_PHSinMB; Centrality V0",505,0,101);
668 fHOutCentFMD = new TH1F("fHOutCentFMD","fHOutCentFMD; Centrality FMD",505,0,101);
669 fHOutCentTRK = new TH1F("fHOutCentTRK","fHOutCentTRK; Centrality TPC",505,0,101);
670 fHOutCentTKL = new TH1F("fHOutCentTKL","fHOutCentTKL; Centrality tracklets",505,0,101);
671 fHOutCentCL0 = new TH1F("fHOutCentCL0","fHOutCentCL0; Centrality SPD inner",505,0,101);
672 fHOutCentCL1 = new TH1F("fHOutCentCL1","fHOutCentCL1; Centrality SPD outer",505,0,101);
673 fHOutCentCND = new TH1F("fHOutCentCND","fHOutCentCND; Centrality candle",505,0,101);
674 fHOutCentNPA = new TH1F("fHOutCentNPA","fHOutCentNPA; Centrality candle",505,0,101);
675 fHOutCentV0MvsFMD= new TH1F("fHOutCentV0MvsFMD","fHOutCentV0MvsFMD; Centrality V0 vs FMD",505,0,101);
676 fHOutCentTKLvsV0M= new TH1F("fHOutCentTKLvsV0M","fHOutCentTKLvsV0M; Centrality tracklets vs V0",505,0,101);
677 fHOutCentZEMvsZDC= new TH1F("fHOutCentZEMvsZDC","fHOutCentZEMvsZDC; Centrality ZEM vs ZDC",505,0,101);
678 fHOutCentV0MvsCentCL1= new TH2F("fHOutCentV0MvsCentCL1","fHOutCentV0MvsCentCL1; Cent V0; Cent SPD",505,0,101,505,0,101);
679 fHOutCentV0MvsCentTRK= new TH2F("fHOutCentV0MvsCentTRK","fHOutCentV0MvsCentTRK; Cent V0; Cent TPC",505,0,101,505,0,101);
680 fHOutCentTRKvsCentCL1= new TH2F("fHOutCentTRKvsCentCL1","fHOutCentTRKvsCentCL1; Cent TPC; Cent SPD",505,0,101,505,0,101);
681 fHOutCentV0MvsCentZDC= new TH2F("fHOutCentV0MvsCentZDC","fHOutCentV0MvsCentZDC; Cent V0; Cent ZDC",505,0,101,505,0,101);
682 fHOutCentV0AvsCentV0C= new TH2F("fHOutCentV0AvsCentV0C","fHOutCentV0AvsCentV0C; Cent V0A; Cent V0C;", 505,0,101,505,0,101);
683 fHOutCentV0AvsCentTRK= new TH2F("fHOutCentV0AvsCentTRK","fHOutCentV0AvsCentTRK; Cent V0A; Cent TRK;", 505,0,101,505,0,101);
684 fHOutCentV0AvsCentCND= new TH2F("fHOutCentV0AvsCentCND","fHOutCentV0AvsCentCND; Cent V0A; Cent CND;", 505,0,101,505,0,101);
685 fHOutCentV0AvsCentCL1= new TH2F("fHOutCentV0AvsCentCL1","fHOutCentV0AvsCentCL1; Cent V0A; Cent CL1;", 505,0,101,505,0,101);
686 fHOutCentV0CvsCentTRK= new TH2F("fHOutCentV0CvsCentTRK","fHOutCentV0CvsCentTRK; Cent V0C; Cent TRK;", 505,0,101,505,0,101);
687 fHOutCentV0CvsCentCND= new TH2F("fHOutCentV0CvsCentCND","fHOutCentV0CvsCentCND; Cent V0C; Cent CND;", 505,0,101,505,0,101);
688 fHOutCentV0CvsCentCL1= new TH2F("fHOutCentV0CvsCentCL1","fHOutCentV0CvsCentCL1; Cent V0C; Cent CL1;", 505,0,101,505,0,101);
689 fHOutCentNPAvsCentV0A= new TH2F("fHOutCentNPAvsCentV0A","fHOutCentNPAvsCentV0A; Cent NPA; Cent V0A;", 505,0,101,505,0,101);
690 fHOutCentNPAvsCentV0C= new TH2F("fHOutCentNPAvsCentV0C","fHOutCentNPAvsCentV0C; Cent NPA; Cent V0C;", 505,0,101,505,0,101);
691 fHOutCentNPAvsCentTRK= new TH2F("fHOutCentNPAvsCentTRK","fHOutCentNPAvsCentTRK; Cent NPA; Cent TRK;", 505,0,101,505,0,101);
692 fHOutCentNPAvsCentCND= new TH2F("fHOutCentNPAvsCentCND","fHOutCentNPAvsCentCND; Cent NPA; Cent CND;", 505,0,101,505,0,101);
693 fHOutCentNPAvsCentCL1= new TH2F("fHOutCentNPAvsCentCL1","fHOutCentNPAvsCentCL1; Cent NPA; Cent CL1;", 505,0,101,505,0,101);
695 fHOutMultV0AC = new TH2F("fHOutMultV0AC","fHOutMultV0AC; Multiplicity V0A; Multiplicity V0C",1000,0,1000,1000,0,1000);
696 fHOutMultV0M = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,25000);
697 fHOutMultV0A = new TH1F("fHOutMultV0A","fHOutMultV0A; Multiplicity V0",25000,0,25000);
698 fHOutMultV0C = new TH1F("fHOutMultV0C","fHOutMultV0C; Multiplicity V0",25000,0,25000);
699 fHOutMultV0Mnc= new TH1F("fHOutMultV0Mnc","fHOutMultV0Mnc; Multiplicity V0",25000,0,25000);
700 fHOutMultV0Anc= new TH1F("fHOutMultV0Anc","fHOutMultV0Anc; Multiplicity V0",25000,0,25000);
701 fHOutMultV0Cnc= new TH1F("fHOutMultV0Cnc","fHOutMultV0Cnc; Multiplicity V0",25000,0,25000);
702 fHOutMultV0O = new TH1F("fHOutMultV0O","fHOutMultV0O; Multiplicity V0",40000,0,40000);
703 fHOutMultV0Cells = new TH2F("fHOutMultV0Cells","fHOutMultV0Cells",33,-0.5,32.5,33,-0.5,32.5);
704 fHOutMultFMD = new TH1F("fHOutMultFMD","fHOutMultFMD; Multiplicity FMD",24000,0,24000);
705 fHOutMultTRK = new TH1F("fHOutMultTRK","fHOutMultTRK; Multiplicity TPC",4000,0,4000);
706 fHOutMultTKL = new TH1F("fHOutMultTKL","fHOutMultTKL; Multiplicity tracklets",5000,0,5000);
707 fHOutMultCL0 = new TH1F("fHOutMultCL0","fHOutMultCL0; Multiplicity SPD inner",7000,0,7000);
708 fHOutMultCL1 = new TH1F("fHOutMultCL1","fHOutMultCL1; Multiplicity SPD outer",7000,0,7000);
709 fHOutMultCND = new TH1F("fHOutMultCND","fHOutMultCND; Multiplicity candle",4000,0,4000);
710 fHOutMultNPA = new TH1F("fHOutMultNPA","fHOutMultNPA; Nparticipants",450,0,450);
712 fHOutMultV0MvsZDN = new TH2F("fHOutMultV0MvsZDN","fHOutMultV0MvsZDN; Multiplicity V0; Energy ZDC-N",500,0,30000,500,0,180000);
713 fHOutMultZEMvsZDN = new TH2F("fHOutMultZEMvsZDN","fHOutMultZEMvsZDN; Energy ZEM; Energy ZDC-N",500,0,2500,500,0,180000);
714 fHOutMultV0MvsZDC = new TH2F("fHOutMultV0MvsZDC","fHOutMultV0MvsZDC; Multiplicity V0; Energy ZDC",500,0,30000,500,0,200000);
715 fHOutMultZEMvsZDC = new TH2F("fHOutMultZEMvsZDC","fHOutMultZEMvsZDC; Energy ZEM; Energy ZDC",500,0,2500,500,0,200000);
716 fHOutMultZEMvsZDCw = new TH2F("fHOutMultZEMvsZDCw","fHOutMultZEMvsZDCw; Energy ZEM; Energy ZDC (weigthed with V0 percentile)",500,0,2500,500,0,200000);
717 fHOutMultV0MvsCL1 = new TH2F("fHOutMultV0MvsCL1","fHOutMultV0MvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,30000,700,0,7000);
718 fHOutMultV0MvsTRK = new TH2F("fHOutMultV0MvsTRK","fHOutMultV0MvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,30000,400,0,4000);
719 fHOutMultTRKvsCL1 = new TH2F("fHOutMultTRKvsCL1","fHOutMultTRKvsCL1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
720 fHOutMultV0MvsV0O = new TH2F("fHOutMultV0MvsV0O","fHOutMultV0MvsV0O; Multiplicity V0; Multiplicity V0 Online",500,0,30000,500,0,40000);
721 fHOutMultV0OvsCL1 = new TH2F("fHOutMultV0OvsCL1","fHOutMultV0OvsCL1; Multiplicity V0; Multiplicity SPD outer",500,0,40000,700,0,7000);
722 fHOutMultV0OvsTRK = new TH2F("fHOutMultV0OvsTRK","fHOutMultV0OvsTRK; Multiplicity V0; Multiplicity TPC",500,0,40000,400,0,4000);
723 fHOutMultV0MvsV0O = new TH2F("fHOutMultV0MvsV0O","fHOutMultV0MvsV0O; Multiplicity V0; Multiplicity V0 Online",500,0,30000,500,0,30000);
724 fHOutMultV0OvsCL1 = new TH2F("fHOutMultV0OvsCL1","fHOutMultV0OvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,30000,700,0,7000);
725 fHOutMultV0OvsTRK = new TH2F("fHOutMultV0OvsTRK","fHOutMultV0OvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,30000,400,0,4000);
726 fHOutMultCL1vsTKL = new TH2F ("fHOutMultCL1vsTKL","fHOutMultCL1vsTKL; Multiplicity SPD outer; Multiplicity tracklets",700,0,7000,700,0,7000);
728 fHOutCentV0Mqual1 = new TH1F("fHOutCentV0M_qual1","fHOutCentV0M_qual1; Centrality V0",505,0,101);
729 fHOutCentTRKqual1 = new TH1F("fHOutCentTRK_qual1","fHOutCentTRK_qual1; Centrality TPC",505,0,101);
730 fHOutCentCL1qual1 = new TH1F("fHOutCentCL1_qual1","fHOutCentCL1_qual1; Centrality SPD outer",505,0,101);
731 fHOutMultV0MvsCL1qual1 = new TH2F("fHOutMultV0MvsCL1_qual1","fHOutMultV0MvsCL1_qual1; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000);
732 fHOutMultV0MvsTRKqual1 = new TH2F("fHOutMultV0MvsTRK_qual1","fHOutMultV0MvsTRK_qual1; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000);
733 fHOutMultTRKvsCL1qual1 = new TH2F("fHOutMultTRKvsCL1_qual1","fHOutMultTRKvsCL1_qual1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
735 fHOutCentV0Mqual2 = new TH1F("fHOutCentV0M_qual2","fHOutCentV0M_qual2; Centrality V0",505,0,101);
736 fHOutCentTRKqual2 = new TH1F("fHOutCentTRK_qual2","fHOutCentTRK_qual2; Centrality TPC",505,0,101);
737 fHOutCentCL1qual2 = new TH1F("fHOutCentCL1_qual2","fHOutCentCL1_qual2; Centrality SPD outer",505,0,101);
738 fHOutMultV0MvsCL1qual2 = new TH2F("fHOutMultV0MvsCL1_qual2","fHOutMultV0MvsCL1_qual2; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000);
739 fHOutMultV0MvsTRKqual2 = new TH2F("fHOutMultV0MvsTRK_qual2","fHOutMultV0MvsTRK_qual2; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000);
740 fHOutMultTRKvsCL1qual2 = new TH2F("fHOutMultTRKvsCL1_qual2","fHOutMultTRKvsCL1_qual2; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
742 fHOutQuality = new TH1F("fHOutQuality", "fHOutQuality", 100,-0.5,99.5);
743 fHOutVertex = new TH1F("fHOutVertex", "fHOutVertex", 100,-20,20);
744 fHOutVertexT0 = new TH1F("fHOutVertexT0", "fHOutVertexT0", 100,-20,20);
746 fOutputList->Add( fHOutCentV0M );
747 fOutputList->Add( fHOutCentV0A );
748 fOutputList->Add( fHOutCentV0C );
749 fOutputList->Add( fHOutCentV0MCVHN);
750 fOutputList->Add( fHOutCentV0MCVLN);
751 fOutputList->Add( fHOutCentV0MCVHNinMB);
752 fOutputList->Add( fHOutCentV0MCVLNinMB);
753 fOutputList->Add( fHOutCentV0MCCENT);
754 fOutputList->Add( fHOutCentV0MCSEMI);
755 fOutputList->Add( fHOutCentV0MCCENTinMB);
756 fOutputList->Add( fHOutCentV0MCSEMIinMB);
757 fOutputList->Add( fHOutCentV0MMSL );
758 fOutputList->Add( fHOutCentV0MMSH );
759 fOutputList->Add( fHOutCentV0MMUL );
760 fOutputList->Add( fHOutCentV0MMLL );
761 fOutputList->Add( fHOutCentV0MEJE );
762 fOutputList->Add( fHOutCentV0MEGA );
763 fOutputList->Add( fHOutCentV0MPHS );
764 fOutputList->Add( fHOutCentV0MMSLinMB);
765 fOutputList->Add( fHOutCentV0MMSHinMB);
766 fOutputList->Add( fHOutCentV0MMULinMB);
767 fOutputList->Add( fHOutCentV0MMLLinMB);
768 fOutputList->Add( fHOutCentV0MEJEinMB);
769 fOutputList->Add( fHOutCentV0MEGAinMB);
770 fOutputList->Add( fHOutCentV0MPHSinMB);
771 fOutputList->Add( fHOutCentFMD );
772 fOutputList->Add( fHOutCentTRK );
773 fOutputList->Add( fHOutCentTKL );
774 fOutputList->Add( fHOutCentCL0 );
775 fOutputList->Add( fHOutCentCL1 );
776 fOutputList->Add( fHOutCentCND );
777 fOutputList->Add( fHOutCentNPA );
778 fOutputList->Add( fHOutCentV0MvsFMD);
779 fOutputList->Add( fHOutCentTKLvsV0M);
780 fOutputList->Add( fHOutCentZEMvsZDC);
781 fOutputList->Add( fHOutCentV0MvsCentCL1);
782 fOutputList->Add( fHOutCentV0MvsCentTRK);
783 fOutputList->Add( fHOutCentTRKvsCentCL1);
784 fOutputList->Add( fHOutCentV0MvsCentZDC);
785 fOutputList->Add( fHOutCentV0AvsCentV0C);
786 fOutputList->Add( fHOutCentV0AvsCentTRK);
787 fOutputList->Add( fHOutCentV0AvsCentCND);
788 fOutputList->Add( fHOutCentV0AvsCentCL1);
789 fOutputList->Add( fHOutCentV0CvsCentTRK);
790 fOutputList->Add( fHOutCentV0CvsCentCND);
791 fOutputList->Add( fHOutCentV0CvsCentCL1);
792 fOutputList->Add( fHOutCentNPAvsCentV0A);
793 fOutputList->Add( fHOutCentNPAvsCentV0C);
794 fOutputList->Add( fHOutCentNPAvsCentTRK);
795 fOutputList->Add( fHOutCentNPAvsCentCND);
796 fOutputList->Add( fHOutCentNPAvsCentCL1);
798 fOutputList->Add( fHOutMultV0AC);
799 fOutputList->Add( fHOutMultV0M);
800 fOutputList->Add( fHOutMultV0A);
801 fOutputList->Add( fHOutMultV0C);
802 fOutputList->Add( fHOutMultV0Mnc);
803 fOutputList->Add( fHOutMultV0Anc);
804 fOutputList->Add( fHOutMultV0Cnc);
805 fOutputList->Add( fHOutMultV0O);
806 fOutputList->Add( fHOutMultV0Cells) ;
807 fOutputList->Add( fHOutMultFMD);
808 fOutputList->Add( fHOutMultTRK);
809 fOutputList->Add( fHOutMultTKL);
810 fOutputList->Add( fHOutMultCL0);
811 fOutputList->Add( fHOutMultCL1);
812 fOutputList->Add( fHOutMultCND);
813 fOutputList->Add( fHOutMultNPA);
814 fOutputList->Add( fHOutMultV0MvsZDN);
815 fOutputList->Add( fHOutMultZEMvsZDN);
816 fOutputList->Add( fHOutMultV0MvsZDC);
817 fOutputList->Add( fHOutMultZEMvsZDC);
818 fOutputList->Add( fHOutMultZEMvsZDCw);
819 fOutputList->Add( fHOutMultV0MvsCL1);
820 fOutputList->Add( fHOutMultV0MvsTRK);
821 fOutputList->Add( fHOutMultTRKvsCL1);
822 fOutputList->Add( fHOutMultV0MvsV0O);
823 fOutputList->Add( fHOutMultV0OvsCL1);
824 fOutputList->Add( fHOutMultV0OvsTRK);
825 fOutputList->Add( fHOutMultCL1vsTKL);
826 fOutputList->Add( fHOutCentV0Mqual1 );
827 fOutputList->Add( fHOutCentTRKqual1 );
828 fOutputList->Add( fHOutCentCL1qual1 );
829 fOutputList->Add( fHOutMultV0MvsCL1qual1);
830 fOutputList->Add( fHOutMultV0MvsTRKqual1);
831 fOutputList->Add( fHOutMultTRKvsCL1qual1);
832 fOutputList->Add( fHOutCentV0Mqual2 );
833 fOutputList->Add( fHOutCentTRKqual2 );
834 fOutputList->Add( fHOutCentCL1qual2 );
835 fOutputList->Add( fHOutMultV0MvsCL1qual2);
836 fOutputList->Add( fHOutMultV0MvsTRKqual2);
837 fOutputList->Add( fHOutMultTRKvsCL1qual2);
838 fOutputList->Add( fHOutQuality );
839 fOutputList->Add( fHOutVertex );
840 fOutputList->Add( fHOutVertexT0 );
842 PostData(1, fOutputList);
845 fTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
848 //________________________________________________________________________
849 void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
851 // Execute analysis for current event:
852 if(fDebug>1) printf(" **** AliCentralitySelectionTask::UserExec() \n");
854 Float_t zncEnergy = 0.; // ZNC Energy
855 Float_t zpcEnergy = 0.; // ZPC Energy
856 Float_t znaEnergy = 0.; // ZNA Energy
857 Float_t zpaEnergy = 0.; // ZPA Energy
858 Float_t zem1Energy = 0.; // ZEM1 Energy
859 Float_t zem2Energy = 0.; // ZEM2 Energy
860 Bool_t zdcEnergyCal = kFALSE; // if zdc is calibrated (in pass2)
862 Int_t nTracks = 0; // no. tracks
863 Int_t nTracklets = 0; // no. tracklets
864 Int_t nClusters[6] = {0}; // no. clusters on 6 ITS layers
865 Int_t nChips[2]; // no. chips on 2 SPD layers
866 Float_t spdCorr =0; // corrected spd2 multiplicity
867 Int_t multCND = 0; // no. tracks (candle condition)
869 Float_t multV0A = 0; // multiplicity from V0 reco side A
870 Float_t multV0C = 0; // multiplicity from V0 reco side C
871 Float_t multV0ACorr = 0; // multiplicity from V0 reco side A
872 Float_t multV0CCorr = 0; // multiplicity from V0 reco side C
873 Short_t multV0AOnline = 0; // multiplicity from V0 reco side A
874 Short_t multV0COnline = 0; // multiplicity from V0 reco side C
875 Float_t v0Corr = 0; // corrected V0 multiplicity (used for MC)
879 Float_t multFMDA = 0; // multiplicity from FMD on detector A
880 Float_t multFMDC = 0; // multiplicity from FMD on detector C
882 Float_t zvtx =0; // z-vertex SPD
883 Int_t zvtxNcont =0; // contributors to z-vertex SPD
885 Float_t zvtxT0 =0; // z-vertex T0
887 Int_t Npart =0; // N. of participants (true MC)
889 AliCentrality *esdCent = 0;
891 if(fAnalysisInput.CompareTo("ESD")==0){
893 AliVEvent* event = InputEvent();
894 AliESDEvent* esd = dynamic_cast<AliESDEvent*>(event);
896 AliError("No ESD Event");
902 if (SetupRun(esd)<0) {
903 AliError("Centrality File not available for this run");
907 esdCent = esd->GetCentrality();
910 const AliESDVertex* vtxESD = esd->GetPrimaryVertexSPD();
911 zvtx = vtxESD->GetZ();
912 zvtxNcont = vtxESD->GetNContributors();
915 AliESDVZERO* esdV0 = esd->GetVZEROData();
918 AliError("AliESDVZERO not available");
921 multV0A=esdV0->GetMTotV0A();
922 multV0C=esdV0->GetMTotV0C();
924 multV0ACorr = AliESDUtils::GetCorrV0A(multV0A,zvtx);
925 multV0CCorr = AliESDUtils::GetCorrV0C(multV0C,zvtx);
927 v0Corr = multV0A+multV0C;
929 multV0AOnline=esdV0->GetTriggerChargeA();
930 multV0COnline=esdV0->GetTriggerChargeC();
933 for(Int_t i = 0; i < 32; ++i) {
934 if (esdV0->GetBBFlag(i)) nV0C++;
935 if (esdV0->GetBBFlag(i+32)) nV0A++;
939 const AliESDTZERO* esdT0 = esd->GetESDTZERO();
942 AliError("AliESDTZERO not available");
945 Int_t trig=esdT0->GetT0Trig();
946 Bool_t kT0BB = kFALSE;
947 if(trig&1) kT0BB=kTRUE;
948 zvtxT0=esdT0->GetT0zVertex();
951 // ***** Trigger info
952 fIsSelected = ((esdV0->GetV0ADecision()==1) && (esdV0->GetV0CDecision()==1));
953 TString trigStr(esd->GetFiredTriggerClasses());
956 fCVHN=kFALSE; fCVLN=kFALSE; fCCENT=kFALSE; fCSEMI=kFALSE;
957 fMSL=kFALSE; fMSH=kFALSE; fMUL=kFALSE; fMLL=kFALSE;
958 fEJE=kFALSE; fEGA=kFALSE; fPHS=kFALSE;
960 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI")) && (fIsSelected))
962 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CVHN")) && (fIsSelected))
964 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CVLN")) && (fIsSelected))
966 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CCENT")) && (fIsSelected))
968 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CSEMI")) && (fIsSelected))
971 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MSL")) && (fIsSelected))
973 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MSH")) && (fIsSelected))
975 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MUL")) && (fIsSelected))
977 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1MLL")) && (fIsSelected))
979 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1EJE")) && (fIsSelected))
981 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1EGA")) && (fIsSelected))
983 if ( (trigStr.Contains("-B-")) && (trigStr.Contains("CPBI1PHS")) && (fIsSelected))
986 fCVHNbit=kFALSE; fCVLNbit=kFALSE; fCCENTbit=kFALSE; fCSEMIbit=kFALSE;
987 if (esdV0->GetTriggerBits() & (1<<8))
989 if (esdV0->GetTriggerBits() & (1<<6))
992 if (kT0BB && fCVHNbit)
994 if (kT0BB && fCVLNbit)
998 // ***** CB info (tracklets, clusters, chips)
999 //nTracks = event->GetNumberOfTracks();
1000 nTracks = fTrackCuts ? (Short_t)fTrackCuts->GetReferenceMultiplicity(esd,kTRUE):-1;
1001 Short_t nTrTPCcandle = 0;
1002 for (Int_t iTracks = 0; iTracks < esd->GetNumberOfTracks(); iTracks++) {
1003 AliESDtrack* track = esd->GetTrack(iTracks);
1004 if (!track) continue;
1005 if (track->Pt() > 0.5 && TMath::Abs(track->Eta()) < 0.8) nTrTPCcandle++;
1007 multCND = nTrTPCcandle;
1009 const AliMultiplicity *mult = esd->GetMultiplicity();
1010 nTracklets = mult->GetNumberOfTracklets();
1012 for(Int_t ilay=0; ilay<6; ilay++){
1013 nClusters[ilay] = mult->GetNumberOfITSClusters(ilay);
1016 for(Int_t ilay=0; ilay<2; ilay++){
1017 nChips[ilay] = mult->GetNumberOfFiredChips(ilay);
1020 spdCorr = AliESDUtils::GetCorrSPD2(nClusters[1],zvtx);
1023 AliESDFMD *fmd = esd->GetFMDData();
1024 Float_t totalMultA = 0;
1025 Float_t totalMultC = 0;
1026 const Float_t fFMDLowCut = 0.4;
1028 for(UShort_t det=1;det<=3;det++) {
1029 Int_t nRings = (det==1 ? 1 : 2);
1030 for (UShort_t ir = 0; ir < nRings; ir++) {
1031 Char_t ring = (ir == 0 ? 'I' : 'O');
1032 UShort_t nsec = (ir == 0 ? 20 : 40);
1033 UShort_t nstr = (ir == 0 ? 512 : 256);
1034 for(UShort_t sec =0; sec < nsec; sec++) {
1035 for(UShort_t strip = 0; strip < nstr; strip++) {
1037 Float_t fmdMult = fmd->Multiplicity(det,ring,sec,strip);
1038 if(fmdMult == 0 || fmdMult == AliESDFMD::kInvalidMult) continue;
1040 Float_t nParticles=0;
1042 if(fmdMult > fFMDLowCut) {
1046 if (det<3) totalMultA = totalMultA + nParticles;
1047 else totalMultC = totalMultC + nParticles;
1053 multFMDA = totalMultA;
1054 multFMDC = totalMultC;
1057 AliESDZDC *esdZDC = esd->GetESDZDC();
1058 zdcEnergyCal = esdZDC->AliESDZDC::TestBit(AliESDZDC::kEnergyCalibratedSignal);
1060 zncEnergy = (Float_t) (esdZDC->GetZDCN1Energy());
1061 zpcEnergy = (Float_t) (esdZDC->GetZDCP1Energy());
1062 znaEnergy = (Float_t) (esdZDC->GetZDCN2Energy());
1063 zpaEnergy = (Float_t) (esdZDC->GetZDCP2Energy());
1065 zncEnergy = (Float_t) (esdZDC->GetZDCN1Energy())/8.;
1066 zpcEnergy = (Float_t) (esdZDC->GetZDCP1Energy())/8.;
1067 znaEnergy = (Float_t) (esdZDC->GetZDCN2Energy())/8.;
1068 zpaEnergy = (Float_t) (esdZDC->GetZDCP2Energy())/8.;
1070 zem1Energy = (Float_t) (esdZDC->GetZDCEMEnergy(0))/8.;
1071 zem2Energy = (Float_t) (esdZDC->GetZDCEMEnergy(1))/8.;
1076 AliAnalysisManager* anMan = AliAnalysisManager::GetAnalysisManager();
1077 AliMCEventHandler* eventHandler = (AliMCEventHandler*)anMan->GetMCtruthEventHandler();
1079 AliMCEvent* mcEvent=0;
1080 if (fIsMCInput && eventHandler && (mcEvent=eventHandler->MCEvent()) && (stack=mcEvent->Stack())) {
1082 AliGenHijingEventHeader* hHijing=0;
1083 AliGenEventHeader* mcGenH = mcEvent->GenEventHeader();
1084 if (mcGenH->InheritsFrom(AliGenHijingEventHeader::Class())) {
1085 hHijing = (AliGenHijingEventHeader*)mcGenH;
1087 else if (mcGenH->InheritsFrom(AliGenCocktailEventHeader::Class())) {
1088 TList* headers = ((AliGenCocktailEventHeader*)mcGenH)->GetHeaders();
1089 hHijing = dynamic_cast<AliGenHijingEventHeader*>(headers->FindObject("Hijing"));
1092 Npart = hHijing->ProjectileParticipants()+hHijing->TargetParticipants();
1095 // now you really have a problem.
1100 else if(fAnalysisInput.CompareTo("AOD")==0){
1101 //AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
1102 // to be implemented
1103 printf(" AOD analysis not yet implemented!!!\n\n");
1107 // ***** Scaling for MC
1110 v0Corr = Short_t((multV0A+multV0C) * fV0MScaleFactorMC);
1112 // ***** Scaling for Data
1114 v0Corr = Short_t(v0Corr / fV0MScaleFactor);
1115 spdCorr = spdCorr / fSPDScaleFactor;
1116 nTracks = Int_t(nTracks / fTPCScaleFactor);
1119 // ***** Centrality Selection
1120 if(fHtempV0M) fCentV0M = fHtempV0M->GetBinContent(fHtempV0M->FindBin((v0Corr)));
1121 if(fHtempV0A) fCentV0A = fHtempV0A->GetBinContent(fHtempV0A->FindBin((multV0ACorr)));
1122 if(fHtempV0C) fCentV0C = fHtempV0C->GetBinContent(fHtempV0C->FindBin((multV0CCorr)));
1123 if(fHtempFMD) fCentFMD = fHtempFMD->GetBinContent(fHtempFMD->FindBin((multFMDA+multFMDC)));
1124 if(fHtempTRK) fCentTRK = fHtempTRK->GetBinContent(fHtempTRK->FindBin(nTracks));
1125 if(fHtempTKL) fCentTKL = fHtempTKL->GetBinContent(fHtempTKL->FindBin(nTracklets));
1126 if(fHtempCL0) fCentCL0 = fHtempCL0->GetBinContent(fHtempCL0->FindBin(nClusters[0]));
1127 if(fHtempCL1) fCentCL1 = fHtempCL1->GetBinContent(fHtempCL1->FindBin(spdCorr));
1128 if(fHtempCND) fCentCND = fHtempCND->GetBinContent(fHtempCND->FindBin(multCND));
1129 if(fHtempNPA) fCentNPA = fHtempNPA->GetBinContent(fHtempNPA->FindBin(Npart));
1131 if(fHtempV0MvsFMD) fCentV0MvsFMD = fHtempV0MvsFMD->GetBinContent(fHtempV0MvsFMD->FindBin((multV0A+multV0C)));
1132 if(fHtempTKLvsV0M) fCentTKLvsV0M = fHtempTKLvsV0M->GetBinContent(fHtempTKLvsV0M->FindBin(nTracklets));
1133 if(fHtempZEMvsZDC) fCentZEMvsZDC = fHtempZEMvsZDC->GetBinContent(fHtempZEMvsZDC->FindBin(zem1Energy+zem2Energy,zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
1141 if (TMath::Abs(zvtx)>fZVCut || zvtxNcont<1) fQuality += 1;
1143 // ***** outliers, skip in case of MC input
1146 if (IsOutlierV0MSPD(spdCorr, v0Corr, int(fCentV0M))) fQuality += 2;
1148 if (IsOutlierV0MTPC(nTracks, v0Corr, int(fCentV0M))) fQuality += 4;
1150 if (IsOutlierV0MZDC((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
1151 (zdcEnergyCal==kFALSE) ) fQuality += 8;
1152 if (IsOutlierV0MZDCECal((zncEnergy+znaEnergy+zpcEnergy+zpaEnergy), v0Corr) &&
1153 (zdcEnergyCal==kTRUE) ) fQuality += 8;
1161 esdCent->SetQuality(fQuality);
1162 esdCent->SetCentralityV0M(fCentV0M);
1163 esdCent->SetCentralityV0A(fCentV0A);
1164 esdCent->SetCentralityV0C(fCentV0C);
1165 esdCent->SetCentralityFMD(fCentFMD);
1166 esdCent->SetCentralityTRK(fCentTRK);
1167 esdCent->SetCentralityTKL(fCentTKL);
1168 esdCent->SetCentralityCL0(fCentCL0);
1169 esdCent->SetCentralityCL1(fCentCL1);
1170 esdCent->SetCentralityCND(fCentCND);
1171 esdCent->SetCentralityNPA(fCentNPA);
1172 esdCent->SetCentralityV0MvsFMD(fCentV0MvsFMD);
1173 esdCent->SetCentralityTKLvsV0M(fCentTKLvsV0M);
1174 esdCent->SetCentralityZEMvsZDC(fCentZEMvsZDC);
1177 // filling QA histograms
1179 if ((fMB) && (abs(zvtx)<10)) fHOutMultCL1vsTKL->Fill(spdCorr,nTracklets);
1181 if (fCVHN) fHOutCentV0MCVHN->Fill(fCentV0M);
1182 if (fCVLN) fHOutCentV0MCVLN->Fill(fCentV0M);
1183 if (fCCENT) fHOutCentV0MCCENT->Fill(fCentV0M);
1184 if (fCSEMI) fHOutCentV0MCSEMI->Fill(fCentV0M);
1185 if (fMSL) fHOutCentV0MMSL->Fill(fCentV0M);
1186 if (fMSH) fHOutCentV0MMSH->Fill(fCentV0M);
1187 if (fMUL) fHOutCentV0MMUL->Fill(fCentV0M);
1188 if (fMLL) fHOutCentV0MMLL->Fill(fCentV0M);
1189 if (fEJE) fHOutCentV0MEJE->Fill(fCentV0M);
1190 if (fEGA) fHOutCentV0MEGA->Fill(fCentV0M);
1191 if (fPHS) fHOutCentV0MPHS->Fill(fCentV0M);
1193 if (((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB) { // fill the QA histograms only for MB events!
1194 fHOutQuality->Fill(fQuality);
1195 fHOutVertex->Fill(zvtx);
1196 fHOutVertexT0->Fill(zvtxT0);
1199 fHOutCentV0M->Fill(fCentV0M);
1200 fHOutCentV0A->Fill(fCentV0A);
1201 fHOutCentV0C->Fill(fCentV0C);
1203 if (fCVHNbit) fHOutCentV0MCVHNinMB->Fill(fCentV0M);
1204 if (fCVLNbit) fHOutCentV0MCVLNinMB->Fill(fCentV0M);
1205 if (fCCENTbit) fHOutCentV0MCCENTinMB->Fill(fCentV0M);
1206 if (fCSEMIbit) fHOutCentV0MCSEMIinMB->Fill(fCentV0M);
1207 if (fMSL) fHOutCentV0MMSLinMB->Fill(fCentV0M);
1208 if (fMSH) fHOutCentV0MMSHinMB->Fill(fCentV0M);
1209 if (fMUL) fHOutCentV0MMULinMB->Fill(fCentV0M);
1210 if (fMLL) fHOutCentV0MMLLinMB->Fill(fCentV0M);
1211 if (fEJE) fHOutCentV0MEJEinMB->Fill(fCentV0M);
1212 if (fEGA) fHOutCentV0MEGAinMB->Fill(fCentV0M);
1213 if (fPHS) fHOutCentV0MPHSinMB->Fill(fCentV0M);
1215 fHOutCentFMD->Fill(fCentFMD);
1216 fHOutCentTRK->Fill(fCentTRK);
1217 fHOutCentTKL->Fill(fCentTKL);
1218 fHOutCentCL0->Fill(fCentCL0);
1219 fHOutCentCL1->Fill(fCentCL1);
1220 fHOutCentCND->Fill(fCentCND);
1221 fHOutCentNPA->Fill(fCentNPA);
1222 fHOutCentV0MvsFMD->Fill(fCentV0MvsFMD);
1223 fHOutCentTKLvsV0M->Fill(fCentTKLvsV0M);
1224 fHOutCentZEMvsZDC->Fill(fCentZEMvsZDC);
1225 fHOutCentV0MvsCentCL1->Fill(fCentV0M,fCentCL1);
1226 fHOutCentV0MvsCentTRK->Fill(fCentV0M,fCentTRK);
1227 fHOutCentTRKvsCentCL1->Fill(fCentTRK,fCentCL1);
1228 fHOutCentV0MvsCentZDC->Fill(fCentV0M,fCentZEMvsZDC);
1229 fHOutCentV0AvsCentV0C->Fill(fCentV0A,fCentV0C);
1230 fHOutCentV0AvsCentTRK->Fill(fCentV0A,fCentTRK);
1231 fHOutCentV0AvsCentCND->Fill(fCentV0A,fCentCND);
1232 fHOutCentV0AvsCentCL1->Fill(fCentV0A,fCentCL1);
1233 fHOutCentV0CvsCentTRK->Fill(fCentV0C,fCentTRK);
1234 fHOutCentV0CvsCentCND->Fill(fCentV0C,fCentCND);
1235 fHOutCentV0CvsCentCL1->Fill(fCentV0C,fCentCL1);
1236 fHOutCentNPAvsCentV0A->Fill(fCentNPA,fCentV0A);
1237 fHOutCentNPAvsCentV0C->Fill(fCentNPA,fCentV0C);
1238 fHOutCentNPAvsCentTRK->Fill(fCentNPA,fCentTRK);
1239 fHOutCentNPAvsCentCND->Fill(fCentNPA,fCentCND);
1240 fHOutCentNPAvsCentCL1->Fill(fCentNPA,fCentCL1);
1242 fHOutMultV0AC->Fill(multV0A,multV0C);
1243 fHOutMultV0M->Fill(multV0ACorr+multV0CCorr);
1244 fHOutMultV0A->Fill(multV0ACorr);
1245 fHOutMultV0C->Fill(multV0CCorr);
1246 fHOutMultV0Mnc->Fill(multV0A+multV0C);
1247 fHOutMultV0Anc->Fill(multV0A);
1248 fHOutMultV0Cnc->Fill(multV0C);
1249 fHOutMultV0O->Fill(multV0AOnline+multV0COnline);
1250 fHOutMultV0Cells->Fill(nV0A,nV0C);
1251 fHOutMultFMD->Fill(multFMDA+multFMDC);
1252 fHOutMultTRK->Fill(nTracks);
1253 fHOutMultTKL->Fill(nTracklets);
1254 fHOutMultCL0->Fill(nClusters[0]);
1255 fHOutMultCL1->Fill(spdCorr);
1256 fHOutMultCND->Fill(multCND);
1257 fHOutMultNPA->Fill(Npart);
1259 fHOutMultV0MvsZDN->Fill(v0Corr,(zncEnergy+znaEnergy));
1260 fHOutMultZEMvsZDN->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy));
1261 fHOutMultV0MvsZDC->Fill(v0Corr,(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
1262 fHOutMultZEMvsZDC->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
1263 fHOutMultZEMvsZDCw->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy),fCentV0M);
1264 fHOutMultV0MvsCL1->Fill(v0Corr,spdCorr);
1265 fHOutMultV0MvsTRK->Fill(v0Corr,nTracks);
1266 fHOutMultTRKvsCL1->Fill(nTracks,spdCorr);
1267 fHOutMultV0MvsV0O->Fill(v0Corr,(multV0AOnline+multV0COnline));
1268 fHOutMultV0OvsCL1->Fill((multV0AOnline+multV0COnline),spdCorr);
1269 fHOutMultV0OvsTRK->Fill((multV0AOnline+multV0COnline),nTracks);
1270 } else if (fQuality%2 == 0) {
1271 fHOutCentV0Mqual1->Fill(fCentV0M);
1272 fHOutCentTRKqual1->Fill(fCentTRK);
1273 fHOutCentCL1qual1->Fill(fCentCL1);
1274 fHOutMultV0MvsCL1qual1->Fill(v0Corr,spdCorr);
1275 fHOutMultV0MvsTRKqual1->Fill(v0Corr,nTracks);
1276 fHOutMultTRKvsCL1qual1->Fill(nTracks,spdCorr);
1278 fHOutCentV0Mqual2->Fill(fCentV0M);
1279 fHOutCentTRKqual2->Fill(fCentTRK);
1280 fHOutCentCL1qual2->Fill(fCentCL1);
1281 fHOutMultV0MvsCL1qual2->Fill(v0Corr,spdCorr);
1282 fHOutMultV0MvsTRKqual2->Fill(v0Corr,nTracks);
1283 fHOutMultTRKvsCL1qual2->Fill(nTracks,spdCorr);
1286 PostData(1, fOutputList);
1289 //________________________________________________________________________
1290 void AliCentralitySelectionTask::Terminate(Option_t */*option*/)
1292 // Terminate analysis
1294 //________________________________________________________________________
1295 Int_t AliCentralitySelectionTask::SetupRun(const AliESDEvent* const esd)
1297 // Setup files for run
1302 // check if something to be done
1303 if (fCurrentRun == esd->GetRunNumber())
1306 fCurrentRun = esd->GetRunNumber();
1308 TString fileName =(Form("%s/COMMON/CENTRALITY/data/centrality.root", AliAnalysisManager::GetOADBPath()));
1309 AliInfo(Form("Setup Centrality Selection for run %d with file %s\n",fCurrentRun,fileName.Data()));
1311 AliOADBContainer *con = new AliOADBContainer("OADB");
1312 con->InitFromFile(fileName,"Centrality");
1314 AliOADBCentrality* centOADB = 0;
1315 centOADB = (AliOADBCentrality*)(con->GetObject(fCurrentRun));
1317 AliWarning(Form("Centrality OADB does not exist for run %d, using Default \n",fCurrentRun ));
1318 centOADB = (AliOADBCentrality*)(con->GetDefaultObject("oadbDefault"));
1322 fUseScaling = centOADB->UseScaling();
1323 fUseCleaning = centOADB->UseCleaning();
1326 fZVCut = centOADB->ZVCut();
1327 fOutliersCut = centOADB->OutliersCut();
1329 // centrality histos
1330 fHtempV0M = centOADB->V0hist();
1331 fHtempV0A = centOADB->V0Ahist();
1332 fHtempV0C = centOADB->V0Chist();
1333 fHtempTRK = centOADB->TPChist();
1334 fHtempCL1 = centOADB->SPDhist();
1335 fHtempCND = centOADB->CNDhist();
1336 fHtempNPA = centOADB->NPAhist();
1337 fHtempZEMvsZDC = centOADB->ZEMvsZDChist();
1339 TString path = gSystem->ExpandPathName(fileName.Data());
1340 if (!fHtempV0M) AliWarning(Form("Calibration for V0M does not exist in %s", path.Data()));
1341 if (!fHtempV0A) AliWarning(Form("Calibration for V0A does not exist in %s", path.Data()));
1342 if (!fHtempV0C) AliWarning(Form("Calibration for V0C does not exist in %s", path.Data()));
1343 if (!fHtempTRK) AliWarning(Form("Calibration for TRK does not exist in %s", path.Data()));
1344 if (!fHtempCL1) AliWarning(Form("Calibration for CL1 does not exist in %s", path.Data()));
1345 if (!fHtempCND) AliWarning(Form("Calibration for CND does not exist in %s", path.Data()));
1346 if (!fHtempNPA) AliWarning(Form("Calibration for NPA does not exist in %s", path.Data()));
1347 if (!fHtempZEMvsZDC) AliWarning(Form("Calibration for ZEMvsZDC does not exist in %s", path.Data()));
1350 fV0MScaleFactor = centOADB->V0MScaleFactor();
1351 fSPDScaleFactor = centOADB->SPDScaleFactor();
1352 fTPCScaleFactor = centOADB->TPCScaleFactor();
1353 fV0MScaleFactorMC = centOADB->V0MScaleFactorMC();
1355 // outliers parameters
1356 fV0MSPDOutlierPar0 = centOADB->V0MSPDOutlierPar0();
1357 fV0MSPDOutlierPar1 = centOADB->V0MSPDOutlierPar1();
1358 fV0MTPCOutlierPar0 = centOADB->V0MTPCOutlierPar0();
1359 fV0MTPCOutlierPar1 = centOADB->V0MTPCOutlierPar1();
1361 fV0MSPDSigmaOutlierPar0 = centOADB->V0MSPDSigmaOutlierPar0();
1362 fV0MSPDSigmaOutlierPar1 = centOADB->V0MSPDSigmaOutlierPar1();
1363 fV0MSPDSigmaOutlierPar2 = centOADB->V0MSPDSigmaOutlierPar2();
1364 fV0MTPCSigmaOutlierPar0 = centOADB->V0MTPCSigmaOutlierPar0();
1365 fV0MTPCSigmaOutlierPar1 = centOADB->V0MTPCSigmaOutlierPar1();
1366 fV0MTPCSigmaOutlierPar2 = centOADB->V0MTPCSigmaOutlierPar2();
1368 fV0MZDCOutlierPar0 = centOADB->V0MZDCOutlierPar0();
1369 fV0MZDCOutlierPar1 = centOADB->V0MZDCOutlierPar1();
1370 fV0MZDCEcalOutlierPar0 = centOADB->V0MZDCEcalOutlierPar0();
1371 fV0MZDCEcalOutlierPar1 = centOADB->V0MZDCEcalOutlierPar1();
1380 //________________________________________________________________________
1381 Bool_t AliCentralitySelectionTask::IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const
1384 Float_t val = fV0MSPDOutlierPar0 + fV0MSPDOutlierPar1 * v0;
1385 Float_t spdSigma = fV0MSPDSigmaOutlierPar0 + fV0MSPDSigmaOutlierPar1*cent + fV0MSPDSigmaOutlierPar2*cent*cent;
1386 if ( TMath::Abs(spd-val) > fOutliersCut*spdSigma )
1392 //________________________________________________________________________
1393 Bool_t AliCentralitySelectionTask::IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const
1396 Float_t val = fV0MTPCOutlierPar0 + fV0MTPCOutlierPar1 * v0;
1397 Float_t tpcSigma = fV0MTPCSigmaOutlierPar0 + fV0MTPCSigmaOutlierPar1*cent + fV0MTPCSigmaOutlierPar2*cent*cent;
1398 if ( TMath::Abs(tracks-val) > fOutliersCut*tpcSigma )
1404 //________________________________________________________________________
1405 Bool_t AliCentralitySelectionTask::IsOutlierV0MZDC(Float_t zdc, Float_t v0) const
1408 Float_t val = fV0MZDCOutlierPar0 + fV0MZDCOutlierPar1 * v0;
1415 //________________________________________________________________________
1416 Bool_t AliCentralitySelectionTask::IsOutlierV0MZDCECal(Float_t zdc, Float_t v0) const
1419 Float_t val = fV0MZDCEcalOutlierPar0 + fV0MZDCEcalOutlierPar1 * v0;