1 #ifndef ALIMUONPAIRCUTS_H
2 #define ALIMUONPAIRCUTS_H
4 #include "AliAnalysisCuts.h"
5 #include "AliMuonTrackCuts.h"
11 class AliMuonPairCuts : public AliAnalysisCuts
17 kBothMuThetaAbs = BIT(1),
19 kBothMuTrackChiSquare = BIT(3),
20 kBothMuMatchApt = BIT(4),
21 kBothMuMatchLpt = BIT(5),
22 kBothMuMatchHpt = BIT(6),
23 kOneMuMatchApt = BIT(7),
24 kOneMuMatchLpt = BIT(8),
25 kOneMuMatchHpt = BIT(9),
26 kDimuUnlikeSign = BIT(30),
27 kDimuRapidity = BIT(31)
31 AliMuonPairCuts(const char* name, const char* title);
32 AliMuonPairCuts(const char* name, const char* title, const AliMuonTrackCuts& trackCuts);
33 AliMuonPairCuts(const AliMuonPairCuts& obj);
34 AliMuonPairCuts& operator=(const AliMuonPairCuts& obj);
36 virtual ~AliMuonPairCuts();
38 virtual UInt_t GetSelectionMask ( const TObject* obj );
39 virtual Bool_t IsSelected ( TObject* /*obj*/ );
40 virtual Bool_t IsSelected ( TList* list );
42 UInt_t GetSelectionMask(const TObject* track1, const TObject* track2);
44 void SetDefaultFilterMask();
46 Bool_t SetRun(Int_t runNumber);
47 void SetIsMC(Bool_t isMC = kTRUE);
49 void Print ( Option_t* option = "" ) const;
51 Double_t MuonMass2() const;
53 /// Apply also sharp pt cut when matching with trigger
54 void ApplySharpPtCutInMatching ( Bool_t sharpPtCut = kTRUE ) { fMuonTrackCuts.ApplySharpPtCutInMatching(sharpPtCut); }
55 /// Get flag to apply the sharp pt cut when matching with trigger
56 Bool_t IsApplySharpPtCutInMatching () const { return fMuonTrackCuts.IsApplySharpPtCutInMatching(); }
60 AliMuonTrackCuts fMuonTrackCuts; ///< Muon track cuts
62 ClassDef(AliMuonPairCuts, 1); // Class for muon pair filters