1) AliCaloTrackReader: Possibility to open a second input file with events, when...
[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 * fhPtMCPhoton;   //! Number of identified gamma 
86   TH2F * fhPhiMCPhoton;  //! Phi of identified gamma
87   TH2F * fhEtaMCPhoton;  //! eta of identified gamma    
88         
89   TH1F * fhPtPrompt;   //! Number of identified prompt gamma 
90   TH2F * fhPhiPrompt;  //! Phi of identified  prompt gamma
91   TH2F * fhEtaPrompt;  //! eta of identified  prompt gamma
92
93   TH1F * fhPtFragmentation;   //! Number of identified fragmentation gamma 
94   TH2F * fhPhiFragmentation;  //! Phi of identified  fragmentation gamma
95   TH2F * fhEtaFragmentation;  //! eta of identified  fragmentation gamma
96
97   TH1F * fhPtISR;   //! Number of identified initial state radiation gamma 
98   TH2F * fhPhiISR;  //! Phi of identified initial state radiation gamma
99   TH2F * fhEtaISR;  //! eta of identified initial state radiation gamma
100
101   TH1F * fhPtPi0Decay;   //! Number of identified Pi0Decay gamma 
102   TH2F * fhPhiPi0Decay;  //! Phi of identified  Pi0Decay gamma
103   TH2F * fhEtaPi0Decay;  //! eta of identified  Pi0Decay gamma
104
105   TH1F * fhPtOtherDecay;   //! Number of identified OtherDecay gamma 
106   TH2F * fhPhiOtherDecay;  //! Phi of identified  OtherDecay gamma
107   TH2F * fhEtaOtherDecay;  //! eta of identified  OtherDecay gamma
108
109   TH1F * fhPtConversion;   //! Number of identified Conversion gamma 
110   TH2F * fhPhiConversion;  //! Phi of identified  Conversion gamma
111   TH2F * fhEtaConversion;  //! eta of identified  Conversion gamma
112
113   TH1F * fhPtUnknown;   //! Number of identified Unknown gamma 
114   TH2F * fhPhiUnknown;  //! Phi of identified  Unknown gamma
115   TH2F * fhEtaUnknown;  //! eta of identified  Unknown gamma
116
117    ClassDef(AliAnaPhoton,5)
118
119 } ;
120  
121
122 #endif//ALIANAPHOTON_H
123
124
125