]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrDep/AliAnaParticleIsolation.h
0a9726227020063677bcedf79957230e9152b764
[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   // Main general methods
35     
36   TObjString * GetAnalysisCuts();
37   
38   TList      * GetCreateOutputObjects();
39   
40   void         InitParameters();
41   
42   void         MakeAnalysisFillAOD()  ;
43   
44   void         MakeAnalysisFillHistograms() ; 
45   
46   void         Print(const Option_t * opt)const;
47  
48   //Analysis specific methods 
49     
50   void         MakeSeveralICAnalysis(AliAODPWG4ParticleCorrelation * ph); 
51   
52   // Analysis Setters and Getters
53   
54   TString GetCalorimeter()                const { return fCalorimeter     ; }
55   Int_t   GetNCones()                     const { return fNCones          ; }
56   Int_t   GetNPtThresFrac()               const { return fNPtThresFrac    ; }
57   Float_t GetConeSizes(Int_t i)           const { return fConeSizes[i]    ; }
58   Float_t GetPtThresholds(Int_t i)        const { return fPtThresholds[i] ; }
59   Float_t GetPtFractions(Int_t i)         const { return fPtFractions[i]  ; }
60   
61   void    SetCalorimeter(TString & det)         { fCalorimeter     = det  ; }
62   void    SetNCones(Int_t ncs)                  { fNCones          = ncs  ; }
63   void    SetNPtThresFrac(Int_t npt)            { fNPtThresFrac    = npt  ; }
64   void    SetConeSizes(Int_t i, Float_t r)      { fConeSizes[i]    = r    ; }
65   void    SetPtThresholds(Int_t i, Float_t pt)  { fPtThresholds[i] = pt   ; }
66   void    SetPtFractions(Int_t i, Float_t pt)   { fPtFractions[i]  = pt   ; } 
67   
68   Bool_t  IsReIsolationOn()               const { return fReMakeIC        ; }
69   void    SwitchOnReIsolation()                 { fReMakeIC = kTRUE       ; }
70   void    SwitchOffReIsolation()                { fReMakeIC = kFALSE      ; }
71   
72   Bool_t  IsSeveralIsolationOn()          const { return fMakeSeveralIC   ; }
73   void    SwitchOnSeveralIsolation()            { fMakeSeveralIC = kTRUE  ; }
74   void    SwitchOffSeveralIsolation()           { fMakeSeveralIC = kFALSE ; }
75     
76   //Histogrammes setters and getters
77   
78   virtual void SetHistoPtSumRangeAndNBins(Float_t min, Float_t max, Int_t n){
79     fHistoNPtSumBins = n ; fHistoPtSumMax = max ; fHistoPtSumMin = min ;    }
80   
81   Int_t        GetHistoNPtSumBins()       const { return fHistoNPtSumBins ; }
82   Float_t      GetHistoPtSumMin()         const { return fHistoPtSumMin   ; }
83   Float_t      GetHistoPtSumMax()         const { return fHistoPtSumMax   ; }
84   
85   virtual void SetHistoPtInConeRangeAndNBins(Float_t min, Float_t max, Int_t n)   {
86     fHistoNPtInConeBins = n ; fHistoPtInConeMax = max ; fHistoPtInConeMin = min ; }
87   
88   Int_t        GetHistoNPtInConeBins()    const { return fHistoNPtInConeBins; }
89   Float_t      GetHistoPtInConeMin()      const { return fHistoPtInConeMin  ; }
90   Float_t      GetHistoPtInConeMax()      const { return fHistoPtInConeMax  ; }
91   
92  private:
93   
94   TString  fCalorimeter ;                         // Calorimeter where neutral particles in cone for isolation are;
95   Bool_t   fReMakeIC ;                            // Do isolation analysis
96   Bool_t   fMakeSeveralIC ;                       // Do analysis for different IC
97   
98   // Analysis data members for multiple cones and pt thresholds 
99   Int_t    fNCones ;                              //! Number of cone sizes to test
100   Int_t    fNPtThresFrac ;                        //! Number of ptThres and ptFrac to test
101   
102   Float_t  fConeSizes[5] ;                        //! Array with cones to test
103   Float_t  fPtThresholds[5] ;                     //! Array with pt thresholds to test
104   Float_t  fPtFractions[5] ;                      //! Array with pt thresholds to test
105   
106   TH1F*    fhPtThresIsolated[5][5] ;              //! Isolated particle with pt threshold 
107   TH1F*    fhPtFracIsolated[5][5] ;               //! Isolated particle with pt threshold 
108   TH2F*    fhPtSumIsolated[5] ;                   //! Isolated particle with threshold on cone pt sum
109   
110   //Histograms  
111   
112   TH1F *   fhEIso ;                               //! Number of isolated particles
113   TH1F *   fhPtIso ;                              //! Number of isolated particles
114   TH2F *   fhPhiIso ;                             //! Phi of isolated particles
115   TH2F *   fhEtaIso ;                             //! eta of isolated particles
116   TH2F *   fhEtaPhiIso ;                          //! eta vs phi of isolated particles
117   TH1F *   fhPtNoIso ;                            //! Number of not isolated leading particles
118   TH1F *   fhPtDecayIso ;                         //! Number of isolated Pi0 decay particles (invariant mass tag)
119   TH1F *   fhPtDecayNoIso ;                       //! Number of not isolated Pi0 decay leading particles (invariant mass tag)
120   TH2F *   fhConeSumPt ;                          //! Sum Pt in the cone
121   TH2F *   fhPtInCone ;                           //! Particle Pt in the cone
122   TH2F *   fhFRConeSumPt ;                        //! Sum Pt in the forward region cone (phi +90)
123   TH2F *   fhPtInFRCone ;                         //! Particle Pt in the forward region cone (phi +90 ) 
124   
125   
126   //MC
127   TH1F *   fhPtIsoPrompt;                         //! Number of isolated prompt gamma 
128   TH2F *   fhPhiIsoPrompt;                        //! Phi of isolated prompt gamma
129   TH2F *   fhEtaIsoPrompt;                        //! eta of isolated prompt gamma
130   TH1F *   fhPtThresIsolatedPrompt[5][5];         //! Isolated prompt gamma with pt threshold 
131   TH1F *   fhPtFracIsolatedPrompt[5][5];          //! Isolated prompt gamma with pt frac
132   TH2F *   fhPtSumIsolatedPrompt[5];              //! Isolated prompt gamma with threshold on cone pt sume
133   TH1F *   fhPtIsoFragmentation;                  //! Number of isolated fragmentation gamma 
134   TH2F *   fhPhiIsoFragmentation;                 //! Phi of isolated fragmentation gamma
135   TH2F *   fhEtaIsoFragmentation;                 //! eta of isolated fragmentation gamma
136   TH1F *   fhPtThresIsolatedFragmentation[5][5];  //! Isolated fragmentation gamma with pt threshold 
137   TH1F *   fhPtFracIsolatedFragmentation[5][5];   //! Isolated fragmentation gamma with pt frac
138   TH2F *   fhPtSumIsolatedFragmentation[5];       //! Isolated fragmentation gamma with threshold on cone pt sume
139   TH1F *   fhPtIsoPi0Decay;                       //! Number of isolated pi0 decay gamma 
140   TH2F *   fhPhiIsoPi0Decay;                      //! Phi of isolated pi0 decay gamma
141   TH2F *   fhEtaIsoPi0Decay;                      //! eta of isolated pi0 decay gamma
142   TH1F *   fhPtThresIsolatedPi0Decay[5][5];       //! Isolated pi0 decay gamma with pt threshold 
143   TH1F *   fhPtFracIsolatedPi0Decay[5][5];        //! Isolated pi0 decay gamma with pt frac
144   TH2F *   fhPtSumIsolatedPi0Decay[5];            //! Isolated pi0 decay gamma with threshold on cone pt sume
145   TH1F *   fhPtIsoEtaDecay;                       //! Number of isolated eta decay gamma 
146   TH2F *   fhPhiIsoEtaDecay;                      //! Phi of isolated eta decay gamma
147   TH2F *   fhEtaIsoEtaDecay;                      //! eta of isolated eta decay gamma
148   TH1F *   fhPtThresIsolatedEtaDecay[5][5];       //! Isolated eta decay gamma with pt threshold 
149   TH1F *   fhPtFracIsolatedEtaDecay[5][5];        //! Isolated eta decay gamma with pt frac
150   TH2F *   fhPtSumIsolatedEtaDecay[5];            //! Isolated eta fecay gamma with threshold on cone pt sume  
151   TH1F *   fhPtIsoOtherDecay;                     //! Number of isolated other decay gamma 
152   TH2F *   fhPhiIsoOtherDecay;                    //! Phi of isolated other decay gamma
153   TH2F *   fhEtaIsoOtherDecay;                    //! eta of isolated other decay gamma
154   TH1F *   fhPtThresIsolatedOtherDecay[5][5];     //! Isolated OtherDecay gamma with pt threshold 
155   TH1F *   fhPtFracIsolatedOtherDecay[5][5];      //! Isolated OtherDecay gamma with pt frac
156   TH2F *   fhPtSumIsolatedOtherDecay[5];          //! Isolated OtherDecay gamma with threshold on cone pt sume  
157   TH1F *   fhPtIsoConversion;                     //! Number of isolated Conversion gamma 
158   TH2F *   fhPhiIsoConversion;                    //! Phi of isolated Conversion gamma
159   TH2F *   fhEtaIsoConversion;                    //! eta of isolated Conversion gamma
160   TH1F *   fhPtThresIsolatedConversion[5][5];     //! Isolated Conversion gamma with pt threshold 
161   TH1F *   fhPtFracIsolatedConversion[5][5];      //! Isolated Conversion gamma with pt frac
162   TH2F *   fhPtSumIsolatedConversion[5];          //! Isolated Conversion gamma with threshold on cone pt sume
163   TH1F *   fhPtIsoUnknown;                        //! Number of isolated Unknown 
164   TH2F *   fhPhiIsoUnknown;                       //! Phi of isolated Unknown
165   TH2F *   fhEtaIsoUnknown;                       //! eta of isolated Unknown
166   TH1F *   fhPtThresIsolatedUnknown[5][5];        //! Isolated Unknown gamma with pt threshold 
167   TH1F *   fhPtFracIsolatedUnknown[5][5];         //! Isolated Unknown gamma with pt frac
168   TH2F *   fhPtSumIsolatedUnknown[5];             //! Isolated Unknown gamma with threshold on cone pt sume
169
170   TH1F *   fhPtNoIsoPi0Decay;                     //! Number of not isolated leading pi0 decay gamma 
171   TH1F *   fhPtNoIsoEtaDecay;                     //! Number of not isolated leading eta decay gamma 
172   TH1F *   fhPtNoIsoOtherDecay;                   //! Number of not isolated leading other decay gamma 
173   TH1F *   fhPtNoIsoPrompt;                       //! Number of not isolated leading prompt gamma 
174   TH1F *   fhPtIsoMCPhoton;                       //! Number of isolated leading gamma 
175   TH1F *   fhPtNoIsoMCPhoton;                     //! Number of not isolated leading gamma 
176   TH1F *   fhPtNoIsoConversion;                   //! Number of not isolated leading conversion gamma 
177   TH1F *   fhPtNoIsoFragmentation;                //! Number of not isolated leading fragmentation gamma 
178   TH1F *   fhPtNoIsoUnknown;                      //! Number of not isolated leading hadrons 
179
180   //Histograms settings
181   Int_t    fHistoNPtSumBins;                      // Number of bins in PtSum histograms
182   Float_t  fHistoPtSumMax;                        // PtSum maximum in histogram
183   Float_t  fHistoPtSumMin;                            // PtSum minimum in histogram
184   Int_t    fHistoNPtInConeBins;                   // Number of bins in PtInCone histogram
185   Float_t  fHistoPtInConeMax;                     // PtInCone maximum in histogram
186   Float_t  fHistoPtInConeMin;                     // PtInCone maximum in histogram 
187   
188   AliAnaParticleIsolation(const AliAnaParticleIsolation & g) ;              // cpy ctor
189   AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & g) ;// cpy assignment
190   
191   ClassDef(AliAnaParticleIsolation,5)
192 } ;
193
194
195 #endif //ALIANAPARTICLEISOLATION_H
196
197
198