centrality OADB updated for pA (Alberica)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Aug 2012 13:14:13 +0000 (13:14 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Aug 2012 13:14:13 +0000 (13:14 +0000)
ANALYSIS/AliCentralitySelectionTask.cxx
ANALYSIS/AliCentralitySelectionTask.h
OADB/AliOADBCentrality.h
STEER/STEERBase/AliCentrality.cxx
STEER/STEERBase/AliCentrality.h

index ebf8a76..743933f 100644 (file)
@@ -98,7 +98,7 @@ AliAnalysisTaskSE(),
   fV0MSPDSigmaOutlierPar2(0),  
   fV0MTPCSigmaOutlierPar0(0),  
   fV0MTPCSigmaOutlierPar1(0),  
-  fV0MTPCSigmaOutlierPar2(0),                                                     
+  fV0MTPCSigmaOutlierPar2(0),   
   fV0MZDCOutlierPar0(0),           
   fV0MZDCOutlierPar1(0),           
   fV0MZDCEcalOutlierPar0(0),   
@@ -115,6 +115,7 @@ AliAnalysisTaskSE(),
   fEJE(0),
   fEGA(0),
   fPHS(0),
+  fMB(0),
   fCVHN(0),
   fCVLN(0),
   fCVHNbit(0),
@@ -124,25 +125,33 @@ AliAnalysisTaskSE(),
   fCCENTbit(0),
   fCSEMIbit(0),
   fCentV0M(0),
+  fCentV0A(0),
+  fCentV0C(0),
   fCentFMD(0),
   fCentTRK(0),
   fCentTKL(0),
   fCentCL0(0),
   fCentCL1(0),
+  fCentCND(0),
   fCentV0MvsFMD(0),
   fCentTKLvsV0M(0),
   fCentZEMvsZDC(0),
   fHtempV0M(0),
+  fHtempV0A(0),
+  fHtempV0C(0),
   fHtempFMD(0),
   fHtempTRK(0),
   fHtempTKL(0),
   fHtempCL0(0),
   fHtempCL1(0),
+  fHtempCND(0),
   fHtempV0MvsFMD(0),
   fHtempTKLvsV0M(0),
   fHtempZEMvsZDC(0),
   fOutputList(0),
-  fHOutCentV0M     (0),
+  fHOutCentV0M    (0),
+  fHOutCentV0A    (0),
+  fHOutCentV0C    (0),
   fHOutCentV0MCVHN(0),
   fHOutCentV0MCVLN(0),
   fHOutCentV0MCVHNinMB(0),
@@ -170,6 +179,7 @@ AliAnalysisTaskSE(),
   fHOutCentTKL     (0),
   fHOutCentCL0     (0),
   fHOutCentCL1     (0),
+  fHOutCentCND     (0),
   fHOutCentV0MvsFMD(0),
   fHOutCentTKLvsV0M(0),
   fHOutCentZEMvsZDC(0),
@@ -177,13 +187,24 @@ AliAnalysisTaskSE(),
   fHOutCentV0MvsCentTRK(0),
   fHOutCentTRKvsCentCL1(0),
   fHOutCentV0MvsCentZDC(0),
+  fHOutCentV0AvsCentV0C(0),
+  fHOutCentV0AvsCentTRK(0),
+  fHOutCentV0AvsCentCND(0),
+  fHOutCentV0AvsCentCL1(0),
+  fHOutCentV0CvsCentTRK(0),
+  fHOutCentV0CvsCentCND(0),
+  fHOutCentV0CvsCentCL1(0),
+  fHOutMultV0AC(0),
   fHOutMultV0M(0),
+  fHOutMultV0A(0),
+  fHOutMultV0C(0),
   fHOutMultV0O(0),
   fHOutMultFMD(0),
   fHOutMultTRK(0),
   fHOutMultTKL(0),
   fHOutMultCL0(0),
   fHOutMultCL1(0),
+  fHOutMultCND(0),
   fHOutMultV0MvsZDN(0),
   fHOutMultZEMvsZDN(0),
   fHOutMultV0MvsZDC(0),
@@ -195,6 +216,7 @@ AliAnalysisTaskSE(),
   fHOutMultV0MvsV0O(0),
   fHOutMultV0OvsCL1(0),
   fHOutMultV0OvsTRK(0),
+  fHOutMultCL1vsTKL(0),
   fHOutCentV0Mqual1(0),
   fHOutCentTRKqual1(0),
   fHOutCentCL1qual1(0),
@@ -243,7 +265,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fV0MSPDSigmaOutlierPar2(0),  
   fV0MTPCSigmaOutlierPar0(0),  
   fV0MTPCSigmaOutlierPar1(0),  
-  fV0MTPCSigmaOutlierPar2(0),
+  fV0MTPCSigmaOutlierPar2(0),   
   fV0MZDCOutlierPar0(0),           
   fV0MZDCOutlierPar1(0),           
   fV0MZDCEcalOutlierPar0(0),   
@@ -260,6 +282,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fEJE(0),
   fEGA(0),
   fPHS(0),
+  fMB(0),
   fCVHN(0),
   fCVLN(0),
   fCVHNbit(0),
@@ -269,25 +292,33 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fCCENTbit(0),
   fCSEMIbit(0),
   fCentV0M(0),
+  fCentV0A(0),
+  fCentV0C(0),
   fCentFMD(0),
   fCentTRK(0),
   fCentTKL(0),
   fCentCL0(0),
   fCentCL1(0),
+  fCentCND(0),
   fCentV0MvsFMD(0),
   fCentTKLvsV0M(0),
   fCentZEMvsZDC(0),
   fHtempV0M(0),
+  fHtempV0A(0),
+  fHtempV0C(0),
   fHtempFMD(0),
   fHtempTRK(0),
   fHtempTKL(0),
   fHtempCL0(0),
   fHtempCL1(0),
+  fHtempCND(0),
   fHtempV0MvsFMD(0),
   fHtempTKLvsV0M(0),
   fHtempZEMvsZDC(0),
   fOutputList(0),
-  fHOutCentV0M     (0),
+  fHOutCentV0M    (0),
+  fHOutCentV0A    (0),
+  fHOutCentV0C    (0),
   fHOutCentV0MCVHN(0),
   fHOutCentV0MCVLN(0),
   fHOutCentV0MCVHNinMB(0),
@@ -315,6 +346,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHOutCentTKL     (0),
   fHOutCentCL0     (0),
   fHOutCentCL1     (0),
+  fHOutCentCND     (0),
   fHOutCentV0MvsFMD(0),
   fHOutCentTKLvsV0M(0),
   fHOutCentZEMvsZDC(0),
@@ -322,13 +354,24 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHOutCentV0MvsCentTRK(0),
   fHOutCentTRKvsCentCL1(0),
   fHOutCentV0MvsCentZDC(0),
+  fHOutCentV0AvsCentV0C(0),
+  fHOutCentV0AvsCentTRK(0),
+  fHOutCentV0AvsCentCND(0),
+  fHOutCentV0AvsCentCL1(0),
+  fHOutCentV0CvsCentTRK(0),
+  fHOutCentV0CvsCentCND(0),
+  fHOutCentV0CvsCentCL1(0),
+  fHOutMultV0AC(0),
   fHOutMultV0M(0),
+  fHOutMultV0A(0),
+  fHOutMultV0C(0),
   fHOutMultV0O(0),
   fHOutMultFMD(0),
   fHOutMultTRK(0),
   fHOutMultTKL(0),
   fHOutMultCL0(0),
   fHOutMultCL1(0),
+  fHOutMultCND(0),
   fHOutMultV0MvsZDN(0),
   fHOutMultZEMvsZDN(0),
   fHOutMultV0MvsZDC(0),
@@ -340,6 +383,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHOutMultV0MvsV0O(0),
   fHOutMultV0OvsCL1(0),
   fHOutMultV0OvsTRK(0),
+  fHOutMultCL1vsTKL(0),
   fHOutCentV0Mqual1(0),
   fHOutCentTRKqual1(0),
   fHOutCentCL1qual1(0),
@@ -415,6 +459,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fEJE(ana.fEJE),
   fEGA(ana.fEGA),
   fPHS(ana.fPHS),
+  fMB(ana.fMB),
   fCVHN(ana.fCVHN),
   fCVLN(ana.fCVLN),
   fCVHNbit(ana.fCVHNbit),
@@ -424,25 +469,33 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fCCENTbit(ana.fCCENTbit),
   fCSEMIbit(ana.fCSEMIbit),
   fCentV0M(ana.fCentV0M),
+  fCentV0A(ana.fCentV0A),
+  fCentV0C(ana.fCentV0C),
   fCentFMD(ana.fCentFMD),
   fCentTRK(ana.fCentTRK),
   fCentTKL(ana.fCentTKL),
   fCentCL0(ana.fCentCL0),
   fCentCL1(ana.fCentCL1),
+  fCentCND(ana.fCentCND),
   fCentV0MvsFMD(ana.fCentV0MvsFMD),
   fCentTKLvsV0M(ana.fCentTKLvsV0M),
   fCentZEMvsZDC(ana.fCentZEMvsZDC),
   fHtempV0M(ana.fHtempV0M),
+  fHtempV0A(ana.fHtempV0A),
+  fHtempV0C(ana.fHtempV0C),
   fHtempFMD(ana.fHtempFMD),
   fHtempTRK(ana.fHtempTRK),
   fHtempTKL(ana.fHtempTKL),
   fHtempCL0(ana.fHtempCL0),
   fHtempCL1(ana.fHtempCL1),
+  fHtempCND(ana.fHtempCND),
   fHtempV0MvsFMD(ana.fHtempV0MvsFMD),
   fHtempTKLvsV0M(ana.fHtempTKLvsV0M),
   fHtempZEMvsZDC(ana.fHtempZEMvsZDC),
   fOutputList(ana.fOutputList),
-  fHOutCentV0M     (ana.fHOutCentV0M     ),
+  fHOutCentV0M    (ana.fHOutCentV0M    ),
+  fHOutCentV0A    (ana.fHOutCentV0A    ),
+  fHOutCentV0C    (ana.fHOutCentV0C    ),
   fHOutCentV0MCVHN(ana.fHOutCentV0MCVHN),
   fHOutCentV0MCVLN(ana.fHOutCentV0MCVLN),
   fHOutCentV0MCVHNinMB(ana.fHOutCentV0MCVHNinMB),
@@ -470,6 +523,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHOutCentTKL     (ana.fHOutCentTKL     ),
   fHOutCentCL0     (ana.fHOutCentCL0     ),
   fHOutCentCL1     (ana.fHOutCentCL1     ),
+  fHOutCentCND     (ana.fHOutCentCND     ),
   fHOutCentV0MvsFMD(ana.fHOutCentV0MvsFMD),
   fHOutCentTKLvsV0M(ana.fHOutCentTKLvsV0M),
   fHOutCentZEMvsZDC(ana.fHOutCentZEMvsZDC),
@@ -477,13 +531,24 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHOutCentV0MvsCentTRK(ana.fHOutCentV0MvsCentTRK),
   fHOutCentTRKvsCentCL1(ana.fHOutCentTRKvsCentCL1),
   fHOutCentV0MvsCentZDC(ana.fHOutCentV0MvsCentZDC),
+  fHOutCentV0AvsCentV0C(ana.fHOutCentV0AvsCentV0C),
+  fHOutCentV0AvsCentTRK(ana.fHOutCentV0AvsCentTRK),
+  fHOutCentV0AvsCentCND(ana.fHOutCentV0AvsCentCND),
+  fHOutCentV0AvsCentCL1(ana.fHOutCentV0AvsCentCL1),
+  fHOutCentV0CvsCentTRK(ana.fHOutCentV0CvsCentTRK),
+  fHOutCentV0CvsCentCND(ana.fHOutCentV0CvsCentCND),
+  fHOutCentV0CvsCentCL1(ana.fHOutCentV0CvsCentCL1),
+  fHOutMultV0AC(ana.fHOutMultV0AC),
   fHOutMultV0M(ana.fHOutMultV0M),
+  fHOutMultV0A(ana.fHOutMultV0A),
+  fHOutMultV0C(ana.fHOutMultV0C),
   fHOutMultV0O(ana.fHOutMultV0O),
   fHOutMultFMD(ana.fHOutMultFMD),
   fHOutMultTRK(ana.fHOutMultTRK),
   fHOutMultTKL(ana.fHOutMultTKL),
   fHOutMultCL0(ana.fHOutMultCL0),
   fHOutMultCL1(ana.fHOutMultCL1),
+  fHOutMultCND(ana.fHOutMultCND),
   fHOutMultV0MvsZDN(ana.fHOutMultV0MvsZDN),
   fHOutMultZEMvsZDN(ana.fHOutMultZEMvsZDN),
   fHOutMultV0MvsZDC(ana.fHOutMultV0MvsZDC),
@@ -495,6 +560,7 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHOutMultV0MvsV0O(ana.fHOutMultV0MvsV0O),
   fHOutMultV0OvsCL1(ana.fHOutMultV0OvsCL1),
   fHOutMultV0OvsTRK(ana.fHOutMultV0OvsTRK),
+  fHOutMultCL1vsTKL(ana.fHOutMultCL1vsTKL),
   fHOutCentV0Mqual1(ana.fHOutCentV0Mqual1),
   fHOutCentTRKqual1(ana.fHOutCentTRKqual1),
   fHOutCentCL1qual1(ana.fHOutCentCL1qual1),
@@ -534,6 +600,8 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList = new TList();
     fOutputList->SetOwner();
     fHOutCentV0M     = new TH1F("fHOutCentV0M","fHOutCentV0M; Centrality V0",505,0,101);
+    fHOutCentV0A    = new TH1F("fHOutCentV0A","fHOutCentV0A; Centrality V0A",505,0,101);
+    fHOutCentV0C    = new TH1F("fHOutCentV0C","fHOutCentV0C; Centrality V0C",505,0,101);
     fHOutCentV0MCVHN= new TH1F("fHOutCentV0M_CVHN","fHOutCentV0M_CVHN; Centrality V0",505,0,101);
     fHOutCentV0MCVLN= new TH1F("fHOutCentV0M_CVLN","fHOutCentV0M_CVLN; Centrality V0",505,0,101);
     fHOutCentV0MCVHNinMB= new TH1F("fHOutCentV0M_CVHNinMB","fHOutCentV0M_CVHN; Centrality V0",505,0,101);
@@ -561,6 +629,7 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutCentTKL     = new TH1F("fHOutCentTKL","fHOutCentTKL; Centrality tracklets",505,0,101);
     fHOutCentCL0     = new TH1F("fHOutCentCL0","fHOutCentCL0; Centrality SPD inner",505,0,101);
     fHOutCentCL1     = new TH1F("fHOutCentCL1","fHOutCentCL1; Centrality SPD outer",505,0,101);
+    fHOutCentCND     = new TH1F("fHOutCentCND","fHOutCentCND; Centrality candle",505,0,101);
     fHOutCentV0MvsFMD= new TH1F("fHOutCentV0MvsFMD","fHOutCentV0MvsFMD; Centrality V0 vs FMD",505,0,101);
     fHOutCentTKLvsV0M= new TH1F("fHOutCentTKLvsV0M","fHOutCentTKLvsV0M; Centrality tracklets vs V0",505,0,101);
     fHOutCentZEMvsZDC= new TH1F("fHOutCentZEMvsZDC","fHOutCentZEMvsZDC; Centrality ZEM vs ZDC",505,0,101);
@@ -568,13 +637,26 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutCentV0MvsCentTRK= new TH2F("fHOutCentV0MvsCentTRK","fHOutCentV0MvsCentTRK; Cent V0; Cent TPC",505,0,101,505,0,101);
     fHOutCentTRKvsCentCL1= new TH2F("fHOutCentTRKvsCentCL1","fHOutCentTRKvsCentCL1; Cent TPC; Cent SPD",505,0,101,505,0,101);
     fHOutCentV0MvsCentZDC= new TH2F("fHOutCentV0MvsCentZDC","fHOutCentV0MvsCentZDC; Cent V0; Cent ZDC",505,0,101,505,0,101);
-    fHOutMultV0M = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,30000);
-    fHOutMultV0O = new TH1F("fHOutMultV0O","fHOutMultV0O; Multiplicity V0",40000,0,40000);
+    fHOutCentV0AvsCentV0C= new TH2F("fHOutCentV0AvsCentV0C","fHOutCentV0AvsCentV0C; Cent V0A; Cent V0C;", 505,0,101,505,0,101);
+    fHOutCentV0AvsCentTRK= new TH2F("fHOutCentV0AvsCentTRK","fHOutCentV0AvsCentTRK; Cent V0A; Cent TRK;", 505,0,101,505,0,101);
+    fHOutCentV0AvsCentCND= new TH2F("fHOutCentV0AvsCentCND","fHOutCentV0AvsCentCND; Cent V0A; Cent CND;", 505,0,101,505,0,101);
+    fHOutCentV0AvsCentCL1= new TH2F("fHOutCentV0AvsCentCL1","fHOutCentV0AvsCentCL1; Cent V0A; Cent CL1;", 505,0,101,505,0,101);
+    fHOutCentV0CvsCentTRK= new TH2F("fHOutCentV0CvsCentTRK","fHOutCentV0CvsCentTRK; Cent V0C; Cent TRK;", 505,0,101,505,0,101);
+    fHOutCentV0CvsCentCND= new TH2F("fHOutCentV0CvsCentCND","fHOutCentV0CvsCentCND; Cent V0C; Cent CND;", 505,0,101,505,0,101);
+    fHOutCentV0CvsCentCL1= new TH2F("fHOutCentV0CvsCentCL1","fHOutCentV0CvsCentCL1; Cent V0C; Cent CL1;", 505,0,101,505,0,101);
+
+    fHOutMultV0AC = new TH2F("fHOutMultV0AC","fHOutMultV0AC; Multiplicity V0A; Multiplicity V0C",1000,0,1000,1000,0,1000);
+    fHOutMultV0M  = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,25000);
+    fHOutMultV0A  = new TH1F("fHOutMultV0A","fHOutMultV0A; Multiplicity V0",25000,0,25000);
+    fHOutMultV0C  = new TH1F("fHOutMultV0C","fHOutMultV0C; Multiplicity V0",25000,0,25000);
+    fHOutMultV0O  = new TH1F("fHOutMultV0O","fHOutMultV0O; Multiplicity V0",40000,0,40000);
     fHOutMultFMD = new TH1F("fHOutMultFMD","fHOutMultFMD; Multiplicity FMD",24000,0,24000);
     fHOutMultTRK = new TH1F("fHOutMultTRK","fHOutMultTRK; Multiplicity TPC",4000,0,4000);
     fHOutMultTKL = new TH1F("fHOutMultTKL","fHOutMultTKL; Multiplicity tracklets",5000,0,5000);
     fHOutMultCL0 = new TH1F("fHOutMultCL0","fHOutMultCL0; Multiplicity SPD inner",7000,0,7000);
     fHOutMultCL1 = new TH1F("fHOutMultCL1","fHOutMultCL1; Multiplicity SPD outer",7000,0,7000);
+    fHOutMultCND = new TH1F("fHOutMultCND","fHOutMultCND; Multiplicity candle",4000,0,4000);
+
     fHOutMultV0MvsZDN = new TH2F("fHOutMultV0MvsZDN","fHOutMultV0MvsZDN; Multiplicity V0; Energy ZDC-N",500,0,30000,500,0,180000);
     fHOutMultZEMvsZDN = new TH2F("fHOutMultZEMvsZDN","fHOutMultZEMvsZDN; Energy ZEM; Energy ZDC-N",500,0,2500,500,0,180000);
     fHOutMultV0MvsZDC = new TH2F("fHOutMultV0MvsZDC","fHOutMultV0MvsZDC; Multiplicity V0; Energy ZDC",500,0,30000,500,0,200000);
@@ -589,6 +671,7 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutMultV0MvsV0O = new TH2F("fHOutMultV0MvsV0O","fHOutMultV0MvsV0O; Multiplicity V0; Multiplicity V0 Online",500,0,30000,500,0,30000);
     fHOutMultV0OvsCL1 = new TH2F("fHOutMultV0OvsCL1","fHOutMultV0OvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,30000,700,0,7000);
     fHOutMultV0OvsTRK = new TH2F("fHOutMultV0OvsTRK","fHOutMultV0OvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,30000,400,0,4000);
+    fHOutMultCL1vsTKL = new TH2F ("fHOutMultCL1vsTKL","fHOutMultCL1vsTKL; Multiplicity SPD outer; Multiplicity tracklets",700,0,7000,700,0,7000);
     
     fHOutCentV0Mqual1 = new TH1F("fHOutCentV0M_qual1","fHOutCentV0M_qual1; Centrality V0",505,0,101);
     fHOutCentTRKqual1 = new TH1F("fHOutCentTRK_qual1","fHOutCentTRK_qual1; Centrality TPC",505,0,101);
@@ -608,7 +691,9 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutVertex  = new TH1F("fHOutVertex", "fHOutVertex", 100,-20,20);
     fHOutVertexT0  = new TH1F("fHOutVertexT0", "fHOutVertexT0", 100,-20,20);
   
-    fOutputList->Add(  fHOutCentV0M     );
+    fOutputList->Add(  fHOutCentV0M    );
+    fOutputList->Add(  fHOutCentV0A    );
+    fOutputList->Add(  fHOutCentV0C    );
     fOutputList->Add(  fHOutCentV0MCVHN);
     fOutputList->Add(  fHOutCentV0MCVLN);
     fOutputList->Add(  fHOutCentV0MCVHNinMB);
@@ -636,6 +721,7 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList->Add(  fHOutCentTKL     );
     fOutputList->Add(  fHOutCentCL0     );
     fOutputList->Add(  fHOutCentCL1     );
+    fOutputList->Add(  fHOutCentCND     );
     fOutputList->Add(  fHOutCentV0MvsFMD);
     fOutputList->Add(  fHOutCentTKLvsV0M);
     fOutputList->Add(  fHOutCentZEMvsZDC);
@@ -643,13 +729,24 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList->Add(  fHOutCentV0MvsCentTRK);
     fOutputList->Add(  fHOutCentTRKvsCentCL1);
     fOutputList->Add(  fHOutCentV0MvsCentZDC);
+    fOutputList->Add(  fHOutCentV0AvsCentV0C);
+    fOutputList->Add(  fHOutCentV0AvsCentTRK);
+    fOutputList->Add(  fHOutCentV0AvsCentCND);
+    fOutputList->Add(  fHOutCentV0AvsCentCL1);
+    fOutputList->Add(  fHOutCentV0CvsCentTRK);
+    fOutputList->Add(  fHOutCentV0CvsCentCND);
+    fOutputList->Add(  fHOutCentV0CvsCentCL1);
+    fOutputList->Add(  fHOutMultV0AC); 
     fOutputList->Add(  fHOutMultV0M); 
+    fOutputList->Add(  fHOutMultV0A); 
+    fOutputList->Add(  fHOutMultV0C); 
     fOutputList->Add(  fHOutMultV0O); 
     fOutputList->Add(  fHOutMultFMD); 
     fOutputList->Add(  fHOutMultTRK); 
     fOutputList->Add(  fHOutMultTKL); 
     fOutputList->Add(  fHOutMultCL0); 
     fOutputList->Add(  fHOutMultCL1); 
+    fOutputList->Add(  fHOutMultCND); 
     fOutputList->Add(  fHOutMultV0MvsZDN);
     fOutputList->Add(  fHOutMultZEMvsZDN);
     fOutputList->Add(  fHOutMultV0MvsZDC);
@@ -661,6 +758,7 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList->Add(  fHOutMultV0MvsV0O);
     fOutputList->Add(  fHOutMultV0OvsCL1);
     fOutputList->Add(  fHOutMultV0OvsTRK);
+    fOutputList->Add(  fHOutMultCL1vsTKL);
     fOutputList->Add(  fHOutCentV0Mqual1 );
     fOutputList->Add(  fHOutCentTRKqual1 );
     fOutputList->Add(  fHOutCentCL1qual1 );                   
@@ -702,6 +800,7 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
   Int_t    nClusters[6] = {0};      //  no. clusters on 6 ITS layers
   Int_t    nChips[2];               //  no. chips on 2 SPD layers
   Float_t  spdCorr =0;              //  corrected spd2 multiplicity
+  Int_t    multCND = 0;             //  no. tracks (candle condition)
 
   Float_t  multV0A  = 0;            //  multiplicity from V0 reco side A
   Float_t  multV0C  = 0;            //  multiplicity from V0 reco side C
@@ -769,10 +868,13 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
     fIsSelected = ((esdV0->GetV0ADecision()==1) && (esdV0->GetV0CDecision()==1));
     TString trigStr(esd->GetFiredTriggerClasses());
     
+    fMB=kFALSE;
     fCVHN=kFALSE; fCVLN=kFALSE; fCCENT=kFALSE; fCSEMI=kFALSE; 
     fMSL=kFALSE;  fMSH=kFALSE;  fMUL=kFALSE;   fMLL=kFALSE;
     fEJE=kFALSE;  fEGA=kFALSE;  fPHS=kFALSE;
 
+    if ( (trigStr.Contains("-B-")) &&  (trigStr.Contains("CPBI")) && (fIsSelected)) 
+      fMB=kTRUE;
     if ( (trigStr.Contains("-B-")) &&  (trigStr.Contains("CVHN")) && (fIsSelected)) 
       fCVHN=kTRUE;
     if ( (trigStr.Contains("-B-")) &&  (trigStr.Contains("CVLN")) && (fIsSelected))
@@ -817,9 +919,15 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
     // ***** CB info (tracklets, clusters, chips)
     //nTracks    = event->GetNumberOfTracks();     
     nTracks    = fTrackCuts ? (Short_t)fTrackCuts->GetReferenceMultiplicity(esd,kTRUE):-1;
+    Short_t nTrTPCcandle = 0;
+    for (Int_t iTracks = 0; iTracks < esd->GetNumberOfTracks(); iTracks++) {
+      AliESDtrack* track = esd->GetTrack(iTracks);
+      if (!track) continue;
+      if (track->Pt() > 0.5 && TMath::Abs(track->Eta()) < 0.8) nTrTPCcandle++;
+    } 
+    multCND = nTrTPCcandle;
 
     const AliMultiplicity *mult = esd->GetMultiplicity();
-
     nTracklets = mult->GetNumberOfTracklets();
 
     for(Int_t ilay=0; ilay<6; ilay++){
@@ -906,11 +1014,14 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
 
   // ***** Centrality Selection
   if(fHtempV0M) fCentV0M = fHtempV0M->GetBinContent(fHtempV0M->FindBin((v0Corr)));
+  if(fHtempV0A) fCentV0A = fHtempV0A->GetBinContent(fHtempV0A->FindBin((multV0A)));
+  if(fHtempV0C) fCentV0C = fHtempV0C->GetBinContent(fHtempV0C->FindBin((multV0C)));
   if(fHtempFMD) fCentFMD = fHtempFMD->GetBinContent(fHtempFMD->FindBin((multFMDA+multFMDC)));
   if(fHtempTRK) fCentTRK = fHtempTRK->GetBinContent(fHtempTRK->FindBin(nTracks));
   if(fHtempTKL) fCentTKL = fHtempTKL->GetBinContent(fHtempTKL->FindBin(nTracklets));
   if(fHtempCL0) fCentCL0 = fHtempCL0->GetBinContent(fHtempCL0->FindBin(nClusters[0]));
   if(fHtempCL1) fCentCL1 = fHtempCL1->GetBinContent(fHtempCL1->FindBin(spdCorr));
+  if(fHtempCND) fCentCND = fHtempCND->GetBinContent(fHtempCND->FindBin(multCND));
 
   if(fHtempV0MvsFMD) fCentV0MvsFMD = fHtempV0MvsFMD->GetBinContent(fHtempV0MvsFMD->FindBin((multV0A+multV0C)));
   if(fHtempTKLvsV0M) fCentTKLvsV0M = fHtempTKLvsV0M->GetBinContent(fHtempTKLvsV0M->FindBin(nTracklets));
@@ -944,11 +1055,14 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
   if (esdCent) {
     esdCent->SetQuality(fQuality);
     esdCent->SetCentralityV0M(fCentV0M);
+    esdCent->SetCentralityV0A(fCentV0A);
+    esdCent->SetCentralityV0C(fCentV0C);
     esdCent->SetCentralityFMD(fCentFMD);
     esdCent->SetCentralityTRK(fCentTRK);
     esdCent->SetCentralityTKL(fCentTKL);
     esdCent->SetCentralityCL0(fCentCL0);
     esdCent->SetCentralityCL1(fCentCL1);
+    esdCent->SetCentralityCND(fCentCND);
     esdCent->SetCentralityV0MvsFMD(fCentV0MvsFMD);
     esdCent->SetCentralityTKLvsV0M(fCentTKLvsV0M);
     esdCent->SetCentralityZEMvsZDC(fCentZEMvsZDC);
@@ -956,6 +1070,8 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
 
   // filling QA histograms
   if (fFillHistos) {    
+    if ((fMB) && (abs(zvtx)<10))       fHOutMultCL1vsTKL->Fill(spdCorr,nTracklets);
+
     if (fCVHN)   fHOutCentV0MCVHN->Fill(fCentV0M);
     if (fCVLN)   fHOutCentV0MCVLN->Fill(fCentV0M);
     if (fCCENT)  fHOutCentV0MCCENT->Fill(fCentV0M);
@@ -975,6 +1091,8 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
       
       if (fQuality==0) {  
        fHOutCentV0M->Fill(fCentV0M);
+       fHOutCentV0A->Fill(fCentV0A);
+       fHOutCentV0C->Fill(fCentV0C);
        
        if (fCVHNbit)  fHOutCentV0MCVHNinMB->Fill(fCentV0M);
        if (fCVLNbit)  fHOutCentV0MCVLNinMB->Fill(fCentV0M);
@@ -987,13 +1105,13 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
        if (fEJE) fHOutCentV0MEJEinMB->Fill(fCentV0M);
        if (fEGA) fHOutCentV0MEGAinMB->Fill(fCentV0M);
        if (fPHS) fHOutCentV0MPHSinMB->Fill(fCentV0M);
-       
-       
+               
        fHOutCentFMD->Fill(fCentFMD);
        fHOutCentTRK->Fill(fCentTRK);
        fHOutCentTKL->Fill(fCentTKL);
        fHOutCentCL0->Fill(fCentCL0);
        fHOutCentCL1->Fill(fCentCL1);
+       fHOutCentCND->Fill(fCentCND);
        fHOutCentV0MvsFMD->Fill(fCentV0MvsFMD);
        fHOutCentTKLvsV0M->Fill(fCentTKLvsV0M);
        fHOutCentZEMvsZDC->Fill(fCentZEMvsZDC);
@@ -1001,13 +1119,26 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
        fHOutCentV0MvsCentTRK->Fill(fCentV0M,fCentTRK);
        fHOutCentTRKvsCentCL1->Fill(fCentTRK,fCentCL1);
        fHOutCentV0MvsCentZDC->Fill(fCentV0M,fCentZEMvsZDC);
+       fHOutCentV0AvsCentV0C->Fill(fCentV0A,fCentV0C);
+       fHOutCentV0AvsCentTRK->Fill(fCentV0A,fCentTRK);
+       fHOutCentV0AvsCentCND->Fill(fCentV0A,fCentCND);
+       fHOutCentV0AvsCentCL1->Fill(fCentV0A,fCentCL1);
+       fHOutCentV0CvsCentTRK->Fill(fCentV0C,fCentTRK);
+       fHOutCentV0CvsCentCND->Fill(fCentV0C,fCentCND);
+       fHOutCentV0CvsCentCL1->Fill(fCentV0C,fCentCL1);
+
+       fHOutMultV0AC->Fill(multV0A,multV0C);
        fHOutMultV0M->Fill(multV0A+multV0C);
+       fHOutMultV0A->Fill(multV0A);
+       fHOutMultV0C->Fill(multV0C);
        fHOutMultV0O->Fill(multV0AOnline+multV0COnline);
        fHOutMultFMD->Fill(multFMDA+multFMDC);
        fHOutMultTRK->Fill(nTracks);
        fHOutMultTKL->Fill(nTracklets);
        fHOutMultCL0->Fill(nClusters[0]);
        fHOutMultCL1->Fill(spdCorr);
+       fHOutMultCND->Fill(multCND);
+
        fHOutMultV0MvsZDN->Fill(v0Corr,(zncEnergy+znaEnergy));
        fHOutMultZEMvsZDN->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy));
        fHOutMultV0MvsZDC->Fill(v0Corr,(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
@@ -1080,14 +1211,20 @@ Int_t AliCentralitySelectionTask::SetupRun(const AliESDEvent* const esd)
 
   // centrality histos
   fHtempV0M       = centOADB->V0hist(); 
+  fHtempV0A       = centOADB->V0Ahist(); 
+  fHtempV0C       = centOADB->V0Chist(); 
   fHtempTRK       = centOADB->TPChist();
   fHtempCL1       = centOADB->SPDhist();
+  fHtempCND       = centOADB->CNDhist();
   fHtempZEMvsZDC  = centOADB->ZEMvsZDChist();
   
   TString path = gSystem->ExpandPathName(fileName.Data());
   if (!fHtempV0M) AliWarning(Form("Calibration for V0M does not exist in %s", path.Data()));
+  if (!fHtempV0A) AliWarning(Form("Calibration for V0A does not exist in %s", path.Data()));
+  if (!fHtempV0C) AliWarning(Form("Calibration for V0C does not exist in %s", path.Data()));
   if (!fHtempTRK) AliWarning(Form("Calibration for TRK does not exist in %s", path.Data()));
   if (!fHtempCL1) AliWarning(Form("Calibration for CL1 does not exist in %s", path.Data()));
+  if (!fHtempCND) AliWarning(Form("Calibration for CND does not exist in %s", path.Data()));
   if (!fHtempZEMvsZDC) AliWarning(Form("Calibration for ZEMvsZDC does not exist in %s", path.Data()));
 
   // scale factors
index c340cb4..caf81db 100644 (file)
@@ -92,53 +92,62 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   Bool_t   fEGA;                //! 
   Bool_t   fPHS;                //! 
 
+  Bool_t   fMB;                 //! if the event is MB
   Bool_t   fCVHN;               //! if the event is central trigger
   Bool_t   fCVLN;               //! if the event is semicentral trigger
-  Bool_t   fCVHNbit;               //! if the event is central trigger
-  Bool_t   fCVLNbit;               //! if the event is semicentral trigger
+  Bool_t   fCVHNbit;            //! if the event is central trigger
+  Bool_t   fCVLNbit;            //! if the event is semicentral trigger
   Bool_t   fCCENT;              //! if the event is central trigger
   Bool_t   fCSEMI;              //! if the event is semicentral trigger
   Bool_t   fCCENTbit;           //! if the event is central trigger
   Bool_t   fCSEMIbit;           //! if the event is semicentral trigger
 
   Float_t  fCentV0M;            // percentile centrality from V0
+  Float_t  fCentV0A;            // percentile centrality from V0A
+  Float_t  fCentV0C;            // percentile centrality from V0C
   Float_t  fCentFMD;            // percentile centrality from FMD
   Float_t  fCentTRK;            // percentile centrality from tracks
   Float_t  fCentTKL;            // percentile centrality from tracklets
   Float_t  fCentCL0;            // percentile centrality from clusters in layer 0
-  Float_t  fCentCL1;            // percentile centrality from clusters in layer 0
+  Float_t  fCentCL1;            // percentile centrality from clusters in layer 1
+  Float_t  fCentCND;            // percentile centrality from candle 
   Float_t  fCentV0MvsFMD;       // percentile centrality from V0 vs FMD
   Float_t  fCentTKLvsV0M;       // percentile centrality from tracklets vs V0
   Float_t  fCentZEMvsZDC;       // percentile centrality from ZEM vs ZDC
 
   TH1F    *fHtempV0M;           // histogram with centrality vs multiplicity using V0
+  TH1F    *fHtempV0A;           // histogram with centrality vs multiplicity using V0A
+  TH1F    *fHtempV0C;           // histogram with centrality vs multiplicity using V0C
   TH1F    *fHtempFMD;           // histogram with centrality vs multiplicity using FMD
   TH1F    *fHtempTRK;           // histogram with centrality vs multiplicity using tracks
   TH1F    *fHtempTKL;           // histogram with centrality vs multiplicity using tracklets
   TH1F    *fHtempCL0;           // histogram with centrality vs multiplicity using clusters in layer 0
-  TH1F    *fHtempCL1;           // histogram with centrality vs multiplicity using clusters in layer 0
-  TH1F    *fHtempV0MvsFMD;           // histogram with centrality vs multiplicity using V0 vs FMD   
-  TH1F    *fHtempTKLvsV0M;           // histogram with centrality vs multiplicity using tracklets vs V0
-  TH2F    *fHtempZEMvsZDC;           // histogram with centrality vs multiplicity using ZEM vs ZDC 
+  TH1F    *fHtempCL1;           // histogram with centrality vs multiplicity using clusters in layer 1
+  TH1F    *fHtempCND;           // histogram with centrality vs multiplicity using candle
+  TH1F    *fHtempV0MvsFMD;      // histogram with centrality vs multiplicity using V0 vs FMD   
+  TH1F    *fHtempTKLvsV0M;      // histogram with centrality vs multiplicity using tracklets vs V0
+  TH2F    *fHtempZEMvsZDC;      // histogram with centrality vs multiplicity using ZEM vs ZDC 
 
   TList   *fOutputList; // output list
   
-  TH1F *fHOutCentV0M     ;    //control histogram for centrality
-  TH1F *fHOutCentV0MCVHN;    //control histogram for centrality
-  TH1F *fHOutCentV0MCVLN;    //control histogram for centrality
-  TH1F *fHOutCentV0MCVHNinMB;    //control histogram for centrality
-  TH1F *fHOutCentV0MCVLNinMB;    //control histogram for centrality
-  TH1F *fHOutCentV0MCCENT;    //control histogram for centrality
-  TH1F *fHOutCentV0MCSEMI;    //control histogram for centrality
-  TH1F *fHOutCentV0MCCENTinMB;    //control histogram for centrality
-  TH1F *fHOutCentV0MCSEMIinMB;    //control histogram for centrality
-  TH1F *fHOutCentV0MMSL;    //control histogram for centrality
-  TH1F *fHOutCentV0MMSH;    //control histogram for centrality
-  TH1F *fHOutCentV0MMUL;    //control histogram for centrality
-  TH1F *fHOutCentV0MMLL;    //control histogram for centrality
-  TH1F *fHOutCentV0MEJE;    //control histogram for centrality
-  TH1F *fHOutCentV0MEGA;    //control histogram for centrality
-  TH1F *fHOutCentV0MPHS;    //control histogram for centrality
+  TH1F *fHOutCentV0M    ;       //control histogram for centrality
+  TH1F *fHOutCentV0A    ;       //control histogram for centrality
+  TH1F *fHOutCentV0C    ;       //control histogram for centrality
+  TH1F *fHOutCentV0MCVHN;       //control histogram for centrality
+  TH1F *fHOutCentV0MCVLN;       //control histogram for centrality
+  TH1F *fHOutCentV0MCVHNinMB;   //control histogram for centrality
+  TH1F *fHOutCentV0MCVLNinMB;   //control histogram for centrality
+  TH1F *fHOutCentV0MCCENT;      //control histogram for centrality
+  TH1F *fHOutCentV0MCSEMI;      //control histogram for centrality
+  TH1F *fHOutCentV0MCCENTinMB;  //control histogram for centrality
+  TH1F *fHOutCentV0MCSEMIinMB;  //control histogram for centrality
+  TH1F *fHOutCentV0MMSL;        //control histogram for centrality
+  TH1F *fHOutCentV0MMSH;        //control histogram for centrality
+  TH1F *fHOutCentV0MMUL;        //control histogram for centrality
+  TH1F *fHOutCentV0MMLL;        //control histogram for centrality
+  TH1F *fHOutCentV0MEJE;        //control histogram for centrality
+  TH1F *fHOutCentV0MEGA;        //control histogram for centrality
+  TH1F *fHOutCentV0MPHS;        //control histogram for centrality
   TH1F *fHOutCentV0MMSLinMB;    //control histogram for centrality
   TH1F *fHOutCentV0MMSHinMB;    //control histogram for centrality
   TH1F *fHOutCentV0MMULinMB;    //control histogram for centrality
@@ -146,58 +155,71 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F *fHOutCentV0MEJEinMB;    //control histogram for centrality
   TH1F *fHOutCentV0MEGAinMB;    //control histogram for centrality
   TH1F *fHOutCentV0MPHSinMB;    //control histogram for centrality
-  TH1F *fHOutCentFMD     ;    //control histogram for centrality
-  TH1F *fHOutCentTRK     ;    //control histogram for centrality
-  TH1F *fHOutCentTKL     ;    //control histogram for centrality
-  TH1F *fHOutCentCL0     ;    //control histogram for centrality
-  TH1F *fHOutCentCL1     ;    //control histogram for centrality
-  TH1F *fHOutCentV0MvsFMD;    //control histogram for centrality
-  TH1F *fHOutCentTKLvsV0M;    //control histogram for centrality
-  TH1F *fHOutCentZEMvsZDC;    //control histogram for centrality
-  TH2F *fHOutCentV0MvsCentCL1;    //control histogram for centrality
-  TH2F *fHOutCentV0MvsCentTRK;    //control histogram for centrality
-  TH2F *fHOutCentTRKvsCentCL1;    //control histogram for centrality
-  TH2F *fHOutCentV0MvsCentZDC;    //control histogram for centrality
-
-  TH1F *fHOutMultV0M ;        //control histogram for multiplicity
-  TH1F *fHOutMultV0O ;        //control histogram for multiplicity
-  TH1F *fHOutMultFMD ;        //control histogram for multiplicity
-  TH1F *fHOutMultTRK ;        //control histogram for multiplicity
-  TH1F *fHOutMultTKL ;        //control histogram for multiplicity
-  TH1F *fHOutMultCL0 ;        //control histogram for multiplicity
-  TH1F *fHOutMultCL1 ;        //control histogram for multiplicity
-
-  TH2F *fHOutMultV0MvsZDN;    //control histogram for multiplicity
-  TH2F *fHOutMultZEMvsZDN;    //control histogram for multiplicity
-  TH2F *fHOutMultV0MvsZDC;    //control histogram for multiplicity
-  TH2F *fHOutMultZEMvsZDC;    //control histogram for multiplicity
-  TH2F *fHOutMultZEMvsZDCw;   //control histogram for multiplicity
-  TH2F *fHOutMultV0MvsCL1;    //control histogram for multiplicity
-  TH2F *fHOutMultV0MvsTRK;    //control histogram for multiplicity
-  TH2F *fHOutMultTRKvsCL1;    //control histogram for multiplicity
-  TH2F *fHOutMultV0MvsV0O;    //control histogram for multiplicity
-  TH2F *fHOutMultV0OvsCL1;    //control histogram for multiplicity
-  TH2F *fHOutMultV0OvsTRK;    //control histogram for multiplicity
-
-  TH1F *fHOutCentV0Mqual1     ;    //control histogram for centrality quality 1
-  TH1F *fHOutCentTRKqual1     ;    //control histogram for centrality quality 1
-  TH1F *fHOutCentCL1qual1     ;    //control histogram for centrality quality 1
-  TH2F *fHOutMultV0MvsCL1qual1;    //control histogram for multiplicity quality 1
-  TH2F *fHOutMultV0MvsTRKqual1;    //control histogram for multiplicity quality 1
-  TH2F *fHOutMultTRKvsCL1qual1;    //control histogram for multiplicity quality 1
-
-  TH1F *fHOutCentV0Mqual2     ;    //control histogram for centrality quality 2
-  TH1F *fHOutCentTRKqual2     ;    //control histogram for centrality quality 2
-  TH1F *fHOutCentCL1qual2     ;    //control histogram for centrality quality 2
-  TH2F *fHOutMultV0MvsCL1qual2;    //control histogram for multiplicity quality 2
-  TH2F *fHOutMultV0MvsTRKqual2;    //control histogram for multiplicity quality 2
-  TH2F *fHOutMultTRKvsCL1qual2;    //control histogram for multiplicity quality 2
-
-  TH1F *fHOutQuality ;        //control histogram for quality
-  TH1F *fHOutVertex ;         //control histogram for vertex
-  TH1F *fHOutVertexT0 ;         //control histogram for vertex
-
-  ClassDef(AliCentralitySelectionTask, 18); 
+  TH1F *fHOutCentFMD     ;      //control histogram for centrality
+  TH1F *fHOutCentTRK     ;      //control histogram for centrality
+  TH1F *fHOutCentTKL     ;      //control histogram for centrality
+  TH1F *fHOutCentCL0     ;      //control histogram for centrality
+  TH1F *fHOutCentCL1     ;      //control histogram for centrality
+  TH1F *fHOutCentCND     ;      //control histogram for centrality
+  TH1F *fHOutCentV0MvsFMD;      //control histogram for centrality
+  TH1F *fHOutCentTKLvsV0M;      //control histogram for centrality
+  TH1F *fHOutCentZEMvsZDC;      //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentCL1;  //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentTRK;  //control histogram for centrality
+  TH2F *fHOutCentTRKvsCentCL1;  //control histogram for centrality
+  TH2F *fHOutCentV0MvsCentZDC;  //control histogram for centrality
+  TH2F *fHOutCentV0AvsCentV0C;  //control histogram for centrality
+  TH2F *fHOutCentV0AvsCentTRK;  //control histogram for centrality
+  TH2F *fHOutCentV0AvsCentCND;  //control histogram for centrality
+  TH2F *fHOutCentV0AvsCentCL1;  //control histogram for centrality
+  TH2F *fHOutCentV0CvsCentTRK;  //control histogram for centrality
+  TH2F *fHOutCentV0CvsCentCND;  //control histogram for centrality
+  TH2F *fHOutCentV0CvsCentCL1;  //control histogram for centrality
+
+  TH2F *fHOutMultV0AC;          //control histogram for multiplicity
+  TH1F *fHOutMultV0M ;          //control histogram for multiplicity
+  TH1F *fHOutMultV0A ;          //control histogram for multiplicity
+  TH1F *fHOutMultV0C ;          //control histogram for multiplicity
+  TH1F *fHOutMultV0O ;          //control histogram for multiplicity
+  TH1F *fHOutMultFMD ;          //control histogram for multiplicity
+  TH1F *fHOutMultTRK ;          //control histogram for multiplicity
+  TH1F *fHOutMultTKL ;          //control histogram for multiplicity
+  TH1F *fHOutMultCL0 ;          //control histogram for multiplicity
+  TH1F *fHOutMultCL1 ;          //control histogram for multiplicity
+  TH1F *fHOutMultCND ;          //control histogram for multiplicity
+
+  TH2F *fHOutMultV0MvsZDN;      //control histogram for multiplicity
+  TH2F *fHOutMultZEMvsZDN;      //control histogram for multiplicity
+  TH2F *fHOutMultV0MvsZDC;      //control histogram for multiplicity
+  TH2F *fHOutMultZEMvsZDC;      //control histogram for multiplicity
+  TH2F *fHOutMultZEMvsZDCw;     //control histogram for multiplicity
+  TH2F *fHOutMultV0MvsCL1;      //control histogram for multiplicity
+  TH2F *fHOutMultV0MvsTRK;      //control histogram for multiplicity
+  TH2F *fHOutMultTRKvsCL1;      //control histogram for multiplicity
+  TH2F *fHOutMultV0MvsV0O;      //control histogram for multiplicity
+  TH2F *fHOutMultV0OvsCL1;      //control histogram for multiplicity
+  TH2F *fHOutMultV0OvsTRK;      //control histogram for multiplicity
+  TH2F *fHOutMultCL1vsTKL;    //control histogram for multiplicity
+
+  TH1F *fHOutCentV0Mqual1     ; //control histogram for centrality quality 1
+  TH1F *fHOutCentTRKqual1     ; //control histogram for centrality quality 1
+  TH1F *fHOutCentCL1qual1     ; //control histogram for centrality quality 1
+  TH2F *fHOutMultV0MvsCL1qual1; //control histogram for multiplicity quality 1
+  TH2F *fHOutMultV0MvsTRKqual1; //control histogram for multiplicity quality 1
+  TH2F *fHOutMultTRKvsCL1qual1; //control histogram for multiplicity quality 1
+
+  TH1F *fHOutCentV0Mqual2     ; //control histogram for centrality quality 2
+  TH1F *fHOutCentTRKqual2     ; //control histogram for centrality quality 2
+  TH1F *fHOutCentCL1qual2     ; //control histogram for centrality quality 2
+  TH2F *fHOutMultV0MvsCL1qual2; //control histogram for multiplicity quality 2
+  TH2F *fHOutMultV0MvsTRKqual2; //control histogram for multiplicity quality 2
+  TH2F *fHOutMultTRKvsCL1qual2; //control histogram for multiplicity quality 2
+
+  TH1F *fHOutQuality ;          //control histogram for quality
+  TH1F *fHOutVertex ;           //control histogram for vertex SPD
+  TH1F *fHOutVertexT0 ;         //control histogram for vertex T0
+
+  ClassDef(AliCentralitySelectionTask, 19); 
 };
 
 #endif
index ccb8e0a..0b8f8a7 100644 (file)
@@ -51,7 +51,10 @@ class AliOADBCentrality : public TNamed {
   Bool_t UseCleaning()  const {return fUseCleaning;}
 
   TH1F*   V0hist()         const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0M_percentile")));}
+  TH1F*   V0Ahist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0A_percentile")));}
+  TH1F*   V0Chist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0C_percentile")));}
   TH1F*   TPChist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultTRK_percentile")));}
+  TH1F*   CNDhist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCND_percentile")));}
   TH1F*   SPDhist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultCL1_percentile")));}
   TH2F*   ZEMvsZDChist()   const  {return ((TH2F*) (Hists2D()->FindObject("fHOutMultZEMvsZDC")));}
   TList*  Hists1D()        const  {return f1DHistos;}
index 244eadb..dee3fcf 100644 (file)
@@ -26,11 +26,14 @@ ClassImp(AliCentrality)
 AliCentrality::AliCentrality() : TNamed("Centrality", "Centrality"),
   fQuality(999),
   fCentralityV0M(0),
+  fCentralityV0A(0),
+  fCentralityV0C(0),
   fCentralityFMD(0),
   fCentralityTRK(0),
   fCentralityTKL(0),
   fCentralityCL0(0),
   fCentralityCL1(0),
+  fCentralityCND(0),
   fCentralityV0MvsFMD(0),
   fCentralityTKLvsV0M(0),
   fCentralityZEMvsZDC(0)
@@ -42,11 +45,14 @@ AliCentrality::AliCentrality(const AliCentrality& cnt) :
   TNamed(cnt),
   fQuality(cnt.fQuality), 
   fCentralityV0M(cnt.fCentralityV0M),
+  fCentralityV0A(cnt.fCentralityV0A),
+  fCentralityV0C(cnt.fCentralityV0C),
   fCentralityFMD(cnt.fCentralityFMD),
   fCentralityTRK(cnt.fCentralityTRK),
   fCentralityTKL(cnt.fCentralityTKL),
   fCentralityCL0(cnt.fCentralityCL0),
   fCentralityCL1(cnt.fCentralityCL1),
+  fCentralityCND(cnt.fCentralityCND),
   fCentralityV0MvsFMD(cnt.fCentralityV0MvsFMD),
   fCentralityTKLvsV0M(cnt.fCentralityTKLvsV0M),
   fCentralityZEMvsZDC(cnt.fCentralityZEMvsZDC)
@@ -61,11 +67,14 @@ AliCentrality& AliCentrality::operator=(const AliCentrality& c)
     TNamed::operator=(c);
     fQuality = c.fQuality;
     fCentralityV0M = c.fCentralityV0M;
+    fCentralityV0A = c.fCentralityV0A;
+    fCentralityV0C = c.fCentralityV0C;
     fCentralityFMD = c.fCentralityFMD;
     fCentralityTRK = c.fCentralityTRK;
     fCentralityTKL = c.fCentralityTKL;
     fCentralityCL0 = c.fCentralityCL0;
     fCentralityCL1 = c.fCentralityCL1;
+    fCentralityCND = c.fCentralityCND;
     fCentralityV0MvsFMD = c.fCentralityV0MvsFMD;
     fCentralityTKLvsV0M = c.fCentralityTKLvsV0M;
     fCentralityZEMvsZDC = c.fCentralityZEMvsZDC;
@@ -90,11 +99,14 @@ Float_t AliCentrality::GetCentralityPercentile(const char *x) const
   if (fQuality == 0) {
     TString method = x;
     if(method.CompareTo("V0M")==0)      return fCentralityV0M;
+    if(method.CompareTo("V0A")==0)      return fCentralityV0A;
+    if(method.CompareTo("V0C")==0)      return fCentralityV0C;
     if(method.CompareTo("FMD")==0)      return fCentralityFMD;
     if(method.CompareTo("TRK")==0)      return fCentralityTRK;
     if(method.CompareTo("TKL")==0)      return fCentralityTKL;
     if(method.CompareTo("CL0")==0)      return fCentralityCL0;
     if(method.CompareTo("CL1")==0)      return fCentralityCL1;
+    if(method.CompareTo("CND")==0)      return fCentralityCND;
     if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
     if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
     if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
@@ -110,11 +122,14 @@ Int_t AliCentrality::GetCentralityClass10(const char *x) const
   if (fQuality == 0) {
     TString method = x;
     if(method.CompareTo("V0M")==0)      return (Int_t) (fCentralityV0M / 10.0);
+    if(method.CompareTo("V0A")==0)      return (Int_t) (fCentralityV0A / 10.0);
+    if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 10.0);
     if(method.CompareTo("FMD")==0)      return (Int_t) (fCentralityFMD / 10.0);
     if(method.CompareTo("TRK")==0)      return (Int_t) (fCentralityTRK / 10.0);
     if(method.CompareTo("TKL")==0)      return (Int_t) (fCentralityTKL / 10.0);
     if(method.CompareTo("CL0")==0)      return (Int_t) (fCentralityCL0 / 10.0);
     if(method.CompareTo("CL1")==0)      return (Int_t) (fCentralityCL1 / 10.0);
+    if(method.CompareTo("CND")==0)      return (Int_t) (fCentralityCND / 10.0);
     if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
     if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
     if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
@@ -130,11 +145,14 @@ Int_t AliCentrality::GetCentralityClass5(const char *x) const
   if (fQuality == 0) {
     TString method = x;
     if(method.CompareTo("V0M")==0)      return (Int_t) (fCentralityV0M / 5.0);
+    if(method.CompareTo("V0A")==0)      return (Int_t) (fCentralityV0A / 5.0);
+    if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 5.0);
     if(method.CompareTo("FMD")==0)      return (Int_t) (fCentralityFMD / 5.0);
     if(method.CompareTo("TRK")==0)      return (Int_t) (fCentralityTRK / 5.0);
     if(method.CompareTo("TKL")==0)      return (Int_t) (fCentralityTKL / 5.0);
     if(method.CompareTo("CL0")==0)      return (Int_t) (fCentralityCL0 / 5.0);
     if(method.CompareTo("CL1")==0)      return (Int_t) (fCentralityCL1 / 5.0);
+    if(method.CompareTo("CND")==0)      return (Int_t) (fCentralityCND / 5.0);
     if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
     if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
     if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
@@ -151,11 +169,14 @@ Bool_t AliCentrality::IsEventInCentralityClass(Float_t a, Float_t b, const char
   if (fQuality == 0) {
     TString method = x;
     if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
+    if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
+    if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
     if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
     if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
     if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
     if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
     if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
+    if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
     if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
     if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
     if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
@@ -170,11 +191,14 @@ Float_t AliCentrality::GetCentralityPercentileUnchecked(const char *x) const
 // Return the centrality percentile
   TString method = x;
   if(method.CompareTo("V0M")==0)      return fCentralityV0M;
+  if(method.CompareTo("V0A")==0)      return fCentralityV0A;
+  if(method.CompareTo("V0C")==0)      return fCentralityV0C;
   if(method.CompareTo("FMD")==0)      return fCentralityFMD;
   if(method.CompareTo("TRK")==0)      return fCentralityTRK;
   if(method.CompareTo("TKL")==0)      return fCentralityTKL;
   if(method.CompareTo("CL0")==0)      return fCentralityCL0;
   if(method.CompareTo("CL1")==0)      return fCentralityCL1;
+  if(method.CompareTo("CND")==0)      return fCentralityCND;
   if(method.CompareTo("V0MvsFMD")==0) return fCentralityV0MvsFMD;
   if(method.CompareTo("TKLvsV0M")==0) return fCentralityTKLvsV0M;
   if(method.CompareTo("ZEMvsZDC")==0) return fCentralityZEMvsZDC;
@@ -186,11 +210,14 @@ Int_t AliCentrality::GetCentralityClass10Unchecked(const char *x) const
 // Return the centrality class
   TString method = x;
   if(method.CompareTo("V0M")==0)      return (Int_t) (fCentralityV0M / 10.0);
+  if(method.CompareTo("V0A")==0)      return (Int_t) (fCentralityV0A / 10.0);
+  if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 10.0);
   if(method.CompareTo("FMD")==0)      return (Int_t) (fCentralityFMD / 10.0);
   if(method.CompareTo("TRK")==0)      return (Int_t) (fCentralityTRK / 10.0);
   if(method.CompareTo("TKL")==0)      return (Int_t) (fCentralityTKL / 10.0);
   if(method.CompareTo("CL0")==0)      return (Int_t) (fCentralityCL0 / 10.0);
   if(method.CompareTo("CL1")==0)      return (Int_t) (fCentralityCL1 / 10.0);
+  if(method.CompareTo("CND")==0)      return (Int_t) (fCentralityCND / 10.0);
   if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 10.0);
   if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 10.0);
   if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 10.0);
@@ -202,11 +229,14 @@ Int_t AliCentrality::GetCentralityClass5Unchecked(const char *x) const
 // Return the centrality class
   TString method = x;
   if(method.CompareTo("V0M")==0)      return (Int_t) (fCentralityV0M / 5.0);
+  if(method.CompareTo("V0A")==0)      return (Int_t) (fCentralityV0A / 5.0);
+  if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 5.0);
   if(method.CompareTo("FMD")==0)      return (Int_t) (fCentralityFMD / 5.0);
   if(method.CompareTo("TRK")==0)      return (Int_t) (fCentralityTRK / 5.0);
   if(method.CompareTo("TKL")==0)      return (Int_t) (fCentralityTKL / 5.0);
   if(method.CompareTo("CL0")==0)      return (Int_t) (fCentralityCL0 / 5.0);
   if(method.CompareTo("CL1")==0)      return (Int_t) (fCentralityCL1 / 5.0);
+  if(method.CompareTo("CND")==0)      return (Int_t) (fCentralityCND / 5.0);
   if(method.CompareTo("V0MvsFMD")==0) return (Int_t) (fCentralityV0MvsFMD / 5.0);
   if(method.CompareTo("TKLvsV0M")==0) return (Int_t) (fCentralityTKLvsV0M / 5.0);
   if(method.CompareTo("ZEMvsZDC")==0) return (Int_t) (fCentralityZEMvsZDC / 5.0);
@@ -218,11 +248,14 @@ Bool_t AliCentrality::IsEventInCentralityClassUnchecked(Float_t a, Float_t b, co
 // True if event inside given centrality class
   TString method = x;
   if ((method.CompareTo("V0M")==0) && (fCentralityV0M >=a && fCentralityV0M < b)) return kTRUE;
+  if ((method.CompareTo("V0A")==0) && (fCentralityV0A >=a && fCentralityV0A < b)) return kTRUE;
+  if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
   if ((method.CompareTo("FMD")==0) && (fCentralityFMD >=a && fCentralityFMD < b)) return kTRUE;
   if ((method.CompareTo("TRK")==0) && (fCentralityTRK >=a && fCentralityTRK < b)) return kTRUE;
   if ((method.CompareTo("TKL")==0) && (fCentralityTKL >=a && fCentralityTKL < b)) return kTRUE;
   if ((method.CompareTo("CL0")==0) && (fCentralityCL0 >=a && fCentralityCL0 < b)) return kTRUE;
   if ((method.CompareTo("CL1")==0) && (fCentralityCL1 >=a && fCentralityCL1 < b)) return kTRUE;
+  if ((method.CompareTo("CND")==0) && (fCentralityCND >=a && fCentralityCND < b)) return kTRUE;
   if ((method.CompareTo("V0MvsFMD")==0) && (fCentralityV0MvsFMD >=a && fCentralityV0MvsFMD < b)) return kTRUE;
   if ((method.CompareTo("TKLvsV0M")==0) && (fCentralityTKLvsV0M >=a && fCentralityTKLvsV0M < b)) return kTRUE;
   if ((method.CompareTo("ZEMvsZDC")==0) && (fCentralityZEMvsZDC >=a && fCentralityZEMvsZDC < b)) return kTRUE;
@@ -235,11 +268,14 @@ void AliCentrality::Reset()
 
   fQuality            =  999;
   fCentralityV0M      =  0;
+  fCentralityV0A      =  0;
+  fCentralityV0C      =  0;
   fCentralityFMD      =  0;
   fCentralityTRK      =  0;
   fCentralityTKL      =  0;
   fCentralityCL0      =  0;
   fCentralityCL1      =  0;
+  fCentralityCND      =  0;
   fCentralityV0MvsFMD =  0;
   fCentralityTKLvsV0M =  0;
   fCentralityZEMvsZDC =  0;
index 9ee925c..18dd141 100644 (file)
@@ -24,11 +24,14 @@ class AliCentrality : public TNamed
   /// set centrality result
   void SetQuality(Int_t quality) {fQuality = quality;} 
   void SetCentralityV0M(Float_t cent) {fCentralityV0M = cent;} 
+  void SetCentralityV0A(Float_t cent) {fCentralityV0A = cent;} 
+  void SetCentralityV0C(Float_t cent) {fCentralityV0C = cent;} 
   void SetCentralityFMD(Float_t cent) {fCentralityFMD = cent;}
   void SetCentralityTRK(Float_t cent) {fCentralityTRK = cent;}
   void SetCentralityTKL(Float_t cent) {fCentralityTKL = cent;}
   void SetCentralityCL0(Float_t cent) {fCentralityCL0 = cent;}
   void SetCentralityCL1(Float_t cent) {fCentralityCL1 = cent;}
+  void SetCentralityCND(Float_t cent) {fCentralityCND = cent;}
   void SetCentralityV0MvsFMD(Float_t cent) {fCentralityV0MvsFMD = cent;}
   void SetCentralityTKLvsV0M(Float_t cent) {fCentralityTKLvsV0M = cent;}
   void SetCentralityZEMvsZDC(Float_t cent) {fCentralityZEMvsZDC = cent;}
@@ -49,16 +52,19 @@ class AliCentrality : public TNamed
 
  private:
   Int_t   fQuality; // Quality of centrality determination
-  Float_t fCentralityV0M;   // Centrality from V0
+  Float_t fCentralityV0M;   // Centrality from V0A+V0C
+  Float_t fCentralityV0A;   // Centrality from V0A
+  Float_t fCentralityV0C;   // Centrality from V0C
   Float_t fCentralityFMD;   // Centrality from FMD
   Float_t fCentralityTRK;   // Centrality from tracks
   Float_t fCentralityTKL;   // Centrality from tracklets
   Float_t fCentralityCL0;   // Centrality from Clusters in layer 0
-  Float_t fCentralityCL1;   // Centrality from Clusters in layer 0
+  Float_t fCentralityCL1;   // Centrality from Clusters in layer 1
+  Float_t fCentralityCND;   // Centrality from tracks (candle condition)
   Float_t fCentralityV0MvsFMD;   // Centrality from V0 vs FMD
   Float_t fCentralityTKLvsV0M;   // Centrality from tracklets vs V0
   Float_t fCentralityZEMvsZDC;   // Centrality from ZEM vs ZDC
 
-  ClassDef(AliCentrality, 2)
+  ClassDef(AliCentrality, 3)
 };
 #endif //ALICENTRALITY_H