Allow to reject clusters with less than n cells
[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   void SetNCellCut(Int_t n) {fNCellsCut = n;}
80   Double_t GetNCellCut() const {return fNCellsCut;}
81         
82         
83   private:
84  
85   TString fCalorimeter ; // Calorimeter where the gamma is searched;
86   Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster
87   Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation
88   Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study
89   Bool_t  fRejectTrackMatch ;      //If PID on, reject clusters which have an associated TPC track
90   Bool_t  fCheckConversion;        // Combine pairs of clusters with mass close to 0
91   Bool_t  fAddConvertedPairsToAOD; // Put Converted pairs in AOD
92   Float_t fMassCut;                // Mass cut for the conversion pairs selection
93   Double_t fTimeCutMin  ;    // Remove clusters/cells with time smaller than this value, in ns
94   Double_t fTimeCutMax  ;    // Remove clusters/cells with time larger than this value, in ns
95   Int_t fNCellsCut ;     // Accept for the analysis clusters with more than fNCellsCut cells
96         
97   //Histograms  
98   TH1F * fhPtPhoton   ; //! Number of identified photon vs transerse momentum 
99   TH2F * fhPhiPhoton  ; //! Azimuthal angle of identified  photon vs transerse momentum 
100   TH2F * fhEtaPhoton  ; //! Pseudorapidity of identified  photon vs transerse momentum 
101                 
102   //MC
103   TH1F * fhDeltaE  ; //! MC-Reco E distribution      
104   TH1F * fhDeltaPt ; //! MC-Reco pT distribution
105   TH1F * fhRatioE  ; //! Reco/MC E distribution      
106   TH1F * fhRatioPt ; //! Reco/MC pT distribution
107   TH2F * fh2E  ; //! E distribution, Reco vs MC
108   TH2F * fh2Pt ; //! pT distribution, Reco vs MC
109   
110   TH1F * fhPtMCPhoton;   //! Number of identified gamma 
111   TH2F * fhPhiMCPhoton;  //! Phi of identified gamma
112   TH2F * fhEtaMCPhoton;  //! eta of identified gamma    
113         
114   TH1F * fhPtPrompt;   //! Number of identified prompt gamma 
115   TH2F * fhPhiPrompt;  //! Phi of identified  prompt gamma
116   TH2F * fhEtaPrompt;  //! eta of identified  prompt gamma
117
118   TH1F * fhPtFragmentation;   //! Number of identified fragmentation gamma 
119   TH2F * fhPhiFragmentation;  //! Phi of identified  fragmentation gamma
120   TH2F * fhEtaFragmentation;  //! eta of identified  fragmentation gamma
121
122   TH1F * fhPtISR;   //! Number of identified initial state radiation gamma 
123   TH2F * fhPhiISR;  //! Phi of identified initial state radiation gamma
124   TH2F * fhEtaISR;  //! eta of identified initial state radiation gamma
125
126   TH1F * fhPtPi0Decay;   //! Number of identified Pi0Decay gamma 
127   TH2F * fhPhiPi0Decay;  //! Phi of identified  Pi0Decay gamma
128   TH2F * fhEtaPi0Decay;  //! eta of identified  Pi0Decay gamma
129
130   TH1F * fhPtOtherDecay;   //! Number of identified OtherDecay gamma 
131   TH2F * fhPhiOtherDecay;  //! Phi of identified  OtherDecay gamma
132   TH2F * fhEtaOtherDecay;  //! eta of identified  OtherDecay gamma
133
134   TH1F * fhPtConversion;   //! Number of identified Conversion gamma 
135   TH2F * fhPhiConversion;  //! Phi of identified  Conversion gamma
136   TH2F * fhEtaConversion;  //! eta of identified  Conversion gamma
137
138   TH1F * fhPtUnknown;   //! Number of identified Unknown gamma 
139   TH2F * fhPhiUnknown;  //! Phi of identified  Unknown gamma
140   TH2F * fhEtaUnknown;  //! eta of identified  Unknown gamma
141
142    ClassDef(AliAnaPhoton,8)
143
144 } ;
145  
146
147 #endif//ALIANAPHOTON_H
148
149
150