AliPhysics  master (3d17d9d)
AliAnaCaloExotics.h
Go to the documentation of this file.
1 #ifndef ALIANACALOEXOTICS_H
2 #define ALIANACALOEXOTICS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 //_________________________________________________________________________
16 
17 // --- Root system ---
18 class TH3F;
19 class TH2F;
20 class TH1F;
21 class TObjString;
22 class TObjArray;
23 
24 // --- Analysis system ---
25 class AliVCaloCells;
26 class AliVCaloCluster;
27 class AliVTrack;
28 
30 
32 
33 public:
34 
36 
38  virtual ~AliAnaCaloExotics() { ; }
39 
40  // General methods
41 
42  TObjString * GetAnalysisCuts();
43 
45 
46  void Init();
47 
49 
50  void Print(const Option_t * opt) const;
51 
52  // Main methods
53 
54  void CellHistograms(AliVCaloCells * cells);
55 
56  void ClusterHistograms(const TObjArray * clusters, AliVCaloCells * cells);
57 
58  void StripHistograms(AliVCaloCells *cells);
59 
60  void ClusterHistogramsAfterEventCut(const TObjArray * clusters, AliVCaloCells * cells);
61 
62  // Setters and getters
63 
64  Float_t GetCellAmpMin() const { return fCellAmpMin ; }
65  void SetCellAmpMin(Float_t amp) { fCellAmpMin = amp ; }
66 
67  Float_t GetEMinForExo() const { return fEMinForExo ; }
68  void SetEMinForExo(Float_t min) { fEMinForExo = min ; }
69 
70  Float_t GetExoCut() const { return fExoCut ; }
71  void SetExoCut(Float_t exo) { fExoCut = exo ; }
72 
73  Float_t GetHighNCellCut() const { return fNCellHighCut ; }
75 
76  Double_t GetTimeCutMin() const { return fTimeCutMin ; }
77  Double_t GetTimeCutMax() const { return fTimeCutMax ; }
78  void SetTimeCut(Float_t min, Float_t max) { fTimeCutMin = min ;
79  fTimeCutMax = max ; }
80 
83 
86 
88 
90  { fHighEnergyCutStrip[0] = eFull; fHighEnergyCutStrip[1] = eThird; }
91 
92  void SetfHighNCellsCutStrip(Int_t nFull, Int_t nThird)
93  { fHighNCellsCutStrip[0] = nFull; fHighNCellsCutStrip[1] = nThird; }
94 
97 
99  { if ( i < fgkNEBins && i >= 0 ) return fEnergyBins[i] ;
100  else return -1 ; }
102  { if ( i < fgkNEBins && i >= 0 ) fEnergyBins[i] = en ; }
103 
105  { if ( i < fgkNCellEnMinBins && i >= 0 ) return fCellEnMins[i] ;
106  else return -1 ; }
108  { if ( i < fgkNCellEnMinBins && i >= 0 ) fCellEnMins[i] = en ; }
109 
112 
115 
118 
121 
124 
127 
130 
133 
136 
139 
142 
145 
148  //
151 
153 
154  private:
155 
156 
157  // Different analysis cuts
158  //
160 
162 
164 
166 
169 
174 
180 
182  static const Int_t fgkNEBins = 14;
184 
185  static const Int_t fgkNCellEnMinBins = 3;
186  static const Int_t fgkNCellEnMinBinsFr = 3;
189 
191 
192  // Internal values containers
193  //
194  TLorentzVector fClusterMomentum;
195 
200 
202 
205 
208 
209  // Histogram/analysis switchs
210  //
212 
214 
216 
218 
220 
222 
224 
226 
228 
230 
232 
234 
236 
237  // Histograms
238  //
241 
245 
248 
253 
254  // Calorimeter Clusters
255  //
256 
257  // Exoticity
258  //
264 
274 
282 
288 
294 
299 
306  TH1F * fhTimeNCellCut;
307 
311 
312  // Different n cells definitions
313  //
329 
334 
338 
342 
346 
350 
354 
358 
362 
366 
370 
388 
396 
397  // Cluster column-row
398  //
400  //TH2F * fhClusterColRow [2][fgkNEBins]; //!<! Cluster col-row centred in cell max for different cluster E bins
401  //TH3F * fhClusterColRowExoW[2][fgkNEBins]; //!<! Cluster col-row centred in cell max vs exoticity and w>0 for different cluster E bins
402 
404 
405  // Recalculate exiticity for different EMin thresholds, only when fFillExoEnMinCut=true
406  //
412 
413  // Apply cut on number of cells of cluster all in same TCard
414  //
418 
420 
425 
430 
434 
435  // Apply 50 ns cut on exoticity
442 
443  // Cluster-Track matching
444  //
448 
452 
454 
458 
462 
464 
465  //
466  // Calorimeter cells
467 
471 
475 
476  // En cuts: 0.5, 1, 2, 5 GeV
483 
489 
495 
500 
505 
506  // Per SM
512 
518 
524 
529 
534 
535  // Per Strip
536  //
541 
546 
553 
560 
565 
570 
571  //
572 
577 
583 
584  // Control event rejection, 4 cases: no selection, SM LED, Strip LED, both LED
589 
591 
592 
595 
597  AliAnaCaloExotics( const AliAnaCaloExotics & qa) ;
598 
600  ClassDef(AliAnaCaloExotics,10) ;
602 
603 } ;
604 
605 #endif //ALIANACALORIMETERQA_H
606 
607 
608 
TH1F * fhFracSumEnCellsNHigh20[fgkNCellEnMinBinsFr]
! sum of cells with E > 1 GeV over emin, 1 cluster with n_cell_w>20
TH1F * fhAverSumEnCellsNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number, 1 cluster with n_cell_w>20 ...
TH3F * fhEnNCellsSameDiffExo[fgkNEBins]
! Sum of E in / n cell in same vs diff vs exoticity, different cluster E bins
TH2F * fhNCellsPerClusterDiffTimeDiff
! Cluster E vs n cells with t diff < 50 ns in diff T-Card as max E cell
void SwitchOffFillFractionSameDiffCells()
TH2F * fhNCellsPerClusterWEMaxCellOpenTime
! Cell max energy vs N cells in cluster with w > 0, no time cut
TH3F * fhNCellsPerClusterMinEnCut
! Cluster energy vs N cells vs E min in cell
TH2F * fhExoticity50ns1Cell
! Exoticity vs energy for 1 cell clusters, tdiff < 50 ns
Float_t GetCellEMinBinLimit(Int_t i) const
void SwitchOnFillAllSameTCardHisto()
TH3F * fhCellMaxClusterEnRatioExo
! Cluster E vs E cell max / E cluster vs n exoticity
TH2F * fhSumEnCellsPerSM[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, per SM
void CellHistograms(AliVCaloCells *cells)
void SetfHighEnergyCutStrip(Float_t eFull, Float_t eThird)
Float_t GetCellAmpMin() const
TH3F * fhTimeEnergyNCells
! Cluster Energy vs Time vs n cells
TH2F * fhCellExoAmp
! Cell amplitude vs exoticity
TH2F * fh2NClusterPerEventExoticNCell
! N clusters total vs with F+ > 0.97 and ncell > 1 and E > 5 GeV per event
AliAnaCaloExotics & operator=(const AliAnaCaloExotics &qa)
Copy constructor not implemented.
TH3F * fhTimeDiffClusCellSameTCardExo
! Difference of the time of cell with maximum dep energy and the rest of cells in same T-Card vs clus...
static const Int_t fgkNEBins
Total number of cluster energy bins histograms.
double Double_t
Definition: External.C:58
Definition: External.C:260
TH3F * fhFracNCellDiffSame5Exo
! Cluster E vs fraction of n cells in diff over same T-Card, neighbour cells vs F+ ...
TH2F * fhNCellsPerClusterSameTimeDiff
! Cluster E vs n cells with t diff < 50 ns in same T-Card as max E cell
TH3F * fhNCellsPerClusterSameDiff
! Cluster E vs n cells in same vs different T-Card as max E cell
TH3F * fhEtaPhiGridExoEnCutSameFracCut
! column vs row vs exoticity when E > fEMinForExo and n cells > 1 and n diff = 0
void SetHighNCellCut(Int_t n)
TH3F * fhClusterColRowExo[2][fgkNEBins]
! Cluster col-row centred in cell max vs exoticity for different cluster E bins
Int_t fHighNCellsCutSM
SM is too active if n cells above this value.
Definition: External.C:236
TH1F * fhNCellsPerStrip[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip
TH3F * fhEtaPhiGridEn1Cell
! column vs row vs energy for 1 cell clusters
TH1F * fhTimeNCellCut
! Cluster Time vs n cells > fNCellCut, larger time range
TH2F * fhNCellsPerSMNHigh20[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, 1 cluster with n_cell_w>20, per SM
Int_t fNCellHighCut
High N cell with w>0 cut for some histograms.
Bool_t fFillOpenTimeHisto
Fill histograms when time cut not applied (not needed in MC)
Float_t fCellEnMins[fgkNCellEnMinBins]
Energy minimum for some histograms for cells.
TH2F * fhNCellsPerClusterWEMaxCell
! Cell max energy vs N cells in cluster with w > 0
TH3F * fhM02EnergyExoW
! Cluster M02 vs Energy vs Weighted exoticity
TH2F * fhNCellsPerClusterDiff5
! Cluster E vs n cells in different T-Card as max E cell, neighbour cells
void SetCellAmpMin(Float_t amp)
Float_t fExoCut
Exoticity cut for some histograms.
TH1F * fhSumEnCellsPerStripNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, 1 cluster with n_cell_w>20, per SM ...
TH2F * fhSM3NCellsSumEnSuspiciousEvents
! Control histogram to check SM3 activity when there is high activity event in other SM...
Bool_t fFillStripHisto
Fill histograms for strip of cells (2x48)
TH2F * fhSumEnCellsPerStripPerSMNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, per SM, 1 cluster with n_cell_w>20, per SM
TH3F * fhTimeEnergyM02
! Cluster Energy vs Time vs M02, n cells > 1
TH2F * fhNCellsPerStripPerSMEventAccept[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, per SM, accept event based on n strip ...
TH2F * fhExoSame
! Cluster E vs 1 - E same TCard / E max
TH2F * fhM02EnergyAllSameTCardW
! Cluster M02 vs Energy, all cells in same T-Card, n diff_w =0
TH3F * fhNCellsPerClusterAllSameTCardMinEnCut
! Cluster energy vs N cells, all cells in same T-Card, n diff = 0 for E min cut
Float_t fConstantTimeShift
Apply a 600 ns time shift in case of simulation, shift in ns.
TH3F * fhFracNCellDiffSameWExo
! Cluster E vs fraction of n cells in diff over same T-Card, cells with w > 0 vs F+ ...
TH3F * fhNCellsPerClusterDiffMinEnCut
! Cluster energy vs N cells in different T-Card as max cell vs E min in cell
TH3F * fhM02EnergyExo50ns
! Cluster M02 vs Energy vs exoticity, tdiff < 50 ns
TH3F * fhTimeEnergyExo
! Cluster Energy vs Time vs Exoticity, n cells > 1
TH2F * fhExoticity50nsEClusAllSameTCard
! Exoticity vs energy, all cells in same T-Card, n diff = 0, tdiff < 50 ns
Float_t fHighEnergyCutSM
SM is too active if energy above this value.
TH2F * fhNCellsPerClusterEMaxCellOpenTime
! Cell max energy vs N cells in cluster, no time cut
void SetCellEMinBinLimit(Int_t i, Float_t en)
TH2F * fhNCellsPerClusterAllSameTCardW
! Cluster energy vs N cells, all cells in same T-Card, n diff_w = 0
TH2F * fhTimeDiffClusDiffCellColRowDiffExoCut[4][4]
! Cluster E vs time max-sec in diff T-Card vs distance to max E cell, for exoticity > fExoCut ...
TH3F * fhNCellsPerClusterExoPerSM[20]
! Cluster energy vs N cells in cluster vs Exoticity, per SM
TH1F * fhNClusterPerEventExotic1Cell
! N clusters with ncell = 1 and E > 5 GeV per event
TH2F * fhNStripsPerEventPerSM
! Number of active strips per event, per SM, low activity SM3
TH3F * fhTrackMatchedDPhiPosExo
! Phi distance between + track and cluster vs cluster E, exoticity, n cells > 1
void SetfHighNCellsCutStrip(Int_t nFull, Int_t nThird)
void SetLowNCellsCutSM3Strip(Int_t n)
TH2F * fhNCellsPerClusterEMaxCell
! Cell max energy vs N cells in cluster
TH3F * fhCellMaxClusterEnRatioNCellW
! Cluster E vs E cell max / E cluster vs n cells with w > 0
TH2F * fhTrackMatchedDEtaNeg1Cell
! Eta distance between - track and cluster vs cluster E, n cells = 1
TH2F * fhExoticityEMaxCell
! Exoticity vs energy of highest energy cell in cluster
void SetConstantTimeShift(Float_t shift)
TH2F * fhExoticity50nsEClus
! Exoticity vs cluster energy, tdiff < 50 ns
TH2F * fhNCellsPerClusterSameFracW
! Cluster E vs fraction n cells with weight in same T-Card as max E cell
TH3F * fhM02ExoNCellsNotAllSameTCard[fgkNEBins]
! Cluster M02 vs exoticity vs n cells, different E bins for n diff > 0
TH1F * fhFracEnNCellDiffSameWEnCut
! Cluster E > 20, double fraction of energy/n cells in diff over same T-Card, cells with w > 0 ...
TH3F * fhNCellsPerClusterSameMinEnCut
! Cluster energy vs N cells in same TCard as max cell vs E min in cell
TH3F * fhTimeEnergyNCellsW
! Cluster Energy vs Time vs n cells for w > 0
TH3F * fhExoticityEClusPerSM
! Exoticity vs cluster energy, per SM
Bool_t fLED12
There is at least a cluster with 12 cells with w > 0 in the event; internal.
TH1F * fhNCellsAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, LED rejected
TH3F * fhTrackMatchedDEtaDPhiPosExo
! Eta vs Phi distance between + track and cluster vs exoticity, E cluster > fEMinForExo and n cells >...
TH2F * fhNSumEnCellsPerStripAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, LED rejected
TH2F * fhTimeDiffClusSameCellColRowDiffExoCut[4][4]
! Cluster E vs time max-sec in same T-Card vs distance to max E cell, for exoticity > fExoCut ...
Double_t GetTimeCutMin() const
Float_t fTimeCutMax
Remove clusters with time larger than this value, in ns.
TH3F * fhNCellsPerClusterExoW
! Cluster energy vs N cells in cluster vs Weighted Exoticity
Int_t fFillAllCellEventParamHisto
Fill histograms summing our counting cells per event, 0-not filled, 1-n and sum E, 2 all fractions.
static const Int_t fgkNCellEnMinBins
TH1F * fhAverSumEnCellsAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number, LED rejected
TH3F * fhNSumEnCellsPerStripPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, per SM, LED rejected, based on n strip ...
TH3F * fhCellMaxClusterEnRatioNCellWOpenTime
! Cluster E vs E cell max / E cluster vs n cells with w > 0, no time cut
Float_t fCellAmpMin
Amplitude Threshold on calorimeter cells.
Int_t fnCellsStrip[fgkNCellEnMinBins][20][24]
Sum of energy of cells in strip per event, per SM and per cell min En cut.
TH3F * fhCellEnNCellWEMax
! Cluster cell max E vs cell E vs n cells with w > 0
void MakeAnalysisFillHistograms()
Main task method, call all the methods filling QA histograms.
TH3F * fhNCellsPerClusterSameDiffW
! Cluster E vs n cells in same vs different T-Card as max E cell, cells with weight ...
Bool_t fFillExo50ns
Fill histograms with exoticity with 50 ns cut on difference in time with max.
TH3F * fhM02EnergyAllSameTCardMinEnCut
! Cluster M02 vs Energy, all cells in same T-Card, n diff =0 for E min cut
void SwitchOffFillAllCellEventHisto()
void SwitchOnFillClusterEventCutHisto()
void StripHistograms(AliVCaloCells *cells)
TH1F * fhNStripsPerEvent
! Number of active strips per event, low activity SM3
TH1F * fhFracSumEnCells[fgkNCellEnMinBinsFr]
! sum of cells with E > emin over 0.5 GeV
TH3F * fhCellEnNCellW
! Cluster E vs cell E vs n cells with w > 0
TH3F * fhTrackMatchedDEtaPosExo
! Eta distance between + track and cluster vs cluster E, exoticity, n cells > 1
Bool_t fFillClusterColRowHisto
Fill histograms with cluster coll and row size.
Float_t GetEBinLimit(Int_t i) const
TH1F * fhNClusterPerEventNCellHigh12
! N clusters with NCells > 12 per event
void SwitchOffFillExoEnMinCutHisto()
TH2F * fhTrackMatchedDEtaPos1Cell
! Eta distance between + track and cluster vs cluster E, n cells = 1
TH2F * fhTrackMatchedDPhiPos1Cell
! Phi distance between + track and cluster vs cluster E, n cells = 1
TH2F * fhNCellsPerClusterOpenTime
! Cluster energy vs N cells in cluster, no time cut
Int_t fHighNCellsCutStrip[2]
Strip is too active if n cells above this value.
TH2F * fhNStripsPerEventAcceptPerSM
! Number of active strips per accepted event, per SM, low activity SM3
TH2F * fhNCellsPerCluster
! Cluster energy vs N cells in cluster
void SetEBinLimit(Int_t i, Float_t en)
TH3F * fhTimeDiffWClusCellExo
! Difference of the time of cell with maximum dep energy and the rest of cells vs cluster energy vs e...
Float_t fHighEnergyCutStrip[2]
Strip is too active if energy above this value.
TH1F * fhNCellsPerStripEventAccept[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, accept event based on SM activity ...
void SwitchOnFillExoticity50nsHisto()
TH1F * fhFracNCellsAcceptEvent[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV, LED rejected
TH2F * fhCellEnDiffColRowDiffExoCut[4][4]
! Cluster E vs cell E in diff T-Card vs distance to max E cell, for exoticity > fExoCut ...
TH3F * fhNSumEnCellsPerStripPerSMAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, per SM, LED rejected
TH1F * fhEventCutClusterEnergy[4]
! Cluster energy, for event selection criteria, non exotic, within time cut range ...
TH3F * fhNSumEnCellsPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, per SM, LED rejected, based on n strip ...
TH2F * fhNSumEnCellsPerStripAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, LED rejected, based on n strip ...
TH2F * fhFracEnNCellDiffSameW
! Cluster E vs double fraction of energy/n cells in diff over same T-Card, cells with w > 0 ...
Float_t GetHighNCellCut() const
TH3F * fhCellTimeDiffNCellWEMax
! Cluster cell max E vs cell time-time max vs n cells with w > 0
TH3F * fhNCellsPerClusterExo
! Cluster energy vs N cells in cluster vs Exoticity
TH3F * fhTimeDiffClusCellM02
! Difference of the time of cell with maximum dep energy and the rest of cells vs cluster energy vs M...
TH3F * fhFracEnNCellDiffSame5Exo
! Cluster E vs double fraction of energy/n cells in diff over same T-Card, neighbour cells vs F+ ...
TH3F * fhFracEnDiffSame5Exo
! Cluster E vs fraction of energy in diff over same T-Card, neighbour cells vs F+ ...
void SetExoCut(Float_t exo)
TH3F * fhNCellsSameDiffExo[fgkNEBins]
! N cells in same vs diff vs exoticity, different cluster E bins
Bool_t fFillExoEnMinCut
Fill histograms with exoticity for different EMin cuts.
TH2F * fhSumEnCellsPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, per SM, LED rejected, based on n strip
TH1F * fhSumEnCellsAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, LED rejected
TH2F * fhNSumEnCellsPerStripAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, LED rejected, based on n strip ...
TH2F * fhFracNCellDiffSame
! Cluster E vs fraction of n cells in diff over same T-Card
TH2F * fhNCellsPerClusterSame
! Cluster E vs n cells in same T-Card as max E cell
void SetCellEMaxBinLimit(Float_t en)
TH1F * fhFracEnDiffSame5EnCut
! Cluster E > 20, fraction of energy in diff over same T-Card, neighbour cells
TH3F * fhNCellsPerClusterWPerSM
! Cluster energy vs N cells in cluster, per SM
Bool_t fFillCellHisto
Fill histograms single cells.
Float_t fLED12Time
Time of LED cluster with 12 cells.
Bool_t fLED20
There is at least a cluster with 20 cells with w > 0 in the event; internal.
TH3F * fhEtaPhiGridEnHighNCells
! column vs row vs energy for n cell > fNCellCut
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
Base class for CaloTrackCorr analysis algorithms.
TH3F * fhNCellsPerClusterM02
! Cluster energy vs N cells in cluster vs M02
TH2F * fhNCellsPerClusterTrackMatch
! Cluster energy vs N cells in cluster, for track-matched clusters
TH2F * fhTrackMatchedDEtaDPhiPos1Cell
! Eta vs Phi distance between + track and cluster, E cluster > fEMinForExo and n cells = 1 ...
TH3F * fhFracEnDiffSameExo
! Cluster E vs fraction of energy in diff over same T-Card vs F+
TH2F * fhNCellsPerClusterDiffW
! Cluster E vs n cells with w > 0 in diff T-Card as max E cell
int Int_t
Definition: External.C:63
TH2F * fh2NClusterPerEventNCellHigh12
! N clusters total vs with NCells > 12 per event
TH1F * fhSumEnCellsPerStripEventAccept[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, accept event based on SM activity ...
TH1F * fhFracNCellDiffSameEnCut
! Cluster E > 20, fraction of n cells in diff over same T-Card
Definition: External.C:204
TH3F * fhEtaPhiGridNCellEnCut
! column vs row vs n cells for E > fEMinForExo
Class to study exotic clusters.
TH2F * fhNCellsPerClusterSameW
! Cluster E vs n cells with w > 0 in same T-Card as max E cell
TH2F * fhAverSumEnCellsPerSMNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number, 1 cluster with n_cell_w>20, per SM
float Float_t
Definition: External.C:68
Float_t fAcceptEvent
Event passes the SM n cells or energy cuts.
TH2F * fhTimeDiffClusDiffCellColRowDiff[4][4]
! Cluster E vs time max-sec in diff T-Card vs distance to max E cell, for exoticity < fExoCut ...
TH2F * fhEventCutClusterEnergyECellMax[4]
! Cluster energy vs max cell energy, for event selection criteria, non exotic, within time cut range ...
TH2F * fhExoticityEClusAllSameTCard
! Exoticity vs energy, all cells in same T-Card, n diff = 0
TH3F * fhFracNCellDiffSameExo
! Cluster E vs fraction of n cells in diff over same T-Card vs F+
TH3F * fhCellTimeDiffNCellWOpenTime
! Cluster E vs cell time-time max vs n cells with w > 0, no time cut
TH2F * fhFracEnDiffSame5
! Cluster E vs fraction of energy in diff over same T-Card, neighbour cells
TH2F * fhTrackMatchedDPhiNeg1Cell
! Phi distance between - track and cluster vs cluster E, n cells = 1
TH1F * fhNStripsPerEventAccept
! Number of active strips per accepted event, low activity SM3
TH2F * fhSumEnCellsPerStripPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, per SM, accept event based on n strip ...
TH1F * fhFracSumEnCellsAcceptEvent[fgkNCellEnMinBinsFr]
! sum of cells with E > 1 GeV over emin, LED rejected
TH2F * fhSumEnCellsPerSMEventSuspicious
! For E cell > emin, sum of cells energy, per SM
TH3F * fhM02Exo50nsNCells[fgkNEBins]
! Cluster M02 vs exoticity vs n cells, different E bins, tdiff < 50 ns
TH3F * fhCellEnNCellWOpenTime
! Cluster E vs cell E vs n cells with w > 0, no time cut
TH3F * fhFracEnDiffSameWExo
! Cluster E vs fraction of energy in diff over same T-Card, cells with w > 0 vs F+ ...
TH2F * fhNCellsPerSMAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, LED rejected, per SM
Float_t GetEMinForExo() const
TH2F * fhSumEnCellsPerSMAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, LED rejected, per SM
TH2F * fhNSumEnCells[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy
Int_t fLowNCellsCutSM3Strip
SM3 strips low activity if n cells above this value.
void SetLowNCellsCutSM3(Int_t n)
TH1F * fhFracEnNCellDiffSameEnCut
! Cluster E > 20, double fraction of energy/n cells in diff over same T-Card
TH3F * fhCellEnSameExo
! Cluster E vs cell E in same T-Card vs exoticity
TH2F * fhNCellsPerClusterWOpenTime
! Cluster energy vs N cells in cluster with w > 0, no time cut
TH1F * fhNCellsAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, LED rejected, based on n strip and SM activity ...
TH2F * fhEventCutClusterEnergyTime[4]
! Cluster energy vs time, for event selection criteria, non exotic
TH2F * fhFracNCellsPerSMNHigh20[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV, 1 cluster with n_cell_w>20, per SM ...
Bool_t fFillSameDiffFracHisto
Fill histograms with fraction of cells or energy cells in same or different T-Card.
Bool_t fFillPerSMHisto
Fill histograms per SM.
TH2F * fhNCellsPerClusterTimeDiff
! Cluster energy vs N cells in cluster with t diff < 50 ns
TH3F * fhM02EnergyExo
! Cluster M02 vs Energy vs exoticity
TH2F * fhExoticityEClus
! Exoticity vs cluster energy
TH2F * fhNSumEnCellsAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, LED rejected
TH2F * fhCellEnDiffColRowDiff[4][4]
! Cluster E vs cell E in diff T-Card vs distance to max E cell, for exoticity < fExoCut ...
TH2F * fhAverSumEnCellsPerSM[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number, per SM
TH2F * fhCellMaxClusterEnRatioOpenTime
! Cluster E vs E cell max / E cluster, no time cut
TH3F * fhNCellsPerClusterExo50ns
! Cluster energy vs N cells in cluster vs Exoticity, tdiff < 50 ns
TH1F * fhNClusterPerEventNCellHigh20
! N clusters with NCells > 20 per event
Bool_t fFill1CellHisto
Fill histograms for 1 cell clusters.
TH2F * fh2NClusterPerEventExoticAmpMax
! Highest energy exotic amp max vs n clusters
TH1F * fhSumEnCellsNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, 1 cluster with n_cell_w>20
TH2F * fhNCellsPerSM[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, per SM
Float_t fEnCellsStrip[fgkNCellEnMinBins][20][24]
Number of cells in strip per event, per SM and per cell min En cut.
Float_t fLED20Time
Time of LED cluster with 20 cells.
Bool_t fFillClusterHistoAfterEventCut
Full histograms for clusters after event cuts.
TH2F * fhNCellsPerStripPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, per SM, accept event based on n strip ...
TH2F * fhSumEnCellsPerSMNHigh20[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, 1 cluster with n_cell_w>20, per SM
TH2F * fhFracNCellDiffSame5
! Cluster E vs fraction of n cells in diff over same T-Card, neighbour cells
TH2F * fhExoticityWEClus
! Weighted exoticity vs Min E cell threshold vs cluster energy
TH2F * fhExoticity1Cell
! Exoticity vs energy for 1 cell clusters
TH2F * fhTimeDiffClusSameCellColRowDiff[4][4]
! Cluster E vs time max-sec in same T-Card vs distance to max E cell, for exoticity < fExoCut ...
TH2F * fhCellMaxClusterEn
! Cluster E (without non lin) vs Cell max E
TH2F * fhFracEnNCellDiffSame5
! Cluster E vs double fraction of energy/n cells in diff over same T-Card, neighbour cells ...
void SwitchOnFillExoEnMinCutHisto()
TH1F * fhFracNCellDiffSame5EnCut
! Cluster E > 20, fraction of n cells in diff over same T-Card, neighbour cells
Bool_t fFillAllCellSameTCardHisto
Fill histograms when all cells are in same T-Card.
void SwitchOffFillClusterColRowHisto()
TH1I * fhEventCutBunchCrossing[4]
! Bunch crossing of events for different event selection criteria
void ClusterHistograms(const TObjArray *clusters, AliVCaloCells *cells)
void SetTimeCut(Float_t min, Float_t max)
void SwitchOffFillClusterEventCutHisto()
TH3F * fhNCellsPerClusterExoTrackMatch
! Cluster energy vs N cells in cluster vs Exoticity, for track-matched clusters
TH3F * fhM20EnergyExoM02MinCut
! Cluster M20 vs Energy vs exoticity for M02 > 0.1
TH2F * fhFracEnDiffSame
! Cluster E vs fraction of energy in diff over same T-Card
TH1F * fhNCellsPerStripAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, accept event based on n strip ...
TH3F * fhExoticityECellMinCut
! Exoticity vs Min E cell threshold vs cluster energy
TH2F * fhExoDiff5
! Cluster E vs 1 - E different & neighbor TCard / E max
TH2F * fhNCellsPerClusterSame5
! Cluster E vs n cells in same T-Card as max E cell, neighbour cells
TH2F * fhFracEnDiffSameW
! Cluster E vs fraction of energy in diff over same T-Card, cells with w > 0
TH3F * fhM02ExoNCells[fgkNEBins]
! Cluster M02 vs exoticity vs n cells, different E bins
TH2F * fhFracSumEnCellsPerSM[fgkNCellEnMinBinsFr]
! sum of cells with E > emin over 0.5 GeV, per SM
TH3F * fhExoticityEClusAllSameTCardMinEnCut
! Exoticity vs energy, all cells in same T-Card, n diff =0 for E min cut
TH3F * fhClusterColRowPerSMHighNCell[fgkNEBins]
! Cluster col-row centred in cell max vs SM for different cluster E bins and n cells > fHighNCellCut ...
TH2F * fhNSumEnCellsPerStrip[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip
TH2F * fhSumEnCellsPerStripPerSMEventAccept[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, per SM, accept event based on n strip ...
Float_t GetExoCut() const
TH2F * fh2NClusterPerEventExotic1Cell
! N clusters total vs with ncell = 1 and E > 5 GeV per event
TH2F * fhNCellsPerStripPerSM[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, per SM
Float_t fEMinForExo
Minimum energy cut for integrated histograms over E. Exotics start at about 4 GeV.
TH2F * fhCellMaxClusterEnRatio
! Cluster E vs E cell max / E cluster
TH2F * fhNCellsPerClusterAllSameTCard
! Cluster energy vs N cells, all cells in same T-Card, n diff = 0
TH3F * fhCellTimeDiffNCellW
! Cluster E vs cell time-time max vs n cells with w > 0
TH3F * fhCellGridTime[fgkNCellEnMinBins]
! Cells ordered in column/row vs cell time when E > emin
TH2F * fhFracSumEnCellsPerSMAcceptEvent[fgkNCellEnMinBinsFr]
! sum of cells with E > 1 GeV over emin, LED rejected, per SM
TH3F * fhNSumEnCellsPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, per SM, LED rejected, based on n strip and SM activity...
TH1F * fhNClusterPerEventExotic
! N clusters with F+ > 0.97 and E > 5 GeV per event
TH2F * fhFracEnNCellDiffSame
! Cluster E vs double fraction of energy/n cells in diff over same T-Card
TH3F * fhNCellsPerClusterSameFracWExo
! Cluster E vs fraction n cells with weight in same T-Card as max E cell vs exoticity ...
TH2F * fhNCellsPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, per SM, LED rejected, based on n strip ...
TH3F * fhCellGridTimeHighNCell20
! Cells ordered in column/row vs cluster time when at least 1 cluster n cellsW > 20 ...
TH1F * fhFracNCells[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV
TH2F * fh2NClusterPerEventNCellHigh20
! N clusters total vs with NCells > 20 per event
TH3F * fhEtaPhiGridEnExoCut
! column vs row vs energy when F+ > 0.97 and n cells > 1
TH3F * fhEtaPhiGridExoEnCut
! column vs row vs exoticity when E > fEMinForExo and n cells > 1
Bool_t fFillMatchingHisto
Fill histograms for track-cluster matching.
TH1F * fhSumEnCellsAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, LED rejected, based on n strip and SM activity ...
TH1F * fhAverSumEnCells[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number
TH3F * fhNCellsPerClusterPerSM
! Cluster energy vs N cells in cluster, per SM
TH2F * fhFracSumEnCellsPerSMNHigh20[fgkNCellEnMinBinsFr]
! sum of cells with E > 1 GeV over emin, 1 cluster with n_cell_w>20, per SM
void SetEMinForExo(Float_t min)
void SetLowEnergyCutSM3(Float_t e)
TH3F * fhCellTimeDiffNCellWEMaxOpenTime
! Cluster cell max E vs cell time-time max vs n cells with w > 0, no time cut
Float_t fTimeCutMin
Remove clusters with time smaller than this value, in ns.
Float_t fLowEnergyCutSM3
SM3 low activity if energy above this value.
TH2F * fhCellMaxClusterEnOpenTime
! Cluster E (without non lin) vs Cell max E, no time cut
TH1F * fhFracEnNCellDiffSame5EnCut
! Cluster E > 20, double fraction of energy/n cells in diff over same T-Card, neighbour cells ...
void SetEventMaxNumberOfStrips(Int_t n)
TH3F * fhFracEnNCellDiffSameWExo
! Cluster E vs double fraction of energy/n cells in diff over same T-Card, cells with w > 0 vs F+ ...
TH2F * fhFracNCellDiffSameW
! Cluster E vs fraction of n cells in diff over same T-Card, cells with w > 0
virtual ~AliAnaCaloExotics()
Virtual destructor. Not implemented.
Float_t fLowEnergyCutSM3Strip
SM3 strips low activity if energy above this value.
TH2F * fhAverSumEnCellsPerSMAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy / total cells number, LED rejected, per SM ...
TH3F * fhNSumEnCellsPerSMAcceptEvent[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, per SM, LED rejected
TH3F * fhNSumEnCellsPerSM[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, per SM
Int_t fEventNStripActiveSM[20]
Number of strips per event with multiple high energy cells per SM.
TH1F * fhNClusterPerEventExoticNCell
! N clusters with F+ > 0.97 and ncell > 1 and E > 5 GeV per event
TH2F * fhNCellsPerStripPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, per SM, accept event based on n strip ...
TH1F * fhNStripsPerEventSuspicious
! Number of active strips per event, accepted event but suspicious
TH2F * fhFracNCellsPerSMAcceptEvent[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV, LED rejected, per SM
TH2F * fhNCellsPerClusterSameFrac
! Cluster E vs fraction n cells in same T-Card as max E cell
TH3F * fhTrackMatchedDEtaDPhiNegExo
! Eta vs Phi distance between - track and cluster vs exoticity, E cluster > fEMinForExo and n cells >...
TH1F * fhSumEnCellsAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, LED rejected, based on n strip
TH1F * fhNCells[fgkNCellEnMinBins]
! For E cell > emin, count number of cells
TH2F * fhNStripsPerEventSuspiciousPerSM
! Number of active strips per event, accepted event but suspicious
void Init()
Check if the calorimeter setting is ok, if not abort.
const char Option_t
Definition: External.C:48
TH3F * fhFracEnNCellDiffSameExo
! Cluster E vs double fraction of energy/n cells in diff over same T-Card vs F+
Double_t GetTimeCutMax() const
TH1F * fhSumEnCellsPerStripAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, accept event based on n strip ...
TH3F * fhTimeDiffClusCellDiffTCardExo
! Difference of the time of cell with maximum dep energy and the rest of cells in different T-Card vs...
TH3F * fhTrackMatchedDPhiNegExo
! Phi distance between - track and cluster vs cluster E vs exoticity, n cells > 1 ...
void SetHighEnergyCutSM(Float_t e)
TH2F * fhExoSame5
! Cluster E vs 1 - E same & neighbor TCard / E max
TH3F * fhEOverPExo
! E/p for track-cluster matches vs exoticity, n cells > 1
TH2F * fhSumEnCellsPerStripPerSM[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, per SM
TH3F * fhCellExoGrid
! Cells ordered in column/row vs exoticity when amplitude > fEMinForExo
void SetLowEnergyCutSM3Strip(Float_t e)
TH2F * fhNCellsPerStripPerSMNHigh20[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, per SM, 1 cluster with n_cell_w>20, per SM
TH3F * fhNCellsPerClusterSameDiffTimeDiff
! Cluster E vs n cells in same vs different T-Card as max E cell, cells with t diff < 50 ns ...
void SetHighNCellsCutSM(Int_t n)
TH3F * fhNSumEnCellsPerStripPerSM[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip
TH1F * fhFracNCellDiffSameWEnCut
! Cluster E > 20, fraction of n cells in diff over same T-Card, cells with w > 0
TH2F * fhSumEnCellsPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy, per SM, LED rejected, based on n strip and SM activity ...
bool Bool_t
Definition: External.C:53
TH2F * fhCellExo50nsAmp
! Cell amplitude vs exoticity, tdiff < 50 ns
TH2F * fhNSumEnCellsAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, LED rejected, based on n strip
void SwitchOffFillExoticity50nsHisto()
TH3F * fhCellEnDiffExo
! Cluster E vs cell E in diff T-Card vs exoticity
TH1F * fhSumEnCellsPerStripAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, accept event based on n strip and SM activity ...
TH2F * fhNSumEnCellsAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy, LED rejected, based on n strip and SM activity ...
TH2F * fhExoDiff
! Cluster E vs 1 - E different TCard / E max
TH2F * fhNCellsPerClusterW
! Cluster energy vs N cells in cluster with w > 0
void SwitchOnFillFractionSameDiffCells()
TH2F * fhTimeEnergy1Cell
! Cluster Energy vs Time vs n cells = 1
TH3F * fhNSumEnCellsPerStripPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, N vs sum of cells energy in a strip, per SM, LED rejected, based on n strip ...
Float_t GetCellEMaxBinLimit()
TH2F * fhEventCutClusterEtaPhiGrid[4]
! Highest energy cell location in column-row map, for event selection criteria, non exotic...
TH2F * fhM02EnergyAllSameTCard
! Cluster M02 vs Energy, all cells in same T-Card, n diff = 0
TH1F * fhFracEnDiffSameWEnCut
! Cluster E > 20, fraction of energy in diff over same T-Card, cells with w > 0
TH3F * fhTimeDiffAmpClusCellExo
! Difference of the time of cell with maximum dep energy and the rest of cells vs secondary cell ener...
TH2F * fhCellEnSameColRowDiffExoCut[4][4]
! Cluster E vs cell E in same T-Card vs distance to max E cell, for exoticity > fExoCut ...
Float_t fEnergyBins[fgkNEBins]
Energy bins for some histograms.
TH3F * fhTimeDiffClusCellExo
! Difference of the time of cell with maximum dep energy and the rest of cells vs cluster energy vs e...
TH2F * fhCellEnSameColRowDiff[4][4]
! Cluster E vs cell E in same T-Card vs distance to max E cell, for exoticity < fExoCut ...
TH3F * fhEnSameDiffExo[fgkNEBins]
! Sum of E in same vs diff vs exoticity, different cluster E bins
TH2F * fhNCellsPerClusterDiff
! Cluster E vs n cells in different T-Card as max E cell
TH2F * fhSumEnCellsPerStripPerSMAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip, per SM, accept event based on n strip ...
TH3F * fhCellGridTimeHighNCell12
! Cells ordered in column/row vs cluster time when at least 1 cluster n cellsW > 12 ...
TH1F * fhNCellsAcceptEventStrip[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, LED rejected, based on n strip
TH2F * fhNCellsPerSMAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, per SM, LED rejected, based on n strip and SM activity ...
Int_t fEventNStripActive
Number of strips per event with multiple high energy cells.
TH1F * fhNCellsPerStripAcceptEventBoth[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, accept event based on n strip and SM activity ...
TH2F * fhEOverP1Cell
! E/p for track-cluster matches, n cells = 1
TLorentzVector fClusterMomentum
! Cluster momentum, temporary container
Float_t fCellEnMax
Energy maximum for some histograms for cells.
Int_t fEventMaxNumberOfStrips
Cut on events on number of too active strips.
TH1F * fhFracEnDiffSameEnCut
! Cluster E > 20, fraction of energy in diff over same T-Card
TH3F * fhNCellsPerClusterSameFracExo
! Cluster E vs fraction n cells in same T-Card as max E cell vs exoticity
static const Int_t fgkNCellEnMinBinsFr
TH2F * fh2NClusterPerEventExotic
! N clusters total vs with F+ > 0.97 and E > 5 GeV per event
TH3F * fhTimeEnergyExoW
! Cluster Energy vs Time vs Weighted Exoticity, n cells > 1
TH2F * fhTrackMatchedDEtaDPhiNeg1Cell
! Eta vs Phi distance between - track and cluster, E cluster > fEMinForExo and n cells = 1 ...
TH1F * fhNCellsPerStripNHigh20[fgkNCellEnMinBins]
! For E cell > emin, count number of cells in a strip, 1 cluster with n_cell_w>20, per SM
TH2F * fhExoticityEClusAllSameTCardW
! Exoticity vs energy, all cells in same T-Card, n diff_w =0
TH1F * fhFracNCellsNHigh20[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV, 1 cluster with n_cell_w>20
void SwitchOnFillAllCellEventHisto(Int_t opt=1)
TH3F * fhCellExoAmpTime
! Cell amplitude vs time vs exoticity
TH3F * fhTrackMatchedDEtaNegExo
! Eta distance between - track and cluster vs cluster E vs exoticity, n cells > 1 ...
void ClusterHistogramsAfterEventCut(const TObjArray *clusters, AliVCaloCells *cells)
TH2F * fhNCellsPerSMEventSuspicious
! For E cell > emin, count number of cells, per SM
TH2F * fhExoticityEClusTrackMatch
! Exoticity vs cluster energy, track matched
Int_t fLowNCellsCutSM3
SM3 low activity if n cells above this value.
TH3F * fhEtaPhiGridExoEnCutSameFracCutW
! column vs row vs exoticity when E > fEMinForExo and n cells > 1 and n diff_w = 0 ...
TObjString * GetAnalysisCuts()
Save parameters used for analysis in a string.
TH1F * fhSumEnCells[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy
TH1F * fhSumEnCellsPerStrip[fgkNCellEnMinBins]
! For E cell > emin, sum of cells energy in a strip
TH1F * fhNCellsNHigh20[fgkNCellEnMinBins]
! For E cell > emin, count number of cells, 1 cluster with n_cell_w>20
void SwitchOffFillAllSameTCardHisto()
TH2F * fhFracNCellsPerSM[fgkNCellEnMinBinsFr]
! total number of cells with E > emin over 0.5 GeV, per SM
TH3F * fhCellEnNCellWEMaxOpenTime
! Cluster cell max E vs cell E vs n cells with w > 0, no time cut