ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalibTrack_E.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#include <algorithm>
8#include <utility>
9
15
16namespace {
17 constexpr float qOverP_cutOff = 1.e-9;
18}
19namespace MuonCalib {
20
23
26
29
31
34
37
38 float MuonCalibTrack_E::x0() const { return m_params.x0; }
39 float MuonCalibTrack_E::y0() const { return m_params.y0; }
40 float MuonCalibTrack_E::z0() const { return m_params.z0; }
41 float MuonCalibTrack_E::phi() const { return m_params.phi; }
42 float MuonCalibTrack_E::theta() const { return m_params.theta; }
43 float MuonCalibTrack_E::qOverP() const { return m_params.qOverP; }
44 float MuonCalibTrack_E::p() const { return 1. / std::max(qOverP_cutOff, std::abs(qOverP())); }
45 float MuonCalibTrack_E::pt() const { return std::sin(theta()) * p(); }
46 float MuonCalibTrack_E::errInvP() const { return m_params.cov(4, 4); }
47 int MuonCalibTrack_E::author() const { return m_params.author; }
48 float MuonCalibTrack_E::chi2() const { return m_params.chi2; }
49 int MuonCalibTrack_E::ndof() const { return m_params.ndof; }
50
51 void MuonCalibTrack_E::setX0(float x0) { m_params.x0 = x0; }
52 void MuonCalibTrack_E::setY0(float y0) { m_params.y0 = y0; }
53 void MuonCalibTrack_E::setZ0(float z0) { m_params.z0 = z0; }
58
62
64 if (hit) m_hits.emplace_back(hit);
65 }
66
68 if (hole) m_holes.emplace_back(hole);
69 }
70
72 // extrapolate z to IP
75 return posAtIp.z();
76 }
77 float MuonCalib::MuonCalibTrack_E::d0() const { return -x0() * std::sin(phi()) + y0() * std::cos(phi()); }
78
79} // namespace MuonCalib
Scalar phi() const
phi method
Amg::Vector3D propagateToPerigee(const Amg::Vector3D &pos, const Amg::Vector3D &dir) const
Propagator track parameters to the perigee.
int author() const
returns the author
void setAuthor(int author)
sets author
const SegmentVector & segmetnsOnTrack() const
virtual float z0ip() const
returns trackparameter z0 at IP
void addHole(const CalibHolePtr &hole)
Add a MuonCalib::MuonCalibHole_E to the track.
int ndof() const
returns the number of degrees of freedom
void setTheta(float theta)
sets trackparameter theta
std::vector< CalibHitPtr > HitVector
typedef of a set of MuonCalib::MuonCalibHit_E s
void setChi2(float chi2)
sets track chi2
float phi() const
returns trackparameter phi
std::shared_ptr< MuonCalibSegment > CalibSegPtr
const Amg::Vector3D & position() const
position of perigee of track
void setX0(float x0)
sets trackparameter x0
void setPhi(float phi)
sets trackparameter phi
void setNdof(int ndof)
sets ndof
void setY0(float y0)
sets trackparameter y0
MuonCalibTrack_E()=default
default constructor
void setZ0(float z0)
sets trackparameter z0
float pt() const
returns pt
const HitVector & hits() const
HoleVector m_holes
set of MuonCalib::MuonCalibHole_E s on track
std::vector< CalibSegPtr > SegmentVector
void addSegmentOnTrack(const CalibSegPtr &s)
float theta() const
returns trackparameter theta
float y0() const
returns trackparameter y0
float qOverP() const
returns trackparameter q/p
void addHit(const CalibHitPtr &hit)
Add a MuonCalib::MuonCalibHit_E to the track.
float z0() const
returns trackparameter z0
std::vector< CalibHolePtr > HoleVector
typedef of a set of MuonCalib::MuonCalibHole_E s
float p() const
returns momentum
float chi2() const
returns track chi2
float x0() const
returns trackparameter x0
std::shared_ptr< const MuonCalibHit_E > CalibHitPtr
float errInvP() const
returns the error**2 on trackparameter q/p
const Amg::Vector3D & direction() const
direction of perigee of track
const HoleVector & holes() const
void setQOverP(float qOverP)
sets trackparameter q/p
std::shared_ptr< MuonCalibHole_E > CalibHolePtr
HitVector m_hits
set of MuonCalib::MuonCalibHit_E s on track
virtual float d0() const
returns trackparameter d0
Eigen::Matrix< double, 3, 1 > Vector3D
void setThetaPhi(Amg::Vector3D &v, double theta, double phi)
sets the theta and phi angle of a vector without changing the magnitude
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
STL namespace.
constructor setting all trackparameters and position