Select clusters or cells in a given time window in order to reject noisy channels...
[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   Bool_t IsCheckConversionOn()   const {return fCheckConversion ; }
57   void SwitchOnConversionChecker()  {fCheckConversion = kTRUE ; }
58   void SwitchOffConversionChecker() {fCheckConversion = kFALSE ; }  
59         
60   Bool_t AreConvertedPairsInAOD()   const {return fAddConvertedPairsToAOD ; }
61   void SwitchOnAdditionConvertedPairsToAOD()  {fAddConvertedPairsToAOD = kTRUE ; }
62   void SwitchOffAdditionConvertedPairsToAOD() {fAddConvertedPairsToAOD = kFALSE ; }  
63         
64   void InitParameters();
65  
66   void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
67     fMinDist = m1;
68     fMinDist2 = m2;
69     fMinDist3 = m3;
70   }
71         
72   Float_t GetMassCut()    const {return fMassCut ; }
73   void SetMassCut(Float_t m)    {fMassCut = m ; }
74         
75   void SetTimeCut(Double_t min, Double_t max) {fTimeCutMin = min; fTimeCutMax = max;}
76   Double_t GetTimeCutMin() const {return fTimeCutMin;}
77   Double_t GetTimeCutMax() const {return fTimeCutMax;}  
78         
79   private:
80  
81   TString fCalorimeter ; // Calorimeter where the gamma is searched;
82   Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster
83   Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation
84   Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study
85   Bool_t  fRejectTrackMatch ;      //If PID on, reject clusters which have an associated TPC track
86   Bool_t  fCheckConversion;        // Combine pairs of clusters with mass close to 0
87   Bool_t  fAddConvertedPairsToAOD; // Put Converted pairs in AOD
88   Float_t fMassCut;                // Mass cut for the conversion pairs selection
89   Double_t fTimeCutMin  ;    // Remove clusters/cells with time smaller than this value, in ns
90   Double_t fTimeCutMax  ;    // Remove clusters/cells with time larger than this value, in ns
91
92   //Histograms  
93   TH1F * fhPtPhoton   ; //! Number of identified photon vs transerse momentum 
94   TH2F * fhPhiPhoton  ; //! Azimuthal angle of identified  photon vs transerse momentum 
95   TH2F * fhEtaPhoton  ; //! Pseudorapidity of identified  photon vs transerse momentum 
96                 
97   //MC
98   TH1F * fhDeltaE  ; //! MC-Reco E distribution      
99   TH1F * fhDeltaPt ; //! MC-Reco pT distribution
100   TH1F * fhRatioE  ; //! Reco/MC E distribution      
101   TH1F * fhRatioPt ; //! Reco/MC pT distribution
102   TH2F * fh2E  ; //! E distribution, Reco vs MC
103   TH2F * fh2Pt ; //! pT distribution, Reco vs MC
104   
105   TH1F * fhPtMCPhoton;   //! Number of identified gamma 
106   TH2F * fhPhiMCPhoton;  //! Phi of identified gamma
107   TH2F * fhEtaMCPhoton;  //! eta of identified gamma    
108         
109   TH1F * fhPtPrompt;   //! Number of identified prompt gamma 
110   TH2F * fhPhiPrompt;  //! Phi of identified  prompt gamma
111   TH2F * fhEtaPrompt;  //! eta of identified  prompt gamma
112
113   TH1F * fhPtFragmentation;   //! Number of identified fragmentation gamma 
114   TH2F * fhPhiFragmentation;  //! Phi of identified  fragmentation gamma
115   TH2F * fhEtaFragmentation;  //! eta of identified  fragmentation gamma
116
117   TH1F * fhPtISR;   //! Number of identified initial state radiation gamma 
118   TH2F * fhPhiISR;  //! Phi of identified initial state radiation gamma
119   TH2F * fhEtaISR;  //! eta of identified initial state radiation gamma
120
121   TH1F * fhPtPi0Decay;   //! Number of identified Pi0Decay gamma 
122   TH2F * fhPhiPi0Decay;  //! Phi of identified  Pi0Decay gamma
123   TH2F * fhEtaPi0Decay;  //! eta of identified  Pi0Decay gamma
124
125   TH1F * fhPtOtherDecay;   //! Number of identified OtherDecay gamma 
126   TH2F * fhPhiOtherDecay;  //! Phi of identified  OtherDecay gamma
127   TH2F * fhEtaOtherDecay;  //! eta of identified  OtherDecay gamma
128
129   TH1F * fhPtConversion;   //! Number of identified Conversion gamma 
130   TH2F * fhPhiConversion;  //! Phi of identified  Conversion gamma
131   TH2F * fhEtaConversion;  //! eta of identified  Conversion gamma
132
133   TH1F * fhPtUnknown;   //! Number of identified Unknown gamma 
134   TH2F * fhPhiUnknown;  //! Phi of identified  Unknown gamma
135   TH2F * fhEtaUnknown;  //! eta of identified  Unknown gamma
136
137    ClassDef(AliAnaPhoton,7)
138
139 } ;
140  
141
142 #endif//ALIANAPHOTON_H
143
144
145