]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliMuonPairCuts.h
expand particle map when needed
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonPairCuts.h
CommitLineData
64647ced 1#ifndef ALIMUONPAIRCUTS_H
2#define ALIMUONPAIRCUTS_H
3
4#include "AliAnalysisCuts.h"
75ef785b 5#include "AliMuonTrackCuts.h"
64647ced 6
7class TList;
8class TVector3;
ebba9ef0 9class TArrayI;
68e9b988 10class AliInputEventHandler;
64647ced 11
12class 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