1 #ifndef ALIISOLATIONCUT_H
\r
2 #define ALIISOLATIONCUT_H
\r
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
\r
4 * See cxx source for full Copyright notice */
\r
7 //_________________________________________________________________________
\r
8 // Class containing methods for the isolation cut.
\r
9 // An AOD candidate (AliAODPWG4ParticleCorrelation type)
\r
10 // is passed. Look in a cone around the candidate and study
\r
11 // the hadronic activity inside to decide if the candidate is isolated
\r
15 // -- Author: Gustavo Conesa (INFN-LNF)
\r
17 //-Yaxian Mao (add the possibility for different IC method with different pt range, 01/10/2010)
\r
19 // --- ROOT system ---
\r
20 #include <TObject.h>
\r
23 // --- ANALYSIS system ---
\r
24 class AliAODPWG4ParticleCorrelation ;
\r
25 class AliCaloTrackReader ;
\r
27 class AliIsolationCut : public TObject {
\r
30 AliIsolationCut() ; // default ctor
\r
31 virtual ~AliIsolationCut() {;} //virtual dtalr
\r
33 AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor
\r
34 AliIsolationCut & operator = (const AliIsolationCut & g) ;//cpy assignment
\r
38 enum type {kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC};
\r
39 enum partInCone {kNeutralAndCharged=0, kOnlyNeutral=1, kOnlyCharged=2};
\r
41 Float_t GetConeSize() const {return fConeSize ;}
\r
42 Float_t GetPtThreshold() const {return fPtThreshold;}
\r
43 Float_t GetSumPtThreshold() const {return fSumPtThreshold;}
\r
44 Float_t GetPtFraction() const {return fPtFraction ;}
\r
45 Int_t GetICMethod() const {return fICMethod ;}
\r
46 Int_t GetParticleTypeInCone() const {return fPartInCone ;}
\r
48 TString GetICParametersList() ;
\r
50 void MakeIsolationCut(TObjArray * const plCTS, TObjArray * const plNe, AliCaloTrackReader * const reader,
\r
51 const Bool_t bFillAOD, AliAODPWG4ParticleCorrelation * pCandidate, const TString &aodObjArrayName,
\r
52 Int_t &n, Int_t & nfrac, Float_t &ptsum, Bool_t & isolated, Bool_t & leading) const ;
\r
54 void Print(const Option_t * opt)const;
\r
56 void SetConeSize(Float_t r) {fConeSize = r ; }
\r
57 void SetPtThreshold(Float_t pt) {fPtThreshold = pt; }
\r
58 void SetSumPtThreshold(Float_t sumpt) {fSumPtThreshold = sumpt; }
\r
59 void SetPtFraction(Float_t pt) {fPtFraction = pt; }
\r
60 void SetICMethod(Int_t i ) {fICMethod = i ; }
\r
61 void SetParticleTypeInCone(Int_t i){fPartInCone = i;}
\r
63 void InitParameters();
\r
68 Float_t fConeSize ; //Size of the isolation cone
\r
69 Float_t fPtThreshold ; //Mimium pt of the particles in the cone or sum in cone (UE pt mean in the forward region cone)
\r
70 Float_t fSumPtThreshold ; //Minium of sum pt of the particles in the cone (UE sum in the forward region cone)
\r
71 Float_t fPtFraction ; //Fraction of the momentum of particles in cone or sum in cone
\r
72 Int_t fICMethod ; //Isolation cut method to be used
\r
73 // kPtIC: Pt threshold method
\r
74 // kSumPtIC: Cone pt sum method
\r
75 // kPtFracIC: Pt threshold, fraction of candidate pt, method
\r
76 // kSumPtFracIC: Cone pt sum , fraction of cone sum, method
\r
77 Int_t fPartInCone; // Type of particles inside cone:
\r
78 // kNeutralAndCharged, kOnlyNeutral, kOnlyCharged
\r
82 ClassDef(AliIsolationCut,3)
\r
86 #endif //ALIISOLATIONCUT_H
\r