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