]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliMuonPairCuts.h
Standard cuts for (di-)muon analysis (Diego)
[u/mrichter/AliRoot.git] / PWG3 / muon / AliMuonPairCuts.h
CommitLineData
64647ced 1#ifndef ALIMUONPAIRCUTS_H
2#define ALIMUONPAIRCUTS_H
3
4#include "AliAnalysisCuts.h"
5#include "TArrayD.h"
6
7class TList;
8class TVector3;
9class AliMuonTrackCuts;
10
11class 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