]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG/muon/AliOADBMuonTrackCutsParam.cxx
o small fix
[u/mrichter/AliRoot.git] / PWG / muon / AliOADBMuonTrackCutsParam.cxx
CommitLineData
68e9b988 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#include "AliOADBMuonTrackCutsParam.h"
17
18#include "TVector3.h"
19
20#include "AliLog.h"
21
22using namespace std;
23
24ClassImp(AliOADBMuonTrackCutsParam)
25
26
27//________________________________________________________________________
28AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam () :
29TNamed("AliOADBMuonTrackCutsParam", "OADB object for Muon track cuts"),
30fMeanDcaX(0.),
31fMeanDcaY(0.),
32fMeanDcaZ(0.),
33fMeanPCorr23(0.),
34fMeanPCorr310(0.),
35fSigmaPdca23(0.),
36fSigmaPdca310(0.),
37fNSigmaPdcaCut(0.),
38fChi2NormCut(0.),
39fRelPResolution(0.),
40fSlopeResolution(0.),
41fSharpPtApt(0.),
42fSharpPtLpt(0.),
43fSharpPtHpt(0.)
44{
45 // default ctor
46}
47
48
49//________________________________________________________________________
50AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam ( const char* name ) :
51TNamed(name, "OADB object for Muon track cuts"),
52fMeanDcaX(0.),
53fMeanDcaY(0.),
54fMeanDcaZ(0.),
55fMeanPCorr23(0.),
56fMeanPCorr310(0.),
57fSigmaPdca23(0.),
58fSigmaPdca310(0.),
59fNSigmaPdcaCut(0.),
60fChi2NormCut(0.),
61fRelPResolution(0.),
62fSlopeResolution(0.),
63fSharpPtApt(0.),
64fSharpPtLpt(0.),
65fSharpPtHpt(0.)
66{
67 // ctor, better use this one
68}
69
70
71//________________________________________________________________________
72AliOADBMuonTrackCutsParam::~AliOADBMuonTrackCutsParam()
73{
74 // dtor
75}
76
77//________________________________________________________________________
78AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam ( const AliOADBMuonTrackCutsParam& other ) :
79TNamed ( other ),
80fMeanDcaX ( other.fMeanDcaX ),
81fMeanDcaY ( other.fMeanDcaY ),
82fMeanDcaZ ( other.fMeanDcaZ ),
83fMeanPCorr23 ( other.fMeanPCorr23 ),
84fMeanPCorr310 ( other.fMeanPCorr310 ),
85fSigmaPdca23 ( other.fSigmaPdca23 ),
86fSigmaPdca310 ( other.fSigmaPdca310 ),
87fNSigmaPdcaCut ( other.fNSigmaPdcaCut ),
88fChi2NormCut ( other.fChi2NormCut ),
89fRelPResolution ( other.fRelPResolution ),
90fSlopeResolution ( other.fSlopeResolution ),
91fSharpPtApt ( other.fSharpPtApt ),
92fSharpPtLpt ( other.fSharpPtLpt ),
93fSharpPtHpt ( other.fSharpPtHpt )
94{
95// Copy ctor
96}
97
98
99//________________________________________________________________________
100AliOADBMuonTrackCutsParam& AliOADBMuonTrackCutsParam::operator=(const AliOADBMuonTrackCutsParam& other)
101{
102 //Assignment operator
103 if ( &other == this ) return *this;
104 TNamed::operator=(other);
105
106 fMeanDcaX = other.fMeanDcaX;
107 fMeanDcaY = other.fMeanDcaY;
108 fMeanDcaZ = other.fMeanDcaZ;
109 fMeanPCorr23 = other.fMeanPCorr23;
110 fMeanPCorr310 = other.fMeanPCorr310;
111 fSigmaPdca23 = other.fSigmaPdca23;
112 fSigmaPdca310 = other.fSigmaPdca310;
113 fNSigmaPdcaCut = other.fNSigmaPdcaCut;
114 fChi2NormCut = other.fChi2NormCut;
115 fRelPResolution = other.fRelPResolution;
116 fSlopeResolution = other.fSlopeResolution;
117 fSharpPtApt = other.fSharpPtApt;
118 fSharpPtLpt = other.fSharpPtLpt;
119 fSharpPtHpt = other.fSharpPtHpt;
120
121 return *this;
122}
123
124//________________________________________________________________________
125void AliOADBMuonTrackCutsParam::SetMeanDCA ( Double_t xAtDca, Double_t yAtDca, Double_t zAtDca )
126{
127 /// Set mean DCA from track
128 fMeanDcaX = xAtDca;
129 fMeanDcaY = yAtDca;
130 fMeanDcaZ = zAtDca;
131}
132
133//________________________________________________________________________
134TVector3 AliOADBMuonTrackCutsParam::GetMeanDCA () const
135{
136 /// Get mean DCA from track
137 return TVector3 ( fMeanDcaX, fMeanDcaY, fMeanDcaZ );
138}
139
140
141//________________________________________________________________________
142void AliOADBMuonTrackCutsParam::SetMeanPCorr ( Double_t pCorrThetaAbs23, Double_t pCorrThetaAbs310 )
143{
144 /// Set mean p correction
145 fMeanPCorr23 = pCorrThetaAbs23;
146 fMeanPCorr310 = pCorrThetaAbs310;
147}
148
149//________________________________________________________________________
150Double_t AliOADBMuonTrackCutsParam::GetMeanPCorr23 ( ) const
151{
152 /// Get mean p correction in 2<theta_abs<3 deg
153 return fMeanPCorr23;
154}
155
156//________________________________________________________________________
157Double_t AliOADBMuonTrackCutsParam::GetMeanPCorr310 ( ) const
158{
159 /// Get mean p correction in 3<theta_abs<10 deg
160 return fMeanPCorr310;
161}
162
163//________________________________________________________________________
164void AliOADBMuonTrackCutsParam::SetSigmaPdca ( Double_t sigmaThetaAbs23, Double_t sigmaThetaAbs310 )
165{
166 /// Set sigma pdca
167 fSigmaPdca23 = sigmaThetaAbs23;
168 fSigmaPdca310 = sigmaThetaAbs310;
169}
170
171//________________________________________________________________________
172Double_t AliOADBMuonTrackCutsParam::GetSigmaPdca23 ( ) const
173{
174 /// Get mean pdca in 2<theta_abs<3 deg
175 return fSigmaPdca23;
176}
177
178//________________________________________________________________________
179Double_t AliOADBMuonTrackCutsParam::GetSigmaPdca310 ( ) const
180{
181 /// Get mean pdca in 3<theta_abs<10 deg
182 return fSigmaPdca310;
183}
184
185//________________________________________________________________________
186void AliOADBMuonTrackCutsParam::SetNSigmaPdca ( Double_t nSigmas )
187{
188 /// Set N sigma pdca cut
189 fNSigmaPdcaCut = nSigmas;
190}
191
192//________________________________________________________________________
193Double_t AliOADBMuonTrackCutsParam::GetNSigmaPdca () const
194{
195 /// Get N sigma pdca cut
196 return fNSigmaPdcaCut;
197}
198
199//________________________________________________________________________
200void AliOADBMuonTrackCutsParam::SetChi2NormCut ( Double_t chi2normCut )
201{
202 /// Set cut on normalized chi2 of tracks
203 fChi2NormCut = chi2normCut;
204}
205
206//________________________________________________________________________
207Double_t AliOADBMuonTrackCutsParam::GetChi2NormCut () const
208{
209 /// Get cut on normalized chi2 of tracks
210 return fChi2NormCut;
211}
212
213//________________________________________________________________________
214void AliOADBMuonTrackCutsParam::SetRelPResolution ( Double_t relPResolution )
215{
216 /// Set relative momentum resolution
217 fRelPResolution = relPResolution;
218}
219
220//________________________________________________________________________
221Double_t AliOADBMuonTrackCutsParam::GetRelPResolution () const
222{
223 /// Get relative momentum resolution
224 return fRelPResolution;
225}
226
227
228//________________________________________________________________________
229void AliOADBMuonTrackCutsParam::SetSlopeResolution ( Double_t slopeResolution )
230{
231 /// Set slope resolution
232 fSlopeResolution = slopeResolution;
233}
234
235//________________________________________________________________________
236Double_t AliOADBMuonTrackCutsParam::GetSlopeResolution () const
237{
238 /// Get slope resolution
239 return fSlopeResolution;
240}
241
242//________________________________________________________________________
243void AliOADBMuonTrackCutsParam::SetSharpPtCut ( Double_t valueApt, Double_t valueLpt, Double_t valueHpt )
244{
245 /// Set sharp tracker cut matching the trigger level
246
247 fSharpPtApt = valueApt;
248 fSharpPtLpt = valueLpt;
249 fSharpPtHpt = valueHpt;
250}
251
252//________________________________________________________________________
253Double_t AliOADBMuonTrackCutsParam::GetSharpPtCut ( Int_t trigPtCut, Bool_t warn ) const
254{
255 /// Get sharp tracker cut matching the trigger level
256 /// trigPtCut can be 0 (Apt), 1 (Lpt) or 2 (Hpt)
257 switch ( trigPtCut ) {
258 case 0:
259 return fSharpPtApt;
260 case 1:
261 return fSharpPtLpt;
262 case 2:
263 return fSharpPtHpt;
264 }
265
266 if ( warn ) AliError("Allowed values for trigPtCut are 0 (Apt), 1 (Lpt), 2 (Hpt)");
267 return 0.;
268}
269
270//________________________________________________________________________
271void AliOADBMuonTrackCutsParam::Print ( Option_t* /*option*/ ) const
272{
273 /// Print info
274 printf(" *** Muon track parameter summary: ***\n");
275 printf(" Mean vertex DCA: (%g, %g, %g)\n", fMeanDcaX, fMeanDcaY, fMeanDcaZ);
276 printf(" Mean p correction (GeV/c): theta2-3 = %g theta3-10 = %g\n", fMeanPCorr23, fMeanPCorr310);
277 printf(" Sigma p x DCA (cm x GeV/c): theta2-3 = %g theta3-10 = %g\n", fSigmaPdca23, fSigmaPdca310);
278 printf(" Cut p x DCA in units of sigma: %g\n", fNSigmaPdcaCut);
279 printf(" Cut on track chi2/NDF: %g\n", fChi2NormCut);
280 printf(" Momentum resolution: %g\n", fRelPResolution);
281 printf(" Slope resolution: %g\n", fSlopeResolution);
282 printf(" Sharp pt cut: %g (Apt) %g (Lpt) %g (Hpt)\n", fSharpPtApt, fSharpPtLpt, fSharpPtHpt);
283 printf(" ********************************\n");
284}