]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/PartCorrBase/AliAnaPartCorrBaseClass.cxx
add method to get centrality of the event for a given centrality class, use it in...
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliAnaPartCorrBaseClass.cxx
index 8ea2fe34afd81bb4e0916b8dbc0bc5eee3030a18..640a6a7fc23ee53b96d18c0581ea81c08738147d 100755 (executable)
@@ -53,87 +53,24 @@ ClassImp(AliAnaPartCorrBaseClass)
     fOutputAODBranch(0x0), fNewAOD(kFALSE),
     fOutputAODName(""), fOutputAODClassName(""),
     fAODObjArrayName(""), fAddToHistogramsName(""),
+    fCentralityClass("V0M"),fCentralityOpt(10),
     fCaloPID(0x0), fFidCut(0x0), fIC(0x0),fMCUtils(0x0), fNMS(0x0),
     fCaloUtils(0x0),
     fHistoPtBins(0),   fHistoPtMax(0.),   fHistoPtMin(0.),
     fHistoPhiBins(0),  fHistoPhiMax(0.),  fHistoPhiMin(0.),
     fHistoEtaBins(0),  fHistoEtaMax(0.),  fHistoEtaMin(0.),
     fHistoMassBins(0), fHistoMassMax(0.), fHistoMassMin(0.),
-    fHistoAsymBins(0), fHistoAsymMax(0.), fHistoAsymMin(0.)
+    fHistoAsymBins(0), fHistoAsymMax(0.), fHistoAsymMin(0.),
+    fHistoV0SBins(0),  fHistoV0SMax(0),   fHistoV0SMin(0),
+    fHistoV0MBins(0),  fHistoV0MMax(0),   fHistoV0MMin(0),
+    fHistoTrMBins(0),  fHistoTrMMax(0),   fHistoTrMMin(0)
 {
   //Default Ctor
     
   //Initialize parameters
   InitParameters();
 }
-/*
-//___________________________________________________________
-AliAnaPartCorrBaseClass::AliAnaPartCorrBaseClass(const AliAnaPartCorrBaseClass & abc) :   
-  TObject(), fDataMC(abc.fDataMC), fDebug(abc.fDebug),
-  fCheckFidCut(abc.fCheckFidCut),  fCheckCaloPID(abc. fCheckCaloPID),
-  fRecalculateCaloPID(abc.fRecalculateCaloPID),
-  fMinPt(abc.fMinPt), fMaxPt(abc.fMaxPt), fReader(new AliCaloTrackReader(*abc.fReader)),  
-  fInputAODBranch(new TClonesArray(*abc.fInputAODBranch)), fInputAODName(abc.fInputAODName),
-  fOutputAODBranch(new TClonesArray(*abc.fOutputAODBranch)),fNewAOD(abc.fNewAOD), 
-  fOutputAODName(abc.fOutputAODName), fOutputAODClassName(abc.fOutputAODClassName),
-  fAODObjArrayName(abc.fAODObjArrayName),
-  fAddToHistogramsName(abc.fAddToHistogramsName),
-  fCaloPID(new AliCaloPID(*abc.fCaloPID)), fFidCut(new AliFiducialCut(*abc.fFidCut)), fIC(new AliIsolationCut(*abc.fIC)),
-  fMCUtils(new AliMCAnalysisUtils(*abc.fMCUtils)), fNMS(new AliNeutralMesonSelection(*abc.fNMS)),
-  fCaloUtils(new AliCalorimeterUtils(*abc.fCaloUtils)),
-  fHistoPtBins(abc.fHistoPtBins),     fHistoPtMax(abc.fHistoPtMax),     fHistoPtMin(abc.fHistoPtMin),
-  fHistoPhiBins(abc.fHistoPhiBins),   fHistoPhiMax(abc.fHistoPhiMax),   fHistoPhiMin(abc.fHistoPhiMin),
-  fHistoEtaBins(abc.fHistoEtaBins),   fHistoEtaMax(abc.fHistoEtaMax),   fHistoEtaMin(abc.fHistoEtaMin),
-  fHistoMassBins(abc.fHistoMassBins), fHistoMassMax(abc.fHistoMassMax), fHistoMassMin(abc.fHistoMassMin),
-  fHistoAsymBins(abc.fHistoAsymBins), fHistoAsymMax(abc.fHistoAsymMax), fHistoAsymMin(abc.fHistoAsymMin)
-{
-  // cpy ctor
 
-}
-*/
-  /*
-//_________________________________________________________________________
-AliAnaPartCorrBaseClass & AliAnaPartCorrBaseClass::operator = (const AliAnaPartCorrBaseClass & abc)
-{
-  // assignment operator
-  
-  if(this == &abc) return *this;
-  ((TObject *)this)->operator=(abc);
-  
-  fDataMC             = abc.fDataMC;
-  fDebug              = abc.fDebug ;
-  fRecalculateCaloPID = abc.fRecalculateCaloPID ;
-  fCheckCaloPID       = abc.fCheckCaloPID ;
-  fCheckFidCut        = abc.fCheckFidCut ; 
-       
-  fMinPt   = abc.fMinPt;
-  fMaxPt   = abc.fMaxPt;
-       
-  delete fCaloPID;   fCaloPID   = new AliCaloPID        (*abc.fCaloPID);
-  delete fFidCut;    fFidCut    = new AliFiducialCut    (*abc.fFidCut);
-  delete fMCUtils;   fMCUtils   = new AliMCAnalysisUtils(*abc.fMCUtils);
-  delete fIC;        fIC        = new AliIsolationCut   (*abc.fIC);
-  delete fNMS;       fNMS       = new AliNeutralMesonSelection(*abc.fNMS);
-  delete fCaloUtils; fCaloUtils = new AliCalorimeterUtils(*abc.fCaloUtils);
-  delete fReader;    fReader    = new AliCaloTrackReader(*abc.fReader) ;
-       
-  delete fInputAODBranch;  fInputAODBranch      = new TClonesArray(*abc.fInputAODBranch) ;
-  fInputAODName        = abc.fInputAODName;
-  delete fOutputAODBranch; fOutputAODBranch     = new TClonesArray(*abc.fOutputAODBranch) ;
-  fNewAOD              = abc.fNewAOD ; 
-  fOutputAODName       = abc.fOutputAODName; 
-  fOutputAODClassName  = abc.fOutputAODClassName;
-  fAddToHistogramsName = abc.fAddToHistogramsName;
-  fAODObjArrayName     = abc.fAODObjArrayName;
-
-  fHistoPtBins  = abc.fHistoPtBins;  fHistoPtMax  = abc.fHistoPtMax;  fHistoPtMin  = abc.fHistoPtMin;
-  fHistoPhiBins = abc.fHistoPhiBins; fHistoPhiMax = abc.fHistoPhiMax; fHistoPhiMin = abc.fHistoPhiMin;
-  fHistoEtaBins = abc.fHistoEtaBins; fHistoEtaMax = abc.fHistoEtaMax; fHistoEtaMin = abc.fHistoEtaMin;
-  
-  return *this;
-  
-}
-  */
 //____________________________________________________________________________
 AliAnaPartCorrBaseClass::~AliAnaPartCorrBaseClass() 
 {
@@ -425,6 +362,24 @@ Int_t AliAnaPartCorrBaseClass::GetEventNumber() const {
        
        return fReader->GetEventNumber() ; 
 }
+
+//__________________________________________________
+Int_t AliAnaPartCorrBaseClass::GetEventCentrality() const {
+  //Return current event centrality
+  
+  if(GetCentrality()){
+    if(fCentralityOpt==100)     return (Int_t) GetCentrality()->GetCentralityPercentile(fCentralityClass);
+    else if(fCentralityOpt==10) return GetCentrality()->GetCentralityClass10(fCentralityClass); 
+    else if(fCentralityOpt==5)  return GetCentrality()->GetCentralityClass5(fCentralityClass);
+    else {
+      printf("AliAnaPartCorrBaseClass::Unknown centrality option %d, use 5, 10 or 100\n",fCentralityOpt);
+      return 0;
+    } 
+  }
+  else return 0;
+  
+}
+
        
 //__________________________________________________
 AliStack *  AliAnaPartCorrBaseClass::GetMCStack() const {
@@ -463,7 +418,7 @@ void AliAnaPartCorrBaseClass::InitParameters()
   fMultiBin = 1;
   fNZvertBin = 1;
   fNrpBin    = 1;
-  fZvtxCut   = 40;
+  fZvtxCut   = 10;
   fMaxMulti   = 1000;
   fMinMulti   = 0;
   fUseSelectEvent = kFALSE ;
@@ -498,6 +453,18 @@ void AliAnaPartCorrBaseClass::InitParameters()
   fHistoAsymBins  = 10 ;
   fHistoAsymMax   = 1. ;
   fHistoAsymMin   = 0. ;
+  
+  fHistoV0SBins   = 100 ;
+  fHistoV0SMax    = 10000  ;
+  fHistoV0SMin    = 0  ;
+  
+  fHistoV0MBins  = 100;
+  fHistoV0MMax   = 10000 ;
+  fHistoV0MMin   = 0 ;
+       
+  fHistoTrMBins  = 100 ;
+  fHistoTrMMax   = 2000 ;
+  fHistoTrMMin   = 0 ;
        
 }
 
@@ -526,6 +493,10 @@ void AliAnaPartCorrBaseClass::Print(const Option_t * opt) const
   printf("Histograms: %3.1f < eta < %3.1f, Nbin = %d\n", fHistoEtaMin, fHistoEtaMax, fHistoEtaBins);
   printf("Histograms: %3.1f < mass < %3.1f, Nbin = %d\n", fHistoMassMin, fHistoMassMax, fHistoMassBins);
   printf("Histograms: %3.1f < asymmetry < %3.1f, Nbin = %d\n", fHistoAsymMin, fHistoAsymMax, fHistoAsymBins);
+  printf("Histograms: %d < V0 Signal < %d, Nbin = %d\n", fHistoV0SMin, fHistoV0SMax, fHistoV0SBins);
+  printf("Histograms: %d < V0 Mult < %d, Nbin = %d\n", fHistoV0MMin, fHistoV0MMax, fHistoV0MBins);
+  printf("Histograms: %d < Track Mult < %d, Nbin = %d\n", fHistoTrMMin, fHistoTrMMax, fHistoTrMBins);
+
   printf("Name of reference array      : %s\n", fAODObjArrayName.Data());      
   printf("String added histograms name : %s\n",fAddToHistogramsName.Data());