]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrBase/AliIsolationCut.h
isolation task/cuts modifs (N. Arbor)
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliIsolationCut.h
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
5 /* $Id:  */\r
6 \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
12 //\r
13 //\r
14 // \r
15 // -- Author: Gustavo Conesa (INFN-LNF)\r
16 \r
17 //-Yaxian Mao (add the possibility for different IC method with different pt range, 01/10/2010)\r
18 \r
19 // --- ROOT system --- \r
20 #include <TObject.h>\r
21 class TObjArray ;\r
22 \r
23 // --- ANALYSIS system ---\r
24 class AliAODPWG4ParticleCorrelation ;\r
25 class AliCaloTrackReader ;\r
26 \r
27 class AliIsolationCut : public TObject {\r
28   \r
29  public: \r
30   AliIsolationCut() ; // default ctor\r
31   virtual ~AliIsolationCut() {;} //virtual dtalr\r
32  private:\r
33   AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor\r
34   AliIsolationCut & operator = (const AliIsolationCut & g) ;//cpy assignment\r
35 \r
36  public: \r
37  \r
38   enum type {kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC};\r
39   enum partInCone {kNeutralAndCharged=0, kOnlyNeutral=1, kOnlyCharged=2};\r
40         \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
47         \r
48   TString    GetICParametersList() ; \r
49 \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
53   \r
54   void Print(const Option_t * opt)const;\r
55   \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
62         \r
63   void InitParameters();\r
64   \r
65   \r
66  private:\r
67   \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
79                                  \r
80         \r
81         \r
82   ClassDef(AliIsolationCut,3)\r
83 } ;\r
84 \r
85 \r
86 #endif //ALIISOLATIONCUT_H\r
87 \r
88 \r
89 \r