]>
Commit | Line | Data |
---|---|---|
64647ced | 1 | #ifndef ALIMUONPAIRCUTS_H |
2 | #define ALIMUONPAIRCUTS_H | |
3 | ||
4 | #include "AliAnalysisCuts.h" | |
75ef785b | 5 | #include "AliMuonTrackCuts.h" |
64647ced | 6 | |
7 | class TList; | |
8 | class TVector3; | |
ebba9ef0 | 9 | class TArrayI; |
68e9b988 | 10 | class AliInputEventHandler; |
64647ced | 11 | |
12 | class AliMuonPairCuts : public AliAnalysisCuts | |
13 | { | |
14 | public: | |
15 | ||
16 | enum { | |
17 | kBothMuEta = BIT(0), | |
18 | kBothMuThetaAbs = BIT(1), | |
19 | kBothMuPdca = BIT(2), | |
20 | kBothMuTrackChiSquare = BIT(3), | |
21 | kBothMuMatchApt = BIT(4), | |
22 | kBothMuMatchLpt = BIT(5), | |
23 | kBothMuMatchHpt = BIT(6), | |
24 | kOneMuMatchApt = BIT(7), | |
25 | kOneMuMatchLpt = BIT(8), | |
26 | kOneMuMatchHpt = BIT(9), | |
27 | kDimuUnlikeSign = BIT(30), | |
28 | kDimuRapidity = BIT(31) | |
29 | }; | |
30 | ||
31 | AliMuonPairCuts(); | |
a12dc5da | 32 | AliMuonPairCuts(const char* name, const char* title); |
64647ced | 33 | AliMuonPairCuts(const char* name, const char* title, const AliMuonTrackCuts& trackCuts); |
34 | AliMuonPairCuts(const AliMuonPairCuts& obj); | |
d555a462 | 35 | AliMuonPairCuts& operator=(const AliMuonPairCuts& obj); |
64647ced | 36 | |
37 | virtual ~AliMuonPairCuts(); | |
38 | ||
39 | virtual UInt_t GetSelectionMask ( const TObject* obj ); | |
40 | virtual Bool_t IsSelected ( TObject* /*obj*/ ); | |
41 | virtual Bool_t IsSelected ( TList* list ); | |
260e4dda | 42 | virtual Bool_t IsSelected ( TObject* track1, TObject* track2 ); |
64647ced | 43 | |
44 | UInt_t GetSelectionMask(const TObject* track1, const TObject* track2); | |
45 | ||
46 | void SetDefaultFilterMask(); | |
47 | ||
68e9b988 | 48 | Bool_t SetRun ( const AliInputEventHandler* eventHandler ); |
49 | void SetIsMC ( Bool_t isMC = kTRUE ); | |
64647ced | 50 | |
51 | void Print ( Option_t* option = "" ) const; | |
52 | ||
53 | Double_t MuonMass2() const; | |
0f7e072e | 54 | |
55 | /// Apply also sharp pt cut when matching with trigger | |
56 | void ApplySharpPtCutInMatching ( Bool_t sharpPtCut = kTRUE ) { fMuonTrackCuts.ApplySharpPtCutInMatching(sharpPtCut); } | |
e7f23491 | 57 | /// Get flag to apply the sharp pt cut when matching with trigger |
58 | Bool_t IsApplySharpPtCutInMatching () const { return fMuonTrackCuts.IsApplySharpPtCutInMatching(); } | |
76f86d1c | 59 | |
ebba9ef0 | 60 | Bool_t TrackPtCutMatchTrigClass ( const AliVParticle* track1, const AliVParticle* track2, const TArrayI ptCutFromClass ) const; |
76f86d1c | 61 | |
62 | /// Return the MuonTrackCuts (normally the standard user do not need to modify this data member) | |
63 | AliMuonTrackCuts& GetMuonTrackCuts () { return fMuonTrackCuts; } | |
64647ced | 64 | |
65 | private: | |
64647ced | 66 | |
67 | AliMuonTrackCuts fMuonTrackCuts; ///< Muon track cuts | |
68 | ||
69 | ClassDef(AliMuonPairCuts, 1); // Class for muon pair filters | |
70 | ||
71 | }; | |
72 | ||
73 | #endif | |
74 |