Corrections implemented into AliAnalysisHadEtReconstructed, simulated hadronic and...
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisHadEt.h
index 4ab9bdb..210a6fd 100644 (file)
@@ -1,6 +1,10 @@
-//Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili
+//_________________________________________________________________________
+//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
 //University of Tennessee at Knoxville
-//This class is designed for the analysis of the hadronic component of transverse energy.  It is used by AliAnalysisTaskHadEt.
+//
+// This class is designed for the analysis of the hadronic component of 
+// transverse energy.  It is used by AliAnalysisTaskHadEt.
+//_________________________________________________________________________
 #ifndef ALIANALYSISHADET_H
 #define ALIANALYSISHADET_H
 
@@ -14,6 +18,7 @@ class AliESDtrackCuts;
 class Rtypes;
 class TParticle;
 class TDatabasePDG;
+class AliAnalysisEtCuts;
 
 class AliAnalysisHadEt
 {
@@ -42,6 +47,14 @@ public:
 
     /** Reset event specific values (Et etc.) */
     virtual void ResetEventValues();
+
+    /** Set Particle codes/mass */
+    virtual void SetParticleCodes();
+
+    /** Cuts info */
+    AliAnalysisEtCuts * GetCuts() const { return fCuts; } 
+    virtual void SetCuts(const AliAnalysisEtCuts *cuts) 
+    { fCuts = (AliAnalysisEtCuts *) cuts; } 
     
     /** Sum of the total Et for all events */
     Double_t GetSumEt() const { return fSumEt; }
@@ -68,17 +81,18 @@ public:
     Double_t GetTotChargedEtAcc() const { return fTotChargedEtAcc; }
 
 
-    void SetHistoList(TList *mylist){fhistoList = mylist;}
+    void SetHistoList(const TList *mylist){fhistoList = (TList *) mylist;}
 
-    void SetTPCITSTrackCuts(AliESDtrackCuts *cuts){ ffesdtrackCutsITSTPC = cuts;}
-    void SetTPCOnlyTrackCuts(AliESDtrackCuts *cuts){ fesdtrackCutsTPC = cuts;}
-    void SetITSTrackCuts(AliESDtrackCuts *cuts){ fesdtrackCutsITS = cuts;}
+    void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITSTPC = (AliESDtrackCuts *) cuts;}
+    void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;}
+    void SetITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITS = (AliESDtrackCuts *) cuts;}
 
-protected:
-   
+protected:   
     
     TString fHistogramNameSuffix; /** The suffix for the histogram names */
 
+    AliAnalysisEtCuts *fCuts; // keeper of basic cuts
+
     /** PDG Database */
     TDatabasePDG *fPdgDB;//data base used for looking up pdg codes
     //these codes are stored as variables because otherwise there were issues using this with the plugin
@@ -104,44 +118,30 @@ protected:
     Int_t fAntiNeutronCode;//pdg anti-neutron code
     Int_t fEPlusCode;//pdg positron code
     Int_t fEMinusCode;//pdg electron code
+    Int_t fGammaCode;//pdg gamma code
+    Int_t fPi0Code;//pdg neutral pion code
+    Int_t fEtaCode;//pdg eta code
+    Int_t fOmega0Code;//pdg eta code
     Float_t fPionMass;//pdg pion mass
+    Float_t fKaonMass;//pdg kaon mass
+    Float_t fProtonMass;//pdg proton mass
+    Float_t fElectronMass;//pdg electron mass
 
     
     Double_t fSumEt;/** Sum of the total Et for all events */
-
     Double_t fSumEtAcc;/** Sum of the total Et within our acceptance for all events */
-
-    
     Double_t fTotEt;/** Total Et in the event (without acceptance cuts) */
-    
     Double_t fTotEtAcc;/** Total Et in the event within the acceptance cuts */
     
     Double_t fTotNeutralEt;/** Total neutral Et in the event */
-    
     Double_t fTotNeutralEtAcc;/** Total neutral Et in the event within the acceptance cuts */
-    
     Double_t fTotChargedEt;/** Total charged Et in the event */
-    
     Double_t fTotChargedEtAcc;/** Total charged Et in the event within the acceptance cuts */
 
     Int_t fMultiplicity;/** Multiplicity of particles in the event */
-    
     Int_t fChargedMultiplicity;/** Multiplicity of charged particles in the event */
-    
     Int_t fNeutralMultiplicity; /** Multiplicity of neutral particles in the event */
         
-    Double_t fEtaCut;/** Cut in eta ( normally |eta| < 0.5 */
-
-    Double_t fEtaCutAcc;/** Eta cut for our acceptance */
-
-    Double_t fVertexXCut;/** Vertex cuts x direction */
-    Double_t fVertexYCut;/** Vertex cuts y direction*/
-    Double_t fVertexZCut;/** Vertex cuts z direction*/
-
-    Double_t fIPxyCut;    /** Impact parameter cuts x-y plane*/
-    Double_t fIPzCut;    /** Impact parameter cuts z*/
-
-
     void CreateEtaPtHisto2D(TString name, TString title);
     void CreateEtaHisto1D(TString name, TString title);
     void CreateHisto2D(TString name, TString title, TString xtitle, TString ytitle,Int_t xbins, Float_t xlow,Float_t xhigh,Int_t ybins,Float_t ylow,Float_t yhigh);
@@ -152,25 +152,27 @@ protected:
     void FillHisto2D(TString histname, Float_t x, Float_t y, Float_t weight);
 
     Float_t Et(TParticle *part, float mass = -1000);
-    AliESDtrackCuts* ffesdtrackCutsITSTPC;//esd track cuts for ITS+TPC tracks
-    AliESDtrackCuts* fesdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
-    AliESDtrackCuts* fesdtrackCutsITS;//esd track cuts for ITS stand alone tracks
+    Float_t Et(Float_t p, Float_t theta, Int_t pid, Short_t charge);
+    AliESDtrackCuts* fEsdtrackCutsITSTPC;//esd track cuts for ITS+TPC tracks
+    AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
+    AliESDtrackCuts* fEsdtrackCutsITS;//esd track cuts for ITS stand alone tracks
 
     TList *fhistoList;//list of histograms saved out to file
     static Float_t fgEtaAxis[47];//bins for eta axis of histograms
     static Int_t fgnumOfEtaBins;//number of eta bins
     static Float_t fgPtAxis[117];//bins for pt axis of histograms
     static Int_t fgNumOfPtBins;//number of pt bins
+    static Float_t fgPtTPCCutOff;//cut off for tracks in TPC
+    static Float_t fgPtITSCutOff;//cut off for tracks in ITS
     
 
- private:
 
-private:
-  //Declare it private to avoid compilation warning
-  AliAnalysisHadEt & operator = (const AliAnalysisHadEt & g) ;//cpy assignment
-  AliAnalysisHadEt(const AliAnalysisHadEt & g) ; // cpy ctor
+ private:
+    //Declare it private to avoid compilation warning
+    AliAnalysisHadEt & operator = (const AliAnalysisHadEt & g) ;//cpy assignment
+    AliAnalysisHadEt(const AliAnalysisHadEt & g) ; // cpy ctor
 
-    ClassDef(AliAnalysisHadEt, 0);
+    ClassDef(AliAnalysisHadEt, 1);
 };
 
 #endif // ALIANALYSISHADET_H