AliPhysics  9b6b435 (9b6b435)
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 //_________________________________________________________________________
31 
32 // --- Root system ---
33 class TH3F;
34 class TH2F;
35 class TH1F;
36 class TObjString;
37 class TObjArray;
38 
39 // --- Analysis system ---
40 class AliVCaloCells;
41 class AliVCaloCluster;
42 class AliVTrack;
43 
45 
47 
48 public:
49 
51 
53  virtual ~AliAnaCalorimeterQA() { ; }
54 
55  // General methods
56 
57  TObjString * GetAnalysisCuts();
58 
60 
61  void Init();
62 
63  void InitParameters();
64 
66 
67  void Print(const Option_t * opt) const;
68 
69  // Main methods
70 
71  void BadClusterHistograms(AliVCluster* clus, const TObjArray *caloClusters, AliVCaloCells * cells,
72  Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
73 
74  void CalculateAverageTime(AliVCluster *clus, AliVCaloCells *cells, Double_t timeAverages[2]);
75 
76  void CellHistograms(AliVCaloCells * cells);
77 
78  void CellInClusterPositionHistograms(AliVCluster* cluster);
79 
80  void ClusterAsymmetryHistograms(AliVCluster* clus, Int_t absIdMax, Bool_t goodCluster );
81 
82  void ClusterHistograms(AliVCluster* cluster, const TObjArray *caloClusters, AliVCaloCells * cells,
83  Int_t absIdMax, Double_t maxCellFraction, Float_t eCrossFrac, Double_t tmax);
84 
85  void ClusterLoopHistograms(const TObjArray * clusters, AliVCaloCells * cells);
86 
88  const Int_t * labels, const UShort_t * edepFrac,
89  Int_t nLabels, Int_t & pdg );
90 
91  void ClusterMatchedWithTrackHistograms(AliVCluster* clus, Bool_t mcOK, Int_t pdg);
92 
93  void Correlate();
94 
95  void InvariantMassHistograms(Int_t iclus, Int_t nModule, const TObjArray* caloClusters, AliVCaloCells * cells);
96 
97  Bool_t IsGoodCluster(Int_t absIdMax, Float_t m02, Int_t nCellsPerCluster, AliVCaloCells *cells);
98 
99  void MCHistograms();
100 
101  // Setters and getters
102 
105 
108 
111 
114 
117 
120 
123 
126 
129 
132 
135 
136  Double_t GetTimeCutMin() const { return fTimeCutMin ; }
137  Double_t GetTimeCutMax() const { return fTimeCutMax ; }
138  void SetTimeCut(Double_t min, Double_t max) {
139  fTimeCutMin = min ; fTimeCutMax = max ; }
140 
141  void SetNEBinCuts(Int_t nb) { fNEBinCuts = nb ; }
142  void SetEBinCutsAt(Int_t i, Float_t va) { if(i < 15) fEBinCuts[i] = va ; }
143 
144 
145  // Histogram switchs
146 
149 
152 
155 
158 
161 
164 
167 
170 
173 
176 
179 
182 
183  void SwitchOnCorrelation() { fCorrelate = kTRUE ; }
184  void SwitchOffCorrelation() { fCorrelate = kFALSE ; }
186 
189 
192 
195 
197 
198  private:
199 
200  // Switches
201 
207 
213 
215 
219 
222 
224 
225  // Cuts
226 
237 
238  // Invariant mass analysis
239 
246 
247  TLorentzVector fClusterMomentum;
248  TLorentzVector fClusterMomentum2;
249  TLorentzVector fPrimaryMomentum;
250 
252 
253 
254  // Calorimeter Clusters
255 
256  TH1F * fhE ;
257  TH1F * fhPt ;
258  TH1F * fhPhi;
259  TH1F * fhEta;
262  TH1F * fhECharged ;
263  TH1F * fhPtCharged ;
264  TH1F * fhPhiCharged;
265  TH1F * fhEtaCharged;
268 
269  TH2F * fhIM;
279 
281 
284 
287 
290 
293 
294  TH1F * fhNClusters;
295 
301 
306 
307 //TH2F * fhClusterMaxCellDiffAverageTime; //!<! Difference between cluster average time and time of cell with more energy
308 //TH2F * fhClusterMaxCellDiffWeightedTime; //!<! Difference between cluster weighted time and time of cell with more energy
310 
311 //TH2F * fhDispersion; //!<! Cluster Dispersion vs Energy
316 
317  // Bad clusters histograms
318 
324 
328 
329 //TH2F * fhBadClusterMaxCellDiffAverageTime; //!<! Difference between cluster average time and time of cell with more energy
330 //TH2F * fhBadClusterMaxCellDiffWeightedTime; //!<! Difference between cluster weighted time and time of cell with more energy
332 
335 
336  // Cluster/cell Position
337 
342 
343  TH2F * fhRE ;
344  TH2F * fhXE ;
345  TH2F * fhYE ;
346  TH2F * fhZE ;
348 
354 
359 
364 
365  // Calorimeter cells
366 
367  TH1F * fhNCells;
369  TH1F * fhAmplitude;
373 
374  TH1F * fhTime;
375 //TH2F * fhTimeVz; //!<! Time measured in towers/crystals vs vertex z component, for E > 0.5
380 
384 
386 
387  // Calorimeters Correlation
388 
393 
398 
403 
404  // V0 Correlation
405 
410 
412 
417 
418  // Track Correlation
419 
424 
426 
427  // Centrality
428 
433 
435 
436  // Event plane
437 
442 
443  // Module histograms
444 
468 
469  // Pure MC histograms
470 
472  enum mcTypes { kmcPhoton = 0, kmcPi0 = 1, kmcEta = 2,
475 
476  TH2F * fhRecoMCE[7][2] ;
477  TH2F * fhRecoMCPhi[7][2] ;
478  TH2F * fhRecoMCEta[7][2] ;
479  TH2F * fhRecoMCDeltaE[7][2] ;
480  TH2F * fhRecoMCRatioE[7][2] ;
483 
484  TH1F * fhGenMCE [4] ;
485  TH1F * fhGenMCPt[4] ;
487  TH1F * fhGenMCAccE [4] ;
488  TH1F * fhGenMCAccPt[4] ;
490 
492  TH2F * fhEMR ;
494  TH2F * fhHaR ;
495 
496  // Histograms for MC track-matching
497 
504 
511 
513  TH1F * fhMCEle1dR;
515 
517  TH1F * fhMCChHad1dR;
519 
521  TH1F * fhMCNeutral1dR;
523 
527 
531 
535 
539 
544 
548 
551 
554 
556  ClassDef(AliAnaCalorimeterQA,40) ;
558 
559 } ;
560 
561 #endif //ALIANACALORIMETERQA_H
562 
563 
564 
void SetEMCALNCellsPerClusterMin(Int_t n)
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
Bool_t IsGoodCluster(Int_t absIdMax, Float_t m02, Int_t nCellsPerCluster, AliVCaloCells *cells)
TH2F * fhDCALPHOSCorrNCells
! DCAL vs PHOS, number of cells
Int_t pdg
TH2F * fhNCellsPerClusterNoCut
! N cells per cluster vs cluster energy, before cuts
TH2F * fhMCNeutral1EOverPR02
! p/E for track-cluster matches, dR < 0.2, MC neutral
TH2F * fhNCellsMod
! Number of towers/crystals with signal for different module, Reco
TH3F * fhXYZ
! cluster X vs Y vs Z (cm)
TH2F * fh1EOverPMod
! p/E for track-cluster matches, per SM
TH2F * fh1EOverPR02Mod
! p/E for track-cluster matches, dR < 0.2, per SM
TH2F * fhDeltaCellClusterYNCells
! Y cluster - Y cell distribution (cm) vs N cells in cluster
TH1F * fhPt
! pT distribution, Reco
void SetPHOSNCellsPerClusterMin(Int_t n)
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 ...
Bool_t fFillPi0PairDiffTime
Fill time difference histograms of cluster pairs in pi0 mass window, only if fFillAllPi0Histo=kTRUE.
double Double_t
Definition: External.C:58
Float_t GetInvMassMaxOpenAngle() const
Definition: External.C:260
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 * fh2dR
! distance between projected track and cluster (eta-phi units)
Float_t fInvMassMinECut
Minimum energy cut value for clusters entering the invariant mass calculation.
TH2F * fh2dRMod
! distance between projected track and cluster (eta-phi units), per SM
void SwitchOnFillAllTrackMatchingHistogram()
Definition: External.C:236
TH2F * fhBadClusterEtaPhi
! Time Max cell of bad cluster
Float_t fEMCALCellAmpMin
Amplitude Threshold on EMCal cells.
TH2F * fhIMDCALPHOS
! Cluster pairs invariant mass vs pair pT, for DCal-PHOS pairs
TH1F * fhEta
! eta distribution, Reco
TH2F * fhTimeMod
! Cell time distribution for different module, Reco
TH2F * fhMCChHad1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC charged hadrons
void SetEMCALM02Min(Float_t m02)
virtual ~AliAnaCalorimeterQA()
Virtual destructor. Not implemented.
TH2F * fh2MatchdEdxMod
! dE/dx for all matches, per SM
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 * fhSumCellsAmpMod
! Sum of towers/crystals signal for different module, Reco
Bool_t fFillInvMassOpenAngle
Fill opening angle histograms of cluster pairs, only if fFillAllPi0Histo=kTRUE.
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
Float_t GetInvMassMaxECut() const
TH2F * fhRecoMCRatioE[7][2]
! Reco/Gen E generated particle vs reconstructed E
TH2F * fhCaloCenECells
! Calo vs centrality, total measured cell energy
TH2F * fhIMDCALDiff
! Cluster pairs invariant mass vs pair pT, for DCal pairs
TH2F ** fhNClustersSumEnergyPerMod
! N clusters vs sum of energies in different module, Reco
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
TH2F * fhClusterPairDiffTimeESameMod
! Pair of clusters time difference vs E, in same Mod
void ClusterMatchedWithTrackHistograms(AliVCluster *clus, Bool_t mcOK, Int_t pdg)
TH2F * fhEtaPhi
! eta-phi distribution, Reco
TH2F * fhIMSame
! Cluster pairs invariant mass vs pair pT, for EMCAL or PHOS pairs
TH1F * fhGenMCAccPt[4]
! pt of primary particle, in acceptance
Bool_t fFillAllCellAbsIdHistograms
Fill all cell related histograms where one axis is the cell absId.
TH2F * fhNLocMaxStd
! Cluster Number of local Maxima, stored
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.
TH2F * fhIMEMCALPHOSSame
! Cluster pairs invariant mass vs pair pT, for EMCAL(DCal eta acceptance)-EMCAL (PHOS eta acceptance)...
TH2F * fhCaloEvPECells
! Calo vs event plane angle, total measured cell energy
void SwitchCorrelationPerSM(Int_t opt=1)
void SetInvMassMinM02Cut(Float_t cut)
TH1F * fhNCellsCutAmpMin
! Number of towers/crystals with signal, with min amplitude
void Init()
Check if the calorimeter setting is ok, if not abort.
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)
TCanvas * c
Definition: TestFitELoss.C:172
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.
void SwitchOffFillInvMassOpAngleHistogram()
void SetInvMassMaxM02Cut(Float_t cut)
Float_t fInvMassMaxECut
Maximum energy cut value for clusters entering the invariant mass calculation.
Bool_t fFillAllPosHisto
Fill all the position related histograms.
TH2F * fhEMCALPHOSCorrEClusters
! EMCAL vs PHOS, total measured cluster energy
mcTypes
Enumerator with indeces for MC histograms array indicating the particle type generating the cluster...
Float_t fEBinCuts[15]
Energy bins cut.
TH2F * fhNCellsPerClusterWeirdModNoCut
! N cells per clusters different module, Reco, No cut, ridiculously large energy
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 ** fhCaloCenECellsMod
! Calo vs centrality, total measured cell energy per SM
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 * fhClusterPairDiffTimeEPi0Mass
! EMCal/PHOS Cluster time TOF difference, for pairs in 0.1 < mass < 0.18
Double_t GetTimeCutMin() const
TH2F * fhBadClusterMaxCellCloseCellRatio
! Ratio between max cell energy and cell energy of the same cluster for bad clusters ...
TH1F * fhCellIdCellLargeTimeSpread
! Cells with large time respect to max (diff > 100 ns)
Int_t fCorrelatePerSM
Correlate EMCAL sum E cells per SM with centrality, V0 signal and track multiplicity, options: 0-none, 1- only centrality, 2-all.
void SwitchOffFillInvMassReducedEMCALHistogram()
TH2F * fhEMCALPHOSCorrNClusters
! EMCAL vs PHOS, number of clusters
void SwitchOnFillPi0PairDiffTimeHistogram()
TH2F * fhIMDCALSame
! Cluster pairs invariant mass vs pair pT, for DCal pairs
TH2F * fhCaloTrackMCorrEClusters
! Calo vs Track Multiplicity, total measured cluster energy
TH2F * fhZNCells
! Z (cm) cluster distribution vs N cells in cluster
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 * fhEBinCellColRow[14]
! Column and row location of cell in different energy bins.
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.
TH2F * fhTimePerSMPerBC[4]
! Time vs SM number for BC%4=0,1,2,3
TH1F * fhPhi
! phi distribution, Reco
Base class for CaloTrackCorr analysis algorithms.
Bool_t fFillAllClusterHistograms
Fill all cluster related histograms.
Int_t GetEMCALNCellsPerClusterMin() const
Bool_t fFillInvMassInEMCALWithPHOSDCalAcc
Fill invariant mass histograms of EMCal clusters in DCal and PHOS eta acceptance each, only if fFillAllPi0Histo=kTRUE.
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
int Int_t
Definition: External.C:63
TH2F * fhClusterMaxCellDiffNoCut
! Difference between cluster energy and energy of cell with more energy, no bad cluster rejection ...
TH2F * fhMCNeutral2MatchdEdx
! dE/dx vs. momentum for all matches, MC neutral
Float_t fEMCALClusterM02Min
Minimum M02 on EMCal clusters.
TH2F * fhCaloCenEClusters
! Calo vs centrality, total measured cluster energy
TH2F * fhNLocMax
! Cluster Number of local Maxima, from CaloUtils
float Float_t
Definition: External.C:68
TH3F * fhEtaPhiECharged
! eta vs phi vs E, Reco, matched with track
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 * fhEtaPhiCell
! eta vs phi, cells
Float_t fInvMassMinM02Cut
Minimum M02 shower shape cut value for clusters entering the invariant mass calculation.
Float_t GetInvMassMinECut() const
Double_t fTimeCutMin
Remove clusters/cells with time smaller than this value, in ns.
Int_t fNEBinCuts
Number of energy bin cuts.
Bool_t fFillClusterMaxCellHisto
Fill cluster cell max histograms.
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
TH2F * fhNCellsPerClusterWeirdMod
! N cells per clusters different module, Reco, ridiculously large energy
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
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 ...
void SwitchOffFillAllTrackMatchingHistogram()
TH3F * fhEtaPhiAmpCell
! eta vs phi vs amplitude, cells
TH2F * fh1EleEOverPMod
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, per SM
TH2F * fhCaloEvPNCells
! Calo vs event plane angle, number of cells
TH2F * fhBadClusterLambda0
! Cluster Lambda0 vs Energy, clusters declared bad
TH2F * fhClusterPairDiffTimeEPi0MassDCalSame
! DCal Cluster time TOF difference, for pairs in 0.1 < mass < 0.18, pairs in same Module ...
TH2F * fhRecoMCPhi[7][2]
! phi generated particle vs reconstructed phi
TH2F * fhTimeId
! Time vs Absolute cell Id
TH2F * fh1EOverP
! p/E for track-cluster matches
Float_t GetEMCALM02Min() const
TH2F * fhIMvsOpAngle
! Cluster pairs opening angle vs mass
TH2F * fhRecoMCEta[7][2]
! eta generated particle vs reconstructed Eta
TH2F * fh2EledEdxMod
! dE/dx for electron candidates, per SM
Bool_t ClusterMCHistograms(Bool_t matched, const Int_t *labels, const UShort_t *edepFrac, Int_t nLabels, Int_t &pdg)
TH2F * fhBadClusterLambda1
! Cluster Lambda1 vs Energy, clusters declared bad
TH2F * fhMCEle1EOverPR02
! p/E for track-cluster matches, dR < 0.2, MC electrons
void SetEBinCutsAt(Int_t i, Float_t va)
Int_t fEMCALClusterNCellMin
Minimum number of cells on EMCal clusters.
TH1F * fhNClusters
! Number of clusters
TH2F * fhMCEle1EOverP
! p/E for track-cluster matches, MC electrons
void SetPHOSCellAmpMin(Float_t amp)
TH1F * fhMCEle1dR
! distance between projected track and cluster, MC electrons
TH2F * fhOpAngle
! Cluster pairs opening angle vs pair pT
TH1F * fhGenMCE[4]
! pt of primary particle
TH2F * fhIMDiff
! Cluster pairs invariant mass vs pair pT, for EMCAL or PHOS pairs
TH2F * fhEMR
! Electromagnetic distance to vertex vs rec energy
TH2F * fhClusterPairDiffTimeEPi0MassDCal
! DCal Cluster time TOF difference, for pairs in 0.1 < mass < 0.18
TH2F * fhCaloTrackMCorrNCells
! Calo vs Track Multiplicity, number of cells
void ClusterAsymmetryHistograms(AliVCluster *clus, Int_t absIdMax, Bool_t goodCluster)
void SetConstantTimeShift(Float_t shift)
TH2F * fhIMDCALPHOSSame
! Cluster pairs invariant mass vs pair pT, for DCal-PHOS pairs
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 ...
TH2F * fhEBinClusterEtaPhi[14]
! Eta-Phi location of cluster in different energy bins.
TH1F * fhNCells
! Number of towers/crystals with signal
TH2F * fhIMDCAL
! Cluster pairs invariant mass vs pair pT, for DCal pairs
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 * fhIMEMCALPHOS
! Cluster pairs invariant mass vs pair pT, for EMCAL(DCal eta acceptance)-EMCAL (PHOS eta acceptance)...
TH2F * fhHaR
! Hadron distance to vertex vs rec energy
Float_t GetInvMassMinM02Cut() const
TH2F * fhAmpWeirdMod
! Cell amplitude distribution for different module, very large Amp, Reco
TH2F * fhRE
! R=sqrt(x^2+y^2) (cm) cluster distribution vs cluster energy
void SetInvMassMaxTimeDifference(Float_t c)
TH2F * fhIM
! Cluster pairs invariant mass vs pair pT, for EMCAL or PHOS pairs
TH2F * fhTimeAmp
! Time vs Amplitude
void SwitchOnFillInvMassOpAngleHistogram()
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
Float_t GetInvMassMaxTimeDifference() const
TH2F * fhAmpId
! Amplitude measured in towers/crystals vs id of tower.
TH2F * fhCaloV0SCorrECells
! Calo vs V0 signal, total measured cell energy
void SetEMCALCellAmpMin(Float_t amp)
TH1F * fhAmplitude
! Amplitude measured in towers/crystals
TH2F ** fhCaloV0SCorrECellsMod
! Calo vs V0 signal, total measured cell energy per SM
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
Int_t fPHOSClusterNCellMin
Minimum number of cells on PHOS clusters.
TH2F * fhTrackMatchedDEtaNeg
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
void SetInvMassMaxECut(Float_t cut)
void SetNEBinCuts(Int_t nb)
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
Double_t GetTimeCutMax() const
TH2F * fhEBinClusterColRow[14]
! Column and row location of cluster max E cell in different energy bins.
TH3F * fhXYZCell
! cell X vs Y vs Z (cm)
Float_t fInvMassMaxOpenAngle
Combine clusters within with a maximum opening angle between them. In radians.
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.
Bool_t fFillAllCellTimeHisto
Fill all cell time histo.
TH2F ** fhCaloTrackMCorrECellsMod
! Calo vs Track Multiplicity, total measured cell energy 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
void SetInvMassMaxOpenAngle(Float_t c)
TH2F ** fhNCellsSumAmpPerMod
! N cells vs sum of amplitude in different modules, Reco
unsigned short UShort_t
Definition: External.C:28
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)
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)
const char Option_t
Definition: External.C:48
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
void SwitchOffFillPi0PairDiffTimeHistogram()
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 Track Multipliticy, total measured cell energy
bool Bool_t
Definition: External.C:53
Float_t fInvMassMaxM02Cut
Maximum M02 shower shape cut value for clusters entering the invariant mass calculation.
void SetInvMassMinECut(Float_t cut)
TH2F * fhEMVxyz
! Electromagnetic particle production vertex
TH2F * fhLambda0
! Cluster Lambda0 vs Energy
void CellHistograms(AliVCaloCells *cells)
TH2F * fhCaloV0MCorrECells
! Calo vs V0 multiplicity, total measured cell energy
void SwitchOnFillInvMassReducedEMCALHistogram()
TH2F * fhEMCALDCALCorrNCells
! EMCAL vs DCAL, number of cells
TH2F * fhMCNeutral1EleEOverP
! p/E for track-cluster matches, dR < 0.2, 60 < dEdx < 100, MC neutral
TH2F * fhClusterPairDiffTimeEPi0MassSame
! EMCal/PHOS Cluster time TOF difference, for pairs in 0.1 < mass < 0.18, pairs in same Module ...
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
Bool_t fFillAllCellHistograms
Fill all cell related histograms.
TH2F * fhDCALPHOSCorrEClusters
! DCAL vs PHOS, total measured cluster energy
Bool_t fStudyBadClusters
Study bad clusters not passing selection criteria (exotic, shower shape, n cells).
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
Float_t GetInvMassMaxM02Cut() const
TH2F * fhGridCellsLowGain
! Cells ordered in column/row for different module, Reco, low gain
TH2F * fhAsym
! Cluster pairs invariant mass vs pair pT
TH2F * fhRecoMCE[7][2]
! E generated particle vs reconstructed E
Int_t GetPHOSNCellsPerClusterMin() const
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
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
Bool_t fFillEBinAcceptanceHisto
Fill histograms with cluster eta-phi distribution and column-row cell, for different energy bins...
TH2F * fhEMCALDCALCorrECells
! EMCAL vs DCAL, total measured cell energy
Float_t fInvMassMaxTimeDifference
Maximum difference between the time of the 2 clusters to be considered in invariant mass...
TH2F * fhEWeirdMod
! Cluster E distribution for different module, very large E, Reco
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 * fhSumClustersEnergyMod
! Sum of clusters energy for different module, Reco
TH2F * fhTimeL1UnCorrId
! Time (not corrected for L1 phase) vs Absolute cell Id
TH2F * fhCaloV0SCorrNClusters
! Calo vs V0 signal, number of clusters
TH2F * fhGenMCEtaPhi[4]
! eta vs phi of primary particle
TH2F * fhLambda1
! Cluster Lambda1 vs Energy
Float_t fConstantTimeShift
Apply a 600 ns time shift in case of simulation, shift in ns.