1 //_________________________________________________________________________
2 //Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
3 //University of Tennessee at Knoxville
5 // This class is designed for the analysis of the hadronic component of
6 // transverse energy. It is used by AliAnalysisTaskHadEt.
7 //_________________________________________________________________________
8 #ifndef ALIANALYSISETCOMMON_H
9 #define ALIANALYSISETCOMMON_H
17 class AliESDtrackCuts;
21 class AliAnalysisEtCuts;
23 class AliAnalysisEtCommon
27 AliAnalysisEtCommon();
28 virtual ~AliAnalysisEtCommon();
30 /** Analyse the event! */
31 virtual Int_t AnalyseEvent(AliVEvent *event);
34 /** Initialise the analysis, must be overloaded. */
38 /** Reset event specific values (Et etc.) */
39 virtual void ResetEventValues();
42 AliAnalysisEtCuts * GetCuts() const { return fCuts; }
43 virtual void SetCuts(const AliAnalysisEtCuts *cuts)
44 { fCuts = (AliAnalysisEtCuts *) cuts; }
47 void SetTPCITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITSTPC = (AliESDtrackCuts *) cuts;}
48 void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;}
49 void SetITSTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsITS = (AliESDtrackCuts *) cuts;}
54 TString fHistogramNameSuffix; /** The suffix for the histogram names */
56 AliAnalysisEtCuts *fCuts; // keeper of basic cuts
59 //TDatabasePDG *fPdgDB;//data base used for looking up pdg codes
60 //these codes are stored as variables because otherwise there were issues using this with the plugin
62 static Int_t fgPiPlusCode;//pdg pi plus code
63 static Int_t fgPiMinusCode;//pdg pi minus code
64 static Int_t fgKPlusCode;// pdg k plus code
65 static Int_t fgKMinusCode;//pdg k minus code
66 static Int_t fgProtonCode;//pdg proton code
67 static Int_t fgAntiProtonCode;//pdg antiproton code
68 static Int_t fgLambdaCode;// pdg lambda code
69 static Int_t fgAntiLambdaCode;//pdg antilambda code
70 static Int_t fgK0SCode;//pdg k0 short code
71 static Int_t fgOmegaCode;//pdg omega code
72 static Int_t fgAntiOmegaCode;//pdg anti-omega code
73 static Int_t fgXi0Code;//pdg xi-0 code
74 static Int_t fgAntiXi0Code;//pdg anti-xi0 code
75 static Int_t fgXiCode;//pdg xi code
76 static Int_t fgAntiXiCode;//pdg anti-xi code
77 static Int_t fgSigmaCode;//pdg sigma code
78 static Int_t fgAntiSigmaCode;//pdg anti-sigma code
79 static Int_t fgK0LCode;//pdg k0 long code
80 static Int_t fgNeutronCode;//pdg neutron code
81 static Int_t fgAntiNeutronCode;//pdg anti-neutron code
82 static Int_t fgEPlusCode;//pdg positron code
83 static Int_t fgEMinusCode;//pdg electron code
84 static Int_t fgMuPlusCode;//pdg positron code
85 static Int_t fgMuMinusCode;//pdg electron code
86 static Int_t fgGammaCode;//pdg gamma code
87 static Int_t fgPi0Code;//pdg neutral pion code
88 static Int_t fgEtaCode;//pdg eta code
89 static Int_t fgOmega0Code;//pdg eta code
90 static Float_t fgPionMass;//pdg pion mass
91 static Float_t fgKaonMass;//pdg kaon mass
92 static Float_t fgProtonMass;//pdg proton mass
93 static Float_t fgElectronMass;//pdg electron mass
96 Float_t Et(TParticle *part, float mass = -1000);
97 Float_t Et(Float_t p, Float_t theta, Int_t pid, Short_t charge) const;
98 AliESDtrackCuts* fEsdtrackCutsITSTPC;//esd track cuts for ITS+TPC tracks
99 AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
100 AliESDtrackCuts* fEsdtrackCutsITS;//esd track cuts for ITS stand alone tracks
102 static Float_t fgPtTPCCutOff;//cut off for tracks in TPC
103 static Float_t fgPtITSCutOff;//cut off for tracks in ITS
108 //Declare it private to avoid compilation warning
109 AliAnalysisEtCommon & operator = (const AliAnalysisEtCommon & g) ;//cpy assignment
110 AliAnalysisEtCommon(const AliAnalysisEtCommon & g) ; // cpy ctor
112 ClassDef(AliAnalysisEtCommon, 1);
115 #endif // ALIANALYSISETCOMMON_H