]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaParticleIsolation.h
Fix compilation warnings
[u/mrichter/AliRoot.git] / PWG4 / PartCorrDep / AliAnaParticleIsolation.h
1 #ifndef ALIANAPARTICLEISOLATION_H
2 #define ALIANAPARTICLEISOLATION_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5 /* $Id: AliAnaParticleIsolation.h 27413 2008-07-18 13:28:12Z gconesab $ */
6
7 //_________________________________________________________________________
8
9 // Class for the analysis of particle isolation
10 // Input is selected particles put in AOD branch (AliAODPWG4ParticleCorrelation)
11 //
12 //  Class created from old AliPHOSGammaJet
13 //  (see AliRoot versions previous Release 4-09)
14
15 //-- Author: Gustavo Conesa (INFN-LNF)
16
17 // --- ROOT system ---
18 class TH2F;
19 class TList ;
20 class TObjString;
21
22 // --- ANALYSIS system ---
23 #include "AliAnaPartCorrBaseClass.h"
24 class AliAODPWG4Particle;
25 class AliAODPWG4ParticleCorrelation ;
26
27
28 class AliAnaParticleIsolation : public AliAnaPartCorrBaseClass {
29
30  public:   
31   AliAnaParticleIsolation() ; // default ctor
32   virtual ~AliAnaParticleIsolation() ; //virtual dtor
33
34  private:
35   AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ; // cpy ctor
36   AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;//cpy assignment
37
38  public:
39
40   Bool_t CheckInvMass(const Int_t icalo,const AliAODPWG4Particle * ph) ;
41   
42   TObjString * GetAnalysisCuts();
43   TList      * GetCreateOutputObjects();
44   
45   void MakeAnalysisFillAOD()  ;
46   
47   void MakeAnalysisFillHistograms() ; 
48   
49   void MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph); 
50   
51   void Print(const Option_t * opt)const;
52   
53   TString GetCalorimeter()   const {return fCalorimeter ; }
54   void SetCalorimeter(TString det)    {fCalorimeter = det ; }
55   
56   Int_t   GetNCones()              const {return fNCones ; }
57   Int_t   GetNPtThresFrac()        const {return fNPtThresFrac ; }
58   Float_t GetConeSizes(Int_t i)    const {return fConeSizes[i] ; }
59   Float_t GetPtThresholds(Int_t i) const {return fPtThresholds[i] ; }
60   Float_t GetPtFractions(Int_t i)  const {return fPtFractions[i] ; }
61   
62   void InitParameters();
63   
64   void SetNCones(Int_t ncs)                  {fNCones = ncs ; }
65   void SetNPtThresFrac(Int_t npt)            {fNPtThresFrac = npt; }
66   void SetConeSizes(Int_t i, Float_t r)      {fConeSizes[i] = r ; }
67   void SetPtThresholds(Int_t i, Float_t pt)  {fPtThresholds[i] = pt; }
68   void SetPtFractions(Int_t i, Float_t pt)   {fPtFractions[i] = pt; } 
69   
70   Bool_t IsReIsolationOn() const {return fReMakeIC ; }
71   void SwitchOnReIsolation()  { fReMakeIC = kTRUE;}
72   void SwitchOffReIsolation() { fReMakeIC = kFALSE;}
73   
74   Bool_t IsSeveralIsolationOn() const {return fMakeSeveralIC ; }
75   void SwitchOnSeveralIsolation()  { fMakeSeveralIC = kTRUE;}
76   void SwitchOffSeveralIsolation() { fMakeSeveralIC = kFALSE;}
77   
78   Bool_t IsInvariantMassOn() const {return fMakeInvMass ; }
79   void SwitchOnInvariantMass()  { fMakeInvMass = kTRUE;}
80   void SwitchOffInvariantMass() { fMakeInvMass = kFALSE;}
81   
82   //Histogrammes setters and getters
83   virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n) {
84     fHistoNPtSumBins = n ;
85     fHistoPtSumMax = max ;
86     fHistoPtSumMin = min ;
87   }
88   
89   Int_t   GetHistoNPtSumBins() const { return fHistoNPtSumBins ; }
90   Float_t GetHistoPtSumMin()   const { return fHistoPtSumMin ; }
91   Float_t GetHistoPtSumMax()   const { return fHistoPtSumMax ; }
92   
93   virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n) {
94     fHistoNPtInConeBins = n ;
95     fHistoPtInConeMax = max ;
96     fHistoPtInConeMin = min ;
97   }
98   
99   Int_t   GetHistoNPtInConeBins() const { return fHistoNPtInConeBins ; }
100   Float_t GetHistoPtInConeMin()   const { return fHistoPtInConeMin ; }
101   Float_t GetHistoPtInConeMax()   const { return fHistoPtInConeMax ; }
102   
103   
104  private:
105   
106   TString  fCalorimeter ;   // Calorimeter where neutral particles in cone for isolation are;
107   Bool_t   fReMakeIC ;      // Do isolation analysis
108   Bool_t   fMakeSeveralIC ; // Do analysis for different IC
109   Bool_t   fMakeInvMass;    // Select candidate if no pair from decay
110   
111   //Histograms  
112   
113   TH1F * fhPtIso ;     //! Number of isolated particles
114   TH2F * fhPhiIso ;    //! Phi of isolated particles
115   TH2F * fhEtaIso ;    //! eta of isolated particles
116   TH2F * fhConeSumPt ; //! Sum Pt in the cone
117   TH2F * fhPtInCone ;  //! Particle Pt in the cone
118   TH2F * fhFRConeSumPt ; //! Sum Pt in the forward region cone (phi +90)
119   TH2F * fhPtInFRCone ;  //! Particle Pt in the forward region cone (phi +90 ) 
120   
121   //Prompt photon analysis data members for multiple cones and pt thresholds 
122   Int_t       fNCones ;          //! Number of cone sizes to test
123   Int_t       fNPtThresFrac ;    //! Number of ptThres and ptFrac to test
124   
125   Float_t   fConeSizes[5] ;    //! Array with cones to test
126   Float_t   fPtThresholds[5] ; //! Array with pt thresholds to test
127   Float_t   fPtFractions[5] ;  //! Array with pt thresholds to test
128   
129   TH1F* fhPtThresIsolated[5][5] ; //! Isolated particle with pt threshold 
130   TH1F* fhPtFracIsolated[5][5] ;  //! Isolated particle with pt threshold 
131   TH2F* fhPtSumIsolated[5] ;      //! Isolated particle with threshold on cone pt sum
132   
133   //MC
134   TH1F * fhPtIsoPrompt;   //! Number of isolated prompt gamma 
135   TH2F * fhPhiIsoPrompt;  //! Phi of isolated prompt gamma
136   TH2F * fhEtaIsoPrompt;  //! eta of isolated prompt gamma
137   TH1F * fhPtThresIsolatedPrompt[5][5];   //! Isolated prompt gamma with pt threshold 
138   TH1F * fhPtFracIsolatedPrompt[5][5];    //! Isolated prompt gamma with pt frac
139   TH2F * fhPtSumIsolatedPrompt[5];        //! Isolated prompt gamma with threshold on cone pt sume
140   TH1F * fhPtIsoFragmentation;   //! Number of isolated fragmentation gamma 
141   TH2F * fhPhiIsoFragmentation;  //! Phi of isolated fragmentation gamma
142   TH2F * fhEtaIsoFragmentation;  //! eta of isolated fragmentation gamma
143   TH1F * fhPtThresIsolatedFragmentation[5][5];  //! Isolated fragmentation gamma with pt threshold 
144   TH1F * fhPtFracIsolatedFragmentation[5][5];   //! Isolated fragmentation gamma with pt frac
145   TH2F * fhPtSumIsolatedFragmentation[5];       //! Isolated fragmentation gamma with threshold on cone pt sume
146   TH1F * fhPtIsoPi0Decay;   //!Number of isolated Pi0Decay gamma 
147   TH2F * fhPhiIsoPi0Decay;  //! Phi of isolated Pi0Decay gamma
148   TH2F * fhEtaIsoPi0Decay;  //! eta of isolated Pi0Decay gamma
149   TH1F * fhPtThresIsolatedPi0Decay[5][5];  //! Isolated Pi0Decay gamma with pt threshold 
150   TH1F * fhPtFracIsolatedPi0Decay[5][5];   //! Isolated Pi0Decay gamma with pt frac
151   TH2F * fhPtSumIsolatedPi0Decay[5];       //! Isolated Pi0Decay gamma with threshold on cone pt sume
152   TH1F * fhPtIsoOtherDecay;   //! Number of isolated OtherDecay gamma 
153   TH2F * fhPhiIsoOtherDecay;  //! Phi of isolated OtherDecay gamma
154   TH2F * fhEtaIsoOtherDecay;  //! eta of isolated OtherDecay gamma
155   TH1F * fhPtThresIsolatedOtherDecay[5][5];  //! Isolated OtherDecay gamma with pt threshold 
156   TH1F * fhPtFracIsolatedOtherDecay[5][5];   //! Isolated OtherDecay gamma with pt frac
157   TH2F * fhPtSumIsolatedOtherDecay[5];       //! Isolated OtherDecay gamma with threshold on cone pt sume       
158   TH1F * fhPtIsoConversion;   //! Number of isolated Conversion gamma 
159   TH2F * fhPhiIsoConversion;  //! Phi of isolated Conversion gamma
160   TH2F * fhEtaIsoConversion;  //! eta of isolated Conversion gamma
161   TH1F * fhPtThresIsolatedConversion[5][5];  //! Isolated Conversion gamma with pt threshold 
162   TH1F * fhPtFracIsolatedConversion[5][5];   //! Isolated Conversion gamma with pt frac
163   TH2F * fhPtSumIsolatedConversion[5];       //! Isolated Conversion gamma with threshold on cone pt sume
164   TH1F * fhPtIsoUnknown;   //! Number of isolated Unknown 
165   TH2F * fhPhiIsoUnknown;  //! Phi of isolated Unknown
166   TH2F * fhEtaIsoUnknown;  //! eta of isolated Unknown
167   TH1F * fhPtThresIsolatedUnknown[5][5];  //! Isolated Unknown gamma with pt threshold 
168   TH1F * fhPtFracIsolatedUnknown[5][5];   //! Isolated Unknown gamma with pt frac
169   TH2F * fhPtSumIsolatedUnknown[5];       //! Isolated Unknown gamma with threshold on cone pt sume
170   
171   //Histograms settings
172   Int_t   fHistoNPtSumBins; // Number of bins in PtSum histograms
173   Float_t fHistoPtSumMax;   // PtSum maximum in histogram
174   Float_t fHistoPtSumMin;         // PtSum minimum in histogram
175   Int_t   fHistoNPtInConeBins; // Number of bins in PtInCone histogram
176   Float_t fHistoPtInConeMax;   // PtInCone maximum in histogram
177   Float_t fHistoPtInConeMin;   // PtInCone maximum in histogram 
178   
179   ClassDef(AliAnaParticleIsolation,3)
180     } ;
181
182
183 #endif //ALIANAPARTICLEISOLATION_H
184
185
186