]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliMuonPairCuts.h
adding cuts for muons
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonPairCuts.h
1 #ifndef ALIMUONPAIRCUTS_H
2 #define ALIMUONPAIRCUTS_H
3
4 #include "AliAnalysisCuts.h"
5 #include "AliMuonTrackCuts.h"
6 #include "TArrayD.h"
7
8 class TList;
9 class TVector3;
10
11 class AliMuonPairCuts : public AliAnalysisCuts
12 {
13  public:
14   
15   enum {
16     kBothMuEta = BIT(0),
17     kBothMuThetaAbs = BIT(1),
18     kBothMuPdca = BIT(2),
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)
28   };
29
30   AliMuonPairCuts();
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);
35
36   virtual ~AliMuonPairCuts();
37
38   virtual UInt_t GetSelectionMask ( const TObject* obj );
39   virtual Bool_t IsSelected ( TObject* /*obj*/ );
40   virtual Bool_t IsSelected ( TList* list );
41
42   UInt_t GetSelectionMask(const TObject* track1, const TObject* track2);
43   
44   void SetDefaultFilterMask();
45
46   Bool_t SetRun(Int_t runNumber);
47   void SetIsMC(Bool_t isMC = kTRUE);
48
49   void Print ( Option_t* option = "" ) const;
50   
51   Double_t MuonMass2() const;
52   
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(); }
57
58  private:
59   
60   AliMuonTrackCuts fMuonTrackCuts; ///< Muon track cuts
61
62   ClassDef(AliMuonPairCuts, 1); // Class for muon pair filters
63
64 };
65  
66 #endif
67