]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h
add histogram to see how many event bins from the min bias events are used; move...
[u/mrichter/AliRoot.git] / PWGGA / CaloTrackCorrelations / 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 */
9725fd2a 5
6//_________________________________________________________________________
7// Class to check results from simulations or reconstructed real data.
8// Fill few histograms and do some checking plots
9//
2302a644 10//-- Author: Gustavo Conesa (INFN-LNF)
9725fd2a 11
12// --- Root system ---
a5fafd85 13class TH3F;
9725fd2a 14class TH2F;
15class TH1F;
0c1383b5 16class TObjString;
649b825d 17class TObjArray;
9725fd2a 18
19// --- Analysis system ---
649b825d 20class AliVCaloCells;
c8fe2783 21class AliVCaloCluster;
22class AliVTrack;
a5fafd85 23
745913ae 24#include "AliAnaCaloTrackCorrBaseClass.h"
9725fd2a 25
745913ae 26class AliAnaCalorimeterQA : public AliAnaCaloTrackCorrBaseClass {
9725fd2a 27
2302a644 28public:
78219bac 29 AliAnaCalorimeterQA() ; // default ctor
30 virtual ~AliAnaCalorimeterQA() {;} //virtual dtor
c5693f62 31
521636d2 32 // General methods
33
0c1383b5 34 TObjString * GetAnalysisCuts();
521636d2 35
36 TList * GetCreateOutputObjects();
2302a644 37
521636d2 38 void Init();
9725fd2a 39
521636d2 40 void InitParameters();
41
42 void MakeAnalysisFillHistograms() ;
2302a644 43
521636d2 44 void Print(const Option_t * opt) const;
924e319f 45
521636d2 46 // Main methods
9725fd2a 47
b94e038e 48 void BadClusterHistograms(AliVCluster* clus, const TObjArray *caloClusters, AliVCaloCells * cells,
45769d5b 49 Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
1a72f6c5 50
a82b4462 51 void CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2]);
649b825d 52
53 void CellHistograms(AliVCaloCells * cells);
54
55 void CellInClusterPositionHistograms(AliVCluster* cluster);
56
95aee5e1 57 void ClusterAsymmetryHistograms(AliVCluster* clus, Int_t absIdMax, Bool_t goodCluster );
649b825d 58
c5693f62 59 void ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters, AliVCaloCells * cells,
45769d5b 60 Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
649b825d 61
f3138ecf 62 void ClusterLoopHistograms(const TObjArray * clusters, AliVCaloCells * cells);
649b825d 63
b94e038e 64 Bool_t ClusterMCHistograms(TLorentzVector mom, Bool_t matched,
65 const Int_t * labels, Int_t nLabels, Int_t & pdg );
649b825d 66
67 void ClusterMatchedWithTrackHistograms(AliVCluster* clus, TLorentzVector mom,
b94e038e 68 Bool_t mcOK, Int_t pdg);
649b825d 69
521636d2 70 void Correlate();
649b825d 71
b94e038e 72 void ExoticHistograms(Int_t absIdMax, Float_t ampMax,
f1538a5f 73 AliVCluster *clus, AliVCaloCells* cells);
74
b94e038e 75 Float_t GetECross(Int_t absId, AliVCaloCells* cells,Float_t dtcut = 10000);
1a72f6c5 76
b94e038e 77 void InvariantMassHistograms(Int_t iclus, TLorentzVector mom, Int_t nModule,
c5693f62 78 const TObjArray* caloClusters, AliVCaloCells * cells);
521636d2 79
b94e038e 80 Bool_t IsGoodCluster(Int_t absIdMax, AliVCaloCells *cells);
649b825d 81
82 void MCHistograms();
9e9f04cb 83
649b825d 84 void WeightHistograms(AliVCluster *clus, AliVCaloCells* cells);
85
521636d2 86 // Setters and Getters
87
55c05f8c 88
521636d2 89 Float_t GetEMCALCellAmpMin() const { return fEMCALCellAmpMin ; }
90 void SetEMCALCellAmpMin(Float_t amp) { fEMCALCellAmpMin = amp ; }
a6f26052 91
521636d2 92 Float_t GetPHOSCellAmpMin() const { return fPHOSCellAmpMin ; }
93 void SetPHOSCellAmpMin (Float_t amp) { fPHOSCellAmpMin = amp ; }
07e4c878 94
95 Float_t GetInvMassMinECut() const { return fMinInvMassECut ; }
96 void SetInvMassMinECut(Float_t cut) { fMinInvMassECut = cut ; }
97
521636d2 98 TString GetCalorimeter() const { return fCalorimeter ; }
99 void SetCalorimeter(TString calo) { fCalorimeter = calo ; }
55c05f8c 100
521636d2 101 Double_t GetTimeCutMin() const { return fTimeCutMin ; }
102 Double_t GetTimeCutMax() const { return fTimeCutMax ; }
103 void SetTimeCut(Double_t min, Double_t max) {
104 fTimeCutMin = min ; fTimeCutMax = max ; }
649b825d 105
521636d2 106 // Histogram Switchs
2302a644 107
e6fec6f5 108 void SwitchOnFillAllCellTimeHisto() { fFillAllCellTimeHisto = kTRUE ; }
109 void SwitchOffFillAllCellTimeHisto() { fFillAllCellTimeHisto = kFALSE ; }
110
521636d2 111 void SwitchOnFillAllPositionHistogram() { fFillAllPosHisto = kTRUE ; }
112 void SwitchOffFillAllPositionHistogram() { fFillAllPosHisto = kFALSE ; }
2302a644 113
521636d2 114 void SwitchOnFillAllPositionHistogram2() { fFillAllPosHisto2 = kTRUE ; }
115 void SwitchOffFillAllPositionHistogram2() { fFillAllPosHisto2 = kFALSE ; }
2302a644 116
521636d2 117 void SwitchOnFillAllTH3Histogram() { fFillAllTH3 = kTRUE ; }
118 void SwitchOffFillAllTH3Histogram() { fFillAllTH3 = kFALSE ; }
2302a644 119
521636d2 120 void SwitchOnFillAllTrackMatchingHistogram() { fFillAllTMHisto = kTRUE ; }
121 void SwitchOffFillAllTrackMatchingHistogram() { fFillAllTMHisto = kFALSE ; }
b8187de4 122
521636d2 123 void SwitchOnFillAllPi0Histogram() { fFillAllPi0Histo = kTRUE ; }
124 void SwitchOffFillAllPi0Histogram() { fFillAllPi0Histo = kFALSE ; }
125
126 void SwitchOnCorrelation() { fCorrelate = kTRUE ; }
127 void SwitchOffCorrelation() { fCorrelate = kFALSE ; }
649b825d 128
129 void SwitchOnStudyBadClusters() { fStudyBadClusters = kTRUE ; }
130 void SwitchOffStudyBadClusters() { fStudyBadClusters = kFALSE ; }
131
132 void SwitchOnStudyClustersAsymmetry() { fStudyClustersAsymmetry = kTRUE ; }
133 void SwitchOffStudyClustersAsymmetry() { fStudyClustersAsymmetry = kFALSE ; }
134
135 void SwitchOnStudyWeight() { fStudyWeight = kTRUE ; }
136 void SwitchOffStudyWeight() { fStudyWeight = kFALSE ; }
f1538a5f 137
138 void SwitchOnStudyExotic() { fStudyExotic = kTRUE ; }
139 void SwitchOffStudyExotic() { fStudyExotic = kFALSE ; }
140
141 void SetNECrossCuts(Int_t n) { fExoNECrossCuts = n ; }
142 void SetNDTimeCuts (Int_t n) { fExoNDTimeCuts = n ; }
143
144 void SetExoECrossCuts (Int_t i, Float_t c) { if (i<fExoNECrossCuts) fExoECrossCuts[i] = c ; }
145 void SetExoDTimeCuts (Int_t i, Float_t c) { if (i<fExoNDTimeCuts ) fExoDTimeCuts [i] = c ; }
649b825d 146
9725fd2a 147 private:
148
521636d2 149 TString fCalorimeter ; // Calorimeter selection
649b825d 150
151 //Switches
e6fec6f5 152 Bool_t fFillAllCellTimeHisto; // Fill all cell time histo
521636d2 153 Bool_t fFillAllPosHisto; // Fill all the position related histograms
154 Bool_t fFillAllPosHisto2; // Fill all the position related histograms 2
521636d2 155 Bool_t fFillAllTH3 ; // Fill TH3 histograms
156 Bool_t fFillAllTMHisto ; // Fill track matching histograms
1a83b960 157 Bool_t fFillAllPi0Histo ; // Fill invariant mass histograms
521636d2 158 Bool_t fCorrelate ; // Correlate PHOS/EMCAL cells/clusters, also with V0 and track multiplicity
649b825d 159 Bool_t fStudyBadClusters; // Study bad clusters
160 Bool_t fStudyClustersAsymmetry; // Study asymmetry of clusters
f1538a5f 161 Bool_t fStudyExotic; // Study the exotic cluster for different cuts
649b825d 162 Bool_t fStudyWeight; // Study the energy weight used in different cluster calculations
163
164 // Parameters
35c71d5c 165 Int_t fNModules ; // Number of EMCAL/PHOS modules
166 Int_t fNRCU ; // Number of EMCAL/PHOS RCU
167 Int_t fNMaxCols ; // Number of EMCAL/PHOS rows
168 Int_t fNMaxRows ; // Number of EMCAL/PHOS columns
649b825d 169
170 //Cuts
521636d2 171 Double_t fTimeCutMin ; // Remove clusters/cells with time smaller than this value, in ns
172 Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns
701cbf54 173 Float_t fCellAmpMin; // amplitude Threshold on calorimeter cells, set at execution time
521636d2 174 Float_t fEMCALCellAmpMin; // amplitude Threshold on emcal cells
175 Float_t fPHOSCellAmpMin ; // amplitude Threshold on phos cells
2302a644 176
07e4c878 177 Float_t fMinInvMassECut; // Minimum energy cut value for clusters entering the invariant mass calculation
178
f1538a5f 179 // Exotic studies
180 Float_t fExoNECrossCuts ; // Number of ecross cuts
181 Float_t fExoECrossCuts[10]; // List of ecross cuts
182 Float_t fExoNDTimeCuts ; // Number of time cuts
183 Float_t fExoDTimeCuts[5] ; // List of time cuts
184
521636d2 185 //CaloClusters
186 TH1F * fhE ; //! E distribution, Reco
187 TH1F * fhPt ; //! pT distribution, Reco
188 TH1F * fhPhi; //! phi distribution, Reco
189 TH1F * fhEta; //! eta distribution, Reco
190 TH3F * fhEtaPhiE ; //! eta vs phi vs E, Reco
191 TH1F * fhECharged ; //! E distribution, Reco, matched with track
192 TH1F * fhPtCharged ; //! pT distribution, Reco, matched with track
193 TH1F * fhPhiCharged; //! phi distribution, Reco, matched with track
194 TH1F * fhEtaCharged; //! eta distribution, Reco, matched with track
195 TH3F * fhEtaPhiECharged; //! eta vs phi vs E, Reco, matched with track
521636d2 196
197 TH2F * fhIM; //! cluster pairs invariant mass
521636d2 198 TH2F * fhAsym; //! cluster pairs invariant mass
199
3f5990d6 200 TH2F * fhNCellsPerCluster; //! N cells per cluster vs cluster energy vs eta of cluster
715fd81f 201 TH2F * fhNCellsPerClusterNoCut; //! N cells per cluster vs cluster energy vs eta of cluster
a82b4462 202
521636d2 203 TH1F * fhNClusters; //! Number of clusters
204
205 TH2F * fhClusterTimeEnergy; //! Cluster Time vs Energy
924e319f 206 TH2F * fhCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells
521636d2 207 TH1F * fhCellIdCellLargeTimeSpread; //! Cells with large time respect to max (diff > 100 ns)
e1e62b89 208 TH2F * fhClusterPairDiffTimeE; //! Pair of clusters time difference vs E
649b825d 209
e1e62b89 210 TH2F * fhClusterMaxCellCloseCellRatio; //! Ratio between max cell energy and cell energy of the same cluster
649b825d 211 TH2F * fhClusterMaxCellCloseCellDiff; //! Difference between max cell energy and cell energy of the same cluster
715fd81f 212 TH2F * fhClusterMaxCellDiff; //! Difference between cluster energy and energy of cell with more energy, good clusters only
213 TH2F * fhClusterMaxCellDiffNoCut; //! Difference between cluster energy and energy of cell with more energy, no bad cluster rejection
715fd81f 214
649b825d 215 TH2F * fhClusterMaxCellDiffAverageTime; //! Difference between cluster average time and time of cell with more energy
649b825d 216 TH2F * fhClusterMaxCellDiffWeightedTime; //! Difference between cluster weighted time and time of cell with more energy
1a72f6c5 217 TH2F * fhClusterMaxCellECross; //! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, good clusters
e1e62b89 218
649b825d 219 TH2F * fhLambda0; //! cluster Lambda0 vs Energy
220 TH2F * fhLambda1; //! cluster Lambda1 vs Energy
221 TH2F * fhDispersion; //! cluster Dispersion vs Energy
222
223 // Bad clusters histograms
e1e62b89 224 TH1F * fhBadClusterEnergy; //! energy of bad cluster
225 TH2F * fhBadClusterTimeEnergy; //! Time Max cell of bad cluster
226 TH2F * fhBadClusterPairDiffTimeE; //! Pair of clusters time difference vs E, bad cluster
649b825d 227 TH2F * fhBadCellTimeSpreadRespectToCellMax; //! Difference of the time of cell with maximum dep energy and the rest of cells for bad clusters
228
521636d2 229 TH2F * fhBadClusterMaxCellCloseCellRatio; //! Ratio between max cell energy and cell energy of the same cluster for bad clusters
4c8f7c2e 230 TH2F * fhBadClusterMaxCellCloseCellDiff ; //! Difference between max cell energy and cell energy of the same cluster for bad clusters
e1e62b89 231 TH2F * fhBadClusterMaxCellDiff; //! Difference between cluster energy and energy of cell with more energy
649b825d 232
233 TH2F * fhBadClusterMaxCellDiffAverageTime; //! Difference between cluster average time and time of cell with more energy
649b825d 234 TH2F * fhBadClusterMaxCellDiffWeightedTime; //! Difference between cluster weighted time and time of cell with more energy
1a72f6c5 235 TH2F * fhBadClusterMaxCellECross; //! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, bad clusters
4c8f7c2e 236
39de6caa 237 // Cluster cell size
649b825d 238 TH2F * fhDeltaIEtaDeltaIPhiE0[2]; //! Difference between max cell index and farthest cell, eta vs phi, E < 2 GeV, with and without matching;
239 TH2F * fhDeltaIEtaDeltaIPhiE2[2]; //! Difference between max cell index and farthest cell, eta vs phi, 2 < E < 6 GeV, with and without matching;
240 TH2F * fhDeltaIEtaDeltaIPhiE6[2]; //! Difference between max cell index and farthest cell, eta vs phi, E > 6 GeV, with and without matching;
241 TH2F * fhDeltaIA[2]; //! Cluster "asymmetry" in cell terms vs E, with and without matching
242 TH2F * fhDeltaIAL0[2]; //! Cluster "asymmetry" in cell units vs Lambda0 for E > 0.5 GeV, n cells in cluster > 3, with and without matching
243 TH2F * fhDeltaIAL1[2]; //! Cluster "asymmetry" in cell units vs Lambda1 for E > 0.5 GeV, n cells in cluster > 3, with and without matching
244 TH2F * fhDeltaIANCells[2] ; //! Cluster "asymmetry" in cell units vs number of cells in cluster for E > 0.5, with and without matching
1a83b960 245 TH2F * fhDeltaIAMC[4]; //! Cluster "asymmetry" in cell terms vs E, from MC photon, electron, conversion or hadron.
246 TH2F * fhBadClusterDeltaIEtaDeltaIPhiE0; //! Difference between max cell index and farthest cell, eta vs phi, E < 2 GeV, with and without matching; bad clusters.
247 TH2F * fhBadClusterDeltaIEtaDeltaIPhiE2; //! Difference between max cell index and farthest cell, eta vs phi, 2 < E < 6 GeV, with and without matching; bad clusters.
248 TH2F * fhBadClusterDeltaIEtaDeltaIPhiE6; //! Difference between max cell index and farthest cell, eta vs phi, E > 6 GeV, with and without matching; bad clusters.
249 TH2F * fhBadClusterDeltaIA; //! Cluster "asymmetry" in cell terms vs E, with and without matching; bad clusters.
250
39de6caa 251 //Cluster/cell Position
521636d2 252 TH2F * fhRNCells ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs N cells in cluster
253 TH2F * fhXNCells ; //! X (cm) cluster distribution vs N cells in cluster
254 TH2F * fhYNCells ; //! Y (cm) cluster distribution vs N cells in cluster
255 TH2F * fhZNCells ; //! Z (cm) cluster distribution vs N cells in cluster
0866d83a 256
521636d2 257 TH2F * fhRE ; //! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy
258 TH2F * fhXE ; //! X (cm) cluster distribution vs cluster energy
259 TH2F * fhYE ; //! Y (cm) cluster distribution vs cluster energy
260 TH2F * fhZE ; //! Z (cm) cluster distribution vs cluster energy
261 TH3F * fhXYZ; //! cluster X vs Y vs Z (cm)
0866d83a 262
521636d2 263 TH2F * fhRCellE ; //! R=sqrt(x^2+y^2) (cm) cell distribution vs cell energy
264 TH2F * fhXCellE ; //! X (cm) cell distribution vs cell energy
265 TH2F * fhYCellE ; //! Y (cm) cell distribution vs cell energy
266 TH2F * fhZCellE ; //! Z (cm) cell distribution vs cell energy
267 TH3F * fhXYZCell; //! cell X vs Y vs Z (cm)
268
269 TH2F * fhDeltaCellClusterRNCells ; //! R cluster - R cell distribution (cm) vs N cells in cluster
270 TH2F * fhDeltaCellClusterXNCells ; //! X cluster - X cell distribution (cm) vs N cells in cluster
271 TH2F * fhDeltaCellClusterYNCells ; //! Y cluster - Y cell distribution (cm) vs N cells in cluster
272 TH2F * fhDeltaCellClusterZNCells ; //! Z cluster - Z cell distribution (cm) vs N cells in cluster
0866d83a 273
521636d2 274 TH2F * fhDeltaCellClusterRE ; //! R cluster - R cell distribution (cm) vs cluster energy
275 TH2F * fhDeltaCellClusterXE ; //! X cluster - X cell distribution (cm) vs cluster energy
276 TH2F * fhDeltaCellClusterYE ; //! Y cluster - Y cell distribution (cm) vs cluster energy
277 TH2F * fhDeltaCellClusterZE ; //! Z cluster - Z cell distribution (cm) vs cluster energy
0866d83a 278
9725fd2a 279 //Calo Cells
521636d2 280 TH1F * fhNCells; //! Number of towers/crystals with signal
701cbf54 281 TH1F * fhNCellsCutAmpMin; //! Number of towers/crystals with signal, with min amplitude
521636d2 282 TH1F * fhAmplitude; //! Amplitude measured in towers/crystals
638916c4 283 TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower.
521636d2 284 TH3F * fhEtaPhiAmp; //! eta vs phi vs amplitude, cells
a82b4462 285
521636d2 286 TH1F * fhTime; //! Time measured in towers/crystals
1a72f6c5 287 TH2F * fhTimeVz; //! Time measured in towers/crystals vs vertex z component, for E > 0.5
521636d2 288 TH2F * fhTimeId; //! Time vs Absolute cell Id
638916c4 289 TH2F * fhTimeAmp; //! Time vs Amplitude
2302a644 290
638916c4 291 TH2F * fhAmpIdLowGain; //! Amplitude measured in towers/crystals vs id of tower, low gain towers
292 TH2F * fhTimeIdLowGain; //! Time vs Absolute cell Id, low gain
293 TH2F * fhTimeAmpLowGain; //! Time vs Amplitude, low gain
294
295 TH2F * fhCellECross; //! 1 - Energy in cross around cell / cell energy
1a72f6c5 296
a0bb4dc0 297 //Calorimeters Correlation
521636d2 298 TH2F * fhCaloCorrNClusters; //! EMCAL vs PHOS, number of clusters
299 TH2F * fhCaloCorrEClusters; //! EMCAL vs PHOS, total measured cluster energy
300 TH2F * fhCaloCorrNCells; //! EMCAL vs PHOS, number of cells
301 TH2F * fhCaloCorrECells; //! EMCAL vs PHOS, total measured cell energy
a0bb4dc0 302
798a9b04 303 //V0 Correlation
521636d2 304 TH2F * fhCaloV0SCorrNClusters; //! Calo vs V0 signal , number of clusters
305 TH2F * fhCaloV0SCorrEClusters; //! Calo vs V0 signal, total measured cluster energy
306 TH2F * fhCaloV0SCorrNCells; //! Calo vs V0 signal, number of cells
307 TH2F * fhCaloV0SCorrECells; //! Calo vs V0 signal, total measured cell energy
308 TH2F * fhCaloV0MCorrNClusters; //! Calo vs V0 multiplicity , number of clusters
309 TH2F * fhCaloV0MCorrEClusters; //! Calo vs V0 multiplicity, total measured cluster energy
310 TH2F * fhCaloV0MCorrNCells; //! Calo vs V0 multiplicity, number of cells
311 TH2F * fhCaloV0MCorrECells; //! Calo vs V0 multiplicity, total measured cell energy
798a9b04 312
313 //Track Correlation
521636d2 314 TH2F * fhCaloTrackMCorrNClusters; //! Calo vs Track Multiplicity, number of clusters
315 TH2F * fhCaloTrackMCorrEClusters; //! Calo vs Track Multiplicity, total measured cluster energy
316 TH2F * fhCaloTrackMCorrNCells; //! Calo vs V0 Track Multiplicity, number of cells
317 TH2F * fhCaloTrackMCorrECells; //! Calo vs V0 Track Multipliticy, total measured cell energy
798a9b04 318
653aed3c 319 // Centrality
320 TH2F * fhCaloCenNClusters; //! Calo vs centrality, number of clusters
321 TH2F * fhCaloCenEClusters; //! Calo vs centrality, total measured cluster energy
322 TH2F * fhCaloCenNCells; //! Calo vs centrality, number of cells
323 TH2F * fhCaloCenECells; //! Calo vs centrality, total measured cell energy
324
325 // Event plane
326 TH2F * fhCaloEvPNClusters; //! Calo vs event plane angle, number of clusters
327 TH2F * fhCaloEvPEClusters; //! Calo vs event plane angle, total measured cluster energy
328 TH2F * fhCaloEvPNCells; //! Calo vs event plane angle, number of cells
329 TH2F * fhCaloEvPECells; //! Calo vs event plane angle, total measured cell energy
330
a5fafd85 331 //Module histograms
649b825d 332 TH2F * fhEMod ; //! cluster E distribution for different module, Reco
333 TH2F * fhAmpMod ; //! cell amplitude distribution for different module, Reco
334 TH2F * fhTimeMod ; //! cell time distribution for different module, Reco
35c71d5c 335 TH2F * fhNClustersMod ; //! Number of clusters for different module, Reco
649b825d 336 TH2F * fhNCellsMod ; //! Number of towers/crystals with signal different module, Reco
521636d2 337 TH2F ** fhNCellsPerClusterMod ; //! N cells per clusters different module, Reco
715fd81f 338 TH2F ** fhNCellsPerClusterModNoCut ; //! N cells per clusters different module, Reco, No cut
649b825d 339 TH2F * fhGridCells ; //! Cells ordered in column/row for different module, Reco
340 TH2F * fhGridCellsE ; //! Cells ordered in column/row for different module, weighted with energy, Reco
341 TH2F * fhGridCellsTime ; //! Cells ordered in column/row for different module, weighted with time, Reco
638916c4 342 TH2F * fhGridCellsLowGain ; //! Cells ordered in column/row for different module, Reco, low gain
343 TH2F * fhGridCellsELowGain ; //! Cells ordered in column/row for different module, weighted with energy, Reco, low gain
344 TH2F * fhGridCellsTimeLowGain ; //! Cells ordered in column/row for different module, weighted with time, Reco, low gain
521636d2 345 TH2F ** fhTimeAmpPerRCU; //! Time vs Amplitude measured in towers/crystals different RCU
35c71d5c 346 TH2F ** fhIMMod; //! cluster pairs invariant mass, different module,
c1ac3823 347
649b825d 348 // Weight studies
349
f1538a5f 350 TH2F * fhECellClusterRatio; //! e cell / e cluster vs e cluster
351 TH2F * fhECellClusterLogRatio; //! log (e cell / e cluster) vs e cluster
352 TH2F * fhEMaxCellClusterRatio; //! e max cell / e cluster vs e cluster
353 TH2F * fhEMaxCellClusterLogRatio; //! log (e max cell / e cluster) vs e cluster
649b825d 354
f1538a5f 355 TH2F * fhLambda0ForW0[14]; //! L0 for 7 defined w0= 3, 3.5 ... 6
356 //TH2F * fhLambda1ForW0[7]; //! L1 for 7 defined w0= 3, 3.5 ... 6
649b825d 357
f1538a5f 358 TH2F * fhLambda0ForW0MC[14][5]; //! L0 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
359 //TH2F * fhLambda1ForW0MC[7][5]; //! L1 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
360
701cbf54 361 TH2F * fhECellTotalRatio; //! e cell / e total vs e total
362 TH2F * fhECellTotalLogRatio; //! log (e cell / e total) vs e total
363 TH2F ** fhECellTotalRatioMod; //! e cell / e total vs e total, per SM
364 TH2F ** fhECellTotalLogRatioMod; //! log (e cell / e total) vs e total, per SM
365
f1538a5f 366 // Exotic studies
367
765206a5 368 TH2F * fhExoNCell [10][5] ; //! Number of cells per cluster for different cuts
369 TH2F * fhExoL0 [10][5] ; //! Long shower shape axis for exotic
370 TH2F * fhExoL1 [10][5] ; //! Short shower shape axis for exotic
371 TH2F * fhExoECross [10][5] ; //! E cross for max cell in cluster, for different cuts
372 TH2F * fhExoTime [10][5] ; //! Time of exotic cluster, for different cuts
373 TH2F * fhExoDTime [10] ; //! Difference in time between cell with max energy and rest of cells for exotic
374 TH2F * fhExoL0NCell[10][5] ; //! Lambda0 vs n cells in cluster for several E cross cuts and cluster with E > 5
375 TH2F * fhExoL0ECross ; //! Lambda0 vs E cross fraction for clusters with E > 5 GeV
376 TH2F * fhExoL1NCell[10][5] ; //! Lambda1 vs n cells in cluster for several E cross cuts and cluster with E > 5
377 TH2F * fhExoL1ECross ; //! Lambda1 vs E cross fraction for clusters with E > 5 GeV
649b825d 378
715fd81f 379 //Pure MC
35c71d5c 380
f0f2f3a5 381 enum mcTypes {kmcPhoton = 0, kmcPi0 = 1, kmcEta = 2,
382 kmcElectron = 3, kmcPhotonConv = 4,
383 kmcNeHadron = 5, kmcChHadron = 6 };
6aba6683 384
385 TH2F * fhRecoMCE[7][2] ; //! E generated particle vs reconstructed E
386 TH2F * fhRecoMCPhi[7][2] ; //! phi generated particle vs reconstructed phi
387 TH2F * fhRecoMCEta[7][2] ; //! eta generated particle vs reconstructed Eta
388 TH2F * fhRecoMCDeltaE[7][2] ; //! Gen-Reco E generated particle vs reconstructed E
389 TH2F * fhRecoMCRatioE[7][2] ; //! Reco/Gen E generated particle vs reconstructed E
390 TH2F * fhRecoMCDeltaPhi[7][2]; //! Gen-Reco phi generated particle vs reconstructed E
391 TH2F * fhRecoMCDeltaEta[7][2]; //! Gen-Reco eta generated particle vs reconstructed E
35c71d5c 392
95aee5e1 393 TH1F * fhGenMCE [4] ; //! pt of primary particle
394 TH1F * fhGenMCPt[4] ; //! pt of primary particle
35c71d5c 395 TH2F * fhGenMCEtaPhi[4] ; //! eta vs phi of primary particle
95aee5e1 396 TH1F * fhGenMCAccE [4] ; //! pt of primary particle, in acceptance
397 TH1F * fhGenMCAccPt[4] ; //! pt of primary particle, in acceptance
35c71d5c 398 TH2F * fhGenMCAccEtaPhi[4] ; //! eta vs phi of primary particle, in acceptance
399
521636d2 400 TH2F * fhEMVxyz ; //! Electromagnetic particle production vertex
401 TH2F * fhEMR ; //! Electromagnetic distance to vertex vs rec energy
402 TH2F * fhHaVxyz ; //! Hadron production vertex
403 TH2F * fhHaR ; //! Hadron distance to vertex vs rec energy
9725fd2a 404
521636d2 405 //Histograms for MC track-matching
d55bb5e1 406 TH2F * fh1EOverP; //! p/E for track-cluster matches
a87e069d 407 TH2F * fh2dR; //! distance between projected track and cluster (eta-phi units)
3bfc4732 408 TH2F * fh2EledEdx; //! dE/dx vs. momentum for electron candidates
409 TH2F * fh2MatchdEdx; //! dE/dx vs. momentum for all matches
410
d55bb5e1 411 TH2F * fhMCEle1EOverP; //! p/E for track-cluster matches, MC electrons
3bfc4732 412 TH1F * fhMCEle1dR; //! distance between projected track and cluster, MC electrons
413 TH2F * fhMCEle2MatchdEdx; //! dE/dx vs. momentum for all matches, MC electrons
414
d55bb5e1 415 TH2F * fhMCChHad1EOverP; //! p/E for track-cluster matches, MC charged hadrons
3bfc4732 416 TH1F * fhMCChHad1dR; //! distance between projected track and cluster, MC charged hadrons
417 TH2F * fhMCChHad2MatchdEdx; //! dE/dx vs. momentum for all matches, MC charged
418
d55bb5e1 419 TH2F * fhMCNeutral1EOverP; //! p/E for track-cluster matches, MC neutral
3bfc4732 420 TH1F * fhMCNeutral1dR; //! distance between projected track and cluster, MC neutral
421 TH2F * fhMCNeutral2MatchdEdx; //! dE/dx vs. momentum for all matches, MC neutral
422
a054a582 423 TH2F * fh1EOverPR02; //! p/E for track-cluster matches, dR < 0.2
424 TH2F * fhMCEle1EOverPR02; //! p/E for track-cluster matches, dR < 0.2, MC electrons
425 TH2F * fhMCChHad1EOverPR02; //! p/E for track-cluster matches, dR < 0.2, MC charged hadrons
426 TH2F * fhMCNeutral1EOverPR02; //! p/E for track-cluster matches, dR < 0.2, MC neutral
427
428 TH2F * fh1EleEOverP; //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100
429 TH2F * fhMCEle1EleEOverP; //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC electrons
430 TH2F * fhMCChHad1EleEOverP; //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC charged hadrons
431 TH2F * fhMCNeutral1EleEOverP; //! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC neutral
432
653aed3c 433 TH2F * fhTrackMatchedDEta ; //! Eta distance between track and cluster vs cluster E, after and before photon cuts
434 TH2F * fhTrackMatchedDPhi ; //! Phi distance between track and cluster vs cluster E, after and before photon cuts
435 TH2F * fhTrackMatchedDEtaDPhi; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before
436
437 TH2F * fhTrackMatchedDEtaPos; //! Eta distance between track and cluster vs cluster E, after and before photon cuts
438 TH2F * fhTrackMatchedDPhiPos; //! Phi distance between track and cluster vs cluster E, after and before photon cuts
439 TH2F * fhTrackMatchedDEtaDPhiPos; //! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before
440
1a83b960 441 AliAnaCalorimeterQA & operator = (const AliAnaCalorimeterQA & qa) ;//cpy assignment
442 AliAnaCalorimeterQA( const AliAnaCalorimeterQA & qa) ; // cpy ctor
c5693f62 443
95aee5e1 444 ClassDef(AliAnaCalorimeterQA,29)
9725fd2a 445} ;
446
447
448#endif //ALIANACALORIMETERQA_H
449
450
451