]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrBase/AliIsolationCut.h
81e5f0c029334f7ddb7885b122fae63d7a4b0d3b
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / 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 /* $Id:  */
6
7 //_________________________________________________________________________
8 // Class containing methods for the isolation cut. 
9 // An AOD candidate (AliAODPWG4ParticleCorrelation type)
10 // is passed. Look in a cone around the candidate and study
11 // the hadronic activity inside to decide if the candidate is isolated
12 //
13 //
14 // 
15 // -- Author: Gustavo Conesa (INFN-LNF)
16
17 // --- ROOT system --- 
18 #include <TObject.h>
19 class TObjArray ;
20
21 // --- ANALYSIS system ---
22 class AliAODPWG4ParticleCorrelation ;
23 class AliCaloTrackReader ;
24
25 class AliIsolationCut : public TObject {
26   
27  public: 
28   AliIsolationCut() ; // default ctor
29   virtual ~AliIsolationCut() {;} //virtual dtalr
30  private:
31   AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor
32   AliIsolationCut & operator = (const AliIsolationCut & g) ;//cpy assignment
33
34  public: 
35  
36   enum type {kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC};
37   enum partInCone {kNeutralAndCharged=0, kOnlyNeutral=1, kOnlyCharged=2};
38         
39   Float_t    GetConeSize()           const {return fConeSize   ;}
40   Float_t    GetPtThreshold()        const {return fPtThreshold;}
41   Float_t    GetPtFraction()         const {return fPtFraction ;}
42   Int_t      GetICMethod()           const {return fICMethod   ;}
43   Int_t      GetParticleTypeInCone() const {return fPartInCone ;}
44         
45   TString    GetICParametersList() ; 
46
47   void MakeIsolationCut(TObjArray * const plCTS, TObjArray * const plNe, AliCaloTrackReader * const reader, 
48                         const Bool_t fillAOD, AliAODPWG4ParticleCorrelation  * pCandidate, const TString aodObjArrayName,
49                         Int_t &n, Int_t & nfrac, Float_t &ptsum, Bool_t & isolated) const ;  
50   
51   void Print(const Option_t * opt)const;
52   
53   void SetConeSize(Float_t r)        {fConeSize = r ; }
54   void SetPtThreshold(Float_t pt)    {fPtThreshold = pt; }
55   void SetPtFraction(Float_t pt)     {fPtFraction = pt; }
56   void SetICMethod(Int_t i )         {fICMethod = i ; }
57   void SetParticleTypeInCone(Int_t i){fPartInCone = i;}
58         
59   void InitParameters();
60   
61   
62  private:
63   
64   Float_t      fConeSize ;    //Size of the isolation cone 
65   Float_t      fPtThreshold ; //Mimium pt of the particles in the cone or sum in cone 
66   Float_t      fPtFraction ;  //Fraction of the momentum of particles in cone or sum in cone
67   Int_t        fICMethod ;    //Isolation cut method to be used
68                               // kPtIC: Pt threshold method
69                               // kSumPtIC: Cone pt sum method
70                               // kPtFracIC:   Pt threshold, fraction of candidate pt, method
71                               // kSumPtFracIC:   Cone pt sum , fraction of cone sum, method
72   Int_t        fPartInCone;   // Type of particles inside cone:
73                                                           // kNeutralAndCharged, kOnlyNeutral, kOnlyCharged
74                                  
75         
76         
77   ClassDef(AliIsolationCut,2)
78 } ;
79
80
81 #endif //ALIISOLATIONCUT_H
82
83
84