]>
Commit | Line | Data |
---|---|---|
64647ced | 1 | #ifndef ALIMUONTRACKCUTS_H |
2 | #define ALIMUONTRACKCUTS_H | |
3 | ||
4 | #include "AliAnalysisCuts.h" | |
68e9b988 | 5 | #include "AliOADBMuonTrackCutsParam.h" |
64647ced | 6 | |
64647ced | 7 | class TList; |
ebba9ef0 | 8 | class TArrayI; |
68e9b988 | 9 | class AliVParticle; |
10 | class AliInputEventHandler; | |
11 | ||
64647ced | 12 | |
13 | class AliMuonTrackCuts : public AliAnalysisCuts | |
14 | { | |
15 | public: | |
16 | ||
17 | enum { | |
18 | kMuEta = BIT(0), | |
19 | kMuThetaAbs = BIT(1), | |
20 | kMuPdca = BIT(2), | |
21 | kMuMatchApt = BIT(3), | |
22 | kMuMatchLpt = BIT(4), | |
23 | kMuMatchHpt = BIT(5), | |
0f7e072e | 24 | kMuTrackChiSquare = BIT(6) |
64647ced | 25 | }; |
0f7e072e | 26 | |
64647ced | 27 | AliMuonTrackCuts(); |
a12dc5da | 28 | AliMuonTrackCuts(const char* name, const char* title); |
64647ced | 29 | AliMuonTrackCuts(const AliMuonTrackCuts& obj); |
d555a462 | 30 | AliMuonTrackCuts& operator=(const AliMuonTrackCuts& obj); |
64647ced | 31 | |
32 | virtual ~AliMuonTrackCuts(); | |
33 | ||
34 | virtual UInt_t GetSelectionMask ( const TObject* obj ); | |
35 | virtual Bool_t IsSelected ( TObject* obj ); | |
36 | virtual Bool_t IsSelected ( TList* /*list */ ); | |
37 | ||
38 | void SetDefaultFilterMask(); | |
68e9b988 | 39 | void SetPassNumber ( Int_t passNumber ) { fPassNumber = passNumber; } |
40 | void SetIsMC ( Bool_t isMC = kTRUE ) { fIsMC = isMC; } | |
d23dc3e7 | 41 | void SetAllowDefaultParams ( Bool_t allowDefaultParams = kTRUE, Int_t passNumber = -1 ) { fAllowDefaultParams = allowDefaultParams; fPassNumber = passNumber; } |
68e9b988 | 42 | void SetCustomParamFromRun ( Int_t runNumber = -1, Int_t passNumber = -1 ); |
43 | ||
44 | /// Get pass number | |
45 | Int_t GetPassNumber () const { return fPassNumber; } | |
64647ced | 46 | |
68e9b988 | 47 | Bool_t SetRun ( const AliInputEventHandler* eventHandler ); |
48 | ||
64647ced | 49 | void Print ( Option_t* option = "" ) const; |
ebba9ef0 | 50 | |
51 | Bool_t TrackPtCutMatchTrigClass ( const AliVParticle* track, const TArrayI ptCutFromClass) const; | |
64647ced | 52 | |
53 | TVector3 GetCorrectedDCA ( const AliVParticle* track ) const; | |
54 | Double_t GetAverageMomentum ( const AliVParticle* track ) const; | |
68e9b988 | 55 | Bool_t IsThetaAbs23 ( const AliVParticle* track ) const; |
64647ced | 56 | |
0f7e072e | 57 | /// Apply also sharp pt cut when matching with trigger |
58 | void ApplySharpPtCutInMatching ( Bool_t sharpPtCut = kTRUE ) { fSharpPtCut = sharpPtCut; } | |
e7f23491 | 59 | /// Get flag to apply the sharp pt cut when matching with trigger |
60 | Bool_t IsApplySharpPtCutInMatching () const { return fSharpPtCut; } | |
68e9b988 | 61 | |
62 | /// Get track cuts param (you're not supposed to modify its content | |
63 | const AliOADBMuonTrackCutsParam GetMuonTrackCutsParam () const { return fOADBParam; }; | |
64 | AliOADBMuonTrackCutsParam* CustomParam (); | |
64647ced | 65 | |
66 | private: | |
d555a462 | 67 | |
d23dc3e7 | 68 | Bool_t ReadParamFromOADB ( Int_t runNumber, Int_t passNumber ); |
64647ced | 69 | |
68e9b988 | 70 | Bool_t fIsMC; ///< Monte Carlo analysis |
71 | Bool_t fUseCustomParam; ///< Use custom parameters (do not search in OADB) | |
72 | Bool_t fSharpPtCut; ///< Flag to apply sharp pt cut in track-trigger matching | |
73 | Bool_t fAllowDefaultParams; ///< Flag to allow default parameters from OADB | |
74 | Int_t fPassNumber; ///< Pass number | |
75 | AliOADBMuonTrackCutsParam fOADBParam; ///< Track param in OADB | |
64647ced | 76 | |
68e9b988 | 77 | ClassDef(AliMuonTrackCuts, 4); // Class for muon track filters |
64647ced | 78 | }; |
79 | ||
80 | #endif | |
81 |