]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaPhoton.h
Updates from Yaxian
[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 TH3D;
20 class TString ;
21 class TObjString;
22
23 // --- ANALYSIS system ---
24 #include "AliAnaPartCorrBaseClass.h"
25 class AliStack;
26 class TParticle;
27
28 class TList ;
29
30 class AliAnaPhoton : public AliAnaPartCorrBaseClass {
31
32  public: 
33   AliAnaPhoton() ; // default ctor
34   virtual ~AliAnaPhoton() ; //virtual dtor
35  private:
36   AliAnaPhoton(const AliAnaPhoton & g) ; // cpy ctor
37   AliAnaPhoton & operator = (const AliAnaPhoton & g) ;//cpy assignment
38
39  public:
40         
41   TObjString * GetAnalysisCuts();
42   TList      * GetCreateOutputObjects();
43
44   void Init();
45
46   void MakeAnalysisFillAOD()  ;
47   
48   void MakeAnalysisFillHistograms() ; 
49   
50   void Print(const Option_t * opt)const;
51   
52   TString GetCalorimeter()   const {return fCalorimeter ; }
53   void SetCalorimeter(TString det)    {fCalorimeter = det ; }
54
55   Bool_t IsTrackMatchRejectionOn()   const {return fRejectTrackMatch ; }
56   void SwitchOnTrackMatchRejection()  {fRejectTrackMatch = kTRUE ; }
57   void SwitchOffTrackMatchRejection() {fRejectTrackMatch = kFALSE ; }  
58
59   Bool_t IsCheckConversionOn()   const {return fCheckConversion ; }
60   void SwitchOnConversionChecker()  {fCheckConversion = kTRUE ; }
61   void SwitchOffConversionChecker() {fCheckConversion = kFALSE ; }  
62         
63   Bool_t AreConvertedPairsInAOD()   const {return fAddConvertedPairsToAOD ; }
64   void SwitchOnAdditionConvertedPairsToAOD()  {fAddConvertedPairsToAOD = kTRUE ; }
65   void SwitchOffAdditionConvertedPairsToAOD() {fAddConvertedPairsToAOD = kFALSE ; }  
66         
67   void InitParameters();
68  
69   void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
70     fMinDist = m1;
71     fMinDist2 = m2;
72     fMinDist3 = m3;
73   }
74         
75   Float_t GetMassCut()    const {return fMassCut ; }
76   void SetMassCut(Float_t m)    {fMassCut = m ; }
77         
78   void SetTimeCut(Double_t min, Double_t max) {fTimeCutMin = min; fTimeCutMax = max;}
79   Double_t GetTimeCutMin() const {return fTimeCutMin;}
80   Double_t GetTimeCutMax() const {return fTimeCutMax;}  
81         
82   void SetNCellCut(Int_t n) {fNCellsCut = n;}
83   Double_t GetNCellCut() const {return fNCellsCut;}
84         
85         
86   private:
87  
88   TString fCalorimeter ; // Calorimeter where the gamma is searched;
89   Float_t fMinDist ;     // Minimal distance to bad channel to accept cluster
90   Float_t fMinDist2;     // Cuts on Minimal distance to study acceptance evaluation
91   Float_t fMinDist3;     // One more cut on distance used for acceptance-efficiency study
92   Bool_t  fRejectTrackMatch ;      //If PID on, reject clusters which have an associated TPC track
93   Bool_t  fCheckConversion;        // Combine pairs of clusters with mass close to 0
94   Bool_t  fAddConvertedPairsToAOD; // Put Converted pairs in AOD
95   Float_t fMassCut;                // Mass cut for the conversion pairs selection
96   Double_t fTimeCutMin  ;    // Remove clusters/cells with time smaller than this value, in ns
97   Double_t fTimeCutMax  ;    // Remove clusters/cells with time larger than this value, in ns
98   Int_t fNCellsCut ;     // Accept for the analysis clusters with more than fNCellsCut cells
99         
100   //Histograms 
101   TH3D * fhVertex; //! vertex distribution
102   TH2F * fhNtraNclu; //! track multiplicity distribution vs cluster multiplicity
103   TH1F * fhPtPhoton   ; //! Number of identified photon vs transerse momentum 
104   TH2F * fhPhiPhoton  ; //! Azimuthal angle of identified  photon vs transerse momentum 
105   TH2F * fhEtaPhoton  ; //! Pseudorapidity of identified  photon vs transerse momentum 
106                 
107   //MC
108   TH1F * fhDeltaE  ; //! MC-Reco E distribution      
109   TH1F * fhDeltaPt ; //! MC-Reco pT distribution
110   TH1F * fhRatioE  ; //! Reco/MC E distribution      
111   TH1F * fhRatioPt ; //! Reco/MC pT distribution
112   TH2F * fh2E  ; //! E distribution, Reco vs MC
113   TH2F * fh2Pt ; //! pT distribution, Reco vs MC
114   
115   TH1F * fhPtMCPhoton;   //! Number of identified gamma 
116   TH2F * fhPhiMCPhoton;  //! Phi of identified gamma
117   TH2F * fhEtaMCPhoton;  //! eta of identified gamma    
118         
119   TH1F * fhPtPrompt;   //! Number of identified prompt gamma 
120   TH2F * fhPhiPrompt;  //! Phi of identified  prompt gamma
121   TH2F * fhEtaPrompt;  //! eta of identified  prompt gamma
122
123   TH1F * fhPtFragmentation;   //! Number of identified fragmentation gamma 
124   TH2F * fhPhiFragmentation;  //! Phi of identified  fragmentation gamma
125   TH2F * fhEtaFragmentation;  //! eta of identified  fragmentation gamma
126
127   TH1F * fhPtISR;   //! Number of identified initial state radiation gamma 
128   TH2F * fhPhiISR;  //! Phi of identified initial state radiation gamma
129   TH2F * fhEtaISR;  //! eta of identified initial state radiation gamma
130
131   TH1F * fhPtPi0Decay;   //! Number of identified Pi0Decay gamma 
132   TH2F * fhPhiPi0Decay;  //! Phi of identified  Pi0Decay gamma
133   TH2F * fhEtaPi0Decay;  //! eta of identified  Pi0Decay gamma
134
135   TH1F * fhPtOtherDecay;   //! Number of identified OtherDecay gamma 
136   TH2F * fhPhiOtherDecay;  //! Phi of identified  OtherDecay gamma
137   TH2F * fhEtaOtherDecay;  //! eta of identified  OtherDecay gamma
138
139   TH1F * fhPtConversion;   //! Number of identified Conversion gamma 
140   TH2F * fhPhiConversion;  //! Phi of identified  Conversion gamma
141   TH2F * fhEtaConversion;  //! eta of identified  Conversion gamma
142
143   TH1F * fhPtUnknown;   //! Number of identified Unknown gamma 
144   TH2F * fhPhiUnknown;  //! Phi of identified  Unknown gamma
145   TH2F * fhEtaUnknown;  //! eta of identified  Unknown gamma
146
147    ClassDef(AliAnaPhoton,8)
148
149 } ;
150  
151
152 #endif//ALIANAPHOTON_H
153
154
155