AliPhysics  8417398 (8417398)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnaPhoton.h
Go to the documentation of this file.
1 #ifndef ALIANAPHOTON_H
2 #define ALIANAPHOTON_H
3 
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 //_________________________________________________________________________
22 
23 // --- ROOT system ---
24 class TH2F ;
25 class TH1F;
26 class TObjString;
27 class TList ;
28 
29 // --- ANALYSIS system ---
31 
33 
34  public:
35 
36  AliAnaPhoton() ;
37 
39  virtual ~AliAnaPhoton() { ; }
40 
41  //---------------------------------------
42  // General analysis frame methods
43  //---------------------------------------
44 
45  TObjString * GetAnalysisCuts();
46 
47  TList * GetCreateOutputObjects();
48 
49  void Init();
50 
51  void InitParameters();
52 
53  void MakeAnalysisFillAOD() ;
54 
56 
57  void Print(const Option_t * opt)const;
58 
59 
60  // Analysis methods
61 
62  Bool_t ClusterSelected(AliVCluster* cl, Int_t nlm) ;
63 
65 
66  void FillShowerShapeHistograms( AliVCluster* cluster, Int_t mcTag,
67  Float_t maxCellEFraction, Int_t & largeTimeInside) ;
68 
71 
74 
77 
80 
81  void FillTrackMatchingResidualHistograms(AliVCluster* calo, Int_t cut);
82 
83  void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
84  void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
85 
86  void FillPileUpHistograms(AliVCluster* cluster, AliVCaloCells *cells, Int_t absIdMax) ;
87 
88  void SetConstantTimeShift(Float_t shift) { fConstantTimeShift = shift ; }
89 
90  // Analysis parameters setters getters
91 
92  // ** Cluster selection methods **
93 
94  void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
95  fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3; }
96 
97  void SetTimeCut(Double_t min, Double_t max) { fTimeCutMin = min;
98  fTimeCutMax = max ; }
99  Double_t GetTimeCutMin() const { return fTimeCutMin ; }
100  Double_t GetTimeCutMax() const { return fTimeCutMax ; }
101 
102  void SetNCellCut(Int_t n) { fNCellsCut = n ; }
103  Double_t GetNCellCut() const { return fNCellsCut ; }
104 
105  void SetNLMCut(Int_t min, Int_t max) { fNLMCutMin = min;
106  fNLMCutMax = max ; }
107  Int_t GetNLMCutMin() const { return fNLMCutMin ; }
108  Int_t GetNLMCutMax() const { return fNLMCutMax ; }
109 
110  Bool_t IsTrackMatchRejectionOn() const { return fRejectTrackMatch ; }
113 
118 
121  kmcPi0 = 4, kmcEta = 5, kmcElectron = 6,
123  kmcAntiProton = 10, kmcNeutron = 11, kmcProton = 12, kmcChPion = 13,
125  kmcISR = 16, kmcString = 17 };
126 
128  static const Int_t fgkNmcTypes = 18;
129 
133 
135  static const Int_t fgkNmcPrimTypes = 7;
136 
138  enum mcssTypes { kmcssPhoton = 0, kmcssOther = 1, kmcssPi0 = 2,
140 
142  static const Int_t fgkNssTypes = 6 ;
143 
144  private:
145 
146  Float_t fMinDist ;
147  Float_t fMinDist2;
148  Float_t fMinDist3;
149 
151 
152  Bool_t fFillTMHisto;
153 
154  Double_t fTimeCutMin ;
155  Double_t fTimeCutMax ;
156 
157  Int_t fNCellsCut ;
158 
159  Int_t fNLMCutMin ;
160  Int_t fNLMCutMax ;
161 
163 
165 
167 
169 
172 
173  TLorentzVector fMomentum;
174  TLorentzVector fPrimaryMom;
175  TVector3 fProdVertex;
176 
178 
179  //
180  // Histograms
181  //
182 
183  TH1F * fhClusterCutsE [10];
184  TH1F * fhClusterCutsPt[10];
185  TH2F * fhNCellsE;
186  TH2F * fhCellsE;
188  TH2F * fhTimePt;
189  TH2F * fhEtaPhi ;
190 
191  TH1F * fhEPhoton ;
192  TH1F * fhPtPhoton ;
193  TH2F * fhPhiPhoton ;
194  TH2F * fhEtaPhoton ;
195  TH2F * fhEtaPhiPhoton ;
197 
200 
201  // Shower shape
202  TH2F * fhNLocMax;
203 
204  TH2F * fhDispE;
205  TH2F * fhLam0E;
206  TH2F * fhLam0Pt;
207  TH2F * fhLam1E;
208 
209  TH2F * fhDispETRD;
210  TH2F * fhLam0ETRD;
211  TH2F * fhLam0PtTRD;
212  TH2F * fhLam1ETRD;
213 
214  TH2F * fhDispETM;
215  TH2F * fhLam0ETM;
216  TH2F * fhLam0PtTM;
217  TH2F * fhLam1ETM;
218 
219  TH2F * fhDispETMTRD;
220  TH2F * fhLam0ETMTRD;
221  TH2F * fhLam0PtTMTRD;
222  TH2F * fhLam1ETMTRD;
223 
230 
231  TH2F * fhEtaLam0LowE;
232  TH2F * fhPhiLam0LowE;
233  TH2F * fhEtaLam0HighE;
234  TH2F * fhPhiLam0HighE;
235  TH2F * fhLam0DispLowE;
237  TH2F * fhLam1Lam0LowE;
239  TH2F * fhDispLam1LowE;
241 
242  TH2F * fhDispEtaE ;
243  TH2F * fhDispPhiE ;
244  TH2F * fhSumEtaE ;
245  TH2F * fhSumPhiE ;
246  TH2F * fhSumEtaPhiE ;
248  TH2F * fhSphericityE ;
251  TH2F * fhDispEtaDispPhi[7] ;
252  TH2F * fhLambda0DispEta[7] ;
253  TH2F * fhLambda0DispPhi[7] ;
254 
255  // Fill MC dependent histograms, Origin of this cluster is ...
256 
259  TH2F * fhMC2E [fgkNmcTypes];
260  TH2F * fhMC2Pt [fgkNmcTypes];
261 
262  TH1F * fhMCE [fgkNmcTypes];
263  TH1F * fhMCPt [fgkNmcTypes];
266 
272 
278 
279  // Shower Shape MC
280 
285 
289 
298 
307 
308  //Embedding
310 
315 
320 
321  // Track Matching
322 
323  TH2F * fhTrackMatchedDEta[2] ;
324  TH2F * fhTrackMatchedDPhi[2] ;
326 
330 
334 
337 
344 
346  TH2F * fhdEdx[2];
347  TH2F * fhEOverP[2];
348  TH2F * fhEOverPTRD[2];
349 
350  // Pile-up
351 
352  TH1F * fhPtPhotonPileUp[7];
358 
365 
366  TH2F * fhEClusterSM ;
367  TH2F * fhEPhotonSM ;
368  TH2F * fhPtClusterSM;
369  TH2F * fhPtPhotonSM ;
370 
377 
378 //TH2F * fhLam0EMCALRegion [4][3]; //!<! Cluster lambda0 vs E, in different EMCal regions
379 //TH2F * fhLam0EMCALRegionTRD[4][3]; //!<! Cluster lambda0 vs E, in different EMCal regions, SM covered by TRD
380 //TH2F * fhLam0EMCALRegionMCConvRcut [4][3][6]; //!<! Cluster lambda0 vs E, in different EMCal regions, MC photon conversions, depending on conversion vertex
381 //TH2F * fhLam0EMCALRegionTRDMCConvRcut[4][3][6]; //!<! Cluster lambda0 vs E, in different EMCal regions, SM covered by TRD, MC photon conversions, depending on conversion vertex
382 
383  TH2F * fhLam0EMCALRegionPerSM[4][3][20];
384  TH2F * fhLam1EMCALRegionPerSM[4][3][20];
385 
386  //
387  // Clusters within a shower shape bin, 2 bins [0.23,0.26] (photon) and [0.3,0.4] (tail), if cell weight > 0
388  //
389  TH2F * fhLam1Lam0BinPerSM [2][20];
390  TH2F * fhTimeLam0BinPerSM [2][20];
391  TH2F * fhTimeLam0BinPerSMWeighted [2][20];
392  TH2F * fhDTimeLam0BinPerSM [2][20];
395 //TH2F * fhCellClusterEFracLam0BinPerSMWeighted[2][20]; //!<! Cell E / Cluster E vs cluster pT, not maximum cluster cell, in a l0 bin per SM, log weight
396  TH2F * fhCellClusterELam0BinPerSM [2][20];
398 
399  // plus different Pt bins 2-3,3-4,4-5,5-6,6-8,8-10,10-12
400  TH2F * fhEtaPhiLam0BinPtBin [2][7] ;
401  TH2F * fhColRowLam0BinPtBin [2][7] ;
403  TH2F * fhCellClusterIndexEAndTime [2][7] ;
404  TH2F * fhCellClusterEAndTime [2][7] ;
405  TH2F * fhCellClusterEFracAndTime [2][7] ;
406 
407 // // Shared clusters
408 // TH2F * fhLam0PerSMShared [12] ; //!<! Cluster lambda0 vs Pt, for shared clusters, EMCal
409 // TH2F * fhLam1PerSMShared [12] ; //!<! Cluster lambda1 vs Pt, for shared clusters, EMCal
410 // TH2F * fhTimeLam0BinPerSMShared [2][12] ; //!<! Cell time, not maximum cluster cell, in a l0 bin per SM, shared SM
411 //
412 // TH2F * fhEtaPhiLam0BinPtBinSMShared [2][7] ; //!<! Cluster eta/phi in a l0 bin, different Pt bins, SM shared clusters
413 // TH2F * fhColRowLam0BinPtBinSMShared [2][7] ; //!<! Cell hits, not maximum cluster cell, in a l0 bin, different Pt bins
414 
415  // Cells with large time
423 
424  TH2F * fhLam0PerSM [20] ;
425  TH2F * fhLam1PerSM [20] ;
430 //TH2F * fhLam0PerSMSPDPileUp [20] ; //!<! Cluster lambda0 vs Pt, when event tagged as pile-up by SPD, in different SM
431 //TH2F * fhLam1PerSMSPDPileUp [20] ; //!<! Cluster lambda0 vs Pt, when event tagged as pile-up by SPD, in different SM
432 
434  AliAnaPhoton( const AliAnaPhoton & g) ;
435 
437  AliAnaPhoton & operator = (const AliAnaPhoton & g) ;
438 
440  ClassDef(AliAnaPhoton,43) ;
442 
443 } ;
444 
445 #endif//ALIANAPHOTON_H
446 
447 
448 
Bool_t fFillOnlySimpleSSHisto
Fill selected cluster histograms, selected SS histograms.
Definition: AliAnaPhoton.h:168
TH2F * fhLam1ETMTRD
! Cluster lambda1 vs E, SM covered by TRD, cut on Track Matching residual
Definition: AliAnaPhoton.h:222
TH1F * fhClusterCutsE[10]
! control histogram on the different photon selection cuts, E
Definition: AliAnaPhoton.h:183
TH2F * fhPhiLam0LowE
! Cluster phi vs lambda0, E<2
Definition: AliAnaPhoton.h:232
TH2F * fhNCellsLam1HighE
! number of cells in cluster vs lambda1, E>2
Definition: AliAnaPhoton.h:228
TH2F * fhLam1Lam0HighE
! Cluster lambda1 vs lambda0, E>2
Definition: AliAnaPhoton.h:238
TH2F * fhTrackMatchedDEtaTRD[2]
! Eta distance between track and cluster vs cluster E, after and before photon cuts, behind TRD
Definition: AliAnaPhoton.h:335
Double_t GetTimeCutMax() const
Definition: AliAnaPhoton.h:100
TH1F * fhMCPt[fgkNmcTypes]
! Number of identified photon vs cluster pT coming from MC particle
Definition: AliAnaPhoton.h:263
TH2F * fhTrackMatchedDEtaDPhiNeg[2]
! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before photon cuts ...
Definition: AliAnaPhoton.h:333
Int_t fNCellsCut
Accept for the analysis clusters with more than fNCellsCut cells.
Definition: AliAnaPhoton.h:157
TH2F * fhEmbedPi0ELambda0FullBkg
! Lambda0 vs E for embedded photons with less than 10% of the cluster energy
Definition: AliAnaPhoton.h:319
TH2F * fhDispE
! Cluster dispersion vs E
Definition: AliAnaPhoton.h:204
TH2F * fhMCEta[fgkNmcTypes]
! eta of identified photon coming from MC particle
Definition: AliAnaPhoton.h:265
Int_t fNLMCutMax
Remove clusters/cells with number of local maxima larger than this value.
Definition: AliAnaPhoton.h:160
TH2F * fhMCNCellsE[fgkNssTypes]
! NCells per cluster vs energy
Definition: AliAnaPhoton.h:296
TH2F * fhDTimeLam0BinPerSMWeighted[2][20]
! t_max-t_cell, not maximum cluster cell, in a l0 bin per SM, log weight Cell E / Cluster E ...
Definition: AliAnaPhoton.h:393
TH2F * fhDispEtaDispPhi[7]
! shower dispersion in eta direction vs phi direction for 5 E bins [0-2],[2-4],[4-6],[6-10],[> 10]
Definition: AliAnaPhoton.h:251
TH2F * fhCellClusterEFracAndTime[2][7]
! Cell in Cluster E cell/ E cluster vs cell Time, in a l0 bin, different Pt bins
Definition: AliAnaPhoton.h:405
Int_t fNLMCutMin
Remove clusters/cells with number of local maxima smaller than this value.
Definition: AliAnaPhoton.h:159
TH2F * fhLam1ETRD
! Cluster lambda1 vs E, SM covered by TRD
Definition: AliAnaPhoton.h:212
TH2F * fhEClusterSM
! Cluster E distribution per SM, before any selection, after reader
Definition: AliAnaPhoton.h:366
TH2F * fhMaxCellDiffClusterE
! Fraction of energy carried by cell with maximum energy
Definition: AliAnaPhoton.h:187
TH2F * fhPtClusterSM
! Cluster E distribution per SM, before any selection, after reader
Definition: AliAnaPhoton.h:368
TH2F * fhDispETRD
! Cluster dispersion vs E, SM covered by TRD
Definition: AliAnaPhoton.h:209
mcTypes
For MC histograms in arrays, index in the array corresponds to a MC originating particle type...
Definition: AliAnaPhoton.h:120
TH2F * fhLam1PerNLargeTimeInClusterCell[5]
! Cluster lambda1 vs Pt, when any secondary cell has t > 50 ns, per number of large time secondary ce...
Definition: AliAnaPhoton.h:429
TH2F * fhTrackMatchedDEtaDPhiPos[2]
! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before ...
Definition: AliAnaPhoton.h:329
TH2F * fhLam0PerNLargeTimeInClusterCell[5]
! Cluster lambda0 vs Pt, when any secondary cell has t > 50 ns, per number of large time secondary ce...
Definition: AliAnaPhoton.h:428
TH2F * fhMCPtLambda0[fgkNssTypes]
! pT vs Lambda0 from MC particle
Definition: AliAnaPhoton.h:282
TH2F * fhNCellsLam1LowE
! number of cells in cluster vs lambda1
Definition: AliAnaPhoton.h:225
Bool_t fFillTMHisto
Fill track matching plots.
Definition: AliAnaPhoton.h:152
TH2F * fhPtPhotonNPileUpSPDVtx
! photon pt vs number of spd pile-up vertices
Definition: AliAnaPhoton.h:359
void SwitchOnTrackMatchRejection()
Definition: AliAnaPhoton.h:111
TH2F * fhPtPhotonNPileUpTrkVtx
! photon pt vs number of track pile-up vertices
Definition: AliAnaPhoton.h:360
void SwitchOnTMHistoFill()
Definition: AliAnaPhoton.h:83
TH2F * fhNCellsDispLowE
! number of cells in cluster vs dispersion
Definition: AliAnaPhoton.h:226
TH2F * fhTrackMatchedDEtaPos[2]
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:327
TH2F * fhSphericityE
! shower sphericity in eta vs phi
Definition: AliAnaPhoton.h:248
TH2F * fhDispEtaE
! shower dispersion in eta direction
Definition: AliAnaPhoton.h:242
TH2F * fhPtPhotonNPileUpTrkVtxTimeCut
! photon pt vs number of track pile-up vertices, time cut +- 25 ns
Definition: AliAnaPhoton.h:362
TH2F * fhEtaPrimMC[fgkNmcPrimTypes]
! Eta of generated photon
Definition: AliAnaPhoton.h:271
Int_t GetNLMCutMin() const
Definition: AliAnaPhoton.h:107
TH2F * fhPtPhotonSM
! photon-like cluster E distribution per SM
Definition: AliAnaPhoton.h:369
virtual ~AliAnaPhoton()
Virtual destructor, not implemented.
Definition: AliAnaPhoton.h:39
Bool_t fFillEMCALRegionSSHistograms
Fill shower shape histograms in EMCal slices.
Definition: AliAnaPhoton.h:164
TH2F * fhTrackMatchedDPhiTRD[2]
! Phi distance between track and cluster vs cluster E, after and before photon cuts, behind TRD
Definition: AliAnaPhoton.h:336
Float_t fMinDist2
Cuts on Minimal distance to study acceptance evaluation.
Definition: AliAnaPhoton.h:147
TH1F * fhPtPhotonPileUp[7]
! pT distribution of selected photons
Definition: AliAnaPhoton.h:352
TH1F * fhPtPhoton
! Number of identified photon vs transerse momentum
Definition: AliAnaPhoton.h:192
void FillNPrimaryHistograms(Int_t n)
Definition: AliAnaPhoton.h:116
Bool_t fRejectTrackMatch
If PID on, reject clusters which have an associated TPC track.
Definition: AliAnaPhoton.h:150
void MakeAnalysisFillAOD()
TH2F * fhTrackMatchedDPhiMCNoOverlap[2]
! Phi distance between track and cluster vs cluster E, not other particle overlap, after and before photon cuts
Definition: AliAnaPhoton.h:341
TH2F * fhPtEventPlanePhoton
! event plane vs photon pT
Definition: AliAnaPhoton.h:199
TH2F * fhLam0PtTRD
! Cluster lambda0 vs pT, SM covered by TRD
Definition: AliAnaPhoton.h:211
TH2F * fhMCConversionVertex
! Conversion distance for photon clusters that have at least a contributor from the conversion...
Definition: AliAnaPhoton.h:371
TH2F * fhEmbedPi0ELambda0FullSignal
! Lambda0 vs E for embedded photons with more than 90% of the cluster energy
Definition: AliAnaPhoton.h:316
TH2F * fhEmbedPi0ELambda0MostlyBkg
! Lambda0 vs E for embedded photons with 50%<fraction<10%
Definition: AliAnaPhoton.h:318
TH2F * fhMCESphericity[fgkNssTypes]
! shower sphericity, eta vs phi
Definition: AliAnaPhoton.h:303
TH2F * fhEtaPhiLargeTimeInClusterCell[2][7]
! Cluster eta/phi, with at least one significant cell with large time
Definition: AliAnaPhoton.h:416
TH2F * fhMC2Pt[fgkNmcTypes]
! pT distribution, Reco vs MC coming from MC particle
Definition: AliAnaPhoton.h:260
TH2F * fhEtaPhiPhoton
! Pseudorapidity vs Phi of identified photon for E > 0.5
Definition: AliAnaPhoton.h:195
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3)
Definition: AliAnaPhoton.h:94
TH2F * fhPhiPhoton
! Azimuthal angle of identified photon vs transerse momentum
Definition: AliAnaPhoton.h:193
TH2F * fhYPrimMC[fgkNmcPrimTypes]
! Rapidity of generated photon
Definition: AliAnaPhoton.h:270
TH2F * fhTrackMatchedDEtaDPhi[2]
! Eta vs Phi distance between track and cluster, E cluster > 0.5 GeV, after and before ...
Definition: AliAnaPhoton.h:325
void FillAcceptanceHistograms()
void SwitchOffTMHistoFill()
Definition: AliAnaPhoton.h:84
TH2F * fhSumEtaE
! shower dispersion in eta direction
Definition: AliAnaPhoton.h:244
TH2F * fhMCEDispEtaPhiDiff[fgkNssTypes]
! shower dispersion in eta -phi direction
Definition: AliAnaPhoton.h:302
void SwitchOffFillShowerShapeHistograms()
Definition: AliAnaPhoton.h:70
TH2F * fhColRowLam0BinPtBin[2][7]
! Cell hits, not maximum cluster cell, in a l0 bin, different Pt bins
Definition: AliAnaPhoton.h:401
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
TH2F * fhCellClusterELam0BinPerSM[2][20]
! Cell E vs cluster pT, not maximum cluster cell, in a l0 bin per SM
Definition: AliAnaPhoton.h:396
TH2F * fhEtaLam0LowE
! Cluster eta vs lambda0, E<2
Definition: AliAnaPhoton.h:231
TH2F * fhPtPhotonNPileUpSPDVtxTimeCut
! photon pt vs number of spd pile-up vertices, time cut +-25 ns
Definition: AliAnaPhoton.h:361
TH2F * fhMCConversionVertexTRD
! Conversion distance for photon clusters that have at least a contributor from the conversion...
Definition: AliAnaPhoton.h:372
Bool_t fFillSSHistograms
Fill shower shape histograms.
Definition: AliAnaPhoton.h:162
TH2F * fhdEdx[2]
! Matched track dEdx vs cluster E, after and before photon cuts
Definition: AliAnaPhoton.h:346
TH2F * fhLam0ETRD
! Cluster lambda0 vs E, SM covered by TRD
Definition: AliAnaPhoton.h:210
void SetNCellCut(Int_t n)
Definition: AliAnaPhoton.h:102
TH2F * fhDispETM
! Cluster dispersion vs E, cut on Track Matching residual
Definition: AliAnaPhoton.h:214
TH2F * fhEmbedPhotonELambda0FullSignal
! Lambda0 vs E for embedded photons with more than 90% of the cluster energy
Definition: AliAnaPhoton.h:311
TH2F * fhEtaPhoton
! Pseudorapidity of identified photon vs transerse momentum
Definition: AliAnaPhoton.h:194
TH2F * fhDispSumEtaDiffE
! difference of 2 eta dispersions
Definition: AliAnaPhoton.h:249
TH2F * fhTimePtPhotonSPD
! Time of photon cluster vs Pt, IsSPDPileUp
Definition: AliAnaPhoton.h:355
TH2F * fhMCDispEtaDispPhi[7][fgkNssTypes]
! shower dispersion in eta direction vs phi direction for 5 E bins [0-2],[2-4],[4-6],[6-10],[> 10]
Definition: AliAnaPhoton.h:304
TH2F * fhLam0EMCALRegionPerSM[4][3][20]
! Cluster lambda0 vs Pt, in different EMCal regions
Definition: AliAnaPhoton.h:383
void InitParameters()
Initialize the parameters of the analysis.
TH1F * fhPtPrimMC[fgkNmcPrimTypes]
! Number of generated photon vs pT
Definition: AliAnaPhoton.h:268
TH2F * fhNCellsE
! number of cells in cluster vs E
Definition: AliAnaPhoton.h:185
void SwitchOffOnlySimpleHistoFill()
Definition: AliAnaPhoton.h:79
TH2F * fhTimePt
! Time of photon cluster vs pt
Definition: AliAnaPhoton.h:188
TH2F * fhEtaPhi
! Pseudorapidity vs Phi of clusters for E > 0.5
Definition: AliAnaPhoton.h:189
TH2F * fhMCLambda0DispPhi[7][fgkNssTypes]
! shower shape correlation l0 vs disp phi
Definition: AliAnaPhoton.h:306
void SwitchOffFillConversionVertexHistograms()
Definition: AliAnaPhoton.h:76
TH2F * fhLam0PerSMLargeTimeInClusterCell[20]
! Cluster lambda0 vs Pt, when any secondary cell has t > 50 ns, in different SM
Definition: AliAnaPhoton.h:426
TH2F * fhCellClusterEAndTime[2][7]
! Cell in Cluster E cell vs cell Time, in a l0 bin, different Pt bins
Definition: AliAnaPhoton.h:404
TH2F * fhNCellsWithLargeTimeInCluster[2][20]
! Number of cells in cluster with large time
Definition: AliAnaPhoton.h:422
TH2F * fhEPhotonSM
! photon-like cluster E distribution per SM
Definition: AliAnaPhoton.h:367
TH2F * fhEOverPTRD[2]
! Matched track E cluster over P track vs cluster E, after dEdx cut, after and before photon cuts...
Definition: AliAnaPhoton.h:348
TH2F * fhMCELambda0[fgkNssTypes]
! E vs Lambda0 from MC particle
Definition: AliAnaPhoton.h:281
TH2F * fhTrackMatchedDPhiNeg[2]
! Phi distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:332
void MakeAnalysisFillHistograms()
TH2F * fhMCELambda1[fgkNssTypes]
! E vs Lambda1 from MC particle
Definition: AliAnaPhoton.h:283
TH2F * fhLambda0DispPhi[7]
! shower shape correlation l0 vs disp phi
Definition: AliAnaPhoton.h:253
TH2F * fhLambda0DispEta[7]
! shower shape correlation l0 vs disp eta
Definition: AliAnaPhoton.h:252
Base class for CaloTrackCorr analysis algorithms.
void SwitchOffTrackMatchRejection()
Definition: AliAnaPhoton.h:112
TH2F * fhCellClusterEFracLam0BinPerSMLargeTime[2][20]
! Cell in Cluster E cell / Ecluster vs cluster pT, with large time
Definition: AliAnaPhoton.h:418
Int_t fNOriginHistograms
Fill only NOriginHistograms of the 14 defined types.
Definition: AliAnaPhoton.h:170
static const Int_t fgkNmcPrimTypes
Total number of MC primary histograms.
Definition: AliAnaPhoton.h:135
TH2F * fhCellClusterEFracLam0BinPerSMLargeTimeTotal[2][20]
! Sum of all Cell in Cluster , with large time E cell / Ecluster vs cluster pT
Definition: AliAnaPhoton.h:419
Double_t GetTimeCutMin() const
Definition: AliAnaPhoton.h:99
TH2F * fhTimePtPhotonNoCut
! Time of photon cluster vs Pt, no cut
Definition: AliAnaPhoton.h:354
TH2F * fhPtPhotonNPileUpSPDVtxTimeCut2
! photon pt vs number of spd pile-up vertices, time cut +-75 ns
Definition: AliAnaPhoton.h:363
TH2F * fhEOverP[2]
! Matched track E cluster over P track vs cluster E, after dEdx cut, after and before photon cuts ...
Definition: AliAnaPhoton.h:347
TH2F * fhTrackMatchedDEta[2]
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:323
TH1F * fhEPrimMC[fgkNmcPrimTypes]
! Number of generated photon vs energy
Definition: AliAnaPhoton.h:267
TH2F * fhCellsE
! energy of cells in cluster vs E of cluster
Definition: AliAnaPhoton.h:186
TH2F * fhDispETMTRD
! Cluster dispersion vs E, SM covered by TRD, cut on Track Matching residual
Definition: AliAnaPhoton.h:219
TH2F * fhPhiPrimMC[fgkNmcPrimTypes]
! Phi of generted photon
Definition: AliAnaPhoton.h:269
void SwitchOnFillEMCALRegionSSHistograms()
Definition: AliAnaPhoton.h:72
TH2F * fhLam1ETM
! Cluster lambda1 vs E, cut on Track Matching residual
Definition: AliAnaPhoton.h:217
mcPTypes
For MC histograms in arrays, index in the array corresponds to a MC generated primary particle type...
Definition: AliAnaPhoton.h:131
Filter EMCal/PHOS clusters for photon analysis.
Definition: AliAnaPhoton.h:32
TH2F * fhLam1PerSM[20]
! Cluster lambda0 vs Pt, in different SM
Definition: AliAnaPhoton.h:425
TH2F * fhEtaPhi05Photon
! Pseudorapidity vs Phi of identified photon for E < 0.5
Definition: AliAnaPhoton.h:196
TH2F * fhDispSumPhiDiffE
! difference of 2 phi dispersions
Definition: AliAnaPhoton.h:250
void FillShowerShapeHistograms(AliVCluster *cluster, Int_t mcTag, Float_t maxCellEFraction, Int_t &largeTimeInside)
Fill cluster Shower Shape histograms.
TH2F * fhNCellsLam0HighE
! number of cells in cluster vs lambda0, E>2
Definition: AliAnaPhoton.h:227
TList * GetCreateOutputObjects()
TH2F * fhMCLambda0DispEta[7][fgkNssTypes]
! shower shape correlation l0 vs disp eta
Definition: AliAnaPhoton.h:305
TH2F * fhMCNCellsvsClusterMaxCellDiffE6[fgkNssTypes]
! NCells vs fraction of energy of max cell for E > 6
Definition: AliAnaPhoton.h:295
TH2F * fhCellClusterELam0BinPerSMLargeTime[2][20]
! Cell in Cluster E cell vs cluster pT, with large time
Definition: AliAnaPhoton.h:420
TH2F * fhLam1PerSMLargeTimeInClusterCell[20]
! Cluster lambda1 vs Pt, when any secondary cell has t > 50 ns, in different SM
Definition: AliAnaPhoton.h:427
Float_t fMinDist3
One more cut on distance used for acceptance-efficiency study.
Definition: AliAnaPhoton.h:148
TH2F * fhMCPhotonELambda0TwoOverlap
! E vs Lambda0 from MC photons, 2 particles overlap
Definition: AliAnaPhoton.h:287
TH2F * fhMCConversionLambda1RcutTRD[6]
! Shower shape M20 of photon conversions, depending on conversion vertex, SM covered by TRD ...
Definition: AliAnaPhoton.h:376
TH2F * fhMCPhotonELambda0NOverlap
! E vs Lambda0 from MC photons, N particles overlap
Definition: AliAnaPhoton.h:288
TH1F * fhClusterCutsPt[10]
! control histogram on the different photon selection cuts, pT
Definition: AliAnaPhoton.h:184
Float_t fMinDist
Minimal distance to bad channel to accept cluster.
Definition: AliAnaPhoton.h:146
TH2F * fhTrackMatchedMCParticle[2]
! Trace origin of matched particle
Definition: AliAnaPhoton.h:345
void SetTimeCut(Double_t min, Double_t max)
Definition: AliAnaPhoton.h:97
TH2F * fhMCMaxCellDiffClusterE[fgkNssTypes]
! Fraction of energy carried by cell with maximum energy
Definition: AliAnaPhoton.h:297
TH2F * fhMC2E[fgkNmcTypes]
! E distribution, Reco vs MC coming from MC particle
Definition: AliAnaPhoton.h:259
TH2F * fhCellClusterEFracLam0BinPerSM[2][20]
! Cell E / Cluster E vs cluster pT, not maximum cluster cell, in a l0 bin per SM
Definition: AliAnaPhoton.h:394
Float_t fConstantTimeShift
Apply a 600 ns time shift in case of simulation, shift in ns.
Definition: AliAnaPhoton.h:177
TH2F * fhEmbedPhotonELambda0MostlySignal
! Lambda0 vs E for embedded photons with 90%<fraction<50%
Definition: AliAnaPhoton.h:312
Int_t fNPrimaryHistograms
Fill only NPrimaryHistograms of the 7 defined types.
Definition: AliAnaPhoton.h:171
void FillPileUpHistograms(AliVCluster *cluster, AliVCaloCells *cells, Int_t absIdMax)
Fill some histograms to understand effect of pile-up.
TH2F * fhMCNCellsvsClusterMaxCellDiffE2[fgkNssTypes]
! NCells vs fraction of energy of max cell for 2 < E < 6 GeV
Definition: AliAnaPhoton.h:294
TH2F * fhNCellsDispHighE
! number of cells in cluster vs dispersion, E>2
Definition: AliAnaPhoton.h:229
Int_t GetNLMCutMax() const
Definition: AliAnaPhoton.h:108
TH2F * fhEmbeddedSignalFractionEnergy
! Fraction of photon energy of embedded signal vs cluster energy
Definition: AliAnaPhoton.h:309
TH1F * fhEPhoton
! Number of identified photon vs energy
Definition: AliAnaPhoton.h:191
TH2F * fhTrackMatchedDEtaMCConversion[2]
! Eta distance between track and cluster vs cluster E, originated in conversion, after and before pho...
Definition: AliAnaPhoton.h:342
TH2F * fhLam0ETMTRD
! Cluster lambda0 vs E, SM covered by TRD, cut on Track Matching residual
Definition: AliAnaPhoton.h:220
TH2F * fhLam0DispLowE
! Cluster lambda0 vs dispersion, E<2
Definition: AliAnaPhoton.h:235
Double_t fTimeCutMax
Remove clusters/cells with time larger than this value, in ns.
Definition: AliAnaPhoton.h:155
TH2F * fhTrackMatchedDPhiMCConversion[2]
! Phi distance between track and cluster vs cluster E, originated in conversion, after and before pho...
Definition: AliAnaPhoton.h:343
TH1F * fhMCE[fgkNmcTypes]
! Number of identified photon vs cluster energy coming from MC particle
Definition: AliAnaPhoton.h:262
TH2F * fhCellClusterIndexEAndTime[2][7]
! Cell in Cluster index (low index high energy, high index low energy) vs cell Time ...
Definition: AliAnaPhoton.h:403
TH2F * fhColRowLam0BinPtBinLargeTime[2][7]
! Cell hits, not maximum cluster cell, in a l0 bin, different Pt bins, cell with large time ...
Definition: AliAnaPhoton.h:417
TH2F * fhDispLam1LowE
! Cluster disp vs lambda1, E<2
Definition: AliAnaPhoton.h:239
TH2F * fhMCEDispEta[fgkNssTypes]
! shower dispersion in eta direction
Definition: AliAnaPhoton.h:299
TH1F * fhPtPrimMCAcc[fgkNmcPrimTypes]
! Number of generated photon vs pT, in calorimeter acceptance
Definition: AliAnaPhoton.h:274
mcssTypes
For MC histograms with shower shape in arrays, index in the array corresponds to a MC originating par...
Definition: AliAnaPhoton.h:138
TH2F * fhLam0E
! Cluster lambda0 vs E
Definition: AliAnaPhoton.h:205
TH2F * fhLam0PtTMTRD
! Cluster lambda0 vs pT, SM covered by TRD, cut on Track Matching residual
Definition: AliAnaPhoton.h:221
Double_t fTimeCutMin
Remove clusters/cells with time smaller than this value, in ns.
Definition: AliAnaPhoton.h:154
static const Int_t fgkNssTypes
Total number of MC histograms for shower shape studies.
Definition: AliAnaPhoton.h:142
AliAnaPhoton & operator=(const AliAnaPhoton &g)
Assignment operator not implemented.
TH2F * fhTimeLam0BinPerSMWeighted[2][20]
! Cell time, not maximum cluster cell, in a l0 bin per SM, log weight Cell E / Cluster E ...
Definition: AliAnaPhoton.h:391
TH2F * fhMCDeltaE[fgkNmcTypes]
! MC-Reco E distribution coming from MC particle
Definition: AliAnaPhoton.h:257
TH2F * fhTrackMatchedDEtaNeg[2]
! Eta distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:331
TH2F * fhLam1EMCALRegionPerSM[4][3][20]
! Cluster lambda1 vs Pt, in different EMCal regions
Definition: AliAnaPhoton.h:384
TH2F * fhSumPhiE
! shower dispersion in phi direction
Definition: AliAnaPhoton.h:245
TH2F * fhEmbedPhotonELambda0FullBkg
! Lambda0 vs E for embedded photons with less than 10% of the cluster energy
Definition: AliAnaPhoton.h:314
TH2F * fhLam0ETM
! Cluster lambda0 vs E, cut on Track Matching residual
Definition: AliAnaPhoton.h:215
TH2F * fhMCEDispersion[fgkNssTypes]
! E vs Dispersion from MC particle
Definition: AliAnaPhoton.h:284
void SwitchOnFillShowerShapeHistograms()
Definition: AliAnaPhoton.h:69
TH2F * fhEtaLam0HighE
! Cluster eta vs lambda0, E>2
Definition: AliAnaPhoton.h:233
TH2F * fhLam1E
! Cluster lambda1 vs E
Definition: AliAnaPhoton.h:207
TH2F * fhPtPhotonNPileUpTrkVtxTimeCut2
! photon pt vs number of track pile-up vertices, time cut +- 75 ns
Definition: AliAnaPhoton.h:364
TH2F * fhDispEtaPhiDiffE
! shower dispersion eta - phi
Definition: AliAnaPhoton.h:247
TH2F * fhMCDeltaPt[fgkNmcTypes]
! MC-Reco pT distribution coming from MC particle
Definition: AliAnaPhoton.h:258
TH2F * fhDispPhiE
! shower dispersion in phi direction
Definition: AliAnaPhoton.h:243
TH2F * fhMCLambda0vsClusterMaxCellDiffE0[fgkNssTypes]
! Lambda0 vs fraction of energy of max cell for E < 2 GeV
Definition: AliAnaPhoton.h:290
TH2F * fhYPrimMCAcc[fgkNmcPrimTypes]
! Rapidity of generated photon, in calorimeter acceptance
Definition: AliAnaPhoton.h:277
TH2F * fhPhiPrimMCAcc[fgkNmcPrimTypes]
! Phi of generted photon, in calorimeter acceptance
Definition: AliAnaPhoton.h:275
TH2F * fhNCellsLam0LowE
! number of cells in cluster vs lambda0
Definition: AliAnaPhoton.h:224
TH2F * fhMCPhotonELambda0NoOverlap
! E vs Lambda0 from MC photons, no overlap
Definition: AliAnaPhoton.h:286
TH2F * fhColRowLam0BinPtBinWeighted[2][7]
! Cell hits, not maximum cluster cell, in a l0 bin, different Pt bins and log weight Cell E / Cluster...
Definition: AliAnaPhoton.h:402
TH2F * fhSumEtaPhiE
! shower dispersion in eta and phi direction
Definition: AliAnaPhoton.h:246
TH2F * fhLam0PerSM[20]
! Cluster lambda0 vs Pt, in different SM
Definition: AliAnaPhoton.h:424
void Init()
Init. Do some checks, abort if the cluster is not the expected PHOS or EMCal.
TH2F * fhMCPhi[fgkNmcTypes]
! Phi of identified photon coming from MC particle
Definition: AliAnaPhoton.h:264
TH2F * fhClusterTimeDiffPhotonPileUp[7]
! E vs Time difference inside cluster for selected photons
Definition: AliAnaPhoton.h:353
TLorentzVector fPrimaryMom
! Primary MC momentum, temporary container
Definition: AliAnaPhoton.h:174
Bool_t ClusterSelected(AliVCluster *cl, Int_t nlm)
TH1F * fhEPrimMCAcc[fgkNmcPrimTypes]
! Number of generated photon vs energy, in calorimeter acceptance
Definition: AliAnaPhoton.h:273
TH2F * fhTrackMatchedDEtaMCOverlap[2]
! Eta distance between track and cluster vs cluster E, several particle overlap, after and before pho...
Definition: AliAnaPhoton.h:338
TH2F * fhTimeNPileUpVertTrack
! Time of cluster vs n pile-up vertices from Tracks
Definition: AliAnaPhoton.h:357
void FillNOriginHistograms(Int_t n)
Definition: AliAnaPhoton.h:114
void FillTrackMatchingResidualHistograms(AliVCluster *calo, Int_t cut)
TH2F * fhTrackMatchedDPhi[2]
! Phi distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:324
TH2F * fhCellClusterELam0BinPerSMWeighted[2][20]
! Cell E vs cluster pT, not maximum cluster cell, in a l0 bin per SM, log weight Cell E / Cluster E ...
Definition: AliAnaPhoton.h:397
TH2F * fhDispLam1HighE
! Cluster disp vs lambda1, E>2
Definition: AliAnaPhoton.h:240
TH2F * fhPtCentralityPhoton
! centrality vs photon pT
Definition: AliAnaPhoton.h:198
TH2F * fhCellClusterIndexELam0BinPerSMLargeTime[2][20]
! Cell in Cluster index (low index high energy, high index low energy) vs cluster pT...
Definition: AliAnaPhoton.h:421
TH2F * fhTrackMatchedDPhiMCOverlap[2]
! Phi distance between track and cluster vs cluster E, several particle overlap, after and before pho...
Definition: AliAnaPhoton.h:339
void SwitchOnOnlySimpleSSHistoFill()
Definition: AliAnaPhoton.h:78
TH2F * fhMCLambda0vsClusterMaxCellDiffE6[fgkNssTypes]
! Lambda0 vs fraction of energy of max cell for E > 6 GeV
Definition: AliAnaPhoton.h:292
void SwitchOnFillConversionVertexHistograms()
Definition: AliAnaPhoton.h:75
TH2F * fhTrackMatchedDPhiPos[2]
! Phi distance between track and cluster vs cluster E, after and before photon cuts ...
Definition: AliAnaPhoton.h:328
TLorentzVector fMomentum
! Cluster momentum, temporary container
Definition: AliAnaPhoton.h:173
TH2F * fhLam0DispHighE
! Cluster lambda0 vs dispersion, E>2
Definition: AliAnaPhoton.h:236
TH2F * fhEtaPhiLam0BinPtBin[2][7]
! Cluster eta/phi in a l0 bin, different Pt bins
Definition: AliAnaPhoton.h:400
TH2F * fhMCESumEtaPhi[fgkNssTypes]
! shower dispersion in eta vs phi direction
Definition: AliAnaPhoton.h:301
TH2F * fhTrackMatchedDEtaMCNoOverlap[2]
! Eta distance between track and cluster vs cluster E, not other particle overlap, after and before photon cuts
Definition: AliAnaPhoton.h:340
TH2F * fhLam0PtTM
! Cluster lambda0 vs pT, cut on Track Matching residual
Definition: AliAnaPhoton.h:216
TH2F * fhLam1Lam0BinPerSM[2][20]
! Cluster lambda1, in a l0 bin per SM
Definition: AliAnaPhoton.h:389
TH2F * fhLam0Pt
! Cluster lambda0 vs pT
Definition: AliAnaPhoton.h:206
TH2F * fhTimeNPileUpVertSPD
! Time of cluster vs n pile-up vertices from SPD
Definition: AliAnaPhoton.h:356
void SwitchOffFillEMCALRegionSSHistograms()
Definition: AliAnaPhoton.h:73
TH2F * fhMCConversionLambda0RcutTRD[6]
! Shower shape M02 of photon conversions, depending on conversion vertex, SM covered by TRD ...
Definition: AliAnaPhoton.h:374
TH2F * fhEtaPrimMCAcc[fgkNmcPrimTypes]
! Phi of generted photon, in calorimeter acceptance
Definition: AliAnaPhoton.h:276
TH2F * fhNLocMax
! number of maxima in selected clusters
Definition: AliAnaPhoton.h:202
static const Int_t fgkNmcTypes
Total number of cluster MC origin histograms.
Definition: AliAnaPhoton.h:128
Double_t GetNCellCut() const
Definition: AliAnaPhoton.h:103
Bool_t IsTrackMatchRejectionOn() const
Definition: AliAnaPhoton.h:110
TH2F * fhEmbedPi0ELambda0MostlySignal
! Lambda0 vs E for embedded photons with 90%<fraction<50%
Definition: AliAnaPhoton.h:317
TH2F * fhPhiLam0HighE
! Cluster phi vs lambda0, E>2
Definition: AliAnaPhoton.h:234
TH2F * fhMCEDispPhi[fgkNssTypes]
! shower dispersion in phi direction
Definition: AliAnaPhoton.h:300
TH2F * fhEmbedPhotonELambda0MostlyBkg
! Lambda0 vs E for embedded photons with 50%<fraction<10%
Definition: AliAnaPhoton.h:313
TVector3 fProdVertex
! Primary MC production vertex, temporary container
Definition: AliAnaPhoton.h:175
TH2F * fhDTimeLam0BinPerSM[2][20]
! t_max-t_cell, not maximum cluster cell, in a l0 bin per SM
Definition: AliAnaPhoton.h:392
Bool_t fFillConversionVertexHisto
Fill histograms depending on the conversion vertex.
Definition: AliAnaPhoton.h:166
TObjString * GetAnalysisCuts()
Save parameters used for analysis in a string.
TH2F * fhLam1Lam0LowE
! Cluster lambda1 vs lambda0, E<2
Definition: AliAnaPhoton.h:237
TH2F * fhMCNCellsvsClusterMaxCellDiffE0[fgkNssTypes]
! NCells vs fraction of energy of max cell for E < 2
Definition: AliAnaPhoton.h:293
void SetNLMCut(Int_t min, Int_t max)
Definition: AliAnaPhoton.h:105
TH2F * fhMCConversionLambda0Rcut[6]
! Shower shape M02 of photon conversions, depending on conversion vertex.
Definition: AliAnaPhoton.h:373
TH2F * fhMCLambda0vsClusterMaxCellDiffE2[fgkNssTypes]
! Lambda0 vs fraction of energy of max cell for 2< E < 6 GeV
Definition: AliAnaPhoton.h:291
TH2F * fhMCConversionLambda1Rcut[6]
! Shower shape M20 of photon conversions, depending on conversion vertex.
Definition: AliAnaPhoton.h:375
void SetConstantTimeShift(Float_t shift)
Definition: AliAnaPhoton.h:88
TH2F * fhTimeLam0BinPerSM[2][20]
! Cell time, not maximum cluster cell, in a l0 bin per SM
Definition: AliAnaPhoton.h:390