]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliMuonTrackCuts.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonTrackCuts.h
CommitLineData
64647ced 1#ifndef ALIMUONTRACKCUTS_H
2#define ALIMUONTRACKCUTS_H
3
b7e84a9b 4#include "TString.h"
64647ced 5#include "AliAnalysisCuts.h"
68e9b988 6#include "AliOADBMuonTrackCutsParam.h"
64647ced 7
64647ced 8class TList;
ebba9ef0 9class TArrayI;
68e9b988 10class AliVParticle;
11class AliInputEventHandler;
12
64647ced 13
14class AliMuonTrackCuts : public AliAnalysisCuts
15{
16 public:
17
18 enum {
19 kMuEta = BIT(0),
20 kMuThetaAbs = BIT(1),
21 kMuPdca = BIT(2),
22 kMuMatchApt = BIT(3),
23 kMuMatchLpt = BIT(4),
24 kMuMatchHpt = BIT(5),
0f7e072e 25 kMuTrackChiSquare = BIT(6)
64647ced 26 };
0f7e072e 27
64647ced 28 AliMuonTrackCuts();
a12dc5da 29 AliMuonTrackCuts(const char* name, const char* title);
64647ced 30 AliMuonTrackCuts(const AliMuonTrackCuts& obj);
d555a462 31 AliMuonTrackCuts& operator=(const AliMuonTrackCuts& obj);
64647ced 32
33 virtual ~AliMuonTrackCuts();
34
35 virtual UInt_t GetSelectionMask ( const TObject* obj );
36 virtual Bool_t IsSelected ( TObject* obj );
37 virtual Bool_t IsSelected ( TList* /*list */ );
38
39 void SetDefaultFilterMask();
b7e84a9b 40 void SetPassNumber ( Int_t passNumber );
41 /// Set pass name
42 void SetPassName ( TString passName ) { fPassName = passName; }
43 /// Set is MC
68e9b988 44 void SetIsMC ( Bool_t isMC = kTRUE ) { fIsMC = isMC; }
b7e84a9b 45 /// Allow default parameters
46 void SetAllowDefaultParams ( Bool_t allowDefaultParams = kTRUE ) { fAllowDefaultParams = allowDefaultParams; }
47 void SetCustomParamFromRun ( Int_t runNumber = -1, TString passName = "" );
48 void SetCustomParam ( const AliInputEventHandler* eventHandler );
68e9b988 49
b7e84a9b 50 /// Get pass name
51 TString GetPassName () const { return fPassName; }
64647ced 52
68e9b988 53 Bool_t SetRun ( const AliInputEventHandler* eventHandler );
54
64647ced 55 void Print ( Option_t* option = "" ) const;
ebba9ef0 56
57 Bool_t TrackPtCutMatchTrigClass ( const AliVParticle* track, const TArrayI ptCutFromClass) const;
64647ced 58
59 TVector3 GetCorrectedDCA ( const AliVParticle* track ) const;
60 Double_t GetAverageMomentum ( const AliVParticle* track ) const;
68e9b988 61 Bool_t IsThetaAbs23 ( const AliVParticle* track ) const;
64647ced 62
0f7e072e 63 /// Apply also sharp pt cut when matching with trigger
64 void ApplySharpPtCutInMatching ( Bool_t sharpPtCut = kTRUE ) { fSharpPtCut = sharpPtCut; }
e7f23491 65 /// Get flag to apply the sharp pt cut when matching with trigger
66 Bool_t IsApplySharpPtCutInMatching () const { return fSharpPtCut; }
68e9b988 67
68 /// Get track cuts param (you're not supposed to modify its content
69 const AliOADBMuonTrackCutsParam GetMuonTrackCutsParam () const { return fOADBParam; };
70 AliOADBMuonTrackCutsParam* CustomParam ();
64647ced 71
72 private:
d555a462 73
b7e84a9b 74 TString GuessPass ( const AliInputEventHandler* eventHandler );
75 Bool_t ReadParamFromOADB ( Int_t runNumber, TString passName );
64647ced 76
68e9b988 77 Bool_t fIsMC; ///< Monte Carlo analysis
78 Bool_t fUseCustomParam; ///< Use custom parameters (do not search in OADB)
79 Bool_t fSharpPtCut; ///< Flag to apply sharp pt cut in track-trigger matching
80 Bool_t fAllowDefaultParams; ///< Flag to allow default parameters from OADB
b7e84a9b 81 TString fPassName; ///< Pass name
68e9b988 82 AliOADBMuonTrackCutsParam fOADBParam; ///< Track param in OADB
64647ced 83
b7e84a9b 84 ClassDef(AliMuonTrackCuts, 5); // Class for muon track filters
64647ced 85};
86
87#endif
88