CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
mkfit::TrackState Struct Reference

#include <Track.h>

Public Member Functions

void convertFromCartesianToCCS ()
 
void convertFromCCSToCartesian ()
 
void convertFromCCSToGlbCurvilinear ()
 
void convertFromGlbCurvilinearToCCS ()
 
float einvpT () const
 
float emomEta () const
 
float emomPhi () const
 
float eposEta () const
 
float eposPhi () const
 
float eposR () const
 
float epT () const
 
float epxpx () const
 
float epypy () const
 
float epzpz () const
 
float etheta () const
 
float exx () const
 
float exy () const
 
float exz () const
 
float eyy () const
 
float eyz () const
 
float ezz () const
 
float invpT () const
 
SMatrix66 jacobianCartesianToCCS (float px, float py, float pz) const
 
SMatrix66 jacobianCCSToCartesian (float invpt, float phi, float theta) const
 
SMatrix66 jacobianCCSToCurvilinear (float invpt, float cosP, float sinP, float cosT, float sinT, short charge) const
 
SMatrix66 jacobianCurvilinearToCCS (float px, float py, float pz, short charge) const
 
float momEta () const
 
float momPhi () const
 
float p () const
 
float posEta () const
 
SVector3 position () const
 
float posPhi () const
 
float posR () const
 
float posRsq () const
 
float pT () const
 
float px () const
 
float py () const
 
float pz () const
 
float theta () const
 
 TrackState ()
 
 TrackState (int charge, const SVector3 &pos, const SVector3 &mom, const SMatrixSym66 &err)
 
float x () const
 
float y () const
 
float z () const
 

Public Attributes

short charge
 
SMatrixSym66 errors
 
SVector6 parameters
 
bool valid
 

Detailed Description

Definition at line 52 of file Track.h.

Constructor & Destructor Documentation

◆ TrackState() [1/2]

mkfit::TrackState::TrackState ( )
inline

Definition at line 55 of file Track.h.

55 : valid(true) {}

◆ TrackState() [2/2]

mkfit::TrackState::TrackState ( int  charge,
const SVector3 pos,
const SVector3 mom,
const SMatrixSym66 err 
)
inline

Definition at line 56 of file Track.h.

57  : parameters(SVector6(pos.At(0), pos.At(1), pos.At(2), mom.At(0), mom.At(1), mom.At(2))),
58  errors(err),
59  charge(charge),
60  valid(true) {}
SMatrixSym66 errors
Definition: Track.h:63
SVector6 parameters
Definition: Track.h:62
short charge
Definition: Track.h:64
ROOT::Math::SVector< float, 6 > SVector6
Definition: MatrixSTypes.h:10

Member Function Documentation

◆ convertFromCartesianToCCS()

void mkfit::TrackState::convertFromCartesianToCCS ( )

Definition at line 14 of file Track.cc.

References mkfit::getPhi(), mkfit::getTheta(), jacobianCartesianToCCS(), parameters, DiDispStaMuonMonitor_cfi::pt, px(), py(), pz(), mathSSE::sqrt(), and theta().

14  {
15  //assume we are currently in cartesian coordinates and want to move to ccs
16  const float px = parameters.At(3);
17  const float py = parameters.At(4);
18  const float pz = parameters.At(5);
19  const float pt = std::sqrt(px * px + py * py);
20  const float phi = getPhi(px, py);
21  const float theta = getTheta(pt, pz);
22  parameters.At(3) = 1.f / pt;
23  parameters.At(4) = phi;
24  parameters.At(5) = theta;
26  errors = ROOT::Math::Similarity(jac, errors);
27  }
float getTheta(float r, float z)
Definition: Hit.h:36
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
T sqrt(T t)
Definition: SSEVec.h:19
float pz() const
Definition: Track.h:105
float theta() const
Definition: Track.h:101
SMatrix66 jacobianCartesianToCCS(float px, float py, float pz) const
Definition: Track.cc:63
float py() const
Definition: Track.h:104
SVector6 parameters
Definition: Track.h:62
float getPhi(float x, float y)
Definition: Hit.h:34
Definition: errors.py:1
float px() const
Definition: Track.h:103

◆ convertFromCCSToCartesian()

void mkfit::TrackState::convertFromCCSToCartesian ( )

Definition at line 29 of file Track.cc.

References funct::cos(), jacobianCCSToCartesian(), parameters, DiDispStaMuonMonitor_cfi::pt, funct::sin(), and theta().

29  {
30  //assume we are currently in ccs coordinates and want to move to cartesian
31  const float invpt = parameters.At(3);
32  const float phi = parameters.At(4);
33  const float theta = parameters.At(5);
34  const float pt = 1.f / invpt;
35  float cosP = std::cos(phi);
36  float sinP = std::sin(phi);
37  float cosT = std::cos(theta);
38  float sinT = std::sin(theta);
39  parameters.At(3) = cosP * pt;
40  parameters.At(4) = sinP * pt;
41  parameters.At(5) = cosT * pt / sinT;
42  SMatrix66 jac = jacobianCCSToCartesian(invpt, phi, theta);
43  errors = ROOT::Math::Similarity(jac, errors);
44  }
SMatrix66 jacobianCCSToCartesian(float invpt, float phi, float theta) const
Definition: Track.cc:46
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
float theta() const
Definition: Track.h:101
SVector6 parameters
Definition: Track.h:62
Definition: errors.py:1

◆ convertFromCCSToGlbCurvilinear()

void mkfit::TrackState::convertFromCCSToGlbCurvilinear ( )

Definition at line 93 of file Track.cc.

References charge, funct::cos(), jacobianCCSToCurvilinear(), parameters, DiDispStaMuonMonitor_cfi::pt, funct::sin(), and theta().

93  {
94  //assume we are currently in ccs coordinates and want to move to global state with cartesian error
95  const float invpt = parameters.At(3);
96  const float phi = parameters.At(4);
97  const float theta = parameters.At(5);
98  const float pt = 1.f / invpt;
99  float cosP = std::cos(phi);
100  float sinP = std::sin(phi);
101  float cosT = std::cos(theta);
102  float sinT = std::sin(theta);
103  parameters.At(3) = cosP * pt;
104  parameters.At(4) = sinP * pt;
105  parameters.At(5) = cosT * pt / sinT;
106  SMatrix66 jac = jacobianCCSToCurvilinear(invpt, cosP, sinP, cosT, sinT, charge);
107  errors = ROOT::Math::Similarity(jac, errors);
108  }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
SMatrix66 jacobianCCSToCurvilinear(float invpt, float cosP, float sinP, float cosT, float sinT, short charge) const
Definition: Track.cc:110
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
float theta() const
Definition: Track.h:101
SVector6 parameters
Definition: Track.h:62
short charge
Definition: Track.h:64
Definition: errors.py:1

◆ convertFromGlbCurvilinearToCCS()

void mkfit::TrackState::convertFromGlbCurvilinearToCCS ( )

Definition at line 78 of file Track.cc.

References charge, mkfit::getPhi(), mkfit::getTheta(), jacobianCurvilinearToCCS(), parameters, DiDispStaMuonMonitor_cfi::pt, px(), py(), pz(), mathSSE::sqrt(), and theta().

78  {
79  //assume we are currently in global state with curvilinear error and want to move to ccs
80  const float px = parameters.At(3);
81  const float py = parameters.At(4);
82  const float pz = parameters.At(5);
83  const float pt = std::sqrt(px * px + py * py);
84  const float phi = getPhi(px, py);
85  const float theta = getTheta(pt, pz);
86  parameters.At(3) = 1.f / pt;
87  parameters.At(4) = phi;
88  parameters.At(5) = theta;
90  errors = ROOT::Math::Similarity(jac, errors);
91  }
float getTheta(float r, float z)
Definition: Hit.h:36
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
T sqrt(T t)
Definition: SSEVec.h:19
SMatrix66 jacobianCurvilinearToCCS(float px, float py, float pz, short charge) const
Definition: Track.cc:126
float pz() const
Definition: Track.h:105
float theta() const
Definition: Track.h:101
float py() const
Definition: Track.h:104
SVector6 parameters
Definition: Track.h:62
short charge
Definition: Track.h:64
float getPhi(float x, float y)
Definition: Hit.h:34
Definition: errors.py:1
float px() const
Definition: Track.h:103

◆ einvpT()

float mkfit::TrackState::einvpT ( ) const
inline

Definition at line 109 of file Track.h.

References mathSSE::sqrt().

109 { return std::sqrt(errors.At(3, 3)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ emomEta()

float mkfit::TrackState::emomEta ( ) const
inline

Definition at line 113 of file Track.h.

References parameters, funct::sin(), and mathSSE::sqrt().

Referenced by mkfit::TrackBase::emomEta().

113 { return std::sqrt(errors.At(5, 5)) / std::sin(parameters.At(5)); }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
T sqrt(T t)
Definition: SSEVec.h:19
SVector6 parameters
Definition: Track.h:62
Definition: errors.py:1

◆ emomPhi()

float mkfit::TrackState::emomPhi ( ) const
inline

Definition at line 110 of file Track.h.

References mathSSE::sqrt().

Referenced by mkfit::TrackBase::emomPhi().

110 { return std::sqrt(errors.At(4, 4)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ eposEta()

float mkfit::TrackState::eposEta ( ) const
inline

Definition at line 86 of file Track.h.

References mkfit::getEtaErr2(), mathSSE::sqrt(), x(), y(), and z().

86  {
87  return std::sqrt(getEtaErr2(x(),
88  y(),
89  z(),
90  errors.At(0, 0),
91  errors.At(1, 1),
92  errors.At(2, 2),
93  errors.At(0, 1),
94  errors.At(0, 2),
95  errors.At(1, 2)));
96  }
float x() const
Definition: Track.h:68
T sqrt(T t)
Definition: SSEVec.h:19
float getEtaErr2(float x, float y, float z, float exx, float eyy, float ezz, float exy, float exz, float eyz)
Definition: Hit.h:74
float y() const
Definition: Track.h:69
float z() const
Definition: Track.h:70
Definition: errors.py:1

◆ eposPhi()

float mkfit::TrackState::eposPhi ( ) const
inline

Definition at line 85 of file Track.h.

References mkfit::getPhiErr2(), mathSSE::sqrt(), x(), and y().

85 { return std::sqrt(getPhiErr2(x(), y(), errors.At(0, 0), errors.At(1, 1), errors.At(0, 1))); }
float x() const
Definition: Track.h:68
T sqrt(T t)
Definition: SSEVec.h:19
float y() const
Definition: Track.h:69
Definition: errors.py:1
float getPhiErr2(float x, float y, float exx, float eyy, float exy)
Definition: Hit.h:57

◆ eposR()

float mkfit::TrackState::eposR ( ) const
inline

Definition at line 84 of file Track.h.

References mkfit::getRadErr2(), mathSSE::sqrt(), x(), and y().

84 { return std::sqrt(getRadErr2(x(), y(), errors.At(0, 0), errors.At(1, 1), errors.At(0, 1))); }
float x() const
Definition: Track.h:68
float getRadErr2(float x, float y, float exx, float eyy, float exy)
Definition: Hit.h:49
T sqrt(T t)
Definition: SSEVec.h:19
float y() const
Definition: Track.h:69
Definition: errors.py:1

◆ epT()

float mkfit::TrackState::epT ( ) const
inline

Definition at line 112 of file Track.h.

References parameters, and mathSSE::sqrt().

Referenced by mkfit::TrackBase::epT().

112 { return std::sqrt(errors.At(3, 3)) / (parameters.At(3) * parameters.At(3)); }
T sqrt(T t)
Definition: SSEVec.h:19
SVector6 parameters
Definition: Track.h:62
Definition: errors.py:1

◆ epxpx()

float mkfit::TrackState::epxpx ( ) const
inline

Definition at line 114 of file Track.h.

References mkfit::getPxPxErr2(), invpT(), momPhi(), and mathSSE::sqrt().

114 { return std::sqrt(getPxPxErr2(invpT(), momPhi(), errors.At(3, 3), errors.At(4, 4))); }
float getPxPxErr2(float ipt, float phi, float vipt, float vphi)
Definition: Hit.h:83
T sqrt(T t)
Definition: SSEVec.h:19
float momPhi() const
Definition: Track.h:100
float invpT() const
Definition: Track.h:99
Definition: errors.py:1

◆ epypy()

float mkfit::TrackState::epypy ( ) const
inline

Definition at line 115 of file Track.h.

References mkfit::getPyPyErr2(), invpT(), momPhi(), and mathSSE::sqrt().

115 { return std::sqrt(getPyPyErr2(invpT(), momPhi(), errors.At(3, 3), errors.At(4, 4))); }
T sqrt(T t)
Definition: SSEVec.h:19
float momPhi() const
Definition: Track.h:100
float invpT() const
Definition: Track.h:99
Definition: errors.py:1
float getPyPyErr2(float ipt, float phi, float vipt, float vphi)
Definition: Hit.h:90

◆ epzpz()

float mkfit::TrackState::epzpz ( ) const
inline

Definition at line 116 of file Track.h.

References mkfit::getPyPyErr2(), invpT(), mathSSE::sqrt(), and theta().

116 { return std::sqrt(getPyPyErr2(invpT(), theta(), errors.At(3, 3), errors.At(5, 5))); }
T sqrt(T t)
Definition: SSEVec.h:19
float theta() const
Definition: Track.h:101
float invpT() const
Definition: Track.h:99
Definition: errors.py:1
float getPyPyErr2(float ipt, float phi, float vipt, float vphi)
Definition: Hit.h:90

◆ etheta()

float mkfit::TrackState::etheta ( ) const
inline

Definition at line 111 of file Track.h.

References mathSSE::sqrt().

111 { return std::sqrt(errors.At(5, 5)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ exx()

float mkfit::TrackState::exx ( ) const
inline

Definition at line 77 of file Track.h.

References mathSSE::sqrt().

77 { return std::sqrt(errors.At(0, 0)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ exy()

float mkfit::TrackState::exy ( ) const
inline

Definition at line 80 of file Track.h.

References mathSSE::sqrt().

80 { return std::sqrt(errors.At(0, 1)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ exz()

float mkfit::TrackState::exz ( ) const
inline

Definition at line 81 of file Track.h.

References mathSSE::sqrt().

81 { return std::sqrt(errors.At(0, 2)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ eyy()

float mkfit::TrackState::eyy ( ) const
inline

Definition at line 78 of file Track.h.

References mathSSE::sqrt().

78 { return std::sqrt(errors.At(1, 1)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ eyz()

float mkfit::TrackState::eyz ( ) const
inline

Definition at line 82 of file Track.h.

References mathSSE::sqrt().

82 { return std::sqrt(errors.At(1, 2)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ ezz()

float mkfit::TrackState::ezz ( ) const
inline

Definition at line 79 of file Track.h.

References mathSSE::sqrt().

79 { return std::sqrt(errors.At(2, 2)); }
T sqrt(T t)
Definition: SSEVec.h:19
Definition: errors.py:1

◆ invpT()

float mkfit::TrackState::invpT ( ) const
inline

Definition at line 99 of file Track.h.

References parameters.

Referenced by epxpx(), epypy(), epzpz(), and mkfit::TrackBase::invpT().

99 { return parameters.At(3); }
SVector6 parameters
Definition: Track.h:62

◆ jacobianCartesianToCCS()

SMatrix66 mkfit::TrackState::jacobianCartesianToCCS ( float  px,
float  py,
float  pz 
) const

Definition at line 63 of file Track.cc.

References SiStripOfflineCRack_cfg::p2, DiDispStaMuonMonitor_cfi::pt, px(), py(), pz(), and mathSSE::sqrt().

Referenced by convertFromCartesianToCCS().

63  {
64  //arguments are passed so that the function can be used both starting from ccs and from cartesian
65  SMatrix66 jac = ROOT::Math::SMatrixIdentity();
66  const float pt = std::sqrt(px * px + py * py);
67  const float p2 = px * px + py * py + pz * pz;
68  jac(3, 3) = -px / (pt * pt * pt);
69  jac(3, 4) = -py / (pt * pt * pt);
70  jac(4, 3) = -py / (pt * pt);
71  jac(4, 4) = px / (pt * pt);
72  jac(5, 3) = px * pz / (pt * p2);
73  jac(5, 4) = py * pz / (pt * p2);
74  jac(5, 5) = -pt / p2;
75  return jac;
76  }
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
T sqrt(T t)
Definition: SSEVec.h:19
float pz() const
Definition: Track.h:105
float py() const
Definition: Track.h:104
float px() const
Definition: Track.h:103

◆ jacobianCCSToCartesian()

SMatrix66 mkfit::TrackState::jacobianCCSToCartesian ( float  invpt,
float  phi,
float  theta 
) const

Definition at line 46 of file Track.cc.

References funct::cos(), DiDispStaMuonMonitor_cfi::pt, funct::sin(), and theta().

Referenced by convertFromCCSToCartesian().

46  {
47  //arguments are passed so that the function can be used both starting from ccs and from cartesian
48  SMatrix66 jac = ROOT::Math::SMatrixIdentity();
49  float cosP = std::cos(phi);
50  float sinP = std::sin(phi);
51  float cosT = std::cos(theta);
52  float sinT = std::sin(theta);
53  const float pt = 1.f / invpt;
54  jac(3, 3) = -cosP * pt * pt;
55  jac(3, 4) = -sinP * pt;
56  jac(4, 3) = -sinP * pt * pt;
57  jac(4, 4) = cosP * pt;
58  jac(5, 3) = -cosT * pt * pt / sinT;
59  jac(5, 5) = -pt / (sinT * sinT);
60  return jac;
61  }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
float theta() const
Definition: Track.h:101

◆ jacobianCCSToCurvilinear()

SMatrix66 mkfit::TrackState::jacobianCCSToCurvilinear ( float  invpt,
float  cosP,
float  sinP,
float  cosT,
float  sinT,
short  charge 
) const

Definition at line 110 of file Track.cc.

References charge.

Referenced by convertFromCCSToGlbCurvilinear().

111  {
112  SMatrix66 jac;
113  jac(3, 0) = -sinP;
114  jac(4, 0) = -cosP * cosT;
115  jac(3, 1) = cosP;
116  jac(4, 1) = -sinP * cosT;
117  jac(4, 2) = sinT;
118  jac(0, 3) = charge * sinT;
119  jac(0, 5) = charge * cosT * invpt;
120  jac(1, 5) = -1.f;
121  jac(2, 4) = 1.f;
122 
123  return jac;
124  }
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
short charge
Definition: Track.h:64

◆ jacobianCurvilinearToCCS()

SMatrix66 mkfit::TrackState::jacobianCurvilinearToCCS ( float  px,
float  py,
float  pz,
short  charge 
) const

Definition at line 126 of file Track.cc.

References charge, l1tSlwPFPuppiJets_cfi::cosPhi, DiDispStaMuonMonitor_cfi::pt, HLT_2022v15_cff::pt2, px(), py(), pz(), l1tSlwPFPuppiJets_cfi::sinPhi, and mathSSE::sqrt().

Referenced by convertFromGlbCurvilinearToCCS().

126  {
127  const float pt2 = px * px + py * py;
128  const float pt = sqrt(pt2);
129  const float invpt2 = 1.f / pt2;
130  const float invpt = 1.f / pt;
131  const float invp = 1.f / sqrt(pt2 + pz * pz);
132  const float sinPhi = py * invpt;
133  const float cosPhi = px * invpt;
134  const float sinLam = pz * invp;
135  const float cosLam = pt * invp;
136 
137  SMatrix66 jac;
138  jac(0, 3) = -sinPhi;
139  jac(0, 4) = -sinLam * cosPhi;
140  jac(1, 3) = cosPhi;
141  jac(1, 4) = -sinLam * sinPhi;
142  jac(2, 4) = cosLam;
143  jac(3, 0) = charge / cosLam; //assumes |charge|==1 ; else 1.f/charge here
144  jac(3, 1) = pz * invpt2;
145  jac(4, 2) = 1.f;
146  jac(5, 1) = -1.f;
147 
148  return jac;
149  }
ROOT::Math::SMatrix< float, 6 > SMatrix66
Definition: MatrixSTypes.h:9
T sqrt(T t)
Definition: SSEVec.h:19
float pz() const
Definition: Track.h:105
float py() const
Definition: Track.h:104
short charge
Definition: Track.h:64
float px() const
Definition: Track.h:103

◆ momEta()

float mkfit::TrackState::momEta ( ) const
inline

Definition at line 106 of file Track.h.

References mkfit::getEta(), and theta().

Referenced by mkfit::TTreeValidation::fillEfficiencyTree(), mkfit::TTreeValidation::fillFakeRateTree(), and mkfit::TrackBase::momEta().

106 { return getEta(theta()); }
float getEta(float r, float z)
Definition: Hit.h:38
float theta() const
Definition: Track.h:101

◆ momPhi()

float mkfit::TrackState::momPhi ( ) const
inline

◆ p()

float mkfit::TrackState::p ( ) const
inline

Definition at line 107 of file Track.h.

References parameters, pT(), and funct::sin().

Referenced by mkfit::TrackBase::p(), and Electron.Electron::ptErr().

107 { return pT() / std::sin(parameters.At(5)); }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
SVector6 parameters
Definition: Track.h:62
float pT() const
Definition: Track.h:102

◆ posEta()

float mkfit::TrackState::posEta ( ) const
inline

Definition at line 74 of file Track.h.

References mkfit::getEta(), posR(), and z().

74 { return getEta(posR(), z()); }
float getEta(float r, float z)
Definition: Hit.h:38
float posR() const
Definition: Track.h:71
float z() const
Definition: Track.h:70

◆ position()

SVector3 mkfit::TrackState::position ( ) const
inline

Definition at line 61 of file Track.h.

References parameters.

61 { return SVector3(parameters[0], parameters[1], parameters[2]); }
ROOT::Math::SVector< float, 3 > SVector3
Definition: MatrixSTypes.h:14
SVector6 parameters
Definition: Track.h:62

◆ posPhi()

float mkfit::TrackState::posPhi ( ) const
inline

Definition at line 73 of file Track.h.

References mkfit::getPhi(), x(), and y().

73 { return getPhi(x(), y()); }
float x() const
Definition: Track.h:68
float y() const
Definition: Track.h:69
float getPhi(float x, float y)
Definition: Hit.h:34

◆ posR()

float mkfit::TrackState::posR ( ) const
inline

Definition at line 71 of file Track.h.

References mkfit::getHypot(), x(), and y().

Referenced by posEta().

71 { return getHypot(x(), y()); }
float x() const
Definition: Track.h:68
float getHypot(float x, float y)
Definition: Hit.h:47
float y() const
Definition: Track.h:69

◆ posRsq()

float mkfit::TrackState::posRsq ( ) const
inline

Definition at line 72 of file Track.h.

References x(), and y().

Referenced by mkfit::TrackBase::posRsq().

72 { return x() * x() + y() * y(); }
float x() const
Definition: Track.h:68
float y() const
Definition: Track.h:69

◆ pT()

float mkfit::TrackState::pT ( ) const
inline

Definition at line 102 of file Track.h.

References funct::abs(), f, and parameters.

Referenced by mkfit::TTreeValidation::fillEfficiencyTree(), mkfit::TTreeValidation::fillFakeRateTree(), p(), mkfit::TrackBase::pT(), px(), py(), and pz().

102 { return std::abs(1.f / parameters.At(3)); }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
SVector6 parameters
Definition: Track.h:62

◆ px()

float mkfit::TrackState::px ( ) const
inline

Definition at line 103 of file Track.h.

References funct::cos(), parameters, and pT().

Referenced by convertFromCartesianToCCS(), convertFromGlbCurvilinearToCCS(), jacobianCartesianToCCS(), jacobianCurvilinearToCCS(), and mkfit::TrackBase::px().

103 { return pT() * std::cos(parameters.At(4)); }
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
SVector6 parameters
Definition: Track.h:62
float pT() const
Definition: Track.h:102

◆ py()

float mkfit::TrackState::py ( ) const
inline

Definition at line 104 of file Track.h.

References parameters, pT(), and funct::sin().

Referenced by convertFromCartesianToCCS(), convertFromGlbCurvilinearToCCS(), jacobianCartesianToCCS(), jacobianCurvilinearToCCS(), and mkfit::TrackBase::py().

104 { return pT() * std::sin(parameters.At(4)); }
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
SVector6 parameters
Definition: Track.h:62
float pT() const
Definition: Track.h:102

◆ pz()

float mkfit::TrackState::pz ( ) const
inline

Definition at line 105 of file Track.h.

References parameters, pT(), and funct::tan().

Referenced by convertFromCartesianToCCS(), convertFromGlbCurvilinearToCCS(), jacobianCartesianToCCS(), jacobianCurvilinearToCCS(), and mkfit::TrackBase::pz().

105 { return pT() / std::tan(parameters.At(5)); }
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
SVector6 parameters
Definition: Track.h:62
float pT() const
Definition: Track.h:102

◆ theta()

float mkfit::TrackState::theta ( void  ) const
inline

◆ x()

float mkfit::TrackState::x ( ) const
inline

◆ y()

float mkfit::TrackState::y ( ) const
inline

◆ z()

float mkfit::TrackState::z ( ) const
inline

Definition at line 70 of file Track.h.

References parameters.

Referenced by eposEta(), geometryXMLparser.Alignable::pos(), posEta(), and ntupleDataFormat._HitObject::r3D().

70 { return parameters.At(2); }
SVector6 parameters
Definition: Track.h:62

Member Data Documentation

◆ charge

short mkfit::TrackState::charge

◆ errors

SMatrixSym66 mkfit::TrackState::errors

◆ parameters

SVector6 mkfit::TrackState::parameters

◆ valid

bool mkfit::TrackState::valid

Definition at line 65 of file Track.h.