]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/CaloTrackCorrBase/AliIsolationCut.h
cosmetics
[u/mrichter/AliRoot.git] / PWG / CaloTrackCorrBase / AliIsolationCut.h
1 #ifndef ALIISOLATIONCUT_H
2 #define ALIISOLATIONCUT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice     */
5
6 //_________________________________________________________________________
7 // Class containing methods for the isolation cut. 
8 // An AOD candidate (AliAODPWG4ParticleCorrelation type)
9 // is passed. Look in a cone around the candidate and study
10 // the hadronic activity inside to decide if the candidate is isolated
11 //
12 // -- Author: Gustavo Conesa (INFN-LNF)
13 //
14 // -- Yaxian Mao (add the possibility for different IC method with different pt range, 01/10/2010)
15
16 // --- ROOT system --- 
17 #include <TObject.h>
18 class TObjArray ;
19
20 // --- ANALYSIS system ---
21 class AliAODPWG4ParticleCorrelation ;
22 class AliCaloTrackReader ;
23 class AliCaloPID; 
24
25 class AliIsolationCut : public TObject {
26   
27  public: 
28   
29   AliIsolationCut() ;            // default ctor
30   virtual ~AliIsolationCut() {;} // virtual dtor
31  
32   // Enums 
33   
34   enum type       { kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC } ;
35   
36   enum partInCone { kNeutralAndCharged=0, kOnlyNeutral=1, kOnlyCharged=2 } ;
37         
38   // Main Methods
39   
40   void       InitParameters() ;
41   
42   TString    GetICParametersList() ; 
43   
44   void       MakeIsolationCut(const TObjArray * plCTS, const TObjArray * plNe, 
45                               const AliCaloTrackReader * reader, 
46                               const AliCaloPID * pid, 
47                               const Bool_t bFillAOD, AliAODPWG4ParticleCorrelation  * pCandidate, const TString &aodObjArrayName,
48                               Int_t &n, Int_t & nfrac, Float_t &ptsum, Bool_t & isolated) const ;  
49   
50   void       Print(const Option_t * opt) const ;
51   
52   Float_t    Radius(const Float_t etaCandidate, const Float_t phiCandidate, const Float_t eta, const Float_t phi) const ; 
53   
54   // Parameter setters and getters
55   
56   Float_t    GetConeSize()            const { return fConeSize       ; }
57   Float_t    GetPtThreshold()         const { return fPtThreshold    ; }
58   Float_t    GetSumPtThreshold()      const { return fSumPtThreshold ; }
59   Float_t    GetPtFraction()          const { return fPtFraction     ; }
60   Int_t      GetICMethod()            const { return fICMethod       ; }
61   Int_t      GetParticleTypeInCone()  const { return fPartInCone     ; }
62         
63   void       SetConeSize(Float_t r)         { fConeSize       = r    ; }
64   void       SetPtThreshold(Float_t pt)     { fPtThreshold    = pt   ; }
65   void       SetSumPtThreshold(Float_t s)   { fSumPtThreshold = s    ; }
66   void       SetPtFraction(Float_t pt)      { fPtFraction     = pt   ; }
67   void       SetICMethod(Int_t i )          { fICMethod       = i    ; }
68   void       SetParticleTypeInCone(Int_t i) { fPartInCone     = i    ; }
69   
70  private:
71   
72   Float_t    fConeSize ;       // Size of the isolation cone 
73   Float_t    fPtThreshold ;    // Mimium pt of the particles in the cone or sum in cone (UE pt mean in the forward region cone)
74   Float_t    fSumPtThreshold ; // Minium of sum pt of the particles in the cone (UE sum in the forward region cone)
75   Float_t    fPtFraction ;     // Fraction of the momentum of particles in cone or sum in cone
76   Int_t      fICMethod ;       // Isolation cut method to be used
77                                // kPtIC: Pt threshold method
78                                // kSumPtIC: Cone pt sum method
79                                // kPtFracIC:   Pt threshold, fraction of candidate pt, method
80                                // kSumPtFracIC:   Cone pt sum , fraction of cone sum, method
81   Int_t      fPartInCone;      // Type of particles inside cone:
82                                // kNeutralAndCharged, kOnlyNeutral, kOnlyCharged
83
84   AliIsolationCut(              const AliIsolationCut & g) ; // cpy ctor
85   AliIsolationCut & operator = (const AliIsolationCut & g) ; // cpy assignment
86   
87   ClassDef(AliIsolationCut,4)
88 } ;
89
90
91 #endif //ALIISOLATIONCUT_H
92
93
94