]>
Commit | Line | Data |
---|---|---|
2fbf38ac | 1 | #ifndef ALIANALYSISET_H |
2 | #define ALIANALYSISET_H | |
cf6522d1 | 3 | //_________________________________________________________________________ |
4 | // Utility Class for transverse energy studies | |
5 | // Base class for ESD & MC analysis | |
6 | // - reconstruction and MonteCarlo output | |
7 | // | |
8 | //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL) | |
9 | //_________________________________________________________________________ | |
2fbf38ac | 10 | |
11 | #include "TString.h" | |
2fbf38ac | 12 | |
ce546038 | 13 | class TTree; |
2fbf38ac | 14 | class TH2F; |
15 | class TH1F; | |
16 | class AliVEvent; | |
17 | class TList; | |
b5821c13 | 18 | class AliESDtrackCuts; |
cf6522d1 | 19 | class Rtypes; |
20 | class TDatabasePDG; | |
4998becf | 21 | class AliAnalysisEtCuts; |
2fbf38ac | 22 | |
23 | class AliAnalysisEt | |
24 | { | |
25 | public: | |
26 | ||
27 | AliAnalysisEt(); | |
28 | virtual ~AliAnalysisEt(); | |
2fbf38ac | 29 | |
30 | public: | |
31 | ||
32 | /** Analyse the event! */ | |
641e1e0c | 33 | virtual Int_t AnalyseEvent(AliVEvent *event); |
2fbf38ac | 34 | |
35 | /** Fill the objects you want to output, classes which add new histograms should overload this. */ | |
36 | virtual void FillOutputList(TList* list); | |
37 | ||
38 | /** Initialise the analysis, must be overloaded. */ | |
641e1e0c | 39 | virtual void Init(); |
2fbf38ac | 40 | |
41 | /** | |
42 | * Creates the histograms, must be overloaded if you want to add your own. | |
43 | * Uses the fHistogramNameSuffix to create proper histogram names | |
44 | */ | |
45 | virtual void CreateHistograms(); | |
ce546038 | 46 | virtual void CreateTree(); |
2fbf38ac | 47 | |
48 | /** Fills the histograms, must be overloaded if you want to add your own */ | |
49 | virtual void FillHistograms(); | |
50 | ||
51 | /** Reset event specific values (Et etc.) */ | |
52 | virtual void ResetEventValues(); | |
99a6613d | 53 | |
54 | /** Set Particle codes/mass */ | |
55 | virtual void SetParticleCodes(); | |
2fbf38ac | 56 | |
4998becf | 57 | /** Cuts info */ |
58 | AliAnalysisEtCuts * GetCuts() const { return fCuts; } | |
59 | virtual void SetCuts(const AliAnalysisEtCuts *cuts) | |
60 | { fCuts = (AliAnalysisEtCuts *) cuts; } | |
61 | ||
2fbf38ac | 62 | /** Total Et in the event (without acceptance cuts) */ |
cf6522d1 | 63 | Double_t GetTotEt() const { return fTotEt; } |
2fbf38ac | 64 | |
65 | /** Total Et in the event within the acceptance cuts */ | |
cf6522d1 | 66 | Double_t GetTotEtAcc() const { return fTotEtAcc; } |
2fbf38ac | 67 | |
68 | /** Total neutral Et in the event (without acceptance cuts) */ | |
cf6522d1 | 69 | Double_t GetTotNeutralEt() const { return fTotNeutralEt; } |
2fbf38ac | 70 | |
71 | /** Total neutral Et in the event within the acceptance cuts */ | |
cf6522d1 | 72 | Double_t GetTotNeutralEtAcc() const { return fTotNeutralEtAcc; } |
2fbf38ac | 73 | |
74 | /** Total charged Et in the event (without acceptance cuts) */ | |
cf6522d1 | 75 | Double_t GetTotChargedEt() const { return fTotChargedEt; } |
2fbf38ac | 76 | |
77 | /** Total charged Et in the event within the acceptance cuts */ | |
cf6522d1 | 78 | Double_t GetTotChargedEtAcc() const { return fTotChargedEtAcc; } |
2fbf38ac | 79 | |
b5821c13 | 80 | void SetTPCOnlyTrackCuts(const AliESDtrackCuts *cuts){ fEsdtrackCutsTPC = (AliESDtrackCuts *) cuts;} |
2fbf38ac | 81 | |
82 | protected: | |
cf6522d1 | 83 | |
84 | TString fHistogramNameSuffix; /** The suffix for the histogram names */ | |
2fbf38ac | 85 | |
4998becf | 86 | AliAnalysisEtCuts *fCuts; // keeper of basic cuts |
87 | ||
2fbf38ac | 88 | /** PDG Database */ |
cf6522d1 | 89 | TDatabasePDG *fPdgDB;//data base used for looking up pdg codes |
90 | //these codes are stored as variables because otherwise there were issues using this with the plugin | |
91 | Int_t fPiPlusCode;//pdg pi plus code | |
92 | Int_t fPiMinusCode;//pdg pi minus code | |
93 | Int_t fKPlusCode;// pdg k plus code | |
94 | Int_t fKMinusCode;//pdg k minus code | |
95 | Int_t fProtonCode;//pdg proton code | |
96 | Int_t fAntiProtonCode;//pdg antiproton code | |
97 | Int_t fLambdaCode;// pdg lambda code | |
98 | Int_t fAntiLambdaCode;//pdg antilambda code | |
99 | Int_t fK0SCode;//pdg k0 short code | |
100 | Int_t fOmegaCode;//pdg omega code | |
101 | Int_t fAntiOmegaCode;//pdg anti-omega code | |
102 | Int_t fXi0Code;//pdg xi-0 code | |
103 | Int_t fAntiXi0Code;//pdg anti-xi0 code | |
104 | Int_t fXiCode;//pdg xi code | |
105 | Int_t fAntiXiCode;//pdg anti-xi code | |
106 | Int_t fSigmaCode;//pdg sigma code | |
107 | Int_t fAntiSigmaCode;//pdg anti-sigma code | |
108 | Int_t fK0LCode;//pdg k0 long code | |
109 | Int_t fNeutronCode;//pdg neutron code | |
110 | Int_t fAntiNeutronCode;//pdg anti-neutron code | |
111 | Int_t fEPlusCode;//pdg positron code | |
112 | Int_t fEMinusCode;//pdg electron code | |
113 | Float_t fPionMass;//pdg pion mass | |
114 | ||
cf6522d1 | 115 | Double_t fTotEt;/** Total Et in the event (without acceptance cuts) */ |
116 | Double_t fTotEtAcc;/** Total Et in the event within the acceptance cuts */ | |
2fbf38ac | 117 | |
cf6522d1 | 118 | Double_t fTotNeutralEt;/** Total neutral Et in the event */ |
119 | Double_t fTotNeutralEtAcc;/** Total neutral Et in the event within the acceptance cuts */ | |
120 | Double_t fTotChargedEt;/** Total charged Et in the event */ | |
121 | Double_t fTotChargedEtAcc;/** Total charged Et in the event within the acceptance cuts */ | |
122 | ||
123 | Int_t fMultiplicity;/** Multiplicity of particles in the event */ | |
124 | Int_t fChargedMultiplicity;/** Multiplicity of charged particles in the event */ | |
125 | Int_t fNeutralMultiplicity; /** Multiplicity of neutral particles in the event */ | |
87efb15c | 126 | |
ce546038 | 127 | Double_t fBaryonEt; /** Et of identified baryons */ |
128 | Double_t fAntiBaryonEt; /** Et of identified anti-baryons */ | |
129 | Double_t fMesonEt; /** Et of identified mesons */ | |
87efb15c | 130 | |
ce546038 | 131 | Double_t fBaryonEtAcc; /** Et of identified baryons in calorimeter acceptance */ |
132 | Double_t fAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */ | |
133 | Double_t fMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */ | |
87efb15c | 134 | |
ce546038 | 135 | Double_t fProtonEt; /** Et of identified protons */ |
136 | Double_t fChargedKaonEt; /** Et of identified charged kaons */ | |
137 | Double_t fMuonEt; /** Et of identified muons */ | |
138 | Double_t fElectronEt; /** Et of identified electrons */ | |
87efb15c | 139 | |
ce546038 | 140 | Double_t fProtonEtAcc; /** Et of identified protons in calorimeter acceptance */ |
141 | Double_t fChargedKaonEtAcc; /** Et of identified charged kaons in calorimeter acceptance */ | |
142 | Double_t fMuonEtAcc; /** Et of identified muons in calorimeter acceptance */ | |
143 | Double_t fElectronEtAcc; /** Et of identified electrons in calorimeter acceptance */ | |
144 | ||
145 | Double_t fEtaCut;/** Cut in eta (standard |eta| < 0.5 )*/ | |
4998becf | 146 | |
cf6522d1 | 147 | Double_t fEtaCutAcc;/** Eta cut for our acceptance */ |
cf6522d1 | 148 | Double_t fPhiCutAccMin; /** Min phi cut for our acceptance in radians */ |
149 | Double_t fPhiCutAccMax; /** Max phi cut for our acceptance in radians */ | |
cf6522d1 | 150 | Double_t fDetectorRadius; /** Detector radius */ |
cf6522d1 | 151 | |
152 | Double_t fClusterEnergyCut; /** Cut on the cluster energy */ | |
cf6522d1 | 153 | Double_t fSingleCellEnergyCut; /** Minimum energy to cut on single cell cluster */ |
4998becf | 154 | |
2fbf38ac | 155 | // Declare the histograms |
156 | ||
157 | /** The full Et spectrum measured */ | |
158 | TH1F *fHistEt; //Et spectrum | |
159 | ||
160 | /** The full charged Et spectrum measured */ | |
161 | TH1F *fHistChargedEt; //Charged Et spectrum | |
162 | ||
163 | /** The full neutral Et spectrum measured */ | |
164 | TH1F *fHistNeutralEt; //Neutral Et spectrum | |
165 | ||
166 | /** The Et spectrum within the calorimeter acceptance */ | |
167 | TH1F *fHistEtAcc; //Et in acceptance | |
168 | ||
169 | /** The charged Et spectrum within the calorimeter acceptance */ | |
170 | TH1F *fHistChargedEtAcc; //Charged Et in acceptance | |
171 | ||
172 | /** The neutral Et spectrum within the calorimeter acceptance */ | |
173 | TH1F *fHistNeutralEtAcc; //Et in acceptance | |
174 | ||
175 | /** Multiplicity of particles in the events */ | |
176 | TH1F *fHistMult; //Multiplicity | |
177 | ||
178 | /** Charged multiplicity of particles in the events */ | |
179 | TH1F *fHistChargedMult; //Charged multiplicity | |
180 | ||
181 | /** Neutral multiplicity of particles in the events */ | |
182 | TH1F *fHistNeutralMult; //Neutral multiplicity | |
183 | ||
184 | /* Acceptance plots */ | |
185 | TH2F *fHistPhivsPtPos; //phi vs pT plot for positive tracks | |
186 | TH2F *fHistPhivsPtNeg; //phi vs pT plot for negative tracks | |
187 | ||
87efb15c | 188 | /* PID plots */ |
ce546038 | 189 | TH1F *fHistBaryonEt; /** Et of identified baryons */ |
190 | TH1F *fHistAntiBaryonEt; /** Et of identified anti-baryons */ | |
191 | TH1F *fHistMesonEt; /** Et of identified mesons */ | |
192 | ||
193 | TH1F *fHistBaryonEtAcc; /** Et of identified baryons in calorimeter acceptance */ | |
194 | TH1F *fHistAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */ | |
195 | TH1F *fHistMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */ | |
196 | ||
197 | TH1F *fHistProtonEt; /** Et of identified protons */ | |
198 | TH1F *fHistChargedKaonEt; /** Et of identified charged kaons */ | |
199 | TH1F *fHistMuonEt; /** Et of identified muons */ | |
200 | TH1F *fHistElectronEt; /** Et of identified electrons */ | |
87efb15c | 201 | |
ce546038 | 202 | TH1F *fHistProtonEtAcc; /** Et of identified protons in calorimeter acceptance */ |
203 | TH1F *fHistChargedKaonEtAcc; /** Et of identified charged kaons in calorimeter acceptance */ | |
204 | TH1F *fHistMuonEtAcc; /** Et of identified muons in calorimeter acceptance */ | |
205 | TH1F *fHistElectronEtAcc; /** Et of identified electrons in calorimeter acceptance */ | |
87efb15c | 206 | |
207 | /* Correction plots */ | |
208 | TH2F *fHistEtRecvsEtMC; //Reconstructed Et versus MC Et | |
ce546038 | 209 | |
210 | TH1F *fHistTMDeltaR; /* Track matching plots */ | |
2fbf38ac | 211 | |
ce546038 | 212 | TTree *fTree; // optional TTree |
87efb15c | 213 | |
b5821c13 | 214 | |
215 | AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits) | |
216 | ||
4998becf | 217 | private: |
218 | //Declare private to avoid compilation warning | |
219 | AliAnalysisEt & operator = (const AliAnalysisEt & g) ;//cpy assignment | |
220 | AliAnalysisEt(const AliAnalysisEt & g) ; // cpy ctor | |
221 | ||
e573e46d | 222 | ClassDef(AliAnalysisEt, 1); |
2fbf38ac | 223 | }; |
224 | ||
225 | #endif // ALIANALYSISET_H |