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