1 #ifndef ALIMUONTRACKCUTS_H
2 #define ALIMUONTRACKCUTS_H
4 #include "AliAnalysisCuts.h"
11 class AliMuonTrackCuts : public AliAnalysisCuts
22 kMuTrackChiSquare = BIT(6),
23 kMuMatchSharpApt = BIT(7),
24 kMuMatchSharpLpt = BIT(8),
25 kMuMatchSharpHpt = BIT(9)
29 AliMuonTrackCuts(const char* name, const char* title, Bool_t isESD);
30 AliMuonTrackCuts(const AliMuonTrackCuts& obj);
31 AliMuonTrackCuts& operator=(const AliMuonTrackCuts& obj);
33 virtual ~AliMuonTrackCuts();
35 virtual UInt_t GetSelectionMask ( const TObject* obj );
36 virtual Bool_t IsSelected ( TObject* obj );
37 virtual Bool_t IsSelected ( TList* /*list */ );
39 void SetDefaultFilterMask();
41 Bool_t SetRun(Int_t runNumber);
42 void SetUseCustomParam( Bool_t useCustomParam = kTRUE, Int_t runNumber = -1 );
43 void SetIsMC(Bool_t isMC = kTRUE) { fIsMC = isMC; }
45 void Print ( Option_t* option = "" ) const;
47 TVector3 GetCorrectedDCA ( const AliVParticle* track ) const;
48 Double_t GetAverageMomentum ( const AliVParticle* track ) const;
51 kThetaAbs23, ///< Theta_abs between 2 and 3 degrees
52 kThetaAbs310, ///< Theta_abs between 3 and 10 degrees
53 kNthetaAbs ///< Number of theta abs bins
58 kMeanDcaX, ///< Average track DCA_x
59 kMeanDcaY, ///< Average track DCA_y
60 kMeanDcaZ, ///< Average track DCA_z
61 kMeanPCorr23, ///< Average momentum correction in 2-3 deg
62 kMeanPCorr310, ///< Average momentum correction in 3-10 deg
63 kSigmaPdca23, ///< Sigma_PxDCA in 2-3 deg
64 kSigmaPdca310, ///< Sigma_PxDCA in 3-10 deg
65 kNSigmaPdcaCut, ///< Cut value in units of sigma_PxDCA
66 kChi2NormCut, ///< Cut on the normalized chi2 of track
67 kRelPResolution, ///< Relative momentum resolution
68 kSlopeResolution, ///< Slope resolution
69 kSharpPtApt, ///< Sharp tracker pt cut for Apt
70 kSharpPtLpt, ///< Sharp tracker pt cut for Lpt
71 kSharpPtHpt, ///< Sharp tracker pt cut for Hpt
72 kNParameters ///< Total number of parameters
75 void SetMeanDCA ( Double_t xAtDca, Double_t yAtDca, Double_t zAtDca = 0.);
76 TVector3 GetMeanDCA () const;
78 void SetMeanPCorr ( Double_t pCorrThetaAbs23, Double_t pCorrThetaAbs310 );
79 Double_t GetMeanPCorr ( Double_t rAtAbsEnd ) const;
81 void SetSigmaPdca ( Double_t sigmaThetaAbs23, Double_t sigmaThetaAbs310 );
82 Double_t GetSigmaPdca ( Double_t rAtAbsEnd ) const;
84 void SetNSigmaPdca ( Double_t nSigmas );
85 Double_t GetNSigmaPdca () const;
87 void SetChi2NormCut ( Double_t chi2normCut );
88 Double_t GetChi2NormCut () const;
90 void SetRelPResolution ( Double_t relPResolution );
91 Double_t GetRelPResolution () const;
93 void SetSlopeResolution ( Double_t slopeResolution );
94 Double_t GetSlopeResolution () const;
96 void SetSharpPtCut ( Int_t trigPtCut, Double_t ptCutValue );
97 Double_t GetSharpPtCut ( Int_t trigPtCut, Bool_t warn = kTRUE ) const;
99 Bool_t StreamParameters ( Int_t runNumber, Int_t maxRun );
103 Int_t GetThetaAbsBin ( Double_t rAtAbsEnd ) const;
104 Bool_t SetParameter ( Int_t iparam, Float_t value );
105 Bool_t RunMatchesRange ( Int_t runNumber, const Char_t* objName );
107 Bool_t fIsESD; ///< Event is ESD
108 Bool_t fIsMC; ///< Monte Carlo analysis
109 Bool_t fUseCustomParam; ///< Use custom parameters (do not search in OADB)
111 TArrayD fParameters; ///< List of parameters
113 ClassDef(AliMuonTrackCuts, 1); // Class for muon track filters