AliAnaPhoton: Added histograms to correlate reconstructed and generated energy.
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaPhoton.h
1 #ifndef ALIANAPHOTON_H
2 #define ALIANAPHOTON_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id: AliAnaPhoton.h 27413 2008-07-18 13:28:12Z gconesab $ */
6
7 //_________________________________________________________________________
8 //
9 // Class for the photon identification.
10 // Clusters from calorimeters are identified as photons
11 // and kept in the AOD. Few histograms produced.
12 //
13
14 //-- Author: Gustavo Conesa (INFN-LNF)
15
16 // --- ROOT system ---
17 class TH2F ;
18 class TH1F;
19 class TString ;
20
21 // --- ANALYSIS system ---
22 #include "AliAnaPartCorrBaseClass.h"
23 //#include "AliStack.h"
24 //#include "TParticle.h"
25 class AliStack;
26 class TParticle;
27
28 class TList ;
29
30 class AliAnaPhoton : public AliAnaPartCorrBaseClass {
31
32 public: 
33
34   AliAnaPhoton() ; // default ctor
35   AliAnaPhoton(const AliAnaPhoton & g) ; // cpy ctor
36   AliAnaPhoton & operator = (const AliAnaPhoton & g) ;//cpy assignment
37   virtual ~AliAnaPhoton() ; //virtual dtor
38   
39   TList *  GetCreateOutputObjects();
40
41   void Init();
42
43   void MakeAnalysisFillAOD()  ;
44   
45   void MakeAnalysisFillHistograms() ; 
46   
47   void Print(const Option_t * opt)const;
48   
49   TString GetCalorimeter()   const {return fCalorimeter ; }
50   void SetCalorimeter(TString det)    {fCalorimeter = det ; }
51
52   Bool_t IsTrackMatchRejectionOn()   const {return fRejectTrackMatch ; }
53   void SwitchOnTrackMatchRejection()  {fRejectTrackMatch = kTRUE ; }
54   void SwitchOffTrackMatchRejection() {fRejectTrackMatch = kFALSE ; }  
55
56   void InitParameters();
57  
58   void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
59     fMinDist = m1;
60     fMinDist2 = m2;
61     fMinDist3 = m3;
62   }
63  
64   private:
65  
66   TString fCalorimeter ; // Calorimeter where the gamma is searched;
67   Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster
68   Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation
69   Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study
70   Bool_t fRejectTrackMatch ; //If PID on, reject clusters which have an associated TPC track
71   
72   //Histograms  
73   TH1F * fhPtPhoton   ; //! Number of identified photon vs transerse momentum 
74   TH2F * fhPhiPhoton  ; //! Azimuthal angle of identified  photon vs transerse momentum 
75   TH2F * fhEtaPhoton  ; //! Pseudorapidity of identified  photon vs transerse momentum 
76                 
77   //MC
78   TH1F * fhDeltaE  ; //! MC-Reco E distribution      
79   TH1F * fhDeltaPt ; //! MC-Reco pT distribution
80   TH1F * fhRatioE  ; //! Reco/MC E distribution      
81   TH1F * fhRatioPt ; //! Reco/MC pT distribution
82   TH2F * fh2E  ; //! E distribution, Reco vs MC
83   TH2F * fh2Pt ; //! pT distribution, Reco vs MC
84   
85   TH1F * fhPtPrompt;   //! Number of identified prompt gamma 
86   TH2F * fhPhiPrompt;  //! Phi of identified  prompt gamma
87   TH2F * fhEtaPrompt;  //! eta of identified  prompt gamma
88
89   TH1F * fhPtFragmentation;   //! Number of identified fragmentation gamma 
90   TH2F * fhPhiFragmentation;  //! Phi of identified  fragmentation gamma
91   TH2F * fhEtaFragmentation;  //! eta of identified  fragmentation gamma
92
93   TH1F * fhPtISR;   //! Number of identified initial state radiation gamma 
94   TH2F * fhPhiISR;  //! Phi of identified initial state radiation gamma
95   TH2F * fhEtaISR;  //! eta of identified initial state radiation gamma
96
97   TH1F * fhPtPi0Decay;   //! Number of identified Pi0Decay gamma 
98   TH2F * fhPhiPi0Decay;  //! Phi of identified  Pi0Decay gamma
99   TH2F * fhEtaPi0Decay;  //! eta of identified  Pi0Decay gamma
100
101   TH1F * fhPtOtherDecay;   //! Number of identified OtherDecay gamma 
102   TH2F * fhPhiOtherDecay;  //! Phi of identified  OtherDecay gamma
103   TH2F * fhEtaOtherDecay;  //! eta of identified  OtherDecay gamma
104
105   TH1F * fhPtConversion;   //! Number of identified Conversion gamma 
106   TH2F * fhPhiConversion;  //! Phi of identified  Conversion gamma
107   TH2F * fhEtaConversion;  //! eta of identified  Conversion gamma
108
109   TH1F * fhPtUnknown;   //! Number of identified Unknown gamma 
110   TH2F * fhPhiUnknown;  //! Phi of identified  Unknown gamma
111   TH2F * fhEtaUnknown;  //! eta of identified  Unknown gamma
112
113    ClassDef(AliAnaPhoton,4)
114
115 } ;
116  
117
118 #endif//ALIANAPHOTON_H
119
120
121