]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrDep/AliAnaCalorimeterQA.h
AliCalorimeterUtils: Fix to be able to use PHOS bad map and geometry matrices
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaCalorimeterQA.h
CommitLineData
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 14class TH3F;
9725fd2a 15class TH2F;
16class TH1F;
0c1383b5 17class TObjString;
649b825d 18class TObjArray;
9725fd2a 19
20// --- Analysis system ---
649b825d 21class AliVCaloCells;
c8fe2783 22class AliVCaloCluster;
23class AliVTrack;
a5fafd85 24
9725fd2a 25#include "AliAnaPartCorrBaseClass.h"
26
27class AliAnaCalorimeterQA : public AliAnaPartCorrBaseClass {
28
2302a644 29public:
78219bac 30 AliAnaCalorimeterQA() ; // default ctor
31 virtual ~AliAnaCalorimeterQA() {;} //virtual dtor
c5693f62 32
521636d2 33 // General methods
34
0c1383b5 35 TObjString * GetAnalysisCuts();
521636d2 36
37 TList * GetCreateOutputObjects();
2302a644 38
521636d2 39 void Init();
9725fd2a 40
521636d2 41 void InitParameters();
42
43 void MakeAnalysisFillHistograms() ;
2302a644 44
521636d2 45 void Print(const Option_t * opt) const;
924e319f 46
521636d2 47 // Main methods
9725fd2a 48
c5693f62 49 void BadClusterHistograms(AliVCluster* clus, const TObjArray *caloClusters, AliVCaloCells * cells,
50 const Int_t absIdMax, const Double_t maxCellFraction, const Double_t tmax,
a82b4462 51 Double_t timeAverages[2]);
1a72f6c5 52
a82b4462 53 void CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2]);
649b825d 54
55 void CellHistograms(AliVCaloCells * cells);
56
57 void CellInClusterPositionHistograms(AliVCluster* cluster);
58
59 void ClusterAsymmetryHistograms(AliVCluster* clus, const Int_t absIdMax);
60
c5693f62 61 void ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters, AliVCaloCells * cells,
62 const Int_t absIdMax, const Double_t maxCellFraction, const Double_t tmax,
a82b4462 63 Double_t timeAverages[2]);
649b825d 64
65 void ClusterLoopHistograms(TObjArray * clusters, AliVCaloCells * cells);
66
67 Bool_t ClusterMCHistograms(const TLorentzVector mom,const Bool_t matched,
68 const Int_t * labels, const Int_t nLabels, Int_t & pdg );
69
70 void ClusterMatchedWithTrackHistograms(AliVCluster* clus, TLorentzVector mom,
71 const Bool_t mcOK, const Int_t pdg);
72
521636d2 73 void Correlate();
649b825d 74
1a72f6c5 75 Float_t GetECross(const Int_t absId, AliVCaloCells* cells);
76
649b825d 77 void InvariantMassHistograms(const Int_t iclus, const TLorentzVector mom, const Int_t nModule,
c5693f62 78 const TObjArray* caloClusters, AliVCaloCells * cells);
521636d2 79
a82b4462 80 Bool_t IsGoodCluster(const Int_t absIdMax, AliVCaloCells *cells);
649b825d 81
82 void MCHistograms();
9e9f04cb 83
521636d2 84 void MCHistograms(const TLorentzVector mom, const Int_t pdg);
a6f26052 85
649b825d 86 void RecalibrateCellAmplitude(Float_t & amp, const Int_t absId);
87
88 void RecalibrateCellTime (Double_t & time, const Int_t absId);
89
90 void WeightHistograms(AliVCluster *clus, AliVCaloCells* cells);
91
521636d2 92 // Setters and Getters
93
55c05f8c 94
521636d2 95 Float_t GetEMCALCellAmpMin() const { return fEMCALCellAmpMin ; }
96 void SetEMCALCellAmpMin(Float_t amp) { fEMCALCellAmpMin = amp ; }
a6f26052 97
521636d2 98 Float_t GetPHOSCellAmpMin() const { return fPHOSCellAmpMin ; }
99 void SetPHOSCellAmpMin (Float_t amp) { fPHOSCellAmpMin = amp ; }
100
101 TString GetCalorimeter() const { return fCalorimeter ; }
102 void SetCalorimeter(TString calo) { fCalorimeter = calo ; }
f16a7271 103
521636d2 104 void SetNumberOfModules(Int_t nmod) { fNModules = nmod ; }
55c05f8c 105
521636d2 106 Double_t GetTimeCutMin() const { return fTimeCutMin ; }
107 Double_t GetTimeCutMax() const { return fTimeCutMax ; }
108 void SetTimeCut(Double_t min, Double_t max) {
109 fTimeCutMin = min ; fTimeCutMax = max ; }
649b825d 110
521636d2 111 // Histogram Switchs
2302a644 112
521636d2 113 void SwitchOnFillAllPositionHistogram() { fFillAllPosHisto = kTRUE ; }
114 void SwitchOffFillAllPositionHistogram() { fFillAllPosHisto = kFALSE ; }
2302a644 115
521636d2 116 void SwitchOnFillAllPositionHistogram2() { fFillAllPosHisto2 = kTRUE ; }
117 void SwitchOffFillAllPositionHistogram2() { fFillAllPosHisto2 = kFALSE ; }
2302a644 118
521636d2 119 void SwitchOnFillAllTH12Histogram() { fFillAllTH12 = kTRUE ; }
120 void SwitchOffFillAllTH12Histogram() { fFillAllTH12 = kFALSE ; }
2302a644 121
521636d2 122 void SwitchOnFillAllTH3Histogram() { fFillAllTH3 = kTRUE ; }
123 void SwitchOffFillAllTH3Histogram() { fFillAllTH3 = kFALSE ; }
2302a644 124
521636d2 125 void SwitchOnFillAllTrackMatchingHistogram() { fFillAllTMHisto = kTRUE ; }
126 void SwitchOffFillAllTrackMatchingHistogram() { fFillAllTMHisto = kFALSE ; }
b8187de4 127
521636d2 128 void SwitchOnFillAllPi0Histogram() { fFillAllPi0Histo = kTRUE ; }
129 void SwitchOffFillAllPi0Histogram() { fFillAllPi0Histo = kFALSE ; }
130
131 void SwitchOnCorrelation() { fCorrelate = kTRUE ; }
132 void SwitchOffCorrelation() { fCorrelate = kFALSE ; }
649b825d 133
134 void SwitchOnStudyBadClusters() { fStudyBadClusters = kTRUE ; }
135 void SwitchOffStudyBadClusters() { fStudyBadClusters = kFALSE ; }
136
137 void SwitchOnStudyClustersAsymmetry() { fStudyClustersAsymmetry = kTRUE ; }
138 void SwitchOffStudyClustersAsymmetry() { fStudyClustersAsymmetry = kFALSE ; }
139
140 void SwitchOnStudyWeight() { fStudyWeight = kTRUE ; }
141 void SwitchOffStudyWeight() { fStudyWeight = kFALSE ; }
142
143
9725fd2a 144 private:
145
521636d2 146 TString fCalorimeter ; // Calorimeter selection
649b825d 147
148 //Switches
521636d2 149 Bool_t fFillAllPosHisto; // Fill all the position related histograms
150 Bool_t fFillAllPosHisto2; // Fill all the position related histograms 2
151 Bool_t fFillAllTH12 ; // Fill simple histograms which information is already in TH3 histograms
152 Bool_t fFillAllTH3 ; // Fill TH3 histograms
153 Bool_t fFillAllTMHisto ; // Fill track matching histograms
154 Bool_t fFillAllPi0Histo ; // Fill track matching histograms
155 Bool_t fCorrelate ; // Correlate PHOS/EMCAL cells/clusters, also with V0 and track multiplicity
649b825d 156 Bool_t fStudyBadClusters; // Study bad clusters
157 Bool_t fStudyClustersAsymmetry; // Study asymmetry of clusters
158 Bool_t fStudyWeight; // Study the energy weight used in different cluster calculations
159
160 // Parameters
35c71d5c 161 Int_t fNModules ; // Number of EMCAL/PHOS modules
162 Int_t fNRCU ; // Number of EMCAL/PHOS RCU
163 Int_t fNMaxCols ; // Number of EMCAL/PHOS rows
164 Int_t fNMaxRows ; // Number of EMCAL/PHOS columns
649b825d 165
166 //Cuts
521636d2 167 Double_t fTimeCutMin ; // Remove clusters/cells with time smaller than this value, in ns
168 Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns
169 Float_t fEMCALCellAmpMin; // amplitude Threshold on emcal cells
170 Float_t fPHOSCellAmpMin ; // amplitude Threshold on phos cells
2302a644 171
521636d2 172 //CaloClusters
173 TH1F * fhE ; //! E distribution, Reco
174 TH1F * fhPt ; //! pT distribution, Reco
175 TH1F * fhPhi; //! phi distribution, Reco
176 TH1F * fhEta; //! eta distribution, Reco
177 TH3F * fhEtaPhiE ; //! eta vs phi vs E, Reco
178 TH1F * fhECharged ; //! E distribution, Reco, matched with track
179 TH1F * fhPtCharged ; //! pT distribution, Reco, matched with track
180 TH1F * fhPhiCharged; //! phi distribution, Reco, matched with track
181 TH1F * fhEtaCharged; //! eta distribution, Reco, matched with track
182 TH3F * fhEtaPhiECharged; //! eta vs phi vs E, Reco, matched with track
521636d2 183
184 TH2F * fhIM; //! cluster pairs invariant mass
521636d2 185 TH2F * fhAsym; //! cluster pairs invariant mass
186
3f5990d6 187 TH2F * fhNCellsPerCluster; //! N cells per cluster vs cluster energy vs eta of cluster
715fd81f 188 TH2F * fhNCellsPerClusterNoCut; //! N cells per cluster vs cluster energy vs eta of cluster
a82b4462 189
521636d2 190 TH1F * fhNClusters; //! Number of clusters
191
192 TH2F * fhClusterTimeEnergy; //! Cluster Time vs Energy
924e319f 193 TH2F * fhCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells
521636d2 194 TH1F * fhCellIdCellLargeTimeSpread; //! Cells with large time respect to max (diff > 100 ns)
e1e62b89 195 TH2F * fhClusterPairDiffTimeE; //! Pair of clusters time difference vs E
649b825d 196
e1e62b89 197 TH2F * fhClusterMaxCellCloseCellRatio; //! Ratio between max cell energy and cell energy of the same cluster
649b825d 198 TH2F * fhClusterMaxCellCloseCellDiff; //! Difference between max cell energy and cell energy of the same cluster
715fd81f 199 TH2F * fhClusterMaxCellDiff; //! Difference between cluster energy and energy of cell with more energy, good clusters only
200 TH2F * fhClusterMaxCellDiffNoCut; //! Difference between cluster energy and energy of cell with more energy, no bad cluster rejection
715fd81f 201
649b825d 202 TH2F * fhClusterMaxCellDiffAverageTime; //! Difference between cluster average time and time of cell with more energy
649b825d 203 TH2F * fhClusterMaxCellDiffWeightedTime; //! Difference between cluster weighted time and time of cell with more energy
1a72f6c5 204 TH2F * fhClusterMaxCellECross; //! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, good clusters
e1e62b89 205
649b825d 206 TH2F * fhLambda0; //! cluster Lambda0 vs Energy
207 TH2F * fhLambda1; //! cluster Lambda1 vs Energy
208 TH2F * fhDispersion; //! cluster Dispersion vs Energy
209
210 // Bad clusters histograms
e1e62b89 211 TH1F * fhBadClusterEnergy; //! energy of bad cluster
212 TH2F * fhBadClusterTimeEnergy; //! Time Max cell of bad cluster
213 TH2F * fhBadClusterPairDiffTimeE; //! Pair of clusters time difference vs E, bad cluster
649b825d 214 TH2F * fhBadCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells for bad clusters
215
521636d2 216 TH2F * fhBadClusterMaxCellCloseCellRatio; //! Ratio between max cell energy and cell energy of the same cluster for bad clusters
4c8f7c2e 217 TH2F * fhBadClusterMaxCellCloseCellDiff ; //! Difference between max cell energy and cell energy of the same cluster for bad clusters
e1e62b89 218 TH2F * fhBadClusterMaxCellDiff; //! Difference between cluster energy and energy of cell with more energy
649b825d 219
220 TH2F * fhBadClusterMaxCellDiffAverageTime; //! Difference between cluster average time and time of cell with more energy
649b825d 221 TH2F * fhBadClusterMaxCellDiffWeightedTime; //! Difference between cluster weighted time and time of cell with more energy
1a72f6c5 222 TH2F * fhBadClusterMaxCellECross; //! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, bad clusters
4c8f7c2e 223
39de6caa 224 // Cluster cell size
649b825d 225 TH2F * fhDeltaIEtaDeltaIPhiE0[2]; //! Difference between max cell index and farthest cell, eta vs phi, E < 2 GeV, with and without matching;
226 TH2F * fhDeltaIEtaDeltaIPhiE2[2]; //! Difference between max cell index and farthest cell, eta vs phi, 2 < E < 6 GeV, with and without matching;
227 TH2F * fhDeltaIEtaDeltaIPhiE6[2]; //! Difference between max cell index and farthest cell, eta vs phi, E > 6 GeV, with and without matching;
228 TH2F * fhDeltaIA[2]; //! Cluster "asymmetry" in cell terms vs E, with and without matching
229 TH2F * fhDeltaIAL0[2]; //! Cluster "asymmetry" in cell units vs Lambda0 for E > 0.5 GeV, n cells in cluster > 3, with and without matching
230 TH2F * fhDeltaIAL1[2]; //! Cluster "asymmetry" in cell units vs Lambda1 for E > 0.5 GeV, n cells in cluster > 3, with and without matching
231 TH2F * fhDeltaIANCells[2] ; //! Cluster "asymmetry" in cell units vs number of cells in cluster for E > 0.5, with and without matching
232 TH2F * fhDeltaIAMC[4]; //! Cluster "asymmetry" in cell terms vs E, from MC photon, electron, conversion or hadron
39de6caa 233
234 //Cluster/cell Position
521636d2 235 TH2F * fhRNCells ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs N cells in cluster
236 TH2F * fhXNCells ; //! X (cm) cluster distribution vs N cells in cluster
237 TH2F * fhYNCells ; //! Y (cm) cluster distribution vs N cells in cluster
238 TH2F * fhZNCells ; //! Z (cm) cluster distribution vs N cells in cluster
0866d83a 239
521636d2 240 TH2F * fhRE ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy
241 TH2F * fhXE ; //! X (cm) cluster distribution vs cluster energy
242 TH2F * fhYE ; //! Y (cm) cluster distribution vs cluster energy
243 TH2F * fhZE ; //! Z (cm) cluster distribution vs cluster energy
244 TH3F * fhXYZ; //! cluster X vs Y vs Z (cm)
0866d83a 245
521636d2 246 TH2F * fhRCellE ; //! R=sqrt(x^2+y^2) (cm) cell distribution vs cell energy
247 TH2F * fhXCellE ; //! X (cm) cell distribution vs cell energy
248 TH2F * fhYCellE ; //! Y (cm) cell distribution vs cell energy
249 TH2F * fhZCellE ; //! Z (cm) cell distribution vs cell energy
250 TH3F * fhXYZCell; //! cell X vs Y vs Z (cm)
251
252 TH2F * fhDeltaCellClusterRNCells ; //! R cluster - R cell distribution (cm) vs N cells in cluster
253 TH2F * fhDeltaCellClusterXNCells ; //! X cluster - X cell distribution (cm) vs N cells in cluster
254 TH2F * fhDeltaCellClusterYNCells ; //! Y cluster - Y cell distribution (cm) vs N cells in cluster
255 TH2F * fhDeltaCellClusterZNCells ; //! Z cluster - Z cell distribution (cm) vs N cells in cluster
0866d83a 256
521636d2 257 TH2F * fhDeltaCellClusterRE ; //! R cluster - R cell distribution (cm) vs cluster energy
258 TH2F * fhDeltaCellClusterXE ; //! X cluster - X cell distribution (cm) vs cluster energy
259 TH2F * fhDeltaCellClusterYE ; //! Y cluster - Y cell distribution (cm) vs cluster energy
260 TH2F * fhDeltaCellClusterZE ; //! Z cluster - Z cell distribution (cm) vs cluster energy
0866d83a 261
9725fd2a 262 //Calo Cells
521636d2 263 TH1F * fhNCells; //! Number of towers/crystals with signal
264 TH1F * fhAmplitude; //! Amplitude measured in towers/crystals
265 TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower.
266 TH3F * fhEtaPhiAmp; //! eta vs phi vs amplitude, cells
a82b4462 267
521636d2 268 TH1F * fhTime; //! Time measured in towers/crystals
1a72f6c5 269 TH2F * fhTimeVz; //! Time measured in towers/crystals vs vertex z component, for E > 0.5
521636d2 270 TH2F * fhTimeId; //! Time vs Absolute cell Id
271 TH2F * fhTimeAmp; //! Time vs Amplitude
2302a644 272
1a72f6c5 273 TH2F * fhCellECross; //! 1 - Energy in cross around cell / cell energy
274
a0bb4dc0 275 //Calorimeters Correlation
521636d2 276 TH2F * fhCaloCorrNClusters; //! EMCAL vs PHOS, number of clusters
277 TH2F * fhCaloCorrEClusters; //! EMCAL vs PHOS, total measured cluster energy
278 TH2F * fhCaloCorrNCells; //! EMCAL vs PHOS, number of cells
279 TH2F * fhCaloCorrECells; //! EMCAL vs PHOS, total measured cell energy
a0bb4dc0 280
798a9b04 281 //V0 Correlation
521636d2 282 TH2F * fhCaloV0SCorrNClusters; //! Calo vs V0 signal , number of clusters
283 TH2F * fhCaloV0SCorrEClusters; //! Calo vs V0 signal, total measured cluster energy
284 TH2F * fhCaloV0SCorrNCells; //! Calo vs V0 signal, number of cells
285 TH2F * fhCaloV0SCorrECells; //! Calo vs V0 signal, total measured cell energy
286 TH2F * fhCaloV0MCorrNClusters; //! Calo vs V0 multiplicity , number of clusters
287 TH2F * fhCaloV0MCorrEClusters; //! Calo vs V0 multiplicity, total measured cluster energy
288 TH2F * fhCaloV0MCorrNCells; //! Calo vs V0 multiplicity, number of cells
289 TH2F * fhCaloV0MCorrECells; //! Calo vs V0 multiplicity, total measured cell energy
798a9b04 290
291 //Track Correlation
521636d2 292 TH2F * fhCaloTrackMCorrNClusters; //! Calo vs Track Multiplicity, number of clusters
293 TH2F * fhCaloTrackMCorrEClusters; //! Calo vs Track Multiplicity, total measured cluster energy
294 TH2F * fhCaloTrackMCorrNCells; //! Calo vs V0 Track Multiplicity, number of cells
295 TH2F * fhCaloTrackMCorrECells; //! Calo vs V0 Track Multipliticy, total measured cell energy
798a9b04 296
a5fafd85 297 //Module histograms
649b825d 298 TH2F * fhEMod ; //! cluster E distribution for different module, Reco
299 TH2F * fhAmpMod ; //! cell amplitude distribution for different module, Reco
300 TH2F * fhTimeMod ; //! cell time distribution for different module, Reco
35c71d5c 301 TH2F * fhNClustersMod ; //! Number of clusters for different module, Reco
649b825d 302 TH2F * fhNCellsMod ; //! Number of towers/crystals with signal different module, Reco
521636d2 303 TH2F ** fhNCellsPerClusterMod ; //! N cells per clusters different module, Reco
715fd81f 304 TH2F ** fhNCellsPerClusterModNoCut ; //! N cells per clusters different module, Reco, No cut
649b825d 305 TH2F * fhGridCells ; //! Cells ordered in column/row for different module, Reco
306 TH2F * fhGridCellsE ; //! Cells ordered in column/row for different module, weighted with energy, Reco
307 TH2F * fhGridCellsTime ; //! Cells ordered in column/row for different module, weighted with time, Reco
521636d2 308 TH2F ** fhTimeAmpPerRCU; //! Time vs Amplitude measured in towers/crystals different RCU
35c71d5c 309 TH2F ** fhIMMod; //! cluster pairs invariant mass, different module,
c1ac3823 310
649b825d 311 // Weight studies
312
313 TH2F* fhECellClusterRatio; //! e cell / e cluster vs e cluster
314 TH2F* fhECellClusterLogRatio; //! log (e cell / e cluster) vs e cluster
315 TH2F* fhEMaxCellClusterRatio; //! e max cell / e cluster vs e cluster
316 TH2F* fhEMaxCellClusterLogRatio; //! log (e max cell / e cluster) vs e cluster
317
1a72f6c5 318 TH2F* fhLambda0ForW0[14]; //! L0 for 7 defined w0= 3, 3.5 ... 6
319 //TH2F* fhLambda1ForW0[7]; //! L1 for 7 defined w0= 3, 3.5 ... 6
649b825d 320
1a72f6c5 321 TH2F* fhLambda0ForW0MC[14][5]; //! L0 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
322 //TH2F* fhLambda1ForW0MC[7][5]; //! L1 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
649b825d 323
715fd81f 324 //Pure MC
35c71d5c 325
c5693f62 326 enum mcTypes {kmcPhoton = 0, kmcPi0 = 1, kmcEta = 2, kmcElectron = 3, kmcNeHadron = 4, kmcChHadron = 5 };
35c71d5c 327
328 TH2F * fhRecoMCE[6][2] ; //! E generated particle vs reconstructed E
649b825d 329 TH2F * fhRecoMCPhi[6][2] ; //! phi generated particle vs reconstructed phi
330 TH2F * fhRecoMCEta[6][2] ; //! eta generated particle vs reconstructed Eta
35c71d5c 331 TH2F * fhRecoMCDeltaE[6][2] ; //! Gen-Reco E generated particle vs reconstructed E
649b825d 332 TH2F * fhRecoMCRatioE[6][2] ; //! Reco/Gen E generated particle vs reconstructed E
35c71d5c 333 TH2F * fhRecoMCDeltaPhi[6][2]; //! Gen-Reco phi generated particle vs reconstructed E
334 TH2F * fhRecoMCDeltaEta[6][2]; //! Gen-Reco eta generated particle vs reconstructed E
335
336 TH1F * fhGenMCE[4] ; //! pt of primary particle
337 TH2F * fhGenMCEtaPhi[4] ; //! eta vs phi of primary particle
338 TH1F * fhGenMCAccE[4] ; //! pt of primary particle, in acceptance
339 TH2F * fhGenMCAccEtaPhi[4] ; //! eta vs phi of primary particle, in acceptance
340
521636d2 341 TH2F * fhEMVxyz ; //! Electromagnetic particle production vertex
342 TH2F * fhEMR ; //! Electromagnetic distance to vertex vs rec energy
343 TH2F * fhHaVxyz ; //! Hadron production vertex
344 TH2F * fhHaR ; //! Hadron distance to vertex vs rec energy
9725fd2a 345
521636d2 346 //Histograms for MC track-matching
3bfc4732 347 TH2F * fh1pOverE; //! p/E for track-cluster matches
348 TH1F * fh1dR; //! distance between projected track and cluster
349 TH2F * fh2EledEdx; //! dE/dx vs. momentum for electron candidates
350 TH2F * fh2MatchdEdx; //! dE/dx vs. momentum for all matches
351
352 TH2F * fhMCEle1pOverE; //! p/E for track-cluster matches, MC electrons
353 TH1F * fhMCEle1dR; //! distance between projected track and cluster, MC electrons
354 TH2F * fhMCEle2MatchdEdx; //! dE/dx vs. momentum for all matches, MC electrons
355
356 TH2F * fhMCChHad1pOverE; //! p/E for track-cluster matches, MC charged hadrons
357 TH1F * fhMCChHad1dR; //! distance between projected track and cluster, MC charged hadrons
358 TH2F * fhMCChHad2MatchdEdx; //! dE/dx vs. momentum for all matches, MC charged
359
360 TH2F * fhMCNeutral1pOverE; //! p/E for track-cluster matches, MC neutral
361 TH1F * fhMCNeutral1dR; //! distance between projected track and cluster, MC neutral
362 TH2F * fhMCNeutral2MatchdEdx; //! dE/dx vs. momentum for all matches, MC neutral
363
364 TH2F * fh1pOverER02; //! p/E for track-cluster matches, dR > 0.2
365 TH2F * fhMCEle1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC electrons
366 TH2F * fhMCChHad1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC charged hadrons
367 TH2F * fhMCNeutral1pOverER02; //! p/E for track-cluster matches, dR > 0.2, MC neutral
06e5656a 368
c5693f62 369 AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & g) ;//cpy assignment
370 AliAnaCalorimeterQA(const AliAnaCalorimeterQA & g) ; // cpy ctor
371
a82b4462 372 ClassDef(AliAnaCalorimeterQA,21)
9725fd2a 373} ;
374
375
376#endif //ALIANACALORIMETERQA_H
377
378
379