]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/PartCorrBase/AliIsolationCut.h
AliCalorimeterUtils: Fix to be able to use PHOS bad map and geometry matrices
[u/mrichter/AliRoot.git] / PWG4 / PartCorrBase / AliIsolationCut.h
CommitLineData
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>
21class TObjArray ;
22
23// --- ANALYSIS system ---
24class AliAODPWG4ParticleCorrelation ;
25class AliCaloTrackReader ;
26
27class 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