]>
Commit | Line | Data |
---|---|---|
9725fd2a | 1 | #ifndef ALIANACALORIMETERQA_H |
2 | #define ALIANACALORIMETERQA_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: $ */ | |
6 | ||
7 | //_________________________________________________________________________ | |
8 | // Class to check results from simulations or reconstructed real data. | |
9 | // Fill few histograms and do some checking plots | |
10 | // | |
2302a644 | 11 | //-- Author: Gustavo Conesa (INFN-LNF) |
9725fd2a | 12 | |
13 | // --- Root system --- | |
a5fafd85 | 14 | class TH3F; |
9725fd2a | 15 | class TH2F; |
16 | class TH1F; | |
0c1383b5 | 17 | class TObjString; |
9725fd2a | 18 | |
19 | // --- Analysis system --- | |
c8fe2783 | 20 | class AliVCaloCluster; |
21 | class AliVTrack; | |
a5fafd85 | 22 | |
9725fd2a | 23 | #include "AliAnaPartCorrBaseClass.h" |
24 | ||
25 | class AliAnaCalorimeterQA : public AliAnaPartCorrBaseClass { | |
26 | ||
2302a644 | 27 | public: |
78219bac | 28 | AliAnaCalorimeterQA() ; // default ctor |
29 | virtual ~AliAnaCalorimeterQA() {;} //virtual dtor | |
2302a644 | 30 | private: |
9725fd2a | 31 | AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & g) ;//cpy assignment |
78219bac | 32 | AliAnaCalorimeterQA(const AliAnaCalorimeterQA & g) ; // cpy ctor |
33 | ||
eb5a51ae | 34 | public: |
9725fd2a | 35 | |
4cf55759 | 36 | void ClusterHistograms(const TLorentzVector mom, const Double_t tof, Float_t *pos, Float_t * showerShape, |
2302a644 | 37 | const Int_t nCaloCellsPerCluster, const Int_t nModule, |
38 | const Int_t nTracksMatched, const AliVTrack* track, | |
39 | const Int_t * labels, const Int_t nLabels); | |
902aa95c | 40 | |
0c1383b5 | 41 | TObjString * GetAnalysisCuts(); |
9725fd2a | 42 | TList * GetCreateOutputObjects(); |
2302a644 | 43 | |
9725fd2a | 44 | void Init(); |
45 | void InitParameters(); | |
46 | ||
47 | void Print(const Option_t * opt) const; | |
2302a644 | 48 | |
9725fd2a | 49 | void MakeAnalysisFillHistograms() ; |
902aa95c | 50 | |
51 | void MCHistograms(const TLorentzVector mom, const Int_t pdg); | |
2302a644 | 52 | |
9725fd2a | 53 | TString GetCalorimeter() const {return fCalorimeter ;} |
54 | void SetCalorimeter( TString calo ) {fCalorimeter = calo; } | |
55 | TString GetStyleMacro() const {return fStyleMacro ;} | |
56 | void SetStyleMacro( TString macro ) {fStyleMacro = macro; } | |
57 | ||
d7c10d78 | 58 | |
a6f26052 | 59 | void SwitchOnFillAllPositionHistogram() {fFillAllPosHisto = kTRUE ;} |
60 | void SwitchOffFillAllPositionHistogram() {fFillAllPosHisto = kFALSE ;} | |
61 | ||
62 | void SwitchOnFillAllTH12Histogram() {fFillAllTH12 = kTRUE ;} | |
63 | void SwitchOffFillAllTH12Histogram() {fFillAllTH12 = kFALSE ;} | |
64 | ||
65 | void SwitchOnCalorimetersCorrelation() {fCorrelateCalos = kTRUE ;} | |
66 | void SwitchOffCalorimetersCorrelation() {fCorrelateCalos = kFALSE ;} | |
17708df9 | 67 | //void CorrelateCalorimeters(TRefArray* caloClusters); |
2302a644 | 68 | void CorrelateCalorimeters(); |
17708df9 | 69 | |
9725fd2a | 70 | void Terminate(TList * outputList); |
71 | void ReadHistograms(TList * outputList); //Fill histograms with histograms in ouput list, needed in Terminate. | |
eb5a51ae | 72 | |
a5fafd85 | 73 | void SetNumberOfModules(Int_t nmod) {fNModules = nmod;} |
2302a644 | 74 | |
4cf55759 | 75 | void SetTimeCut(Double_t min, Double_t max) {fTimeCutMin = min; fTimeCutMax = max;} |
76 | Double_t GetTimeCutMin() const {return fTimeCutMin;} | |
77 | Double_t GetTimeCutMax() const {return fTimeCutMax;} | |
2302a644 | 78 | |
79 | //Minimum cell amplitude setters and getters | |
80 | Float_t GetEMCALCellAmpMin() const { return fEMCALCellAmpMin ; } | |
81 | Float_t GetPHOSCellAmpMin() const { return fPHOSCellAmpMin ; } | |
82 | void SetEMCALCellAmpMin(Float_t amp) { fEMCALCellAmpMin = amp ; } | |
83 | void SetPHOSCellAmpMin(Float_t amp) { fPHOSCellAmpMin = amp ; } | |
84 | ||
5a2dbc3c | 85 | //Histogram binning setters |
2302a644 | 86 | |
3a75604b | 87 | Int_t GetNewRebinForRePlotting(TH1D*histo, const Float_t newXmin, const Float_t newXmax, |
2302a644 | 88 | const Int_t newNbins) const; |
89 | ||
5a2dbc3c | 90 | virtual void SetHistoPOverERangeAndNBins(Float_t min, Float_t max, Int_t n) { |
2302a644 | 91 | fHistoPOverEBins = n ; |
92 | fHistoPOverEMax = max ; | |
93 | fHistoPOverEMin = min ; | |
5a2dbc3c | 94 | } |
95 | ||
96 | Int_t GetHistoPOverEBins() const { return fHistoPOverEBins ; } | |
97 | Float_t GetHistoPOverEMin() const { return fHistoPOverEMin ; } | |
98 | Float_t GetHistoPOverEMax() const { return fHistoPOverEMax ; } | |
99 | ||
b8187de4 | 100 | virtual void SetHistoFinePtRangeAndNBins(Float_t min, Float_t max, Int_t n) { |
101 | fHistoFinePtBins = n ; | |
102 | fHistoFinePtMax = max ; | |
103 | fHistoFinePtMin = min ; | |
104 | } | |
105 | ||
106 | Int_t GetHistoFinePtBins() const { return fHistoFinePtBins ; } | |
107 | Float_t GetHistoFinePtMin() const { return fHistoFinePtMin ; } | |
108 | Float_t GetHistoFinePtMax() const { return fHistoFinePtMax ; } | |
109 | ||
2302a644 | 110 | |
111 | virtual void SetHistodEdxRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
112 | fHistodEdxBins = n ; | |
113 | fHistodEdxMax = max ; | |
114 | fHistodEdxMin = min ; | |
115 | } | |
b8187de4 | 116 | |
2302a644 | 117 | Int_t GetHistodEdxBins() const { return fHistodEdxBins ; } |
118 | Float_t GetHistodEdxMin() const { return fHistodEdxMin ; } | |
119 | Float_t GetHistodEdxMax() const { return fHistodEdxMax ; } | |
120 | ||
121 | virtual void SetHistodRRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
122 | fHistodRBins = n ; | |
123 | fHistodRMax = max ; | |
124 | fHistodRMin = min ; | |
125 | } | |
126 | ||
127 | Int_t GetHistodRBins() const { return fHistodRBins ; } | |
128 | Float_t GetHistodRMin() const { return fHistodRMin ; } | |
129 | Float_t GetHistodRMax() const { return fHistodRMax ; } | |
130 | ||
131 | virtual void SetHistoTimeRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
132 | fHistoTimeBins = n ; | |
133 | fHistoTimeMax = max ; | |
134 | fHistoTimeMin = min ; | |
135 | } | |
136 | ||
137 | Int_t GetHistoTimeBins() const { return fHistoTimeBins ; } | |
138 | Float_t GetHistoTimeMin() const { return fHistoTimeMin ; } | |
139 | Float_t GetHistoTimeMax() const { return fHistoTimeMax ; } | |
140 | ||
141 | virtual void SetHistoNClusterCellRangeAndNBins(Int_t min, Int_t max, Int_t n) { | |
142 | fHistoNBins = n ; | |
143 | fHistoNMax = max ; | |
144 | fHistoNMin = min ; | |
145 | } | |
146 | ||
147 | Int_t GetHistoNClusterCellBins() const { return fHistoNBins ; } | |
148 | Int_t GetHistoNClusterCellMin() const { return fHistoNMin ; } | |
149 | Int_t GetHistoNClusterCellMax() const { return fHistoNMax ; } | |
150 | ||
151 | virtual void SetHistoRatioRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
152 | fHistoRatioBins = n ; | |
153 | fHistoRatioMax = max ; | |
154 | fHistoRatioMin = min ; | |
155 | } | |
156 | ||
157 | Int_t GetHistoRatioBins() const { return fHistoRatioBins ; } | |
158 | Float_t GetHistoRatioMin() const { return fHistoRatioMin ; } | |
159 | Float_t GetHistoRatioMax() const { return fHistoRatioMax ; } | |
160 | ||
161 | virtual void SetHistoVertexDistRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
162 | fHistoVertexDistBins = n ; | |
163 | fHistoVertexDistMax = max ; | |
164 | fHistoVertexDistMin = min ; | |
165 | } | |
166 | ||
167 | Int_t GetHistoVertexDistBins() const { return fHistoVertexDistBins ; } | |
168 | Float_t GetHistoVertexDistMin() const { return fHistoVertexDistMin ; } | |
169 | Float_t GetHistoVertexDistMax() const { return fHistoVertexDistMax ; } | |
170 | ||
171 | ||
172 | virtual void SetHistoXRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
173 | fHistoXBins = n ; | |
174 | fHistoXMax = max ; | |
175 | fHistoXMin = min ; | |
176 | } | |
177 | ||
178 | Int_t GetHistoXBins() const { return fHistoXBins ; } | |
179 | Float_t GetHistoXMin() const { return fHistoXMin ; } | |
180 | Float_t GetHistoXMax() const { return fHistoXMax ; } | |
181 | ||
182 | ||
183 | virtual void SetHistoYRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
184 | fHistoYBins = n ; | |
185 | fHistoYMax = max ; | |
186 | fHistoYMin = min ; | |
187 | } | |
188 | ||
189 | Int_t GetHistoYBins() const { return fHistoYBins ; } | |
190 | Float_t GetHistoYMin() const { return fHistoYMin ; } | |
191 | Float_t GetHistoYMax() const { return fHistoYMax ; } | |
192 | ||
193 | ||
194 | virtual void SetHistoZRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
195 | fHistoZBins = n ; | |
196 | fHistoZMax = max ; | |
197 | fHistoZMin = min ; | |
198 | } | |
199 | ||
200 | Int_t GetHistoZBins() const { return fHistoZBins ; } | |
201 | Float_t GetHistoZMin() const { return fHistoZMin ; } | |
202 | Float_t GetHistoZMax() const { return fHistoZMax ; } | |
203 | ||
204 | virtual void SetHistoRRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
205 | fHistoRBins = n ; | |
206 | fHistoRMax = max ; | |
207 | fHistoRMin = min ; | |
208 | } | |
209 | ||
210 | Int_t GetHistoRBins() const { return fHistoRBins ; } | |
211 | Float_t GetHistoRMin() const { return fHistoRMin ; } | |
212 | Float_t GetHistoRMax() const { return fHistoRMax ; } | |
213 | ||
214 | virtual void SetHistoShowerShapeRangeAndNBins(Float_t min, Float_t max, Int_t n) { | |
215 | fHistoSSBins = n ; | |
216 | fHistoSSMax = max ; | |
217 | fHistoSSMin = min ; | |
218 | } | |
219 | ||
220 | Int_t GetHistoShowerShapeBins() const { return fHistoSSBins ; } | |
221 | Float_t GetHistoShowerShapeMin() const { return fHistoSSMin ; } | |
222 | Float_t GetHistoShowerShapeMax() const { return fHistoSSMax ; } | |
b8187de4 | 223 | |
9725fd2a | 224 | private: |
225 | ||
4cf55759 | 226 | TString fCalorimeter ; // Calorimeter selection |
227 | TString fStyleMacro ; // Location of macro for plots style | |
a6f26052 | 228 | Bool_t fFillAllPosHisto; // Fill all the position related histograms |
229 | Bool_t fFillAllTH12 ; // Fill simple histograms which information is already in TH3 histograms | |
4cf55759 | 230 | Bool_t fCorrelateCalos ; // Correlate PHOS/EMCAL clusters |
231 | Int_t fNModules ; // Number of EMCAL/PHOS modules, set as many histogras as modules | |
232 | Int_t fNRCU ; // Number of EMCAL/PHOS RCU, set as many histogras as RCU | |
233 | Double_t fTimeCutMin ; // Remove clusters/cells with time smaller than this value, in ns | |
234 | Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns | |
2302a644 | 235 | Float_t fEMCALCellAmpMin; // amplitude Threshold on emcal cells |
236 | Float_t fPHOSCellAmpMin ; // amplitude Threshold on phos cells | |
a6f26052 | 237 | |
9725fd2a | 238 | //Histograms |
5a2dbc3c | 239 | //Histogram Bins |
b8187de4 | 240 | Int_t fHistoFinePtBins; // fine binning for fhAmpId histogram |
241 | Float_t fHistoFinePtMax; // maximum pt value for fhAmpId histogram | |
242 | Float_t fHistoFinePtMin; // minimum pt value for fhAmpId histogram | |
5a2dbc3c | 243 | Int_t fHistoPOverEBins; // p/E histogram number of bins |
244 | Float_t fHistoPOverEMax; // p/E maximum value | |
245 | Float_t fHistoPOverEMin; // p/E minimum value | |
246 | Int_t fHistodEdxBins; // dEdx histogram number of bins | |
247 | Float_t fHistodEdxMax; // dEdx maximum value | |
248 | Float_t fHistodEdxMin; // dEdx minimum value | |
249 | Int_t fHistodRBins; // dR histogram number of bins | |
250 | Float_t fHistodRMax; // dR maximum value | |
251 | Float_t fHistodRMin; // dR minimum value | |
252 | Int_t fHistoTimeBins; // cell time histogram number of bins | |
253 | Float_t fHistoTimeMax; // cell time maximum value | |
254 | Float_t fHistoTimeMin; // cell time minimum value | |
255 | Int_t fHistoNBins; // number of clusters/cells histogram number of bins | |
256 | Int_t fHistoNMax; // number maximum value | |
257 | Int_t fHistoNMin; // number minimum value | |
258 | Int_t fHistoRatioBins; // ratio histogram number of bins | |
259 | Float_t fHistoRatioMax; // ratio maximum value | |
260 | Float_t fHistoRatioMin; // ratio minimum value | |
261 | Int_t fHistoVertexDistBins; // vertex distance histogram number of bins | |
262 | Float_t fHistoVertexDistMax; // vertex distance maximum value | |
263 | Float_t fHistoVertexDistMin; // vertex distance minimum value | |
0866d83a | 264 | Int_t fHistoRBins; // r =sqrt(x^2+y^2+z^2) (cm) position histogram number of bins |
265 | Float_t fHistoRMax; // r =sqrt(x^2+y^2+z^2) (cm) maximum value | |
266 | Float_t fHistoRMin; // r =sqrt(x^2+y^2+z^2) (cm) minimum value | |
267 | Int_t fHistoXBins; // x (cm) position histogram number of bins | |
268 | Float_t fHistoXMax; // x (cm) position maximum value | |
269 | Float_t fHistoXMin; // x (cm) position minimum value | |
270 | Int_t fHistoYBins; // y (cm) position histogram number of bins | |
271 | Float_t fHistoYMax; // y (cm) position maximum value | |
272 | Float_t fHistoYMin; // y (cm) position minimum value | |
273 | Int_t fHistoZBins; // z (cm) position histogram number of bins | |
274 | Float_t fHistoZMax; // z (cm) position maximum value | |
275 | Float_t fHistoZMin; // z (cm) position minimum value | |
eb5a51ae | 276 | Int_t fHistoSSBins; // Shower Shape parameter histogram number of bins |
277 | Float_t fHistoSSMax; // Shower Shape parameter position maximum value | |
278 | Float_t fHistoSSMin; // Shower Shape parameter position minimum value | |
5a2dbc3c | 279 | |
9725fd2a | 280 | //CaloClusters |
281 | TH1F * fhE ; //! E distribution, Reco | |
282 | TH1F * fhPt ; //! pT distribution, Reco | |
283 | TH1F * fhPhi; //! phi distribution, Reco | |
284 | TH1F * fhEta; //! eta distribution, Reco | |
a5fafd85 | 285 | TH3F * fhEtaPhiE ; //! eta vs phi vs E, Reco |
9725fd2a | 286 | TH1F * fhECharged ; //! E distribution, Reco, matched with track |
287 | TH1F * fhPtCharged ; //! pT distribution, Reco, matched with track | |
288 | TH1F * fhPhiCharged; //! phi distribution, Reco, matched with track | |
289 | TH1F * fhEtaCharged; //! eta distribution, Reco, matched with track | |
0866d83a | 290 | TH3F * fhEtaPhiECharged ; //! eta vs phi vs E, Reco, matched with track |
9725fd2a | 291 | TH1F * fhDeltaE ; //! MC-Reco E distribution |
292 | TH1F * fhDeltaPt ; //! MC-Reco pT distribution | |
293 | TH1F * fhDeltaPhi; //! MC-Reco phi distribution | |
294 | TH1F * fhDeltaEta; //! MC-Reco eta distribution | |
295 | TH1F * fhRatioE ; //! Reco/MC E distribution | |
296 | TH1F * fhRatioPt ; //! Reco/MC pT distribution | |
297 | TH1F * fhRatioPhi; //! Reco/MC phi distribution | |
298 | TH1F * fhRatioEta; //! Reco/MC eta distribution | |
299 | TH2F * fh2E ; //! E distribution, Reco vs MC | |
300 | TH2F * fh2Pt ; //! pT distribution, Reco vs MC | |
301 | TH2F * fh2Phi; //! phi distribution, Reco vs MC | |
302 | TH2F * fh2Eta; //! eta distribution, Reco vs MC | |
eb5a51ae | 303 | |
304 | TH3F * fhLambda ; //! Shower ellipse axis Lambda 0 vs vs Lambda 1 vs E | |
305 | TH2F * fhDispersion ; //! Shower dispersion vs E | |
306 | ||
9725fd2a | 307 | TH2F * fhIM; //! cluster pairs invariant mass |
a5fafd85 | 308 | TH2F * fhIMCellCut; //! cluster pairs invariant mass, n cells > 1 per cluster |
9725fd2a | 309 | TH2F * fhAsym; //! cluster pairs invariant mass |
eb5a51ae | 310 | |
0866d83a | 311 | TH3F * fhNCellsPerCluster; //! N cells per cluster vs cluster energy vs eta of cluster |
312 | TH3F * fhNCellsPerClusterMIP; //! N cells per cluster vs cluster energy vs eta of cluster, finer fixed pT bin for MIP search. | |
313 | TH3F * fhNCellsPerClusterMIPCharged; //! N cells per cluster vs cluster energy vs eta of cluster, finer fixed pT bin for MIP search, cluster matched with track. | |
2302a644 | 314 | |
9725fd2a | 315 | TH1F * fhNClusters; //! Number of clusters |
316 | ||
4cf55759 | 317 | TH2F * fhClusterTimeEnergy; //! Cluster Time vs Energy |
50f39b97 | 318 | TH1F * fhCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells |
319 | TH1F * fhCellIdCellLargeTimeSpread; //! Cells with large time respect to max (diff > 100 ns) | |
320 | ||
a6f26052 | 321 | TH2F * fhRNCells ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs N cells in cluster |
0866d83a | 322 | TH2F * fhXNCells ; //! X (cm) cluster distribution vs N cells in cluster |
323 | TH2F * fhYNCells ; //! Y (cm) cluster distribution vs N cells in cluster | |
324 | TH2F * fhZNCells ; //! Z (cm) cluster distribution vs N cells in cluster | |
325 | ||
a6f26052 | 326 | TH2F * fhRE ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy |
0866d83a | 327 | TH2F * fhXE ; //! X (cm) cluster distribution vs cluster energy |
328 | TH2F * fhYE ; //! Y (cm) cluster distribution vs cluster energy | |
329 | TH2F * fhZE ; //! Z (cm) cluster distribution vs cluster energy | |
330 | TH3F * fhXYZ; //! cluster X vs Y vs Z (cm) | |
331 | ||
a6f26052 | 332 | TH2F * fhRCellE ; //! R=sqrt(x^2+y^2) (cm) cell distribution vs cell energy |
0866d83a | 333 | TH2F * fhXCellE ; //! X (cm) cell distribution vs cell energy |
334 | TH2F * fhYCellE ; //! Y (cm) cell distribution vs cell energy | |
335 | TH2F * fhZCellE ; //! Z (cm) cell distribution vs cell energy | |
336 | TH3F * fhXYZCell; //! cell X vs Y vs Z (cm) | |
2302a644 | 337 | |
0866d83a | 338 | TH2F * fhDeltaCellClusterRNCells ; //! R cluster - R cell distribution (cm) vs N cells in cluster |
339 | TH2F * fhDeltaCellClusterXNCells ; //! X cluster - X cell distribution (cm) vs N cells in cluster | |
340 | TH2F * fhDeltaCellClusterYNCells ; //! Y cluster - Y cell distribution (cm) vs N cells in cluster | |
341 | TH2F * fhDeltaCellClusterZNCells ; //! Z cluster - Z cell distribution (cm) vs N cells in cluster | |
342 | ||
343 | TH2F * fhDeltaCellClusterRE ; //! R cluster - R cell distribution (cm) vs cluster energy | |
344 | TH2F * fhDeltaCellClusterXE ; //! X cluster - X cell distribution (cm) vs cluster energy | |
345 | TH2F * fhDeltaCellClusterYE ; //! Y cluster - Y cell distribution (cm) vs cluster energy | |
346 | TH2F * fhDeltaCellClusterZE ; //! Z cluster - Z cell distribution (cm) vs cluster energy | |
347 | ||
348 | ||
9725fd2a | 349 | //Calo Cells |
5a2dbc3c | 350 | TH1F * fhNCells; //! Number of towers/crystals with signal |
9725fd2a | 351 | TH1F * fhAmplitude; //! Amplitude measured in towers/crystals |
0cdb88b8 | 352 | TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower. |
c1ac3823 | 353 | TH3F * fhEtaPhiAmp; //! eta vs phi vs amplitude, cells |
2302a644 | 354 | |
5a2dbc3c | 355 | TH1F * fhTime; //! Time measured in towers/crystals |
356 | TH2F * fhTimeId; //! Time vs Absolute cell Id | |
357 | TH2F * fhTimeAmp; //! Time vs Amplitude | |
2302a644 | 358 | // TH1F * fhT0Time; //! T0 - EMCAL Time measured in towers/crystals |
359 | // TH2F * fhT0TimeId; //! T0 - EMCAL Time vs Absolute cell Id | |
360 | // TH2F * fhT0TimeAmp; //! T0 - EMCAL Time vs Amplitude | |
361 | ||
362 | ||
a0bb4dc0 | 363 | //Calorimeters Correlation |
364 | TH2F * fhCaloCorrNClusters; // EMCAL vs PHOS, number of clusters | |
365 | TH2F * fhCaloCorrEClusters; // EMCAL vs PHOS, total measured cluster energy | |
366 | TH2F * fhCaloCorrNCells; // EMCAL vs PHOS, number of cells | |
367 | TH2F * fhCaloCorrECells; // EMCAL vs PHOS, total measured cell energy | |
368 | ||
a5fafd85 | 369 | //Module histograms |
370 | TH1F ** fhEMod ; //! E distribution for different module, Reco | |
371 | TH1F ** fhNClustersMod ; //! Number of clusters for different module, Reco | |
372 | TH2F ** fhNCellsPerClusterMod ; //! N cells per clusters different module, Reco | |
373 | TH1F ** fhNCellsMod ; //! Number of towers/crystals with signal different module, Reco | |
374 | TH2F ** fhGridCellsMod ; //! Cells ordered in column/row for different module, Reco | |
375 | TH2F ** fhGridCellsEMod ; //! Cells ordered in column/row for different module, weighted with energy, Reco | |
50f39b97 | 376 | TH2F ** fhGridCellsTimeMod ; //! Cells ordered in column/row for different module, weighted with time, Reco |
a5fafd85 | 377 | TH1F ** fhAmplitudeMod ; //! Amplitude measured in towers/crystals different module, Reco |
50f39b97 | 378 | TH1F ** fhAmplitudeModFraction; //! Amplitude measured in towers/crystals different fractions of module, Reco |
eb5a51ae | 379 | TH2F ** fhTimeAmpPerRCU; //! Time vs Amplitude measured in towers/crystals different RCU |
c1ac3823 | 380 | //TH2F ** fhT0TimeAmpPerRCU; //! T0 - EMCAL Time vs Amplitude measured in towers/crystals different RCU |
381 | //TH2F ** fhTimeCorrRCU; //! Correlate time entries in the different RCU, E > 0.3 | |
a5fafd85 | 382 | TH2F ** fhIMMod; //! cluster pairs invariant mass, different module, |
383 | TH2F ** fhIMCellCutMod; //! cluster pairs invariant mass, n cells > 1 per cluster, different module | |
c1ac3823 | 384 | |
9725fd2a | 385 | //MC |
386 | TH1F *fhGenGamPt ; // pt of primary gamma | |
387 | TH1F *fhGenGamEta ; // eta of primart gamma | |
388 | TH1F *fhGenGamPhi ; // phi of primary gamma | |
389 | TH1F *fhGenPi0Pt ; // pt of primary pi0 | |
390 | TH1F *fhGenPi0Eta ; // eta of primart pi0 | |
391 | TH1F *fhGenPi0Phi ; // phi of primary pi0 | |
392 | TH1F *fhGenEtaPt ; // pt of primary eta | |
393 | TH1F *fhGenEtaEta ; // eta of primart eta | |
394 | TH1F *fhGenEtaPhi ; // phi of primary eta | |
395 | TH1F *fhGenOmegaPt ; // pt of primary omega | |
396 | TH1F *fhGenOmegaEta ; // eta of primart omega | |
397 | TH1F *fhGenOmegaPhi ; // phi of primary omega | |
398 | TH1F *fhGenElePt ; // pt of primary electron | |
399 | TH1F *fhGenEleEta ; // eta of primart electron | |
400 | TH1F *fhGenElePhi ; // phi of primary electron | |
401 | ||
402 | //TH3F * fhEMVxyz ; // Electromagnetic particle production vertex | |
403 | TH2F * fhEMVxyz ; // Electromagnetic particle production vertex | |
404 | TH2F * fhEMR ; // Electromagnetic distance to vertex vs rec energy | |
405 | //TH3F * fhHaVxyz ; // Hadron production vertex | |
406 | TH2F * fhHaVxyz ; // Hadron production vertex | |
407 | TH2F * fhHaR ; // Hadron distance to vertex vs rec energy | |
2302a644 | 408 | |
9725fd2a | 409 | TH2F * fhGamE ; //! E distribution of generated photons, Reco |
410 | TH2F * fhGamPt ; //! pT distribution of generated photons, Reco | |
411 | TH2F * fhGamPhi; //! phi distribution of generated photon, Reco | |
412 | TH2F * fhGamEta; //! eta distribution of generated photons, Reco | |
413 | TH1F * fhGamDeltaE ; //! MC-Reco E distribution of generated photons | |
414 | TH1F * fhGamDeltaPt ; //! MC-Reco pT distribution of generated photons | |
415 | TH1F * fhGamDeltaPhi; //! MC-Reco phi distribution of generated photons | |
416 | TH1F * fhGamDeltaEta; //! MC-Reco eta distribution of generated photons | |
417 | TH1F * fhGamRatioE ; //! Reco/MC E distribution of generated photons | |
418 | TH1F * fhGamRatioPt ; //! Reco/MC pT distribution of generated photons | |
419 | TH1F * fhGamRatioPhi; //! Reco/MC phi distribution of generated photons | |
420 | TH1F * fhGamRatioEta; //! Reco/MC eta distribution of generated photons | |
9725fd2a | 421 | TH2F * fhEleE ; //! E distribution of generated electrons, Reco |
422 | TH2F * fhElePt ; //! pT distribution of generated electrons, Reco | |
423 | TH2F * fhElePhi; //! phi distribution of generated electron, Reco | |
424 | TH2F * fhEleEta; //! eta distribution of generated electrons, Reco | |
425 | TH2F * fhPi0E ; //! E distribution of generated pi0, Reco, gamma decay overlapped | |
426 | TH2F * fhPi0Pt ; //! pT distribution of generated pi0, Reco, gamma decay overlapped | |
427 | TH2F * fhPi0Phi; //! phi distribution of generated pi0, Reco, gamma decay overlapped | |
428 | TH2F * fhPi0Eta; //! eta distribution of generated pi0, Reco, gamma decay overlapped | |
429 | TH2F * fhNeHadE ; //! E distribution of generated neutral hadron, Reco | |
430 | TH2F * fhNeHadPt ; //! pT distribution of generated neutral hadron, Reco | |
431 | TH2F * fhNeHadPhi; //! phi distribution of generated neutral hadron, Reco | |
432 | TH2F * fhNeHadEta; //! eta distribution of generated neutral hadron, Reco | |
433 | TH2F * fhChHadE ; //! E distribution of generated charged hadron, Reco | |
434 | TH2F * fhChHadPt ; //! pT distribution of generated charged hadron, Reco | |
435 | TH2F * fhChHadPhi; //! phi distribution of generated charged hadron, Reco | |
436 | TH2F * fhChHadEta; //! eta distribution of generated charged hadron, Reco | |
2302a644 | 437 | |
06e5656a | 438 | TH2F * fhGamECharged ; //! E distribution of generated photons, Reco, track matched cluster |
439 | TH2F * fhGamPtCharged ; //! pT distribution of generated photons, Reco, track matched cluster | |
440 | TH2F * fhGamPhiCharged; //! phi distribution of generated photon, Reco, track matched cluster | |
441 | TH2F * fhGamEtaCharged; //! eta distribution of generated photons, Reco, track matched cluster | |
442 | TH2F * fhEleECharged ; //! E distribution of generated electrons, Reco, track matched cluster | |
443 | TH2F * fhElePtCharged ; //! pT distribution of generated electrons, Reco, track matched cluster | |
444 | TH2F * fhElePhiCharged; //! phi distribution of generated electron, Reco, track matched cluster | |
445 | TH2F * fhEleEtaCharged; //! eta distribution of generated electrons, Reco, track matched cluster | |
446 | TH2F * fhPi0ECharged ; //! E distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster | |
447 | TH2F * fhPi0PtCharged ; //! pT distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster | |
448 | TH2F * fhPi0PhiCharged; //! phi distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster | |
449 | TH2F * fhPi0EtaCharged; //! eta distribution of generated pi0, Reco, gamma decay overlapped, track matched cluster | |
450 | TH2F * fhNeHadECharged ; //! E distribution of generated neutral hadron, Reco, track matched cluster | |
451 | TH2F * fhNeHadPtCharged ; //! pT distribution of generated neutral hadron, Reco, track matched cluster | |
452 | TH2F * fhNeHadPhiCharged; //! phi distribution of generated neutral hadron, Reco , track matched cluster | |
453 | TH2F * fhNeHadEtaCharged; //! eta distribution of generated neutral hadron, Reco, track matched cluster | |
454 | TH2F * fhChHadECharged ; //! E distribution of generated charged hadron, Reco, track matched cluster | |
455 | TH2F * fhChHadPtCharged ; //! pT distribution of generated charged hadron, Reco, track matched cluster | |
456 | TH2F * fhChHadPhiCharged; //! phi distribution of generated charged hadron, Reco, track matched cluster | |
457 | TH2F * fhChHadEtaCharged; //! eta distribution of generated charged hadron, Reco, track matched cluster | |
9725fd2a | 458 | |
459 | TH1F *fhGenGamAccE ; // E of primary gamma | |
460 | TH1F *fhGenGamAccPt ; // pt of primary gamma | |
461 | TH1F *fhGenGamAccEta ; // eta of primart gamma | |
462 | TH1F *fhGenGamAccPhi ; // phi of primary gamma | |
463 | TH1F *fhGenPi0AccE ; // E of primary pi0 | |
464 | TH1F *fhGenPi0AccPt ; // pt of primary pi0 | |
465 | TH1F *fhGenPi0AccEta ; // eta of primart pi0 | |
466 | TH1F *fhGenPi0AccPhi ; // phi of primary pi0 | |
467 | ||
468 | //Histograms for track-matching | |
9d671c82 | 469 | TH2F *fh1pOverE; //! p/E for track-cluster matches |
9725fd2a | 470 | TH1F *fh1dR; //! distance between projected track and cluster |
471 | TH2F *fh2EledEdx; //! dE/dx vs. momentum for electron candidates | |
472 | TH2F *fh2MatchdEdx; //! dE/dx vs. momentum for all matches | |
473 | ||
9d671c82 | 474 | TH2F *fhMCEle1pOverE; //! p/E for track-cluster matches, MC electrons |
06e5656a | 475 | TH1F *fhMCEle1dR; //! distance between projected track and cluster, MC electrons |
476 | TH2F *fhMCEle2MatchdEdx; //! dE/dx vs. momentum for all matches, MC electrons | |
477 | ||
9d671c82 | 478 | TH2F *fhMCChHad1pOverE; //! p/E for track-cluster matches, MC charged hadrons |
06e5656a | 479 | TH1F *fhMCChHad1dR; //! distance between projected track and cluster, MC charged hadrons |
480 | TH2F *fhMCChHad2MatchdEdx; //! dE/dx vs. momentum for all matches, MC charged | |
481 | ||
9d671c82 | 482 | TH2F *fhMCNeutral1pOverE; //! p/E for track-cluster matches, MC neutral |
06e5656a | 483 | TH1F *fhMCNeutral1dR; //! distance between projected track and cluster, MC neutral |
484 | TH2F *fhMCNeutral2MatchdEdx; //! dE/dx vs. momentum for all matches, MC neutral | |
485 | ||
9d671c82 | 486 | TH2F *fh1pOverER02; //! p/E for track-cluster matches, dR > 0.2 |
487 | TH2F *fhMCEle1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC electrons | |
488 | TH2F *fhMCChHad1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons | |
489 | TH2F *fhMCNeutral1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC neutral | |
06e5656a | 490 | |
d7c10d78 | 491 | ClassDef(AliAnaCalorimeterQA,12) |
9725fd2a | 492 | } ; |
493 | ||
494 | ||
495 | #endif //ALIANACALORIMETERQA_H | |
496 | ||
497 | ||
498 |