]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - CORRFW/AliCFEventClassCuts.cxx
Filling the trigger classes names into the ESDRun object. Initial version, could...
[u/mrichter/AliRoot.git] / CORRFW / AliCFEventClassCuts.cxx
index f77035923f279fe0c31cc50203008f468b00d63a..23f6f4588a5011ffb6337839fd0ca6800ce90742 100644 (file)
@@ -15,7 +15,7 @@
 // To select on the Event Class: look at the Trigger mask and the ZDC info.
 // Only pp-running trigger types implemented so far
 // handles all masks for the trigger description
-// and some general combinations like MB1,MB2,MB3
+// and some general combinations like MB1,MB2,MB3,MB4 and MB5.
 // The argument of IsSelected member function (passed object) is cast into 
 // an AliVEvent, but cuts have a true meaning only for AliESD(AOD)Event 
 // type objects.
@@ -70,6 +70,7 @@ AliCFEventClassCuts::AliCFEventClassCuts() :
   fBitMap=new TBits(0);
   Initialise();
 }
+
 //____________________________________________________________________
 AliCFEventClassCuts::AliCFEventClassCuts(Char_t* name, Char_t* title) : 
   AliCFCutBase(name,title),
@@ -109,7 +110,8 @@ AliCFEventClassCuts::AliCFEventClassCuts(Char_t* name, Char_t* title) :
   fBitMap=new TBits(0);
   Initialise();
  }
-//____________________________________________________________________
+
+//_____________________________________________________________________________
 AliCFEventClassCuts::AliCFEventClassCuts(const AliCFEventClassCuts& c) : 
   AliCFCutBase(c),
   fTriggerType(c.fTriggerType),
@@ -147,7 +149,8 @@ AliCFEventClassCuts::AliCFEventClassCuts(const AliCFEventClassCuts& c) :
   //copy constructor
   //
 }
-//____________________________________________________________________
+
+//_____________________________________________________________________________
 AliCFEventClassCuts& AliCFEventClassCuts::operator=(const AliCFEventClassCuts& c){
   //
   // Assignment operator
@@ -195,7 +198,7 @@ AliCFEventClassCuts& AliCFEventClassCuts::operator=(const AliCFEventClassCuts& c
   return *this ;
 }
 
-//____________________________________________________________________
+//_____________________________________________________________________________
 AliCFEventClassCuts::~AliCFEventClassCuts()
 {
   //
@@ -217,22 +220,24 @@ AliCFEventClassCuts::~AliCFEventClassCuts()
   if(fhBinLimZDCEnEM2)delete fhBinLimZDCEnEM2;
 
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::Init() {
   //
-  // initialises all histograms and the TList which holds the histograms
+  // initialises all QA histograms 
   //
   if(fIsQAOn)
     DefineHistograms();
 }
-//__________________________________________________________________________________
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::Initialise()
 {
   //
   //initialization
   //
 
+
   //
   // sets pointers to histos to zero
   //
@@ -254,6 +259,7 @@ void AliCFEventClassCuts::Initialise()
   SetHistogramBins(kZDCEnergyEM2,800,-500,7500);
 
 }
+
 //____________________________________________________________________
 Bool_t AliCFEventClassCuts::IsSelected(TObject* obj) {
   //
@@ -324,6 +330,7 @@ TBits *AliCFEventClassCuts::SelectionBitMap(TObject* obj) {
   return fBitMap;
 
 }
+
 //_____________________________________________________________________________
 Bool_t AliCFEventClassCuts::IsTriggered(AliVEvent* ev, TriggerType trigger) {
   //
@@ -336,6 +343,7 @@ Bool_t AliCFEventClassCuts::IsTriggered(AliVEvent* ev, TriggerType trigger) {
   return isTriggered;
 
 }
+
 //_____________________________________________________________________________
 void AliCFEventClassCuts::TriggerBitMap(AliVEvent* ev, TBits *bitmapT ) {
   //
@@ -371,7 +379,8 @@ void AliCFEventClassCuts::TriggerBitMap(AliVEvent* ev, TBits *bitmapT ) {
 
   return;
 } 
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::GetBitMap(TObject* obj, TBits* bitmap){
   //
   // retrieve the pointer to the bitmap
@@ -380,7 +389,8 @@ void AliCFEventClassCuts::GetBitMap(TObject* obj, TBits* bitmap){
   bitmap = SelectionBitMap(obj);
 
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t *bins)
 {
   //
@@ -390,43 +400,43 @@ void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t *b
 
   switch(index){
   case kTrigger:
-    fhNBinsTrigger=nbins;
+    fhNBinsTrigger=nbins+1;
     fhBinLimTrigger=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimTrigger[i]=bins[i];
     break;
     
   case kZDCEnergyN1:
-    fhNBinsZDCEnN1=nbins;
+    fhNBinsZDCEnN1=nbins+1;
     fhBinLimZDCEnN1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnN1[i]=bins[i];
     break;
 
   case kZDCEnergyP1:
-    fhNBinsZDCEnP1=nbins;
+    fhNBinsZDCEnP1=nbins+1;
     fhBinLimZDCEnP1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnP1[i]=bins[i];
     break;
 
   case kZDCEnergyN2:
-    fhNBinsZDCEnN2=nbins;
+    fhNBinsZDCEnN2=nbins+1;
     fhBinLimZDCEnN2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnN2[i]=bins[i];
     break;
 
   case kZDCEnergyP2:
-    fhNBinsZDCEnP2=nbins;
+    fhNBinsZDCEnP2=nbins+1;
     fhBinLimZDCEnP2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnP2[i]=bins[i];
     break;
 
   case kZDCEnergyEM1:
-    fhNBinsZDCEnEM1=nbins;
+    fhNBinsZDCEnEM1=nbins+1;
     fhBinLimZDCEnEM1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnEM1[i]=bins[i];
     break;
 
   case kZDCEnergyEM2:
-    fhNBinsZDCEnEM2=nbins;
+    fhNBinsZDCEnEM2=nbins+1;
     fhBinLimZDCEnEM2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnEM2[i]=bins[i];
     break;
@@ -434,7 +444,8 @@ void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t *b
   }
 
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t xmin, Double_t xmax)
 {
   //
@@ -443,49 +454,50 @@ void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t xm
   //
   switch(index){
   case kTrigger:
-    fhNBinsTrigger=nbins;
+    fhNBinsTrigger=nbins+1;
     fhBinLimTrigger=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimTrigger[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
     
   case kZDCEnergyN1:
-    fhNBinsZDCEnN1=nbins;
+    fhNBinsZDCEnN1=nbins+1;
     fhBinLimZDCEnN1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnN1[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
 
   case kZDCEnergyP1:
-    fhNBinsZDCEnP1=nbins;
+    fhNBinsZDCEnP1=nbins+1;
     fhBinLimZDCEnP1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnP1[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
 
   case kZDCEnergyN2:
-    fhNBinsZDCEnN2=nbins;
+    fhNBinsZDCEnN2=nbins+1;
     fhBinLimZDCEnN2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnN2[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
 
   case kZDCEnergyP2:
-    fhNBinsZDCEnP2=nbins;
+    fhNBinsZDCEnP2=nbins+1;
     fhBinLimZDCEnP2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnP2[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
 
   case kZDCEnergyEM1:
-    fhNBinsZDCEnEM1=nbins;
+    fhNBinsZDCEnEM1=nbins+1;
     fhBinLimZDCEnEM1=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnEM1[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
 
   case kZDCEnergyEM2:
-    fhNBinsZDCEnEM2=nbins;
+    fhNBinsZDCEnEM2=nbins+1;
     fhBinLimZDCEnEM2=new Double_t[nbins+1];
     for(Int_t i=0;i<nbins+1;i++)fhBinLimZDCEnEM2[i]=xmin+i*(xmax-xmin)/Double_t(nbins);
     break;
   }
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
  void AliCFEventClassCuts::DefineHistograms() {
   //
   // histograms for cut variables
@@ -504,13 +516,13 @@ void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t xm
     if (i==0) sprintf(str," ");
     else sprintf(str,"_cut");
 
-    fhQA[kTrigger][i]  = new  TH1F(Form("%s_TriggerBits%s",GetName(),str),                     "",fhNBinsTrigger,fhBinLimTrigger);
-    fhQA[kZDCEnergyN1][i]      = new  TH1F(Form("%s_ZDC_Energy_N1%s",GetName(),str),           "",fhNBinsZDCEnN1,fhBinLimZDCEnN1);
-    fhQA[kZDCEnergyP1][i]      = new  TH1F(Form("%s_ZDC_Energy_P1%s",GetName(),str),           "",fhNBinsZDCEnP1,fhBinLimZDCEnP1);
-    fhQA[kZDCEnergyN2][i]      = new  TH1F(Form("%s_ZDC_Energy_N2%s",GetName(),str),           "",fhNBinsZDCEnN2,fhBinLimZDCEnN2);
-    fhQA[kZDCEnergyP2][i]      = new  TH1F(Form("%s_ZDC_Energy_P2%s",GetName(),str),           "",fhNBinsZDCEnP2,fhBinLimZDCEnP2);
-    fhQA[kZDCEnergyEM1][i]     = new  TH1F(Form("%s_ZDC_Energy_EM1%s",GetName(),str),          "",fhNBinsZDCEnEM1,fhBinLimZDCEnEM1);
-    fhQA[kZDCEnergyEM2][i]     = new  TH1F(Form("%s_ZDC_Energy_EM2%s",GetName(),str),          "",fhNBinsZDCEnEM2,fhBinLimZDCEnEM2);
+    fhQA[kTrigger][i]  = new  TH1F(Form("%s_TriggerBits%s",GetName(),str),                     "",fhNBinsTrigger-1,fhBinLimTrigger);
+    fhQA[kZDCEnergyN1][i]      = new  TH1F(Form("%s_ZDC_Energy_N1%s",GetName(),str),           "",fhNBinsZDCEnN1-1,fhBinLimZDCEnN1);
+    fhQA[kZDCEnergyP1][i]      = new  TH1F(Form("%s_ZDC_Energy_P1%s",GetName(),str),           "",fhNBinsZDCEnP1-1,fhBinLimZDCEnP1);
+    fhQA[kZDCEnergyN2][i]      = new  TH1F(Form("%s_ZDC_Energy_N2%s",GetName(),str),           "",fhNBinsZDCEnN2-1,fhBinLimZDCEnN2);
+    fhQA[kZDCEnergyP2][i]      = new  TH1F(Form("%s_ZDC_Energy_P2%s",GetName(),str),           "",fhNBinsZDCEnP2-1,fhBinLimZDCEnP2);
+    fhQA[kZDCEnergyEM1][i]     = new  TH1F(Form("%s_ZDC_Energy_EM1%s",GetName(),str),          "",fhNBinsZDCEnEM1-1,fhBinLimZDCEnEM1);
+    fhQA[kZDCEnergyEM2][i]     = new  TH1F(Form("%s_ZDC_Energy_EM2%s",GetName(),str),          "",fhNBinsZDCEnEM2-1,fhBinLimZDCEnEM2);
 
 
     fhQA[kTrigger][i]          ->SetXTitle("Trigger Bits");
@@ -526,7 +538,8 @@ void AliCFEventClassCuts::SetHistogramBins(Int_t index, Int_t nbins, Double_t xm
   for(Int_t i=0; i<kNCuts; i++) fhQA[i][1]->SetLineColor(color);
 
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::FillHistograms(TObject* obj, Bool_t b)
 {
   //
@@ -566,7 +579,8 @@ void AliCFEventClassCuts::FillHistograms(TObject* obj, Bool_t b)
   fhQA[kZDCEnergyEM2][index]->Fill(esd->GetZDCEMEnergy(1));
 
 }
-//__________________________________________________________________________________
+
+//_____________________________________________________________________________
 void AliCFEventClassCuts::AddQAHistograms(TList *list) const {
   //
   // saves the histograms in a TList