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