]>
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 | |
13 | class TH2F; | |
14 | class TH1F; | |
15 | class AliVEvent; | |
16 | class TList; | |
cf6522d1 | 17 | class Rtypes; |
18 | class TDatabasePDG; | |
4998becf | 19 | class AliAnalysisEtCuts; |
2fbf38ac | 20 | |
21 | class AliAnalysisEt | |
22 | { | |
23 | public: | |
24 | ||
25 | AliAnalysisEt(); | |
26 | virtual ~AliAnalysisEt(); | |
2fbf38ac | 27 | |
28 | public: | |
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 | ||
84 | protected: | |
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 | 242 | private: |
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 |