1 #ifndef ALIMUONTRACKCUTS_H
2 #define ALIMUONTRACKCUTS_H
4 #include "AliAnalysisCuts.h"
11 class AliMuonTrackCuts : public AliAnalysisCuts
22 kMuTrackChiSquare = BIT(6),
26 AliMuonTrackCuts(const char* name, const char* title, Bool_t isESD);
27 AliMuonTrackCuts(const AliMuonTrackCuts& obj);
29 virtual ~AliMuonTrackCuts();
31 virtual UInt_t GetSelectionMask ( const TObject* obj );
32 virtual Bool_t IsSelected ( TObject* obj );
33 virtual Bool_t IsSelected ( TList* /*list */ );
35 void SetDefaultFilterMask();
37 Bool_t SetRun(Int_t runNumber);
38 void SetUseCustomParam( Bool_t useCustomParam = kTRUE, Int_t runNumber = -1 );
39 void SetIsMC(Bool_t isMC = kTRUE) { fIsMC = isMC; }
41 void Print ( Option_t* option = "" ) const;
43 TVector3 GetCorrectedDCA ( const AliVParticle* track ) const;
44 Double_t GetAverageMomentum ( const AliVParticle* track ) const;
47 kThetaAbs23, ///< Theta_abs between 2 and 3 degrees
48 kThetaAbs310, ///< Theta_abs between 3 and 10 degrees
49 kNthetaAbs ///< Number of theta abs bins
54 kMeanDcaX, ///< Average track DCA_x
55 kMeanDcaY, ///< Average track DCA_y
56 kMeanDcaZ, ///< Average track DCA_z
57 kMeanPCorr23, ///< Average momentum correction in 2-3 deg
58 kMeanPCorr310, ///< Average momentum correction in 3-10 deg
59 kSigmaPdca23, ///< Sigma_PxDCA in 2-3 deg
60 kSigmaPdca310, ///< Sigma_PxDCA in 3-10 deg
61 kNSigmaPdcaCut, ///< Cut value in units of sigma_PxDCA
62 kChi2NormCut, ///< Cut on the normalized chi2 of track
63 kRelPResolution, ///< Relative momentum resolution
64 kSlopeResolution, ///< Slope resolution
65 kNParameters ///< Total number of parameters
68 void SetMeanDCA ( Double_t xAtDca, Double_t yAtDca, Double_t zAtDca = 0.);
69 TVector3 GetMeanDCA () const;
71 void SetMeanPCorr ( Double_t pCorrThetaAbs23, Double_t pCorrThetaAbs310 );
72 Double_t GetMeanPCorr ( Double_t rAtAbsEnd ) const;
74 void SetSigmaPdca ( Double_t sigmaThetaAbs23, Double_t sigmaThetaAbs310 );
75 Double_t GetSigmaPdca ( Double_t rAtAbsEnd ) const;
77 void SetNSigmaPdca ( Double_t nSigmas );
78 Double_t GetNSigmaPdca () const;
80 void SetChi2NormCut ( Double_t chi2normCut );
81 Double_t GetChi2NormCut () const;
83 void SetRelPResolution ( Double_t relPResolution );
84 Double_t GetRelPResolution () const;
86 void SetSlopeResolution ( Double_t slopeResolution );
87 Double_t GetSlopeResolution () const;
89 Bool_t StreamParameters ( Int_t runNumber, Int_t maxRun );
92 AliMuonTrackCuts& operator=(const AliMuonTrackCuts& obj); // not implemented (on purpose)
94 Int_t GetThetaAbsBin ( Double_t rAtAbsEnd ) const;
95 Bool_t SetParameter ( Int_t iparam, Float_t value );
96 Bool_t RunMatchesRange ( Int_t runNumber, const Char_t* objName );
98 Bool_t fIsESD; ///< Event is ESD
99 Bool_t fIsMC; ///< Monte Carlo analysis
100 Bool_t fUseCustomParam; ///< Use custom parameters (do not search in OADB)
102 TArrayD fParameters; ///< List of parameters
104 ClassDef(AliMuonTrackCuts, 1); // Class for muon track filters