]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/PartCorrBase/AliIsolationCut.h
Correct the way the standard AOD are cleaned, when used as temporary containers.
[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   
29   AliIsolationCut() ; // default ctor
30   AliIsolationCut(const AliIsolationCut & g) ; // cpy ctor
31   AliIsolationCut & operator = (const AliIsolationCut & g) ;//cpy assignment
32   virtual ~AliIsolationCut() {;} //virtual dtalr
33   
34   enum type {kPtThresIC, kSumPtIC, kPtFracIC, kSumPtFracIC};
35   
36   Float_t    GetConeSize()        const {return fConeSize ; }
37   Float_t    GetPtThreshold()     const {return fPtThreshold ; }
38   Float_t    GetPtFraction()      const {return fPtFraction ; }
39   Int_t      GetICMethod()        const {return fICMethod ; }
40   TString    GetICParametersList() ; 
41   
42   void MakeIsolationCut(TObjArray * const plCTS, TObjArray * const plNe, AliCaloTrackReader * const reader, 
43                         const Bool_t fillAOD, AliAODPWG4ParticleCorrelation  * pCandidate, const TString aodObjArrayName,
44                         Int_t &n, Int_t & nfrac, Float_t &ptsum, Bool_t & isolated) const ;  
45   
46   void Print(const Option_t * opt)const;
47   
48   void SetConeSize(Float_t r)       {fConeSize = r ; }
49   void SetPtThreshold(Float_t pt)   {fPtThreshold = pt; }
50   void SetPtFraction(Float_t pt)    {fPtFraction = pt; }
51   void SetICMethod(Int_t i )        {fICMethod = i ; }
52   
53   void InitParameters();
54   
55   
56  private:
57   
58   Float_t      fConeSize ;    //Size of the isolation cone 
59   Float_t      fPtThreshold ; //Mimium pt of the particles in the cone or sum in cone 
60   Float_t      fPtFraction ;  //Fraction of the momentum of particles in cone or sum in cone
61   Int_t        fICMethod ;    //Isolation cut method to be used
62                               // kPtIC: Pt threshold method
63                               // kSumPtIC: Cone pt sum method
64                               // kPtFracIC:   Pt threshold, fraction of candidate pt, method
65                               // kSumPtFracIC:   Cone pt sum , fraction of cone sum, method
66   
67   ClassDef(AliIsolationCut,1)
68 } ;
69
70
71 #endif //ALIISOLATIONCUT_H
72
73
74