Move the rejection of events with large z vertex from the analysis code to the reader...
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Jan 2011 18:48:30 +0000 (18:48 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 18 Jan 2011 18:48:30 +0000 (18:48 +0000)
PWG4/PartCorrBase/AliAnaPartCorrBaseClass.cxx
PWG4/PartCorrBase/AliAnaPartCorrBaseClass.h
PWG4/PartCorrBase/AliCaloTrackReader.cxx
PWG4/PartCorrBase/AliCaloTrackReader.h
PWG4/macros/AddTaskPartCorr.C
PWG4/macros/AddTaskPartCorrM.C
PWG4/macros/AddTaskPi0.C
PWG4/macros/QA/AddTaskCalorimeterQA.C

index 640a6a7..21af4f2 100755 (executable)
@@ -47,7 +47,7 @@ ClassImp(AliAnaPartCorrBaseClass)
   AliAnaPartCorrBaseClass::AliAnaPartCorrBaseClass() : 
     TObject(), fDataMC(0), fDebug(0), fCheckFidCut(0),
     fCheckCaloPID(0), fRecalculateCaloPID(0), fMinPt(0), fMaxPt(0),
-    fMultiBin(0),fNZvertBin(0),fNrpBin(0),fZvtxCut(0.), fMaxMulti(0),fMinMulti(0),
+    fMultiBin(0),fNZvertBin(0),fNrpBin(0), fMaxMulti(0),fMinMulti(0),
     fUseSelectEvent(kFALSE), fMakePlots(kFALSE),
     fReader(0x0), fInputAODBranch(0x0), fInputAODName(""),
     fOutputAODBranch(0x0), fNewAOD(kFALSE),
@@ -418,7 +418,6 @@ void AliAnaPartCorrBaseClass::InitParameters()
   fMultiBin = 1;
   fNZvertBin = 1;
   fNrpBin    = 1;
-  fZvtxCut   = 10;
   fMaxMulti   = 1000;
   fMinMulti   = 0;
   fUseSelectEvent = kFALSE ;
index 0ce2696..e15e90e 100755 (executable)
@@ -172,7 +172,6 @@ public:
   virtual void SetMultiBin(Int_t n=1) {fMultiBin=n ;} //number of bins in Multiplicity  
   virtual void SetNZvertBin(Int_t n=1) {fNZvertBin=n ;} //number of bins for vertex position
   virtual void SetNRPBin(Int_t n=1)    {fNrpBin=n ;}    //number of bins in reaction plain  
-  virtual void SetZvertexCut(Float_t zcut=40.){fZvtxCut=zcut ;} //cut on vertex position
   virtual void SetMultiplicity(Int_t multimin, Int_t multimax) {fMinMulti = multimin ; fMaxMulti = multimax ; }
   virtual void SwitchOnEventSelection()    {fUseSelectEvent = kTRUE ; }
   virtual void SwitchOffEventSelection()   {fUseSelectEvent = kFALSE ; } 
@@ -181,7 +180,7 @@ public:
   virtual Int_t GetNZvertBin() const       {return fNZvertBin ;} //number of bins in vertex   
   virtual Int_t GetNRPBin()    const       {return fNrpBin ;}    //number of bins in reaction plain 
   //Getters for event selection
-  virtual Float_t GetZvertexCut() const {return fZvtxCut ;} //cut on vertex position  
+  virtual Float_t GetZvertexCut() const {return GetReader()->GetZvertexCut();} //cut on vertex position  
   virtual Int_t GetMaxMulti()     const {return fMaxMulti  ; }  
   virtual Int_t GetMinMulti()     const {return fMinMulti  ; }  
   
@@ -307,7 +306,6 @@ private:
   Int_t    fMultiBin ;          // Number of bins in event container for multiplicity
   Int_t    fNZvertBin ;                 // Number of bins in event container for vertex position
   Int_t    fNrpBin ;              // Number of bins in event container for reaction plain
-  Float_t  fZvtxCut ;             // Cut on vertex position  
   Int_t    fMaxMulti ;           // Maximum multiplicity of particles in the analysis
   Int_t    fMinMulti ;           // Maximum multiplicity of particles in the analysis
   Bool_t   fUseSelectEvent ;     // Select events based on multiplicity and vertex cuts
index 0774eaa..8363f07 100755 (executable)
@@ -69,7 +69,7 @@ ClassImp(AliCaloTrackReader)
     fAnaLED(kFALSE),fTaskName(""),fCaloUtils(0x0), 
     fMixedEvent(NULL), fNMixedEvent(1), fVertex(NULL), 
     fWriteOutputDeltaAOD(kFALSE),fOldAOD(kFALSE),fCaloFilterPatch(kFALSE),
-    fEMCALClustersListName("")
+    fEMCALClustersListName(""),fZvtxCut(0.)
 {
   //Ctor
   
@@ -326,6 +326,8 @@ void AliCaloTrackReader::InitParameters()
   fV0ADC[0] = 0;   fV0ADC[1] = 0; 
   fV0Mul[0] = 0;   fV0Mul[1] = 0; 
 
+  fZvtxCut   = 10.;
+  
 }
 
 //________________________________________________________________
@@ -433,6 +435,8 @@ Bool_t AliCaloTrackReader::FillInputEvent(const Int_t iEntry, const char * curre
   //Fill Vertex array
   
   FillVertexArray();
+  //Reject events with Z vertex too large, only for SE analysis, if not, cut on the analysis code
+  if(!GetMixedEvent() && TMath::Abs(fVertex[0][2]) > fZvtxCut) return kFALSE;  
   
   //Fill the arrays with cluster/tracks/cells data
    if(fFillEMCALCells) 
index 2268a05..f3804ba 100755 (executable)
@@ -214,7 +214,9 @@ public:
   virtual void GetVertex(Double_t vertex[3], const Int_t evtIndex) const ;
   virtual void FillVertexArray();
  // virtual void       GetSecondInputAODVertex(Double_t *) const {;}
-  
+  virtual Float_t GetZvertexCut() const {return fZvtxCut ;} //cut on vertex position  
+  virtual void SetZvertexCut(Float_t zcut=10.){fZvtxCut=zcut ;} //cut on vertex position
+
   void SwitchOnWriteDeltaAOD()  {fWriteOutputDeltaAOD = kTRUE ;  }
   void SwitchOffWriteDeltaAOD() {fWriteOutputDeltaAOD = kFALSE ; }
   Bool_t WriteDeltaAODToFile() const {return fWriteOutputDeltaAOD ; } 
@@ -317,7 +319,8 @@ public:
 
   Bool_t           fCaloFilterPatch;    // CaloFilter patch
   TString          fEMCALClustersListName; //Alternative list of clusters produced elsewhere and not from InputEvent
-  
+  Float_t          fZvtxCut ;             // Cut on vertex position  
+
   ClassDef(AliCaloTrackReader,22)
 } ;
 
index e1d3684..1ca8bab 100644 (file)
@@ -58,6 +58,8 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
     }
   }
   
+  reader->SetZvertexCut(10.);
+  
   //Min particle pT
   reader->SetEMCALPtMin(0.3); 
   reader->SetPHOSPtMin(0.3);
@@ -116,7 +118,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   anaphoton->SetDebug(-1); //10 for lots of messages
   //settings for different multiplicity analysis
   anaphoton->SwitchOffEventSelection() ;
-  anaphoton->SetZvertexCut(10.);
   anaphoton->SetMultiplicity(80, 120);
 
   if(calorimeter == "PHOS"){
@@ -181,7 +182,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   anapi0->SwitchOnOwnMix();
   anapi0->SwitchOnEventSelection() ;
   anapi0->SetNCentrBin(1);
-  anapi0->SetZvertexCut(10.);
   //anapi0->SetMultiplicity(80, 120);
   anapi0->SetMultiBin(1);  
   if(kUseKinematics)anapi0->SwitchOnDataMC() ;//Access MC stack and fill more histograms
@@ -203,7 +203,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   
   AliAnaPi0EbE *anapi0ebe = new AliAnaPi0EbE();
   anapi0ebe->SwitchOffEventSelection() ;
-  anapi0ebe->SetZvertexCut(10.);
   anapi0ebe->SetMultiplicity(80, 120);
   anapi0ebe->SetMultiBin(1);  
   anapi0ebe->SetDebug(-1);//10 for lots of messages
@@ -391,7 +390,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   }
   anacorrhadron->SwitchOnDecayCorr();
   anacorrhadron->SetMultiBin(1);
-  anacorrhadron->SetZvertexCut(10.);
   anacorrhadron->SwitchOffNeutralCorr();
   anacorrhadron->SwitchOffEventSelection();
   anacorrhadron->SetPtCutRange(0.1,100);
@@ -431,7 +429,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   }
   anacorrisohadron->SwitchOnDecayCorr();
   anacorrisohadron->SetMultiBin(1);
-  anacorrisohadron->SetZvertexCut(10.);
   anacorrisohadron->SwitchOffNeutralCorr();
   anacorrisohadron->SwitchOffEventSelection();
   anacorrisohadron->SetPtCutRange(0.1,100);
@@ -472,7 +469,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   }
   anacorrhadronpi0->SwitchOnDecayCorr();
   anacorrhadronpi0->SetMultiBin(1);
-  anacorrhadronpi0->SetZvertexCut(10.);
   anacorrhadronpi0->SwitchOffNeutralCorr();
   anacorrhadronpi0->SwitchOffEventSelection();
   anacorrhadronpi0->SetPtCutRange(0.1,100);
@@ -512,7 +508,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPartCorr(TString inputDataType, TStri
   }
   anacorrhadronisopi0->SwitchOnDecayCorr();
   anacorrhadronisopi0->SetMultiBin(1);
-  anacorrhadronisopi0->SetZvertexCut(10.);
   anacorrhadronisopi0->SwitchOffNeutralCorr();
   anacorrhadronisopi0->SwitchOffEventSelection();
   anacorrhadronisopi0->SetPtCutRange(0.1,100);
index 9cb7c58..a17a868 100644 (file)
@@ -53,6 +53,8 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     }
   }
   
+  reader->SetZvertexCut(10.);
+  
   //Min particle pT
   reader->SetEMCALPtMin(0.5); 
   reader->SetPHOSPtMin(0.5);
@@ -142,7 +144,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     anaphoton->SwitchOnTrackMatchRejection();
     //settings for different multiplicity analysis
     anaphoton->SwitchOffEventSelection() ;
-    anaphoton->SetZvertexCut(10.);
     anaphoton->SetMultiplicity(80, 120);
     
     if(calorimeter == "EMCAL"){
@@ -182,7 +183,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     //settings for different multiplicity analysis
     anapi0->SwitchOnEventSelection() ;
     anapi0->SetNCentrBin(1);
-    anapi0->SetZvertexCut(10.);
     anapi0->SetMultiplicity(80, 120);
     anapi0->SetMultiBin(1);  
     anapi0->SwitchOffDataMC() ;//Access MC stack and fill more histograms
@@ -224,7 +224,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     if(kUseKinematics) anapi0ebe->SwitchOnDataMC() ;//Access MC stack and fill more histograms
     else  anapi0ebe->SwitchOffDataMC() ;       
     anapi0ebe->SwitchOffEventSelection() ;
-    anapi0ebe->SetZvertexCut(10.);
     anapi0ebe->SetMultiplicity(80, 120);
     anapi0ebe->SetMultiBin(1);  
     anapi0ebe->SetNeutralMesonSelection(nms);
@@ -254,7 +253,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     anacorrhadronpi0->SelectIsolated(kFALSE); // do correlation with non isolated pi0
     anacorrhadronpi0->SetMultiplicity(80, 100);
     anacorrhadronpi0->SetMultiBin(1);
-    anacorrhadronpi0->SetZvertexCut(10.);
     anacorrhadronpi0->SwitchOffNeutralCorr();
     anacorrhadronpi0->SwitchOffEventSelection();
     anacorrhadronpi0->SwitchOnSeveralUECalculation();
@@ -275,7 +273,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     AliAnaParticleIsolation *anaisolpi0 = new AliAnaParticleIsolation();
     anaisolpi0->SetDebug(-1);
     anaisolpi0->SetMinPt(2.);
-    anaisolpi0->SetZvertexCut(10.);
     anaisolpi0->SetInputAODName(Form("Pi0s%s",calorimeter.Data()));
     anaisolpi0->AddToHistogramsName("AnaIsolPi0_");
     anaisolpi0->SetCalorimeter(calorimeter);
@@ -317,7 +314,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     anacorrhadronisopi0->SelectIsolated(kTRUE); // do correlation with isolated pi0
     anacorrhadronisopi0->SetMultiplicity(80, 100);
     anacorrhadronisopi0->SetMultiBin(1);
-    anacorrhadronisopi0->SetZvertexCut(10.);
     anacorrhadronisopi0->SwitchOffNeutralCorr();
     anacorrhadronisopi0->SwitchOffEventSelection();  
     anacorrhadronisopi0->SwitchOnSeveralUECalculation();
@@ -344,7 +340,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
     anacharge->SetDebug(-1); //10 for lots of messages
     anacharge->SetMinPt(1.0);
     // anacharge->SetCaloPID(pid);
-    anacharge->SetZvertexCut(10.);
     if(kUseKinematics) anacharge->SwitchOnDataMC() ;//Access MC stack and fill more histograms
     else  anacharge->SwitchOffDataMC() ;
     anacharge->SwitchOffCaloPID();
@@ -388,7 +383,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
   anacorrhadron->SetDeltaPhiCutRange(1.5,4.5);
   anacorrhadron->SetMultiplicity(80, 120);
   anacorrhadron->SetMultiBin(1);
-  anacorrhadron->SetZvertexCut(10.);
   anacorrhadron->SwitchOffNeutralCorr();
   anacorrhadron->SwitchOffEventSelection();
   anacorrhadron->SwitchOnSeveralUECalculation();
@@ -413,7 +407,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
   AliAnaParticleIsolation *anaisol = new AliAnaParticleIsolation();
   anaisol->SetDebug(-1);
   anaisol->SetMinPt(2.0);
-  anaisol->SetZvertexCut(10.);
   anaisol->SetInputAODName(Form("Triggers%s",calorimeter.Data()));
   anaisol->AddToHistogramsName("AnaIsolTrig_");
   anaisol->SetCalorimeter(calorimeter);
@@ -457,7 +450,6 @@ AliAnalysisTaskParticleCorrelationM *AddTaskPartCorrM(TString data, TString calo
   anacorrisohadron->SetDeltaPhiCutRange(1.5,4.5);
   anacorrisohadron->SetMultiplicity(80, 100);
   anacorrisohadron->SetMultiBin(1);
-  anacorrisohadron->SetZvertexCut(10.);
   anacorrisohadron->SwitchOffNeutralCorr();
   anacorrisohadron->SwitchOffEventSelection();
   anacorrisohadron->SwitchOnSeveralUECalculation();
index 908fab2..eb65001 100644 (file)
@@ -75,6 +75,8 @@ AliAnalysisTaskParticleCorrelation *AddTaskPi0(TString data, TString calorimeter
   //CTS is off when calling this method
   //reader->SwitchOnCaloFilterPatch();
   
+  reader->SetZvertexCut(10.);
+  
   //Min particle pT
   reader->SetEMCALPtMin(0.1); 
   reader->SetPHOSPtMin(0.);
@@ -125,7 +127,6 @@ AliAnalysisTaskParticleCorrelation *AddTaskPi0(TString data, TString calorimeter
   
   AliAnaPhoton *anaphoton = new AliAnaPhoton();
   anaphoton->SetDebug(-1); //10 for lots of messages
-  anaphoton->SetZvertexCut(10);
   if(calorimeter == "PHOS"){
     anaphoton->SetNCellCut(0);// At least 2 cells
     anaphoton->SetMinPt(0.);
index e744ba3..9b6c4fb 100644 (file)
@@ -44,6 +44,7 @@ AliAnalysisTaskParticleCorrelation *AddTaskCalorimeterQA(TString data, Bool_t kP
   reader->SetEMCALPtMin(0.); 
   reader->SetPHOSPtMin (0.);
   reader->SetCTSPtMin  (0.);
+  reader->SetZvertexCut(10.);
   
   if(kUseKinematics){
     if(inputDataType == "ESD"){