1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 #include "AliOADBMuonTrackCutsParam.h"
24 ClassImp(AliOADBMuonTrackCutsParam)
27 //________________________________________________________________________
28 AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam () :
29 TNamed("AliOADBMuonTrackCutsParam", "OADB object for Muon track cuts"),
49 //________________________________________________________________________
50 AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam ( const char* name ) :
51 TNamed(name, "OADB object for Muon track cuts"),
67 // ctor, better use this one
71 //________________________________________________________________________
72 AliOADBMuonTrackCutsParam::~AliOADBMuonTrackCutsParam()
77 //________________________________________________________________________
78 AliOADBMuonTrackCutsParam::AliOADBMuonTrackCutsParam ( const AliOADBMuonTrackCutsParam& other ) :
80 fMeanDcaX ( other.fMeanDcaX ),
81 fMeanDcaY ( other.fMeanDcaY ),
82 fMeanDcaZ ( other.fMeanDcaZ ),
83 fMeanPCorr23 ( other.fMeanPCorr23 ),
84 fMeanPCorr310 ( other.fMeanPCorr310 ),
85 fSigmaPdca23 ( other.fSigmaPdca23 ),
86 fSigmaPdca310 ( other.fSigmaPdca310 ),
87 fNSigmaPdcaCut ( other.fNSigmaPdcaCut ),
88 fChi2NormCut ( other.fChi2NormCut ),
89 fRelPResolution ( other.fRelPResolution ),
90 fSlopeResolution ( other.fSlopeResolution ),
91 fSharpPtApt ( other.fSharpPtApt ),
92 fSharpPtLpt ( other.fSharpPtLpt ),
93 fSharpPtHpt ( other.fSharpPtHpt )
99 //________________________________________________________________________
100 AliOADBMuonTrackCutsParam& AliOADBMuonTrackCutsParam::operator=(const AliOADBMuonTrackCutsParam& other)
102 //Assignment operator
103 if ( &other == this ) return *this;
104 TNamed::operator=(other);
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;
124 //________________________________________________________________________
125 void AliOADBMuonTrackCutsParam::SetMeanDCA ( Double_t xAtDca, Double_t yAtDca, Double_t zAtDca )
127 /// Set mean DCA from track
133 //________________________________________________________________________
134 TVector3 AliOADBMuonTrackCutsParam::GetMeanDCA () const
136 /// Get mean DCA from track
137 return TVector3 ( fMeanDcaX, fMeanDcaY, fMeanDcaZ );
141 //________________________________________________________________________
142 void AliOADBMuonTrackCutsParam::SetMeanPCorr ( Double_t pCorrThetaAbs23, Double_t pCorrThetaAbs310 )
144 /// Set mean p correction
145 fMeanPCorr23 = pCorrThetaAbs23;
146 fMeanPCorr310 = pCorrThetaAbs310;
149 //________________________________________________________________________
150 Double_t AliOADBMuonTrackCutsParam::GetMeanPCorr23 ( ) const
152 /// Get mean p correction in 2<theta_abs<3 deg
156 //________________________________________________________________________
157 Double_t AliOADBMuonTrackCutsParam::GetMeanPCorr310 ( ) const
159 /// Get mean p correction in 3<theta_abs<10 deg
160 return fMeanPCorr310;
163 //________________________________________________________________________
164 void AliOADBMuonTrackCutsParam::SetSigmaPdca ( Double_t sigmaThetaAbs23, Double_t sigmaThetaAbs310 )
167 fSigmaPdca23 = sigmaThetaAbs23;
168 fSigmaPdca310 = sigmaThetaAbs310;
171 //________________________________________________________________________
172 Double_t AliOADBMuonTrackCutsParam::GetSigmaPdca23 ( ) const
174 /// Get mean pdca in 2<theta_abs<3 deg
178 //________________________________________________________________________
179 Double_t AliOADBMuonTrackCutsParam::GetSigmaPdca310 ( ) const
181 /// Get mean pdca in 3<theta_abs<10 deg
182 return fSigmaPdca310;
185 //________________________________________________________________________
186 void AliOADBMuonTrackCutsParam::SetNSigmaPdca ( Double_t nSigmas )
188 /// Set N sigma pdca cut
189 fNSigmaPdcaCut = nSigmas;
192 //________________________________________________________________________
193 Double_t AliOADBMuonTrackCutsParam::GetNSigmaPdca () const
195 /// Get N sigma pdca cut
196 return fNSigmaPdcaCut;
199 //________________________________________________________________________
200 void AliOADBMuonTrackCutsParam::SetChi2NormCut ( Double_t chi2normCut )
202 /// Set cut on normalized chi2 of tracks
203 fChi2NormCut = chi2normCut;
206 //________________________________________________________________________
207 Double_t AliOADBMuonTrackCutsParam::GetChi2NormCut () const
209 /// Get cut on normalized chi2 of tracks
213 //________________________________________________________________________
214 void AliOADBMuonTrackCutsParam::SetRelPResolution ( Double_t relPResolution )
216 /// Set relative momentum resolution
217 fRelPResolution = relPResolution;
220 //________________________________________________________________________
221 Double_t AliOADBMuonTrackCutsParam::GetRelPResolution () const
223 /// Get relative momentum resolution
224 return fRelPResolution;
228 //________________________________________________________________________
229 void AliOADBMuonTrackCutsParam::SetSlopeResolution ( Double_t slopeResolution )
231 /// Set slope resolution
232 fSlopeResolution = slopeResolution;
235 //________________________________________________________________________
236 Double_t AliOADBMuonTrackCutsParam::GetSlopeResolution () const
238 /// Get slope resolution
239 return fSlopeResolution;
242 //________________________________________________________________________
243 void AliOADBMuonTrackCutsParam::SetSharpPtCut ( Double_t valueApt, Double_t valueLpt, Double_t valueHpt )
245 /// Set sharp tracker cut matching the trigger level
247 fSharpPtApt = valueApt;
248 fSharpPtLpt = valueLpt;
249 fSharpPtHpt = valueHpt;
252 //________________________________________________________________________
253 Double_t AliOADBMuonTrackCutsParam::GetSharpPtCut ( Int_t trigPtCut, Bool_t warn ) const
255 /// Get sharp tracker cut matching the trigger level
256 /// trigPtCut can be 0 (Apt), 1 (Lpt) or 2 (Hpt)
257 switch ( trigPtCut ) {
266 if ( warn ) AliError("Allowed values for trigPtCut are 0 (Apt), 1 (Lpt), 2 (Hpt)");
270 //________________________________________________________________________
271 void AliOADBMuonTrackCutsParam::Print ( Option_t* /*option*/ ) const
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");