]>
Commit | Line | Data |
---|---|---|
1a31a9ab | 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 | //-Yaxian Mao (add the possibility for different IC method with different pt range, 01/10/2010) | |
18 | ||
19 | // --- ROOT system --- | |
20 | #include <TObject.h> | |
21 | class TObjArray ; | |
22 | ||
23 | // --- ANALYSIS system --- | |
24 | class AliAODPWG4ParticleCorrelation ; | |
25 | class AliCaloTrackReader ; | |
26 | ||
27 | class AliIsolationCut : public TObject { | |
28 | ||
29 | public: | |
c5693f62 | 30 | |
31 | AliIsolationCut() ; // default ctor | |
32 | virtual ~AliIsolationCut() {;} // virtual dtor | |
1a31a9ab | 33 | |
34 | // Enums | |
35 | ||
36 | enum type { kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC } ; | |
37 | ||
38 | enum partInCone { kNeutralAndCharged=0, kOnlyNeutral=1, kOnlyCharged=2 } ; | |
39 | ||
40 | // Main Methods | |
41 | ||
42 | void InitParameters() ; | |
43 | ||
44 | TString GetICParametersList() ; | |
45 | ||
c5693f62 | 46 | void MakeIsolationCut(const TObjArray * plCTS, const TObjArray * plNe, const AliCaloTrackReader * reader, |
1a31a9ab | 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 | ||
53 | // Parameter setters and getters | |
54 | ||
55 | Float_t GetConeSize() const { return fConeSize ; } | |
56 | Float_t GetPtThreshold() const { return fPtThreshold ; } | |
57 | Float_t GetSumPtThreshold() const { return fSumPtThreshold ; } | |
58 | Float_t GetPtFraction() const { return fPtFraction ; } | |
59 | Int_t GetICMethod() const { return fICMethod ; } | |
60 | Int_t GetParticleTypeInCone() const { return fPartInCone ; } | |
61 | ||
62 | void SetConeSize(Float_t r) { fConeSize = r ; } | |
63 | void SetPtThreshold(Float_t pt) { fPtThreshold = pt ; } | |
64 | void SetSumPtThreshold(Float_t s) { fSumPtThreshold = s ; } | |
65 | void SetPtFraction(Float_t pt) { fPtFraction = pt ; } | |
66 | void SetICMethod(Int_t i ) { fICMethod = i ; } | |
67 | void SetParticleTypeInCone(Int_t i) { fPartInCone = i ; } | |
68 | ||
69 | private: | |
70 | ||
71 | Float_t fConeSize ; // Size of the isolation cone | |
72 | Float_t fPtThreshold ; // Mimium pt of the particles in the cone or sum in cone (UE pt mean in the forward region cone) | |
73 | Float_t fSumPtThreshold ; // Minium of sum pt of the particles in the cone (UE sum in the forward region cone) | |
74 | Float_t fPtFraction ; // Fraction of the momentum of particles in cone or sum in cone | |
75 | Int_t fICMethod ; // Isolation cut method to be used | |
76 | // kPtIC: Pt threshold method | |
77 | // kSumPtIC: Cone pt sum method | |
78 | // kPtFracIC: Pt threshold, fraction of candidate pt, method | |
79 | // kSumPtFracIC: Cone pt sum , fraction of cone sum, method | |
80 | Int_t fPartInCone; // Type of particles inside cone: | |
81 | // kNeutralAndCharged, kOnlyNeutral, kOnlyCharged | |
c5693f62 | 82 | |
83 | AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor | |
84 | AliIsolationCut & operator = (const AliIsolationCut & g) ; // cpy assignment | |
85 | ||
1a31a9ab | 86 | ClassDef(AliIsolationCut,3) |
87 | } ; | |
88 | ||
89 | ||
90 | #endif //ALIISOLATIONCUT_H | |
91 | ||
92 | ||
93 |