]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliMuonTrackCuts.h
Coverity 17719 solved by non-implemented private copy constructor and assignment...
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonTrackCuts.h
CommitLineData
64647ced 1#ifndef ALIMUONTRACKCUTS_H
2#define ALIMUONTRACKCUTS_H
3
4#include "AliAnalysisCuts.h"
5#include "TArrayD.h"
6
7class AliVParticle;
8class TList;
9class TVector3;
10
11class AliMuonTrackCuts : public AliAnalysisCuts
12{
13 public:
14
15 enum {
16 kMuEta = BIT(0),
17 kMuThetaAbs = BIT(1),
18 kMuPdca = BIT(2),
19 kMuMatchApt = BIT(3),
20 kMuMatchLpt = BIT(4),
21 kMuMatchHpt = BIT(5),
22 kMuTrackChiSquare = BIT(6),
ea4793e5 23 kMuSharpPtCut = BIT(7)
64647ced 24 };
25
26 AliMuonTrackCuts();
27 AliMuonTrackCuts(const char* name, const char* title, Bool_t isESD);
28 AliMuonTrackCuts(const AliMuonTrackCuts& obj);
29
30 virtual ~AliMuonTrackCuts();
31
32 virtual UInt_t GetSelectionMask ( const TObject* obj );
33 virtual Bool_t IsSelected ( TObject* obj );
34 virtual Bool_t IsSelected ( TList* /*list */ );
35
36 void SetDefaultFilterMask();
37
38 Bool_t SetRun(Int_t runNumber);
39 void SetUseCustomParam( Bool_t useCustomParam = kTRUE, Int_t runNumber = -1 );
40 void SetIsMC(Bool_t isMC = kTRUE) { fIsMC = isMC; }
41
42 void Print ( Option_t* option = "" ) const;
43
44 TVector3 GetCorrectedDCA ( const AliVParticle* track ) const;
45 Double_t GetAverageMomentum ( const AliVParticle* track ) const;
46
47 enum {
48 kThetaAbs23, ///< Theta_abs between 2 and 3 degrees
49 kThetaAbs310, ///< Theta_abs between 3 and 10 degrees
50 kNthetaAbs ///< Number of theta abs bins
51 };
52
53 // Parameters
54 enum {
55 kMeanDcaX, ///< Average track DCA_x
56 kMeanDcaY, ///< Average track DCA_y
57 kMeanDcaZ, ///< Average track DCA_z
58 kMeanPCorr23, ///< Average momentum correction in 2-3 deg
59 kMeanPCorr310, ///< Average momentum correction in 3-10 deg
60 kSigmaPdca23, ///< Sigma_PxDCA in 2-3 deg
61 kSigmaPdca310, ///< Sigma_PxDCA in 3-10 deg
62 kNSigmaPdcaCut, ///< Cut value in units of sigma_PxDCA
63 kChi2NormCut, ///< Cut on the normalized chi2 of track
64 kRelPResolution, ///< Relative momentum resolution
65 kSlopeResolution, ///< Slope resolution
ea4793e5 66 kSharpPtApt, ///< Sharp tracker pt cut for Apt
67 kSharpPtLpt, ///< Sharp tracker pt cut for Lpt
68 kSharpPtHpt, ///< Sharp tracker pt cut for Hpt
64647ced 69 kNParameters ///< Total number of parameters
70 };
71
72 void SetMeanDCA ( Double_t xAtDca, Double_t yAtDca, Double_t zAtDca = 0.);
73 TVector3 GetMeanDCA () const;
74
75 void SetMeanPCorr ( Double_t pCorrThetaAbs23, Double_t pCorrThetaAbs310 );
76 Double_t GetMeanPCorr ( Double_t rAtAbsEnd ) const;
77
78 void SetSigmaPdca ( Double_t sigmaThetaAbs23, Double_t sigmaThetaAbs310 );
79 Double_t GetSigmaPdca ( Double_t rAtAbsEnd ) const;
80
81 void SetNSigmaPdca ( Double_t nSigmas );
82 Double_t GetNSigmaPdca () const;
83
84 void SetChi2NormCut ( Double_t chi2normCut );
85 Double_t GetChi2NormCut () const;
86
87 void SetRelPResolution ( Double_t relPResolution );
88 Double_t GetRelPResolution () const;
89
90 void SetSlopeResolution ( Double_t slopeResolution );
91 Double_t GetSlopeResolution () const;
ea4793e5 92
93 void SetSharpPtCut ( Int_t trigPtCut, Double_t ptCutValue );
94 Double_t GetSharpPtCut ( Int_t trigPtCut, Bool_t warn = kTRUE ) const;
64647ced 95
96 Bool_t StreamParameters ( Int_t runNumber, Int_t maxRun );
97
98 private:
99 AliMuonTrackCuts& operator=(const AliMuonTrackCuts& obj); // not implemented (on purpose)
100
101 Int_t GetThetaAbsBin ( Double_t rAtAbsEnd ) const;
102 Bool_t SetParameter ( Int_t iparam, Float_t value );
103 Bool_t RunMatchesRange ( Int_t runNumber, const Char_t* objName );
104
105 Bool_t fIsESD; ///< Event is ESD
106 Bool_t fIsMC; ///< Monte Carlo analysis
107 Bool_t fUseCustomParam; ///< Use custom parameters (do not search in OADB)
108
109 TArrayD fParameters; ///< List of parameters
110
111 ClassDef(AliMuonTrackCuts, 1); // Class for muon track filters
112};
113
114#endif
115