]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliMuonPairCuts.h
Updates to run with deltas (L. Cunqueiro)
[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, Bool_t isESD);
32   AliMuonPairCuts(const char* name, const char* title, const AliMuonTrackCuts& trackCuts);
33   AliMuonPairCuts(const AliMuonPairCuts& obj);
34
35   virtual ~AliMuonPairCuts();
36
37   virtual UInt_t GetSelectionMask ( const TObject* obj );
38   virtual Bool_t IsSelected ( TObject* /*obj*/ );
39   virtual Bool_t IsSelected ( TList* list );
40
41   UInt_t GetSelectionMask(const TObject* track1, const TObject* track2);
42   
43   void SetDefaultFilterMask();
44
45   Bool_t SetRun(Int_t runNumber);
46   void SetIsMC(Bool_t isMC = kTRUE);
47
48   void Print ( Option_t* option = "" ) const;
49   
50   Double_t MuonMass2() const;
51
52  private:
53   AliMuonPairCuts& operator=(const AliMuonPairCuts& obj); // not implemented (on purpose)
54   
55   AliMuonTrackCuts fMuonTrackCuts; ///< Muon track cuts
56
57   ClassDef(AliMuonPairCuts, 1); // Class for muon pair filters
58
59 };
60  
61 #endif
62