Added V0A23 (V0 rings 2-3), V0C01 (V0 rings 0-1) and V0S = V0A23+V0C01
authorekryshen <evgeny.kryshen@cern.ch>
Mon, 6 Oct 2014 12:15:42 +0000 (14:15 +0200)
committerekryshen <evgeny.kryshen@cern.ch>
Mon, 6 Oct 2014 12:15:42 +0000 (14:15 +0200)
multiplicity estimators in the centrality framework

ANALYSIS/AliCentralitySelectionTask.cxx
ANALYSIS/AliCentralitySelectionTask.h
OADB/AliOADBCentrality.h
STEER/STEERBase/AliCentrality.cxx
STEER/STEERBase/AliCentrality.h

index 7d77b3d..bb06834 100644 (file)
@@ -134,6 +134,9 @@ AliAnalysisTaskSE(),
   fCentV0A0(0),
   fCentV0A123(0),
   fCentV0C(0),
+  fCentV0A23(0),
+  fCentV0C01(0),
+  fCentV0S(0),
   fCentV0MEq(0),
   fCentV0AEq(0),
   fCentV0CEq(0),
@@ -172,6 +175,9 @@ AliAnalysisTaskSE(),
   fHtempV0A0(0),
   fHtempV0A123(0),
   fHtempV0C(0),
+  fHtempV0A23(0),
+  fHtempV0C01(0),
+  fHtempV0S(0),
   fHtempV0MEq(0),
   fHtempV0AEq(0),
   fHtempV0CEq(0),
@@ -211,6 +217,9 @@ AliAnalysisTaskSE(),
   fHOutCentV0A0(0),
   fHOutCentV0A123(0),
   fHOutCentV0C(0),
+  fHOutCentV0A23(0),
+  fHOutCentV0C01(0),
+  fHOutCentV0S(0),
   fHOutCentV0MEq(0),
   fHOutCentV0AEq(0),
   fHOutCentV0CEq(0),
@@ -278,6 +287,9 @@ AliAnalysisTaskSE(),
   fHOutMultV0A0(0),
   fHOutMultV0A123(0),
   fHOutMultV0C(0),
+  fHOutMultV0A23(0),
+  fHOutMultV0C01(0),
+  fHOutMultV0S(0),
   fHOutMultV0MEq(0),
   fHOutMultV0AEq(0),
   fHOutMultV0CEq(0),
@@ -392,6 +404,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fCentV0A0(0),
   fCentV0A123(0),
   fCentV0C(0),
+  fCentV0A23(0),
+  fCentV0C01(0),
+  fCentV0S(0),
   fCentV0MEq(0),
   fCentV0AEq(0),
   fCentV0CEq(0),
@@ -430,6 +445,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHtempV0A0(0),
   fHtempV0A123(0),
   fHtempV0C(0),
+  fHtempV0A23(0),
+  fHtempV0C01(0),
+  fHtempV0S(0),
   fHtempV0MEq(0),
   fHtempV0AEq(0),
   fHtempV0CEq(0),
@@ -469,6 +487,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHOutCentV0A0(0),
   fHOutCentV0A123(0),
   fHOutCentV0C(0),
+  fHOutCentV0A23(0),
+  fHOutCentV0C01(0),
+  fHOutCentV0S(0),
   fHOutCentV0MEq(0),
   fHOutCentV0AEq(0),
   fHOutCentV0CEq(0),
@@ -536,6 +557,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
   fHOutMultV0A0(0),
   fHOutMultV0A123(0),
   fHOutMultV0C(0),
+  fHOutMultV0A23(0),
+  fHOutMultV0C01(0),
+  fHOutMultV0S(0),
   fHOutMultV0MEq(0),
   fHOutMultV0AEq(0),
   fHOutMultV0CEq(0),
@@ -660,6 +684,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fCentV0A0(ana.fCentV0A0),
   fCentV0A123(ana.fCentV0A123),
   fCentV0C(ana.fCentV0C),
+  fCentV0A23(ana.fCentV0A23),
+  fCentV0C01(ana.fCentV0C01),
+  fCentV0S(ana.fCentV0S),
   fCentV0MEq(ana.fCentV0MEq),
   fCentV0AEq(ana.fCentV0AEq),
   fCentV0CEq(ana.fCentV0CEq),
@@ -698,6 +725,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHtempV0A0(ana.fHtempV0A0),
   fHtempV0A123(ana.fHtempV0A123),
   fHtempV0C(ana.fHtempV0C),
+  fHtempV0A23(ana.fHtempV0A23),
+  fHtempV0C01(ana.fHtempV0C01),
+  fHtempV0S(ana.fHtempV0S),
   fHtempV0MEq(ana.fHtempV0MEq),
   fHtempV0AEq(ana.fHtempV0AEq),
   fHtempV0CEq(ana.fHtempV0CEq),
@@ -737,6 +767,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHOutCentV0A0(ana.fHOutCentV0A0),
   fHOutCentV0A123(ana.fHOutCentV0A123),
   fHOutCentV0C(ana.fHOutCentV0C),
+  fHOutCentV0A23(ana.fHOutCentV0A23),
+  fHOutCentV0C01(ana.fHOutCentV0C01),
+  fHOutCentV0S(ana.fHOutCentV0S),
   fHOutCentV0MEq(ana.fHOutCentV0MEq),
   fHOutCentV0AEq(ana.fHOutCentV0AEq),
   fHOutCentV0CEq(ana.fHOutCentV0CEq),
@@ -804,6 +837,9 @@ AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelect
   fHOutMultV0A0(ana.fHOutMultV0A0),
   fHOutMultV0A123(ana.fHOutMultV0A123),
   fHOutMultV0C(ana.fHOutMultV0C),
+  fHOutMultV0A23(ana.fHOutMultV0A23),
+  fHOutMultV0C01(ana.fHOutMultV0C01),
+  fHOutMultV0S(ana.fHOutMultV0S),
   fHOutMultV0MEq(ana.fHOutMultV0MEq),
   fHOutMultV0AEq(ana.fHOutMultV0AEq),
   fHOutMultV0CEq(ana.fHOutMultV0CEq),
@@ -882,6 +918,9 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutCentV0A0 = new TH1F("fHOutCentV0A0","fHOutCentV0A0; Centrality V0A-0",505,0,101);
     fHOutCentV0A123 = new TH1F("fHOutCentV0A123","fHOutCentV0A123; Centrality V0A-123",505,0,101);
     fHOutCentV0C    = new TH1F("fHOutCentV0C","fHOutCentV0C; Centrality V0C",505,0,101);
+    fHOutCentV0A23  = new TH1F("fHOutCentV0A23","fHOutCentV0A23; Centrality V0A-23",505,0,101);
+    fHOutCentV0C01  = new TH1F("fHOutCentV0C01","fHOutCentV0C01; Centrality V0C-01",505,0,101);
+    fHOutCentV0S    = new TH1F("fHOutCentV0S","fHOutCentV0S; Centrality V0A-23 & V0C-01",505,0,101);
     fHOutCentV0MEq     = new TH1F("fHOutCentV0MEq","fHOutCentV0MEq; Centrality V0 equalized",505,0,101);
     fHOutCentV0AEq    = new TH1F("fHOutCentV0AEq","fHOutCentV0AEq; Centrality V0A equalized",505,0,101);
     fHOutCentV0CEq    = new TH1F("fHOutCentV0CEq","fHOutCentV0CEq; Centrality V0C equalized",505,0,101);
@@ -950,6 +989,9 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fHOutMultV0A0  = new TH1F("fHOutMultV0A0","fHOutMultV0A0; Multiplicity V0A-0",25000,0,25000);
     fHOutMultV0A123  = new TH1F("fHOutMultV0A123","fHOutMultV0A123; Multiplicity V0A-123",25000,0,25000);
     fHOutMultV0C  = new TH1F("fHOutMultV0C","fHOutMultV0C; Multiplicity V0",25000,0,25000);
+    fHOutMultV0A23  = new TH1F("fHOutMultV0A23","fHOutMultV0A23; Multiplicity V0A-23",25000,0,25000);
+    fHOutMultV0C01  = new TH1F("fHOutMultV0C01","fHOutMultV0C01; Multiplicity V0C-01",25000,0,25000);
+    fHOutMultV0S    = new TH1F("fHOutMultV0S","fHOutMultV0S; Multiplicity V0A-23 & V0C-01",25000,0,25000);
     fHOutMultV0MEq  = new TH1F("fHOutMultV0MEq","fHOutMultV0MEq; Multiplicity V0",25000,0,25000);
     fHOutMultV0AEq  = new TH1F("fHOutMultV0AEq","fHOutMultV0AEq; Multiplicity V0",25000,0,25000);
     fHOutMultV0CEq  = new TH1F("fHOutMultV0CEq","fHOutMultV0CEq; Multiplicity V0",25000,0,25000);
@@ -1010,6 +1052,9 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList->Add(fHOutCentV0A0);
     fOutputList->Add(fHOutCentV0A123);
     fOutputList->Add(fHOutCentV0C);
+    fOutputList->Add(fHOutCentV0A23);
+    fOutputList->Add(fHOutCentV0C01);
+    fOutputList->Add(fHOutCentV0S);
     fOutputList->Add(fHOutCentV0MEq);
     fOutputList->Add(fHOutCentV0AEq);
     fOutputList->Add(fHOutCentV0CEq);
@@ -1078,6 +1123,9 @@ void AliCentralitySelectionTask::UserCreateOutputObjects()
     fOutputList->Add(fHOutMultV0A0); 
     fOutputList->Add(fHOutMultV0A123); 
     fOutputList->Add(fHOutMultV0C); 
+    fOutputList->Add(fHOutMultV0A23); 
+    fOutputList->Add(fHOutMultV0C01); 
+    fOutputList->Add(fHOutMultV0S); 
     fOutputList->Add(fHOutMultV0MEq); 
     fOutputList->Add(fHOutMultV0AEq); 
     fOutputList->Add(fHOutMultV0CEq); 
@@ -1175,15 +1223,21 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
   Float_t  multV0A123 = 0;          //  multiplicity from V0 reco side A (ring 1-2-3)
   Float_t  multV0A  = 0;            //  multiplicity from V0 reco side A
   Float_t  multV0C  = 0;            //  multiplicity from V0 reco side C
+  Float_t  multV0A23 = 0;           //  multiplicity from V0 reco side A (ring 2-3)
+  Float_t  multV0C01 = 0;           //  multiplicity from V0 reco side C (ring 0-1)
   Float_t  multV0AEq  = 0;          //  multiplicity from V0 reco side A
   Float_t  multV0CEq  = 0;          //  multiplicity from V0 reco side C
   Float_t  multV0A0Corr  = 0;       //  multiplicity from V0 reco side A (ring 0)
   Float_t  multV0A123Corr  = 0;     //  multiplicity from V0 reco side A (ring 1-2-3)
+  Float_t  multV0A23Corr  = 0;      //  multiplicity from V0 reco side A (ring 2-3)
+  Float_t  multV0C01Corr  = 0;      //  multiplicity from V0 reco side C (ring 0-1)
+  Float_t  multV0SCorr  = 0;        //  multiplicity from V0 reco side A (ring 2-3) & side C (ring 0-1)
   Float_t  multV0ACorr  = 0;        //  multiplicity from V0 reco side A
   Float_t  multV0CCorr  = 0;        //  multiplicity from V0 reco side C
   Short_t  multV0AOnline  = 0;      //  multiplicity from V0 reco side A
   Short_t  multV0COnline  = 0;      //  multiplicity from V0 reco side C
   Float_t  v0Corr = 0;              // corrected V0 multiplicity (used for MC)
+  
   Int_t nV0A = 0;
   Int_t nV0C = 0;
 
@@ -1264,13 +1318,21 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
   for (int i=40; i<64; i++)
     multV0A123 += esdV0->GetMultiplicity(i);
 
+  for (int i=48; i<64; i++)
+    multV0A23 += esdV0->GetMultiplicity(i);
+  for (int i=0; i<16; i++)
+    multV0C01 += esdV0->GetMultiplicity(i);
+  
+  
   multV0A0Corr   = AliESDUtils::GetCorrV0A0(multV0A0,zvtx);    
   multV0A123Corr = AliESDUtils::GetCorrV0A(multV0A123,zvtx);    
   multV0ACorr    = AliESDUtils::GetCorrV0A(multV0A,zvtx);    
   multV0CCorr    = AliESDUtils::GetCorrV0C(multV0C,zvtx);    
-
+  multV0A23Corr  = AliESDUtils::GetCorrV0A(multV0A23,zvtx);
+  multV0C01Corr  = AliESDUtils::GetCorrV0C(multV0C01,zvtx);
+  multV0SCorr    = multV0A23Corr + multV0C01Corr;
   v0Corr = multV0A+multV0C; // Todo: C.L. not clear why here we do not use the sum of the corrected values?
-
+  
   multV0AOnline=esdV0->GetTriggerChargeA(); 
   multV0COnline=esdV0->GetTriggerChargeC(); 
 
@@ -1595,6 +1657,9 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
   if(fHtempV0A0) fCentV0A0 = fHtempV0A0->GetBinContent(fHtempV0A0->FindBin((multV0A0Corr)));
   if(fHtempV0A123) fCentV0A123 = fHtempV0A123->GetBinContent(fHtempV0A123->FindBin((multV0A123Corr)));
   if(fHtempV0C) fCentV0C = fHtempV0C->GetBinContent(fHtempV0C->FindBin((multV0CCorr)));
+  if(fHtempV0A23) fCentV0A23 = fHtempV0A23->GetBinContent(fHtempV0A23->FindBin((multV0A23Corr)));
+  if(fHtempV0C01) fCentV0C01 = fHtempV0C01->GetBinContent(fHtempV0C01->FindBin((multV0C01Corr)));
+  if(fHtempV0S)  fCentV0S = fHtempV0S->GetBinContent(fHtempV0S->FindBin((multV0SCorr)));
   if(fHtempV0MEq) fCentV0MEq = fHtempV0MEq->GetBinContent(fHtempV0MEq->FindBin((multV0AEq+multV0CEq)));
   if(fHtempV0AEq) fCentV0AEq = fHtempV0AEq->GetBinContent(fHtempV0AEq->FindBin((multV0AEq)));
   if(fHtempV0CEq) fCentV0CEq = fHtempV0CEq->GetBinContent(fHtempV0CEq->FindBin((multV0CEq)));
@@ -1684,6 +1749,9 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
     esdCent->SetCentralityV0A0(fCentV0A0);
     esdCent->SetCentralityV0A123(fCentV0A123);
     esdCent->SetCentralityV0C(fCentV0C);
+    esdCent->SetCentralityV0A23(fCentV0A23);
+    esdCent->SetCentralityV0C01(fCentV0C01);
+    esdCent->SetCentralityV0S(fCentV0S);
     esdCent->SetCentralityV0MEq(fCentV0MEq);
     esdCent->SetCentralityV0AEq(fCentV0AEq);
     esdCent->SetCentralityV0CEq(fCentV0CEq);
@@ -1754,6 +1822,9 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
        fHOutCentV0A0->Fill(fCentV0A0);
        fHOutCentV0A123->Fill(fCentV0A123);
        fHOutCentV0C->Fill(fCentV0C);
+        fHOutCentV0A23->Fill(fCentV0A23);
+        fHOutCentV0C01->Fill(fCentV0C01);
+        fHOutCentV0S->Fill(fCentV0S);
        fHOutCentV0MEq->Fill(fCentV0MEq);
        fHOutCentV0AEq->Fill(fCentV0AEq);
        fHOutCentV0CEq->Fill(fCentV0CEq);
@@ -1813,6 +1884,9 @@ void AliCentralitySelectionTask::UserExec(Option_t */*option*/)
        fHOutMultV0A0->Fill(multV0A0Corr);
        fHOutMultV0A123->Fill(multV0A123Corr);
        fHOutMultV0C->Fill(multV0CCorr);
+        fHOutMultV0A23->Fill(multV0A23Corr);
+        fHOutMultV0C01->Fill(multV0C01Corr);
+        fHOutMultV0S->Fill(multV0SCorr);
        fHOutMultV0MEq->Fill(multV0AEq+multV0CEq);
        fHOutMultV0AEq->Fill(multV0AEq);
        fHOutMultV0CEq->Fill(multV0CEq);
@@ -1924,6 +1998,9 @@ Int_t AliCentralitySelectionTask::SetupRun(const AliVEvent* const esd)
   fHtempV0A0      = centOADB->V0A0hist(); 
   fHtempV0A123    = centOADB->V0A123hist(); 
   fHtempV0C       = centOADB->V0Chist(); 
+  fHtempV0A23     = centOADB->V0A23hist(); 
+  fHtempV0C01     = centOADB->V0C01hist(); 
+  fHtempV0S       = centOADB->V0Shist(); 
   fHtempV0MEq     = centOADB->V0Eqhist(); 
   fHtempV0AEq     = centOADB->V0AEqhist(); 
   fHtempV0CEq     = centOADB->V0CEqhist(); 
@@ -1976,6 +2053,9 @@ Int_t AliCentralitySelectionTask::SetupRun(const AliVEvent* const esd)
   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 (!fHtempV0A23) AliWarning(Form("Calibration for V0A23 does not exist in %s", path.Data()));
+  if (!fHtempV0C01) AliWarning(Form("Calibration for V0C01 does not exist in %s", path.Data()));
+  if (!fHtempV0S) AliWarning(Form("Calibration for V0S does not exist in %s", path.Data()));
   if (!fHtempV0MEq) AliWarning(Form("Calibration for V0MEq does not exist in %s", path.Data()));
   if (!fHtempV0AEq) AliWarning(Form("Calibration for V0AEq does not exist in %s", path.Data()));
   if (!fHtempV0CEq) AliWarning(Form("Calibration for V0CEq does not exist in %s", path.Data()));
index 5b92603..ec00efc 100644 (file)
@@ -107,9 +107,12 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
 
   Float_t  fCentV0M;            // percentile centrality from V0
   Float_t  fCentV0A;            // percentile centrality from V0A
-  Float_t  fCentV0A0;         // percentile centrality from V0A-123
+  Float_t  fCentV0A0;           // percentile centrality from V0A-123
   Float_t  fCentV0A123;         // percentile centrality from V0A-123
   Float_t  fCentV0C;            // percentile centrality from V0C
+  Float_t  fCentV0A23;          // percentile centrality from V0A rings 23
+  Float_t  fCentV0C01;          // percentile centrality from V0C rings 01
+  Float_t  fCentV0S;            // percentile centrality from V0A23 and V0C01
   Float_t  fCentV0MEq;          // percentile centrality from V0 equalized channel
   Float_t  fCentV0AEq;          // percentile centrality from V0A equalized channel
   Float_t  fCentV0CEq;          // percentile centrality from V0C equalized channel
@@ -151,6 +154,9 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F    *fHtempV0A0;          // histogram with centrality vs multiplicity using V0A-123
   TH1F    *fHtempV0A123;        // histogram with centrality vs multiplicity using V0A-123
   TH1F    *fHtempV0C;           // histogram with centrality vs multiplicity using V0C
+  TH1F    *fHtempV0A23;         // histogram with centrality vs multiplicity using V0A-23
+  TH1F    *fHtempV0C01;         // histogram with centrality vs multiplicity using V0C-01
+  TH1F    *fHtempV0S;           // histogram with centrality vs multiplicity using V0A23 and V0C01 
   TH1F    *fHtempV0MEq;         // histogram with centrality vs multiplicity using V0  equalized channel
   TH1F    *fHtempV0AEq;         // histogram with centrality vs multiplicity using V0A equalized channel
   TH1F    *fHtempV0CEq;         // histogram with centrality vs multiplicity using V0C equalized channel
@@ -194,6 +200,9 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F *fHOutCentV0A0   ;       //control histogram for centrality
   TH1F *fHOutCentV0A123 ;       //control histogram for centrality
   TH1F *fHOutCentV0C    ;       //control histogram for centrality
+  TH1F *fHOutCentV0A23  ;       //control histogram for centrality
+  TH1F *fHOutCentV0C01  ;       //control histogram for centrality
+  TH1F *fHOutCentV0S    ;       //control histogram for centrality
   TH1F *fHOutCentV0MEq  ;       //control histogram for centrality
   TH1F *fHOutCentV0AEq  ;       //control histogram for centrality
   TH1F *fHOutCentV0CEq  ;       //control histogram for centrality
@@ -262,6 +271,9 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F *fHOutMultV0A0 ;         //control histogram for multiplicity
   TH1F *fHOutMultV0A123 ;       //control histogram for multiplicity
   TH1F *fHOutMultV0C ;          //control histogram for multiplicity
+  TH1F *fHOutMultV0A23 ;        //control histogram for multiplicity
+  TH1F *fHOutMultV0C01 ;        //control histogram for multiplicity
+  TH1F *fHOutMultV0S   ;        //control histogram for multiplicity
   TH1F *fHOutMultV0MEq ;        //control histogram for multiplicity
   TH1F *fHOutMultV0AEq ;        //control histogram for multiplicity
   TH1F *fHOutMultV0CEq ;        //control histogram for multiplicity
@@ -314,7 +326,7 @@ class AliCentralitySelectionTask : public AliAnalysisTaskSE {
   TH1F *fHOutVertex ;           //control histogram for vertex SPD
   TH1F *fHOutVertexT0 ;         //control histogram for vertex T0
 
-  ClassDef(AliCentralitySelectionTask, 30); 
+  ClassDef(AliCentralitySelectionTask, 31); 
 };
 
 #endif
index 12d3b4d..a9bfbd5 100644 (file)
@@ -55,6 +55,9 @@ class AliOADBCentrality : public TNamed {
   TH1F*   V0A0hist()       const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0A0_percentile")));}
   TH1F*   V0A123hist()     const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0A123_percentile")));}
   TH1F*   V0Chist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0C_percentile")));}
+  TH1F*   V0A23hist()      const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0A23_percentile")));}
+  TH1F*   V0C01hist()      const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0C01_percentile")));}
+  TH1F*   V0Shist()        const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0S_percentile")));}
   TH1F*   V0Eqhist()       const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0MEq_percentile")));}
   TH1F*   V0AEqhist()      const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0AEq_percentile")));}
   TH1F*   V0CEqhist()      const  {return ((TH1F*) (Hists1D()->FindObject("fHOutMultV0CEq_percentile")));}
index beabdeb..ea1b65f 100644 (file)
@@ -30,6 +30,9 @@ AliCentrality::AliCentrality() : TNamed("Centrality", "Centrality"),
   fCentralityV0A0(0),
   fCentralityV0A123(0),
   fCentralityV0C(0),
+  fCentralityV0A23(0),
+  fCentralityV0C01(0),
+  fCentralityV0S(0),
   fCentralityV0MEq(0),
   fCentralityV0AEq(0),
   fCentralityV0CEq(0),
@@ -75,6 +78,9 @@ AliCentrality::AliCentrality(const AliCentrality& cnt) :
   fCentralityV0A0(cnt.fCentralityV0A0),
   fCentralityV0A123(cnt.fCentralityV0A123),
   fCentralityV0C(cnt.fCentralityV0C),
+  fCentralityV0A23(cnt.fCentralityV0A23),
+  fCentralityV0C01(cnt.fCentralityV0C01),
+  fCentralityV0S(cnt.fCentralityV0S),
   fCentralityV0MEq(cnt.fCentralityV0MEq),
   fCentralityV0AEq(cnt.fCentralityV0AEq),
   fCentralityV0CEq(cnt.fCentralityV0CEq),
@@ -123,6 +129,9 @@ AliCentrality& AliCentrality::operator=(const AliCentrality& c)
     fCentralityV0A0 = c.fCentralityV0A0;
     fCentralityV0A123 = c.fCentralityV0A123;
     fCentralityV0C = c.fCentralityV0C;
+    fCentralityV0A23 = c.fCentralityV0A23;
+    fCentralityV0C01 = c.fCentralityV0C01;
+    fCentralityV0S = c.fCentralityV0S;
     fCentralityV0MEq = c.fCentralityV0MEq;
     fCentralityV0AEq = c.fCentralityV0AEq;
     fCentralityV0CEq = c.fCentralityV0CEq;
@@ -181,6 +190,9 @@ Float_t AliCentrality::GetCentralityPercentile(const char *x) const
     if(method.CompareTo("V0A0")==0)   return fCentralityV0A0;
     if(method.CompareTo("V0A123")==0)   return fCentralityV0A123;
     if(method.CompareTo("V0C")==0)      return fCentralityV0C;
+    if(method.CompareTo("V0A23")==0)    return fCentralityV0A23;
+    if(method.CompareTo("V0C01")==0)    return fCentralityV0C01;
+    if(method.CompareTo("V0S")==0)      return fCentralityV0S;
     if(method.CompareTo("V0MEq")==0)    return fCentralityV0MEq;
     if(method.CompareTo("V0AEq")==0)    return fCentralityV0AEq;
     if(method.CompareTo("V0CEq")==0)    return fCentralityV0CEq;
@@ -230,6 +242,9 @@ Int_t AliCentrality::GetCentralityClass10(const char *x) const
     if(method.CompareTo("V0A0")==0)     return (Int_t) (fCentralityV0A0 / 10.0);
     if(method.CompareTo("V0A123")==0)   return (Int_t) (fCentralityV0A123 / 10.0);
     if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 10.0);
+    if(method.CompareTo("V0A23")==0)    return (Int_t) (fCentralityV0A23 / 10.0);
+    if(method.CompareTo("V0C01")==0)    return (Int_t) (fCentralityV0C01 / 10.0);
+    if(method.CompareTo("V0S")==0)      return (Int_t) (fCentralityV0S / 10.0);
     if(method.CompareTo("V0MEq")==0)    return (Int_t) (fCentralityV0MEq / 10.0);
     if(method.CompareTo("V0AEq")==0)    return (Int_t) (fCentralityV0AEq / 10.0);
     if(method.CompareTo("V0CEq")==0)    return (Int_t) (fCentralityV0CEq / 10.0);
@@ -279,6 +294,9 @@ Int_t AliCentrality::GetCentralityClass5(const char *x) const
     if(method.CompareTo("V0A0")==0)     return (Int_t) (fCentralityV0A0 / 5.0);
     if(method.CompareTo("V0A123")==0)   return (Int_t) (fCentralityV0A123 / 5.0);
     if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 5.0);
+    if(method.CompareTo("V0A23")==0)    return (Int_t) (fCentralityV0A23 / 5.0);
+    if(method.CompareTo("V0C01")==0)    return (Int_t) (fCentralityV0C01 / 5.0);
+    if(method.CompareTo("V0S")==0)      return (Int_t) (fCentralityV0S / 5.0);
     if(method.CompareTo("V0MEq")==0)    return (Int_t) (fCentralityV0MEq / 5.0);
     if(method.CompareTo("V0AEq")==0)    return (Int_t) (fCentralityV0AEq / 5.0);
     if(method.CompareTo("V0CEq")==0)    return (Int_t) (fCentralityV0CEq / 5.0);
@@ -329,6 +347,9 @@ Bool_t AliCentrality::IsEventInCentralityClass(Float_t a, Float_t b, const char
     if ((method.CompareTo("V0A0")==0) && (fCentralityV0A0 >=a && fCentralityV0A0 < b)) return kTRUE;
     if ((method.CompareTo("V0A123")==0) && (fCentralityV0A123 >=a && fCentralityV0A123 < b)) return kTRUE;
     if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
+    if ((method.CompareTo("V0A23")==0) && (fCentralityV0A23 >=a && fCentralityV0A23 < b)) return kTRUE;
+    if ((method.CompareTo("V0C01")==0) && (fCentralityV0C01 >=a && fCentralityV0C01 < b)) return kTRUE;
+    if ((method.CompareTo("V0S")==0) && (fCentralityV0S >=a && fCentralityV0S < b)) return kTRUE;
     if ((method.CompareTo("V0MEq")==0) && (fCentralityV0MEq >=a && fCentralityV0MEq < b)) return kTRUE;
     if ((method.CompareTo("V0AEq")==0) && (fCentralityV0AEq >=a && fCentralityV0AEq < b)) return kTRUE;
     if ((method.CompareTo("V0CEq")==0) && (fCentralityV0CEq >=a && fCentralityV0CEq < b)) return kTRUE;
@@ -377,6 +398,9 @@ Float_t AliCentrality::GetCentralityPercentileUnchecked(const char *x) const
   if(method.CompareTo("V0A0")==0)     return fCentralityV0A0;
   if(method.CompareTo("V0A123")==0)   return fCentralityV0A123;
   if(method.CompareTo("V0C")==0)      return fCentralityV0C;
+  if(method.CompareTo("V0A23")==0)    return fCentralityV0A23;
+  if(method.CompareTo("V0C01")==0)    return fCentralityV0C01;
+  if(method.CompareTo("V0S")==0)      return fCentralityV0S;
   if(method.CompareTo("V0MEq")==0)    return fCentralityV0MEq;
   if(method.CompareTo("V0AEq")==0)    return fCentralityV0AEq;
   if(method.CompareTo("V0CEq")==0)    return fCentralityV0CEq;
@@ -421,6 +445,9 @@ Int_t AliCentrality::GetCentralityClass10Unchecked(const char *x) const
     if(method.CompareTo("V0A")==0)      return (Int_t) (fCentralityV0A / 10.0);
     if(method.CompareTo("V0A0")==0)     return (Int_t) (fCentralityV0A0 / 10.0);
     if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 10.0);
+    if(method.CompareTo("V0A23")==0)    return (Int_t) (fCentralityV0A23 / 10.0);
+    if(method.CompareTo("V0C01")==0)    return (Int_t) (fCentralityV0C01 / 10.0);
+    if(method.CompareTo("V0S")==0)      return (Int_t) (fCentralityV0S / 10.0);
     if(method.CompareTo("V0MEq")==0)    return (Int_t) (fCentralityV0MEq / 10.0);
     if(method.CompareTo("V0AEq")==0)    return (Int_t) (fCentralityV0AEq / 10.0);
     if(method.CompareTo("V0CEq")==0)    return (Int_t) (fCentralityV0CEq / 10.0);
@@ -466,6 +493,9 @@ Int_t AliCentrality::GetCentralityClass5Unchecked(const char *x) const
     if(method.CompareTo("V0A0")==0)     return (Int_t) (fCentralityV0A0 / 5.0);
     if(method.CompareTo("V0A123")==0)   return (Int_t) (fCentralityV0A123 / 5.0);
     if(method.CompareTo("V0C")==0)      return (Int_t) (fCentralityV0C / 5.0);
+    if(method.CompareTo("V0A23")==0)    return (Int_t) (fCentralityV0A23 / 5.0);
+    if(method.CompareTo("V0C01")==0)    return (Int_t) (fCentralityV0C01 / 5.0);
+    if(method.CompareTo("V0S")==0)      return (Int_t) (fCentralityV0S / 5.0);
     if(method.CompareTo("V0MEq")==0)    return (Int_t) (fCentralityV0MEq / 5.0);
     if(method.CompareTo("V0AEq")==0)    return (Int_t) (fCentralityV0AEq / 5.0);
     if(method.CompareTo("V0CEq")==0)    return (Int_t) (fCentralityV0CEq / 5.0);
@@ -511,6 +541,9 @@ Bool_t AliCentrality::IsEventInCentralityClassUnchecked(Float_t a, Float_t b, co
     if ((method.CompareTo("V0A0")==0) && (fCentralityV0A0 >=a && fCentralityV0A0 < b)) return kTRUE;
     if ((method.CompareTo("V0A123")==0) && (fCentralityV0A123 >=a && fCentralityV0A123 < b)) return kTRUE;
     if ((method.CompareTo("V0C")==0) && (fCentralityV0C >=a && fCentralityV0C < b)) return kTRUE;
+    if ((method.CompareTo("V0A23")==0) && (fCentralityV0A23 >=a && fCentralityV0A23 < b)) return kTRUE;
+    if ((method.CompareTo("V0C01")==0) && (fCentralityV0C01 >=a && fCentralityV0C01 < b)) return kTRUE;
+    if ((method.CompareTo("V0S")==0) && (fCentralityV0S >=a && fCentralityV0S < b)) return kTRUE;
     if ((method.CompareTo("V0MEq")==0) && (fCentralityV0MEq >=a && fCentralityV0MEq < b)) return kTRUE;
     if ((method.CompareTo("V0AEq")==0) && (fCentralityV0AEq >=a && fCentralityV0AEq < b)) return kTRUE;
     if ((method.CompareTo("V0CEq")==0) && (fCentralityV0CEq >=a && fCentralityV0CEq < b)) return kTRUE;
@@ -557,6 +590,9 @@ void AliCentrality::Reset()
   fCentralityV0A0     =  0;
   fCentralityV0A123   =  0;
   fCentralityV0C      =  0;
+  fCentralityV0A23    =  0;
+  fCentralityV0C01    =  0;
+  fCentralityV0S      =  0;
   fCentralityV0MEq    =  0;
   fCentralityV0AEq    =  0;
   fCentralityV0CEq    =  0;
index d67e77f..0a85406 100644 (file)
@@ -28,6 +28,9 @@ class AliCentrality : public TNamed
   void SetCentralityV0A0(Float_t cent) {fCentralityV0A0 = cent;} 
   void SetCentralityV0A123(Float_t cent) {fCentralityV0A123 = cent;} 
   void SetCentralityV0C(Float_t cent) {fCentralityV0C = cent;} 
+  void SetCentralityV0A23(Float_t cent) {fCentralityV0A23 = cent;} 
+  void SetCentralityV0C01(Float_t cent) {fCentralityV0C01 = cent;} 
+  void SetCentralityV0S(Float_t cent) {fCentralityV0S = cent;} 
   void SetCentralityV0MEq(Float_t cent) {fCentralityV0MEq = cent;} 
   void SetCentralityV0AEq(Float_t cent) {fCentralityV0AEq = cent;} 
   void SetCentralityV0CEq(Float_t cent) {fCentralityV0CEq = cent;} 
@@ -81,6 +84,9 @@ class AliCentrality : public TNamed
   Float_t fCentralityV0A0;  // Centrality from V0A0
   Float_t fCentralityV0A123;// Centrality from V0A123
   Float_t fCentralityV0C;   // Centrality from V0C
+  Float_t fCentralityV0A23; // Centrality from V0A23
+  Float_t fCentralityV0C01; // Centrality from V0C01
+  Float_t fCentralityV0S;   // Centrality from V0S
   Float_t fCentralityV0MEq; // Centrality from V0A+V0C equalized channel
   Float_t fCentralityV0AEq; // Centrality from V0A equalized channel
   Float_t fCentralityV0CEq; // Centrality from V0C equalized channel
@@ -116,6 +122,6 @@ class AliCentrality : public TNamed
   Float_t fCentralityZPAtrue;   // Centrality from true (sim) ZNA
   Float_t fCentralityZPCtrue;   // Centrality from true (sim) ZNC
 
-  ClassDef(AliCentrality, 9)
+  ClassDef(AliCentrality, 10)
 };
 #endif //ALICENTRALITY_H