]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/totEt/AliAnalysisEt.h
- added tree for study of energy deposit of 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
ce546038 13class TTree;
2fbf38ac 14class TH2F;
15class TH1F;
16class AliVEvent;
17class TList;
b5821c13 18class AliESDtrackCuts;
cf6522d1 19class Rtypes;
20class TDatabasePDG;
4998becf 21class AliAnalysisEtCuts;
2fbf38ac 22
23class AliAnalysisEt
24{
25public:
26
27 AliAnalysisEt();
28 virtual ~AliAnalysisEt();
2fbf38ac 29
30public:
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();
8ea99ab0 46 virtual void CreateTrees();
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
82protected:
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
43056f1b 113 Int_t fGammaCode; // pdg gamma code
cf6522d1 114 Float_t fPionMass;//pdg pion mass
115
cf6522d1 116 Double_t fTotEt;/** Total Et in the event (without acceptance cuts) */
117 Double_t fTotEtAcc;/** Total Et in the event within the acceptance cuts */
2fbf38ac 118
cf6522d1 119 Double_t fTotNeutralEt;/** Total neutral Et in the event */
120 Double_t fTotNeutralEtAcc;/** Total neutral Et in the event within the acceptance cuts */
121 Double_t fTotChargedEt;/** Total charged Et in the event */
122 Double_t fTotChargedEtAcc;/** Total charged Et in the event within the acceptance cuts */
123
124 Int_t fMultiplicity;/** Multiplicity of particles in the event */
125 Int_t fChargedMultiplicity;/** Multiplicity of charged particles in the event */
126 Int_t fNeutralMultiplicity; /** Multiplicity of neutral particles in the event */
87efb15c 127
ce546038 128 Double_t fBaryonEt; /** Et of identified baryons */
129 Double_t fAntiBaryonEt; /** Et of identified anti-baryons */
130 Double_t fMesonEt; /** Et of identified mesons */
87efb15c 131
ce546038 132 Double_t fBaryonEtAcc; /** Et of identified baryons in calorimeter acceptance */
133 Double_t fAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */
134 Double_t fMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */
87efb15c 135
ce546038 136 Double_t fProtonEt; /** Et of identified protons */
43056f1b 137 Double_t fPionEt; /** Et of identified pions */
ce546038 138 Double_t fChargedKaonEt; /** Et of identified charged kaons */
139 Double_t fMuonEt; /** Et of identified muons */
140 Double_t fElectronEt; /** Et of identified electrons */
43056f1b 141 Double_t fNeutronEt; /** Et of neutrons (MC only for now) */
142 Double_t fAntiNeutronEt; /** Et of anti-neutrons (MC only for now) */
143 Double_t fGammaEt; /** Et of identified electrons (MC only for now) */
144
ce546038 145 Double_t fProtonEtAcc; /** Et of identified protons in calorimeter acceptance */
43056f1b 146 Double_t fPionEtAcc; /** Et of identified pions in calorimeter acceptance */
ce546038 147 Double_t fChargedKaonEtAcc; /** Et of identified charged kaons in calorimeter acceptance */
148 Double_t fMuonEtAcc; /** Et of identified muons in calorimeter acceptance */
149 Double_t fElectronEtAcc; /** Et of identified electrons in calorimeter acceptance */
8ea99ab0 150
151 Float_t fEnergyDeposited; /** Energy deposited in calorimeter */
152 Float_t fEnergyTPC; /** Energy measured in TPC */
153 Short_t fCharge; /** Charge of the particle */
154 Short_t fParticlePid; /** Particle PID */
155 Float_t fPidProb; /** Probability of PID */
156 Bool_t fTrackPassedCut; /** The track is accepted by ESDTrackCuts */
157
ce546038 158
159 Double_t fEtaCut;/** Cut in eta (standard |eta| < 0.5 )*/
4998becf 160
43056f1b 161 /** Eta cut for our acceptance */
162 Double_t fEtaCutAcc; // Eta cut for our acceptance
163
164 /** Min phi cut for our acceptance in radians */
165 Double_t fPhiCutAccMin; // Min phi cut for our acceptance in radians
166
167 /** Max phi cut for our acceptance in radians */
168 Double_t fPhiCutAccMax; // Max phi cut for our acceptance in radians
cf6522d1 169
43056f1b 170 /** Detector radius */
171 Double_t fDetectorRadius; // Detector radius
172
173 /** Cut on the cluster energy */
174 Double_t fClusterEnergyCut; // Cut on the cluster energy
175
176 /** Minimum energy to cut on single cell cluster */
177 Double_t fSingleCellEnergyCut; // Minimum energy to cut on single cell cluster
4998becf 178
2fbf38ac 179 // Declare the histograms
180
181 /** The full Et spectrum measured */
182 TH1F *fHistEt; //Et spectrum
183
184 /** The full charged Et spectrum measured */
8ea99ab0 185 TH1F *fHistChargedEt; //Charged Et spectrum
2fbf38ac 186
187 /** The full neutral Et spectrum measured */
188 TH1F *fHistNeutralEt; //Neutral Et spectrum
189
190 /** The Et spectrum within the calorimeter acceptance */
191 TH1F *fHistEtAcc; //Et in acceptance
192
193 /** The charged Et spectrum within the calorimeter acceptance */
194 TH1F *fHistChargedEtAcc; //Charged Et in acceptance
195
196 /** The neutral Et spectrum within the calorimeter acceptance */
197 TH1F *fHistNeutralEtAcc; //Et in acceptance
198
199 /** Multiplicity of particles in the events */
200 TH1F *fHistMult; //Multiplicity
201
202 /** Charged multiplicity of particles in the events */
203 TH1F *fHistChargedMult; //Charged multiplicity
204
205 /** Neutral multiplicity of particles in the events */
206 TH1F *fHistNeutralMult; //Neutral multiplicity
207
208 /* Acceptance plots */
209 TH2F *fHistPhivsPtPos; //phi vs pT plot for positive tracks
210 TH2F *fHistPhivsPtNeg; //phi vs pT plot for negative tracks
211
87efb15c 212 /* PID plots */
ce546038 213 TH1F *fHistBaryonEt; /** Et of identified baryons */
214 TH1F *fHistAntiBaryonEt; /** Et of identified anti-baryons */
215 TH1F *fHistMesonEt; /** Et of identified mesons */
216
217 TH1F *fHistBaryonEtAcc; /** Et of identified baryons in calorimeter acceptance */
218 TH1F *fHistAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */
219 TH1F *fHistMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */
220
221 TH1F *fHistProtonEt; /** Et of identified protons */
43056f1b 222 TH1F *fHistPionEt; /** Et of identified protons */
ce546038 223 TH1F *fHistChargedKaonEt; /** Et of identified charged kaons */
224 TH1F *fHistMuonEt; /** Et of identified muons */
225 TH1F *fHistElectronEt; /** Et of identified electrons */
43056f1b 226 TH1F *fHistNeutronEt; /** Et of neutrons (MC only for now) */
227 TH1F *fHistAntiNeutronEt; /** Et of anti-neutrons (MC only for now) */
228 TH1F *fHistGammaEt; /** Et of gammas (MC only for now) */
87efb15c 229
ce546038 230 TH1F *fHistProtonEtAcc; /** Et of identified protons in calorimeter acceptance */
43056f1b 231 TH1F *fHistPionEtAcc; /** Et of identified protons in calorimeter acceptance */
ce546038 232 TH1F *fHistChargedKaonEtAcc; /** Et of identified charged kaons in calorimeter acceptance */
233 TH1F *fHistMuonEtAcc; /** Et of identified muons in calorimeter acceptance */
234 TH1F *fHistElectronEtAcc; /** Et of identified electrons in calorimeter acceptance */
87efb15c 235
236 /* Correction plots */
237 TH2F *fHistEtRecvsEtMC; //Reconstructed Et versus MC Et
ce546038 238
239 TH1F *fHistTMDeltaR; /* Track matching plots */
2fbf38ac 240
ce546038 241 TTree *fTree; // optional TTree
8ea99ab0 242 TTree *fTreeDeposit; // optional TTree for energy deposit measurements
b5821c13 243
244 AliESDtrackCuts* fEsdtrackCutsTPC;//esd track cuts for TPC tracks (which may also contain ITS hits)
245
4998becf 246private:
247 //Declare private to avoid compilation warning
248 AliAnalysisEt & operator = (const AliAnalysisEt & g) ;//cpy assignment
249 AliAnalysisEt(const AliAnalysisEt & g) ; // cpy ctor
250
e573e46d 251 ClassDef(AliAnalysisEt, 1);
2fbf38ac 252};
253
254#endif // ALIANALYSISET_H