AliPhysics  vAN-20150427 (e6e7aad)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliAnaCalorimeterQA.h
Go to the documentation of this file.
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 
6 //_________________________________________________________________________
30 
31 // --- Root system ---
32 class TH3F;
33 class TH2F;
34 class TH1F;
35 class TObjString;
36 class TObjArray;
37 
38 // --- Analysis system ---
39 class AliVCaloCells;
40 class AliVCaloCluster;
41 class AliVTrack;
42 
44 
46 
47 public:
48 
50 
52  virtual ~AliAnaCalorimeterQA() { ; }
53 
54  // General methods
55 
56  TObjString * GetAnalysisCuts();
57 
58  TList * GetCreateOutputObjects();
59 
60  void Init();
61 
62  void InitParameters();
63 
65 
66  void Print(const Option_t * opt) const;
67 
68  // Main methods
69 
70  void BadClusterHistograms(AliVCluster* clus, const TObjArray *caloClusters, AliVCaloCells * cells,
71  Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
72 
73  void CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2]);
74 
75  void CellHistograms(AliVCaloCells * cells);
76 
77  void CellInClusterPositionHistograms(AliVCluster* cluster);
78 
79  void ClusterAsymmetryHistograms(AliVCluster* clus, Int_t absIdMax, Bool_t goodCluster );
80 
81  void ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters, AliVCaloCells * cells,
82  Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
83 
84  void ClusterLoopHistograms(const TObjArray * clusters, AliVCaloCells * cells);
85 
86  Bool_t ClusterMCHistograms(Bool_t matched, const Int_t * labels, Int_t nLabels, Int_t & pdg );
87 
88  void ClusterMatchedWithTrackHistograms(AliVCluster* clus, Bool_t mcOK, Int_t pdg);
89 
90  void Correlate();
91 
92  void ExoticHistograms(Int_t absIdMax, Float_t ampMax,
93  AliVCluster *clus, AliVCaloCells* cells);
94 
95  Float_t GetECross(Int_t absId, AliVCaloCells* cells,Float_t dtcut = 10000);
96 
97  void InvariantMassHistograms(Int_t iclus, Int_t nModule, const TObjArray* caloClusters, AliVCaloCells * cells);
98 
99  Bool_t IsGoodCluster(Int_t absIdMax, AliVCaloCells *cells);
100 
101  void MCHistograms();
102 
103  void WeightHistograms(AliVCluster *clus, AliVCaloCells* cells);
104 
105  // Setters and getters
106 
107  Float_t GetEMCALCellAmpMin() const { return fEMCALCellAmpMin ; }
108  void SetEMCALCellAmpMin(Float_t amp) { fEMCALCellAmpMin = amp ; }
109 
110  Float_t GetPHOSCellAmpMin() const { return fPHOSCellAmpMin ; }
111  void SetPHOSCellAmpMin (Float_t amp) { fPHOSCellAmpMin = amp ; }
112 
113  Float_t GetInvMassMinECut() const { return fMinInvMassECut ; }
114  void SetInvMassMinECut(Float_t cut) { fMinInvMassECut = cut ; }
115 
116  Double_t GetTimeCutMin() const { return fTimeCutMin ; }
117  Double_t GetTimeCutMax() const { return fTimeCutMax ; }
118  void SetTimeCut(Double_t min, Double_t max) {
119  fTimeCutMin = min ; fTimeCutMax = max ; }
120 
121  // Histogram switchs
122 
125 
128 
131 
134 
137 
140 
141  void SwitchOnCorrelation() { fCorrelate = kTRUE ; }
142  void SwitchOffCorrelation() { fCorrelate = kFALSE ; }
143 
146 
149 
150  void SwitchOnStudyWeight() { fStudyWeight = kTRUE ; }
151  void SwitchOffStudyWeight() { fStudyWeight = kFALSE ; }
152 
153  void SwitchOnStudyExotic() { fStudyExotic = kTRUE ; }
154  void SwitchOffStudyExotic() { fStudyExotic = kFALSE ; }
155 
156  void SetNECrossCuts(Int_t n) { fExoNECrossCuts = n ; }
157  void SetNDTimeCuts (Int_t n) { fExoNDTimeCuts = n ; }
158 
159  void SetExoECrossCuts (Int_t i, Float_t c) { if (i<fExoNECrossCuts) fExoECrossCuts[i] = c ; }
160  void SetExoDTimeCuts (Int_t i, Float_t c) { if (i<fExoNDTimeCuts ) fExoDTimeCuts [i] = c ; }
161 
162  private:
163 
164  // Switches
165 
169  Bool_t fFillAllTH3 ;
170  Bool_t fFillAllTMHisto ;
172  Bool_t fCorrelate ;
175  Bool_t fStudyExotic;
176  Bool_t fStudyWeight;
177 
178  // Parameters
179 
180  Int_t fNModules ;
181  Int_t fNRCU ;
182  Int_t fNMaxCols ;
183  Int_t fNMaxRows ;
184 
185  // Cuts
186  Double_t fTimeCutMin ;
187  Double_t fTimeCutMax ;
188  Float_t fCellAmpMin;
190  Float_t fPHOSCellAmpMin ;
191 
192  Float_t fMinInvMassECut;
193 
194  // Exotic studies
195 
196  Float_t fExoNECrossCuts ;
197  Float_t fExoECrossCuts[10];
198  Float_t fExoNDTimeCuts ;
199  Float_t fExoDTimeCuts[5] ;
200 
201  TLorentzVector fClusterMomentum;
202  TLorentzVector fClusterMomentum2;
203  TLorentzVector fPrimaryMomentum;
204 
205  // Calorimeter Clusters
206 
207  TH1F * fhE ;
208  TH1F * fhPt ;
209  TH1F * fhPhi;
210  TH1F * fhEta;
211  TH2F * fhEtaPhi;
212  TH3F * fhEtaPhiE ;
213  TH1F * fhECharged ;
214  TH1F * fhPtCharged ;
215  TH1F * fhPhiCharged;
216  TH1F * fhEtaCharged;
219 
220  TH2F * fhIM;
221  TH2F * fhAsym;
222 
225 
226  TH1F * fhNClusters;
227 
232 
237 
241 
242  TH2F * fhLambda0;
243  TH2F * fhLambda1;
244  TH2F * fhDispersion;
245 
246  // Bad clusters histograms
251 
255 
259 
260  // Cluster cell size
261 
265  TH2F * fhDeltaIA[2];
266  TH2F * fhDeltaIAL0[2];
267  TH2F * fhDeltaIAL1[2];
268  TH2F * fhDeltaIANCells[2] ;
269  TH2F * fhDeltaIAMC[4];
274 
275  // Cluster/cell Position
276 
277  TH2F * fhRNCells ;
278  TH2F * fhXNCells ;
279  TH2F * fhYNCells ;
280  TH2F * fhZNCells ;
281 
282  TH2F * fhRE ;
283  TH2F * fhXE ;
284  TH2F * fhYE ;
285  TH2F * fhZE ;
286  TH3F * fhXYZ;
287 
288  TH2F * fhRCellE ;
289  TH2F * fhXCellE ;
290  TH2F * fhYCellE ;
291  TH2F * fhZCellE ;
292  TH3F * fhXYZCell;
293 
298 
303 
304  // Calorimeter cells
305 
306  TH1F * fhNCells;
308  TH1F * fhAmplitude;
309  TH2F * fhAmpId;
310  TH3F * fhEtaPhiAmp;
311 
312  TH1F * fhTime;
313  TH2F * fhTimeVz;
314  TH2F * fhTimeId;
315  TH2F * fhTimeAmp;
316 
317  TH2F * fhAmpIdLowGain;
320 
321  TH2F * fhCellECross;
322 
323  //Calorimeters Correlation
328 
333 
338 
339  //V0 Correlation
348 
349  //Track Correlation
354 
355  // Centrality
360 
361  // Event plane
366 
367  //Module histograms
368  TH2F * fhEMod ;
369  TH2F * fhAmpMod ;
370  TH2F * fhTimeMod ;
371  TH2F * fhNClustersMod ;
372  TH2F * fhNCellsMod ;
375  TH2F * fhGridCells ;
376  TH2F * fhGridCellsE ;
377  TH2F * fhGridCellsTime ;
381  TH2F ** fhTimeAmpPerRCU;
382  TH2F ** fhIMMod;
383 
384  // Weight studies
385 
390 
391  TH2F * fhLambda0ForW0[14];
392 //TH2F * fhLambda1ForW0[7]; //!<! L1 for 7 defined w0= 3, 3.5 ... 6
393 
394  TH2F * fhLambda0ForW0MC[14][5];
395 //TH2F * fhLambda1ForW0MC[7][5]; //!<! L1 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
396 
401 
402  // Exotic studies
403 
404  TH2F * fhExoNCell [10][5] ;
405  TH2F * fhExoL0 [10][5] ;
406  TH2F * fhExoL1 [10][5] ;
407  TH2F * fhExoECross [10][5] ;
408  TH2F * fhExoTime [10][5] ;
409  TH2F * fhExoDTime [10] ;
410  TH2F * fhExoL0NCell[10][5] ;
411  TH2F * fhExoL0ECross ;
412  TH2F * fhExoL1NCell[10][5] ;
413  TH2F * fhExoL1ECross ;
414 
415  // Pure MC histograms
416 
418  enum mcTypes { kmcPhoton = 0, kmcPi0 = 1, kmcEta = 2,
421 
422  TH2F * fhRecoMCE[7][2] ;
423  TH2F * fhRecoMCPhi[7][2] ;
424  TH2F * fhRecoMCEta[7][2] ;
425  TH2F * fhRecoMCDeltaE[7][2] ;
426  TH2F * fhRecoMCRatioE[7][2] ;
427  TH2F * fhRecoMCDeltaPhi[7][2];
428  TH2F * fhRecoMCDeltaEta[7][2];
429 
430  TH1F * fhGenMCE [4] ;
431  TH1F * fhGenMCPt[4] ;
432  TH2F * fhGenMCEtaPhi[4] ;
433  TH1F * fhGenMCAccE [4] ;
434  TH1F * fhGenMCAccPt[4] ;
435  TH2F * fhGenMCAccEtaPhi[4] ;
436 
437  TH2F * fhEMVxyz ;
438  TH2F * fhEMR ;
439  TH2F * fhHaVxyz ;
440  TH2F * fhHaR ;
441 
442  //Histograms for MC track-matching
443  TH2F * fh1EOverP;
444  TH2F * fh2dR;
445  TH2F * fh2EledEdx;
446  TH2F * fh2MatchdEdx;
447 
448  TH2F * fhMCEle1EOverP;
449  TH1F * fhMCEle1dR;
451 
453  TH1F * fhMCChHad1dR;
455 
457  TH1F * fhMCNeutral1dR;
459 
460  TH2F * fh1EOverPR02;
464 
465  TH2F * fh1EleEOverP;
469 
473 
477 
482 
485 
488 
490  ClassDef(AliAnaCalorimeterQA,30) ;
492 
493 } ;
494 
495 #endif //ALIANACALORIMETERQA_H
496 
497 
498 
TH2F * fhCaloV0MCorrEClusters
! Calo vs V0 multiplicity, total measured cluster energy
TH2F * fhTimeIdLowGain
! Time vs Absolute cell Id, low gain
TH2F * fhDeltaCellClusterRE
! R cluster - R cell distribution (cm) vs cluster energy
TH2F * fhDCALPHOSCorrNCells
! DCAL vs PHOS, number of cells
TH2F * fhNCellsPerClusterNoCut
! N cells per cluster vs cluster energy vs eta of cluster
TH2F * fhMCNeutral1EOverPR02
! p/E for track-cluster matches, dR < 0.2, MC neutral
TH2F * fhNCellsMod
! Number of towers/crystals with signal different module, Reco
TH3F * fhXYZ
! cluster X vs Y vs Z (cm)
TH2F * fhDeltaCellClusterYNCells
! Y cluster - Y cell distribution (cm) vs N cells in cluster
TH1F * fhPt
! pT distribution, Reco
void SetTimeCut(Double_t min, Double_t max)
TH2F * fhClusterMaxCellECross
! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, good clusters ...
TH2F * fhGridCellsE
! Cells ordered in column/row for different module, weighted with energy, Reco
TH1F * fhPtCharged
! pT distribution, Reco, matched with track
TH2F * fhClusterMaxCellDiff
! Difference between cluster energy and energy of cell with more energy, good clusters only ...
TH2F * fhBadClusterDeltaIEtaDeltaIPhiE2
! Difference between max cell index and farthest cell, eta vs phi, 2 < E < 6 GeV, with and without ma...
TH2F * fh2dR
! distance between projected track and cluster (eta-phi units)
Bool_t fStudyClustersAsymmetry
Study asymmetry of clusters.
TH2F * fhExoL1[10][5]
! Short shower shape axis for exotic
void SwitchOnFillAllTrackMatchingHistogram()
TH2F * fhExoNCell[10][5]
! Number of cells per cluster for different cuts
Float_t fEMCALCellAmpMin
amplitude Threshold on emcal cells
TH1F * fhEta
! eta distribution, Reco
TH2F * fhTimeMod
! Cell time distribution for different module, Reco
void SetNECrossCuts(Int_t n)
TH2F * fhMCChHad1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC charged hadrons
Bool_t fStudyWeight
Study the energy weight used in different cluster calculations.
virtual ~AliAnaCalorimeterQA()
Virtual destructor. Not implemented.
TH2F * fh2EledEdx
! dE/dx vs. momentum for electron candidates
TH2F * fhTrackMatchedDPhiNeg
! Phi distance between track and cluster vs cluster E, after and before photon cuts ...
TH2F * fhLambda0ForW0MC[14][5]
! L0 for 7 defined w0= 3, 3.5 ... 6, depending on the particle of origin
TH2F * fhExoL0NCell[10][5]
! Lambda0 vs n cells in cluster for several E cross cuts and cluster with E > 5
TH2F * fhCaloTrackMCorrNClusters
! Calo vs Track Multiplicity, number of clusters
TH3F * fhEtaPhiE
! eta vs phi vs E, Reco
Float_t fPHOSCellAmpMin
amplitude Threshold on phos cells
TH1F * fhBadClusterEnergy
! Energy of bad cluster
TH2F * fhBadClusterMaxCellDiffWeightedTime
! Difference between cluster weighted time and time of cell with more energy
TH2F * fhRecoMCRatioE[7][2]
! Reco/Gen E generated particle vs reconstructed E
TH2F * fhBadClusterMaxCellDiffAverageTime
! Difference between cluster average time and time of cell with more energy
TH2F * fhCaloCenECells
! Calo vs centrality, total measured cell energy
TH2F * fhEMCALDCALCorrEClusters
! EMCAL vs DCAL, total measured cluster energy
TH1F * fhGenMCAccE[4]
! pt of primary particle, in acceptance
TH2F * fhXNCells
! X (cm) cluster distribution vs N cells in cluster
TH2F * fhRCellE
! R=sqrt(x^2+y^2) (cm) cell distribution vs cell energy
TH1F * fhGenMCPt[4]
! pt of primary particle
void ClusterMatchedWithTrackHistograms(AliVCluster *clus, Bool_t mcOK, Int_t pdg)
TH2F * fhEtaPhi
! eta-phi distribution, Reco
TH1F * fhGenMCAccPt[4]
! pt of primary particle, in acceptance
Double_t fTimeCutMax
Remove clusters/cells with time larger than this value, in ns.
Float_t fCellAmpMin
amplitude Threshold on calorimeter cells, set at execution time
Int_t fNModules
Number of EMCAL/PHOS modules.
TH2F * fhCaloEvPECells
! Calo vs event plane angle, total measured cell energy
TH1F * fhNCellsCutAmpMin
! Number of towers/crystals with signal, with min amplitude
TH2F ** fhNCellsPerClusterModNoCut
! N cells per clusters different module, Reco, No cut
TH2F * fhClusterMaxCellCloseCellRatio
! Ratio between max cell energy and cell energy of the same cluster
void InvariantMassHistograms(Int_t iclus, Int_t nModule, const TObjArray *caloClusters, AliVCaloCells *cells)
TH2F * fhRecoMCDeltaE[7][2]
! Gen-Reco E generated particle vs reconstructed E
TH2F ** fhTimeAmpPerRCU
! Time vs Amplitude measured in towers/crystals different RCU
Class for the Calorimeter QA analysis.
TH2F * fhExoDTime[10]
! Difference in time between cell with max energy and rest of cells for exotic
void WeightHistograms(AliVCluster *clus, AliVCaloCells *cells)
Calculate cluster weights.
Bool_t fFillAllPosHisto
Fill all the position related histograms.
TH2F ** fhECellTotalRatioMod
! e cell / e total vs e total, per SM
TH2F * fhEMCALPHOSCorrEClusters
! EMCAL vs PHOS, total measured cluster energy
mcTypes
Enumerator with indeces for MC histograms array indicating the particle type generating the cluster...
Bool_t fFillAllTH3
Fill TH3 histograms.
TH2F * fhClusterTimeEnergy
! Cluster Time vs Energy
TH2F * fhDeltaCellClusterRNCells
! R cluster - R cell distribution (cm) vs N cells in cluster
TH1F * fhMCChHad1dR
! distance between projected track and cluster, MC charged hadrons
TH1F * fhTime
! Time measured in towers/crystals
TH2F * fhCaloCenNClusters
! Calo vs centrality, number of clusters
TH2F * fhBadClusterMaxCellDiff
! Difference between cluster energy and energy of cell with more energy
TH2F * fhDeltaIEtaDeltaIPhiE6[2]
! Difference between max cell index and farthest cell, eta vs phi, E > 6 GeV, with and without matchi...
TH2F * fhBadClusterMaxCellECross
! 1 - Energy in cross around max energy cell / max energy cell vs cluster energy, bad clusters ...
TH2F * fhTrackMatchedDEtaDPhiNeg
! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before ...
TH1F * fhPhiCharged
! phi distribution, Reco, matched with track
TH2F * fh1EOverPR02
! p/E for track-cluster matches, dR < 0.2
TH2F * fhMCEle1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC electrons
TH2F * fhBadClusterMaxCellCloseCellDiff
! Difference between max cell energy and cell energy of the same cluster for bad clusters ...
void MakeAnalysisFillHistograms()
Main task method, call all the methods filling QA histograms.
TH2F * fhCellECross
! 1 - Energy in cross around cell / cell energy
TH2F * fhClusterPairDiffTimeE
! Pair of clusters time difference vs E
TH2F * fhBadClusterDeltaIEtaDeltaIPhiE0
! Difference between max cell index and farthest cell, eta vs phi, E < 2 GeV, with and without matchi...
Double_t GetTimeCutMin() const
Int_t fNRCU
Number of EMCAL/PHOS RCU.
TH2F * fhBadClusterMaxCellCloseCellRatio
! Ratio between max cell energy and cell energy of the same cluster for bad clusters ...
TH2F * fhTimeVz
! Time measured in towers/crystals vs vertex z component, for E > 0.5
TH1F * fhCellIdCellLargeTimeSpread
! Cells with large time respect to max (diff > 100 ns)
TH2F * fhEMCALPHOSCorrNClusters
! EMCAL vs PHOS, number of clusters
TH2F * fhCaloTrackMCorrEClusters
! Calo vs Track Multiplicity, total measured cluster energy
TH2F * fhZNCells
! Z (cm) cluster distribution vs N cells in cluster
TH2F * fhExoL0[10][5]
! Long shower shape axis for exotic
Float_t GetEMCALCellAmpMin() const
TH1F * fhE
! E distribution, Reco
TH2F * fhTrackMatchedDPhiPosMod
! Phi distance between positive track and cluster vs module for E > 0.5 GeV
TH2F * fhDeltaCellClusterYE
! Y cluster - Y cell distribution (cm) vs cluster energy
TH2F * fhDispersion
! Cluster Dispersion vs Energy
TH2F * fhZE
! Z (cm) cluster distribution vs cluster energy
TH2F * fhEMCALDCALCorrNClusters
! EMCAL vs DCAL, number of clusters
TH1F * fhEtaCharged
! eta-phi distribution, Reco, matched with track
Bool_t fFillAllPi0Histo
Fill invariant mass histograms.
AliAnaCalorimeterQA()
Default Constructor. Initialize parameters.
TH1F * fhPhi
! phi distribution, Reco
Base class for CaloTrackCorr analysis algorithms.
TH2F * fhLambda0ForW0[14]
! L0 for 7 defined w0= 3, 3.5 ... 6
TH2F * fhBadClusterPairDiffTimeE
! Pair of clusters time difference vs E, bad cluster
TLorentzVector fClusterMomentum
! Cluster momentum, temporary container
TH2F * fhEtaPhiCharged
! eta distribution, Reco, matched with track
TH2F * fhRecoMCDeltaPhi[7][2]
! Gen-Reco phi generated particle vs reconstructed E
TLorentzVector fClusterMomentum2
! Cluster momentum, temporary container
TH2F * fhECellTotalLogRatio
! log (e cell / e total) vs e total
TH2F * fhClusterMaxCellDiffNoCut
! Difference between cluster energy and energy of cell with more energy, no bad cluster rejection ...
Float_t fExoECrossCuts[10]
List of ecross cuts.
TH2F * fhMCNeutral2MatchdEdx
! dE/dx vs. momentum for all matches, MC neutral
TH2F * fhCaloCenEClusters
! Calo vs centrality, total measured cluster energy
TH2F * fhClusterMaxCellDiffAverageTime
! Difference between cluster average time and time of cell with more energy
void ExoticHistograms(Int_t absIdMax, Float_t ampMax, AliVCluster *clus, AliVCaloCells *cells)
Fill histograms with exoticity parameters.
TH3F * fhEtaPhiECharged
! eta vs phi vs E, Reco, matched with track
TH2F * fhEMaxCellClusterLogRatio
! log (e max cell / e cluster) vs e cluster
TH2F * fhBadCellTimeSpreadRespectToCellMax
! Difference of the time of cell with maximum dep energy and the rest of cells for bad clusters ...
TH2F * fhDeltaCellClusterXE
! X cluster - X cell distribution (cm) vs cluster energy
TH2F * fhEMCALPHOSCorrNCells
! EMCAL vs PHOS, number of cells
TH2F * fhDeltaIANCells[2]
! Cluster "asymmetry" in cell units vs number of cells in cluster for E > 0.5, with and without match...
Int_t fNMaxCols
Number of EMCAL/PHOS rows.
void SetExoECrossCuts(Int_t i, Float_t c)
Float_t GetInvMassMinECut() const
Double_t fTimeCutMin
Remove clusters/cells with time smaller than this value, in ns.
Bool_t fStudyExotic
Study the exotic cluster for different cuts.
TH2F * fhTrackMatchedDPhiNegMod
! Phi distance between negative track and cluster vs module for E > 0.5 GeV
void InitParameters()
Initialize the parameters of the analysis.
TH2F * fhNCellsPerCluster
! N cells per cluster vs cluster energy vs eta of cluster
TH2F * fhGenMCAccEtaPhi[4]
! eta vs phi of primary particle, in acceptance
TH2F * fhAmpMod
! Cell amplitude distribution for different module, Reco
TH2F * fhCaloV0SCorrNCells
! Calo vs V0 signal, number of cells
Float_t GetECross(Int_t absId, AliVCaloCells *cells, Float_t dtcut=10000)
TH2F ** fhIMMod
! cluster pairs invariant mass, different module,
TH2F ** fhNCellsPerClusterMod
! N cells per clusters different module, Reco
TH2F * fhTrackMatchedDEtaPos
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
TH2F * fhECellClusterLogRatio
! log (e cell / e cluster) vs e cluster
void SwitchOffFillAllTrackMatchingHistogram()
TH2F * fhCaloEvPNCells
! Calo vs event plane angle, number of cells
TH2F * fhRecoMCPhi[7][2]
! phi generated particle vs reconstructed phi
TH2F * fhExoL1NCell[10][5]
! Lambda1 vs n cells in cluster for several E cross cuts and cluster with E > 5
TH2F * fhTimeId
! Time vs Absolute cell Id
TH2F * fh1EOverP
! p/E for track-cluster matches
TH2F * fhRecoMCEta[7][2]
! eta generated particle vs reconstructed Eta
TH2F * fhMCEle1EOverPR02
! p/E for track-cluster matches, dR < 0.2, MC electrons
TH2F * fhECellTotalRatio
! e cell / e total vs e total
TH1F * fhNClusters
! Number of clusters
TH2F * fhMCEle1EOverP
! p/E for track-cluster matches, MC electrons
void SetPHOSCellAmpMin(Float_t amp)
TH2F * fhExoECross[10][5]
! E cross for max cell in cluster, for different cuts
TH1F * fhMCEle1dR
! distance between projected track and cluster, MC electrons
TH1F * fhGenMCE[4]
! pt of primary particle
Float_t fExoDTimeCuts[5]
List of time cuts.
TH2F * fhEMR
! Electromagnetic distance to vertex vs rec energy
TH2F * fhExoL0ECross
! Lambda0 vs E cross fraction for clusters with E > 5 GeV
TH2F * fhCaloTrackMCorrNCells
! Calo vs V0 Track Multiplicity, number of cells
void ClusterAsymmetryHistograms(AliVCluster *clus, Int_t absIdMax, Bool_t goodCluster)
TH2F * fhDeltaCellClusterXNCells
! X cluster - X cell distribution (cm) vs N cells in cluster
TH2F * fhTrackMatchedDEtaDPhiPos
! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before ...
TH1F * fhNCells
! Number of towers/crystals with signal
TH2F * fhTrackMatchedDPhiPos
! Phi distance between track and cluster vs cluster E, after and before photon cuts ...
TH2F * fhCaloEvPNClusters
! Calo vs event plane angle, number of clusters
TH2F * fhDCALPHOSCorrNClusters
! DCAL vs PHOS, number of clusters
TH2F * fhXCellE
! X (cm) cell distribution vs cell energy
TH2F * fhBadClusterDeltaIA
! Cluster "asymmetry" in cell terms vs E, with and without matching; bad clusters.
TH2F * fhHaR
! Hadron distance to vertex vs rec energy
TH2F * fhRE
! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy
TH2F * fhIM
! Cluster pairs invariant mass
TH2F * fhExoTime[10][5]
! Time of exotic cluster, for different cuts
TH2F * fhTimeAmp
! Time vs Amplitude
TH2F * fhClusterMaxCellDiffWeightedTime
! Difference between cluster weighted time and time of cell with more energy
void CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2])
TH2F * fhMCEle2MatchdEdx
! dE/dx vs. momentum for all matches, MC electrons
AliAnaCalorimeterQA & operator=(const AliAnaCalorimeterQA &qa)
Copy constructor not implemented.
TH1F * fhECharged
! E distribution, Reco, matched with track
TH2F * fhNClustersMod
! Number of clusters for different module, Reco
TH2F * fhHaVxyz
! Hadron production vertex
TH2F * fhAmpId
! Amplitude measured in towers/crystals vs id of tower.
TH2F * fhCaloV0SCorrECells
! Calo vs V0 signal, total measured cell energy
TH2F * fhDeltaIAL1[2]
! Cluster "asymmetry" in cell units vs Lambda1 for E > 0.5 GeV, n cells in cluster > 3...
void SetEMCALCellAmpMin(Float_t amp)
TH1F * fhAmplitude
! Amplitude measured in towers/crystals
TH2F * fhEMod
! Cluster E distribution for different module, Reco
TH2F * fhRNCells
! R=sqrt(x^2+y^2) (cm) cluster distribution vs N cells in cluster
TH2F * fhTrackMatchedDEtaNeg
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
TH2F * fhBadClusterDeltaIEtaDeltaIPhiE6
! Difference between max cell index and farthest cell, eta vs phi, E > 6 GeV, with and without matchi...
TH2F * fhZCellE
! Z (cm) cell distribution vs cell energy
Float_t GetPHOSCellAmpMin() const
TH2F * fhGridCellsTime
! Cells ordered in column/row for different module, weighted with time, Reco
Float_t fExoNECrossCuts
Number of ecross cuts.
Double_t GetTimeCutMax() const
void SetExoDTimeCuts(Int_t i, Float_t c)
TH3F * fhXYZCell
! cell X vs Y vs Z (cm)
TLorentzVector fPrimaryMomentum
! Primary MC momentum, temporary container
TH2F * fhCaloEvPEClusters
! Calo vs event plane angle, total measured cluster energy
Bool_t fCorrelate
Correlate PHOS/EMCAL cells/clusters, also with V0 and track multiplicity.
TH2F * fhDeltaIEtaDeltaIPhiE2[2]
! Difference between max cell index and farthest cell, eta vs phi, 2 < E < 6 GeV, with and without ma...
Bool_t fFillAllCellTimeHisto
Fill all cell time histo.
TH2F ** fhECellTotalLogRatioMod
! log (e cell / e total) vs e total, per SM
TH2F * fhTrackMatchedDEtaPosMod
! Eta distance between positive track and cluster vs module for E > 0.5 GeV
TH2F * fhDeltaCellClusterZNCells
! Z cluster - Z cell distribution (cm) vs N cells in cluster
void ClusterHistograms(AliVCluster *cluster, const TObjArray *caloClusters, AliVCaloCells *cells, Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax)
Bool_t fFillAllPosHisto2
Fill all the position related histograms 2.
TObjString * GetAnalysisCuts()
Save parameters used for analysis in a string.
TH2F * fhYCellE
! Y (cm) cell distribution vs cell energy
TH2F * fhCaloV0MCorrNClusters
! Calo vs V0 multiplicity , number of clusters
TH2F * fh1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100
TH2F * fhDeltaCellClusterZE
! Z cluster - Z cell distribution (cm) vs cluster energy
TH2F * fhAmpIdLowGain
! Amplitude measured in towers/crystals vs id of tower, low gain towers
void CellInClusterPositionHistograms(AliVCluster *cluster)
Fill histograms releated to cluster cell position.
Bool_t ClusterMCHistograms(Bool_t matched, const Int_t *labels, Int_t nLabels, Int_t &pdg)
TH2F * fhGridCellsELowGain
! Cells ordered in column/row for different module, weighted with energy, Reco, low gain ...
TH2F * fh2MatchdEdx
! dE/dx vs. momentum for all matches
void BadClusterHistograms(AliVCluster *clus, const TObjArray *caloClusters, AliVCaloCells *cells, Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax)
TH2F * fhMCChHad1EOverP
! p/E for track-cluster matches, MC charged hadrons
TH2F * fhRecoMCDeltaEta[7][2]
! Gen-Reco eta generated particle vs reconstructed E
TH2F * fhMCChHad2MatchdEdx
! dE/dx vs. momentum for all matches, MC charged
TH2F * fhClusterMaxCellCloseCellDiff
! Difference between max cell energy and cell energy of the same cluster
TH2F * fhXE
! X (cm) cluster distribution vs cluster energy
TH2F * fhGridCells
! Cells ordered in column/row for different module, Reco
TH2F * fhGridCellsTimeLowGain
! Cells ordered in column/row for different module, weighted with time, Reco, low gain ...
TH2F * fhCaloTrackMCorrECells
! Calo vs V0 Track Multipliticy, total measured cell energy
void SetInvMassMinECut(Float_t cut)
TH2F * fhEMVxyz
! Electromagnetic particle production vertex
TH2F * fhLambda0
! Cluster Lambda0 vs Energy
void CellHistograms(AliVCaloCells *cells)
Fill histograms related to cells only.
TH2F * fhCaloV0MCorrECells
! Calo vs V0 multiplicity, total measured cell energy
TH2F * fhDeltaIA[2]
! Cluster "asymmetry" in cell terms vs E, with and without matching
TH2F * fhEMCALDCALCorrNCells
! EMCAL vs DCAL, number of cells
TH2F * fhMCNeutral1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC neutral
Int_t fNMaxRows
Number of EMCAL/PHOS columns.
TH2F * fhDeltaIAMC[4]
! Cluster "asymmetry" in cell terms vs E, from MC photon, electron, conversion or hadron...
TH2F * fhEMaxCellClusterRatio
! e max cell / e cluster vs e cluster
Float_t fExoNDTimeCuts
Number of time cuts.
TH2F * fhYE
! Y (cm) cluster distribution vs cluster energy
TH1F * fhMCNeutral1dR
! Distance between projected track and cluster, MC neutral
TH2F * fhBadClusterTimeEnergy
! Time Max cell of bad cluster
TH2F * fhCaloV0SCorrEClusters
! Calo vs V0 signal, total measured cluster energy
TH2F * fhDCALPHOSCorrEClusters
! DCAL vs PHOS, total measured cluster energy
Bool_t fStudyBadClusters
Study bad clusters.
TH2F * fhCaloCenNCells
! Calo vs centrality, number of cells
TH2F * fhYNCells
! Y (cm) cluster distribution vs N cells in cluster
TH2F * fhCaloV0MCorrNCells
! Calo vs V0 multiplicity, number of cells
TH2F * fhMCNeutral1EOverP
! p/E for track-cluster matches, MC neutral
TH2F * fhMCChHad1EOverPR02
! p/E for track-cluster matches, dR < 0.2, MC charged hadrons
Bool_t IsGoodCluster(Int_t absIdMax, AliVCaloCells *cells)
Identify cluster as exotic or not.
TH2F * fhGridCellsLowGain
! Cells ordered in column/row for different module, Reco, low gain
TH2F * fhAsym
! Cluster pairs invariant mass
TH2F * fhRecoMCE[7][2]
! E generated particle vs reconstructed E
TH2F * fhTrackMatchedDEtaNegMod
! Eta distance between negative track and cluster vs module for E > 0.5 GeV
TH2F * fhEMCALPHOSCorrECells
! EMCAL vs PHOS, total measured cell energy
TH2F * fhDeltaIEtaDeltaIPhiE0[2]
! Difference between max cell index and farthest cell, eta vs phi, E < 2 GeV, with and without matchi...
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
TH2F * fhTimeAmpLowGain
! Time vs Amplitude, low gain
void ClusterLoopHistograms(const TObjArray *clusters, AliVCaloCells *cells)
TH2F * fhDCALPHOSCorrECells
! DCAL vs PHOS, total measured cell energy
TH2F * fhEMCALDCALCorrECells
! EMCAL vs DCAL, total measured cell energy
TH2F * fhCellTimeSpreadRespectToCellMax
! Difference of the time of cell with maximum dep energy and the rest of cells
Bool_t fFillAllTMHisto
Fill track matching histograms.
TH2F * fhECellClusterRatio
! e cell / e cluster vs e cluster
TH3F * fhEtaPhiAmp
! eta vs phi vs amplitude, cells
TH2F * fhExoL1ECross
! Lambda1 vs E cross fraction for clusters with E > 5 GeV
Float_t fMinInvMassECut
Minimum energy cut value for clusters entering the invariant mass calculation.
TH2F * fhDeltaIAL0[2]
! Cluster "asymmetry" in cell units vs Lambda0 for E > 0.5 GeV, n cells in cluster > 3...
TH2F * fhCaloV0SCorrNClusters
! Calo vs V0 signal , number of clusters
TH2F * fhGenMCEtaPhi[4]
! eta vs phi of primary particle
TH2F * fhLambda1
! Cluster Lambda1 vs Energy