AliPhysics  vAN-20150630 (513c479)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliIsolationCut.h
Go to the documentation of this file.
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 
6 //_________________________________________________________________________
18 //_________________________________________________________________________
19 
20 // --- ROOT system ---
21 #include <TObject.h>
22 class TObjArray ;
23 #include <TLorentzVector.h>
24 
25 // --- ANALYSIS system ---
26 class AliAODPWG4ParticleCorrelation ;
27 class AliCaloTrackReader ;
28 class AliCaloPID;
29 
30 class AliIsolationCut : public TObject {
31 
32  public:
33 
34  AliIsolationCut() ; // default ctor
35 
37  virtual ~AliIsolationCut() { ; }
38 
39  // Enums
40 
42 
44 
45  // Main Methods
46 
47  void InitParameters() ;
48 
49  TString GetICParametersList() ;
50 
51  Float_t GetCellDensity( AliAODPWG4ParticleCorrelation * pCandidate,
52  AliCaloTrackReader * reader) const ;
53 
54  void MakeIsolationCut(TObjArray * plCTS, TObjArray * plNe,
55  AliCaloTrackReader * reader,
56  AliCaloPID * pid,
57  Bool_t bFillAOD,
58  AliAODPWG4ParticleCorrelation * pCandidate, TString aodObjArrayName,
59  Int_t &n, Int_t & nfrac, Float_t &ptSum, Float_t &ptLead, Bool_t & isolated) ;
60 
61  void Print(const Option_t * opt) const ;
62 
63  Float_t Radius(Float_t etaCandidate, Float_t phiCandidate, Float_t eta, Float_t phi) const ;
64 
65  // Cone background studies medthods
66 
67  Float_t CalculateExcessAreaFraction(Float_t excess) const ;
68 
69  void CalculateUEBandClusterNormalization(AliCaloTrackReader * reader, Float_t etaC, Float_t phiC,
70  Float_t phiUEptsumCluster, Float_t etaUEptsumCluster,
71  Float_t & phiUEptsumClusterNorm, Float_t & etaUEptsumClusterNorm,
72  Float_t & excessFracEta, Float_t & excessFracPhi ) const ;
73 
74  void CalculateUEBandTrackNormalization (AliCaloTrackReader * reader, Float_t etaC, Float_t phiC,
75  Float_t phiUEptsumTrack, Float_t etaUEptsumTrack,
76  Float_t & phiUEptsumTrackNorm, Float_t & etaUEptsumTrackNorm,
77  Float_t & excessFracEta, Float_t & excessFracPhi ) const ;
78 
79  void GetCoeffNormBadCell(AliAODPWG4ParticleCorrelation * pCandidate,
80  AliCaloTrackReader * reader,
81  Float_t & coneBadCellsCoeff,
82  Float_t & etaBandBadCellsCoeff , Float_t & phiBandBadCellsCoeff) ;
83 
84 
85  // Parameter setters and getters
86 
87  Float_t GetConeSize() const { return fConeSize ; }
88  Float_t GetPtThreshold() const { return fPtThreshold ; }
89  Float_t GetPtThresholdMax() const { return fPtThresholdMax ; }
90  Float_t GetSumPtThreshold() const { return fSumPtThreshold ; }
91  Float_t GetSumPtThresholdMax() const { return fSumPtThresholdMax ; }
92  Float_t GetPtFraction() const { return fPtFraction ; }
93  Int_t GetICMethod() const { return fICMethod ; }
94  Int_t GetParticleTypeInCone() const { return fPartInCone ; }
95  Int_t GetDebug() const { return fDebug ; }
96  Bool_t GetFracIsThresh() const { return fFracIsThresh ; }
97 
98  void SetConeSize(Float_t r) { fConeSize = r ; }
99  void SetPtThreshold(Float_t pt) { fPtThreshold = pt ; }
100  void SetPtThresholdMax(Float_t pt) { fPtThresholdMax = pt ; }
101  void SetSumPtThreshold(Float_t s) { fSumPtThreshold = s ; }
102  void SetSumPtThresholdMax(Float_t s){ fSumPtThresholdMax = s ; }
103  void SetPtFraction(Float_t pt) { fPtFraction = pt ; }
104  void SetICMethod(Int_t i ) { fICMethod = i ; }
105  void SetParticleTypeInCone(Int_t i) { fPartInCone = i ; }
106  void SetDebug(Int_t d) { fDebug = d ; }
107  void SetFracIsThresh(Bool_t f ) { fFracIsThresh = f ; }
108  private:
109 
110  Float_t fConeSize ;
111 
112  Float_t fPtThreshold ;
113 
114  Float_t fPtThresholdMax ;
115 
116  Float_t fSumPtThreshold ;
117 
119 
120  Float_t fPtFraction ;
121 
122  Int_t fICMethod ;
123 
124  Int_t fPartInCone;
125 
126  Int_t fDebug;
127 
128  Bool_t fFracIsThresh;
129 
130  TLorentzVector fMomentum;
131 
132  TVector3 fTrackVector;
133 
135  AliIsolationCut( const AliIsolationCut & g) ;
136 
138  AliIsolationCut & operator = (const AliIsolationCut & g) ; // cpy assignment
139 
141  ClassDef(AliIsolationCut,9) ;
143 
144 } ;
145 
146 #endif //ALIISOLATIONCUT_H
147 
148 
149 
void SetPtThreshold(Float_t pt)
void MakeIsolationCut(TObjArray *plCTS, TObjArray *plNe, AliCaloTrackReader *reader, AliCaloPID *pid, Bool_t bFillAOD, AliAODPWG4ParticleCorrelation *pCandidate, TString aodObjArrayName, Int_t &n, Int_t &nfrac, Float_t &ptSum, Float_t &ptLead, Bool_t &isolated)
Int_t GetDebug() const
Int_t GetICMethod() const
Bool_t fFracIsThresh
Use threshold instead of fraction when pt leading is small.
TLorentzVector fMomentum
! Momentum of cluster, temporal object.
Class with utils to perform Isolation Cuts.
void SetConeSize(Float_t r)
void SetPtFraction(Float_t pt)
void SetDebug(Int_t d)
Float_t GetPtFraction() const
void SetSumPtThresholdMax(Float_t s)
void SetSumPtThreshold(Float_t s)
Int_t fICMethod
Isolation cut method to be used: kPtIC, kSumPtIC, kPtFracIC, kSumPtFracIC.
Float_t fPtThreshold
Minimum pt of the particles in the cone or sum in cone (UE pt mean in the forward region cone) ...
Int_t fPartInCone
Type of particles inside cone: kNeutralAndCharged, kOnlyNeutral, kOnlyCharged.
TString GetICParametersList()
Float_t GetPtThreshold() const
void SetICMethod(Int_t i)
TVector3 fTrackVector
! Track moment, temporal object.
Float_t fSumPtThresholdMax
Maximum of sum pt of the particles in the cone (UE sum in the forward region cone) ...
virtual ~AliIsolationCut()
Virtual destructor.
Float_t GetCellDensity(AliAODPWG4ParticleCorrelation *pCandidate, AliCaloTrackReader *reader) const
Get good cell density (number of active cells over all cells in cone).
AliIsolationCut & operator=(const AliIsolationCut &g)
Assignment operator not implemented.
Float_t fConeSize
Size of the isolation cone.
Int_t GetParticleTypeInCone() const
Float_t GetSumPtThreshold() const
void CalculateUEBandClusterNormalization(AliCaloTrackReader *reader, Float_t etaC, Float_t phiC, Float_t phiUEptsumCluster, Float_t etaUEptsumCluster, Float_t &phiUEptsumClusterNorm, Float_t &etaUEptsumClusterNorm, Float_t &excessFracEta, Float_t &excessFracPhi) const
Get normalization of cluster background band.
Base class for event, clusters and tracks filtering and preparation for the analysis.
Bool_t GetFracIsThresh() const
void Print(const Option_t *opt) const
Print some relevant parameters set for the analysis.
void SetPtThresholdMax(Float_t pt)
Int_t fDebug
Debug level.
void CalculateUEBandTrackNormalization(AliCaloTrackReader *reader, Float_t etaC, Float_t phiC, Float_t phiUEptsumTrack, Float_t etaUEptsumTrack, Float_t &phiUEptsumTrackNorm, Float_t &etaUEptsumTrackNorm, Float_t &excessFracEta, Float_t &excessFracPhi) const
Get normalization of track background band.
void SetFracIsThresh(Bool_t f)
Float_t fPtThresholdMax
Maximum pt of the particles outside the cone (needed to fit shower distribution isolated/non-isolated...
Float_t GetPtThresholdMax() const
Float_t fSumPtThreshold
Minimum of sum pt of the particles in the cone (UE sum in the forward region cone) ...
Float_t fPtFraction
Fraction of the momentum of particles in cone or sum in cone.
Class for PID selection with calorimeters.
Definition: AliCaloPID.h:51
AliIsolationCut()
Default constructor. Initialize parameters.
Float_t Radius(Float_t etaCandidate, Float_t phiCandidate, Float_t eta, Float_t phi) const
Float_t GetSumPtThresholdMax() const
Float_t CalculateExcessAreaFraction(Float_t excess) const
void SetParticleTypeInCone(Int_t i)
void GetCoeffNormBadCell(AliAODPWG4ParticleCorrelation *pCandidate, AliCaloTrackReader *reader, Float_t &coneBadCellsCoeff, Float_t &etaBandBadCellsCoeff, Float_t &phiBandBadCellsCoeff)
Get good cell density (number of active cells over all cells in cone).
Float_t GetConeSize() const