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