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 50 of file Track.h.

Constructor & Destructor Documentation

◆ TrackState() [1/2]

mkfit::TrackState::TrackState ( )
inline

Definition at line 53 of file Track.h.

53 : valid(true) {}

◆ TrackState() [2/2]

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

Definition at line 54 of file Track.h.

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

Member Function Documentation

◆ convertFromCartesianToCCS()

void mkfit::TrackState::convertFromCartesianToCCS ( )

Definition at line 13 of file Track.cc.

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

13  {
14  //assume we are currently in cartesian coordinates and want to move to ccs
15  const float px = parameters.At(3);
16  const float py = parameters.At(4);
17  const float pz = parameters.At(5);
18  const float pt = std::sqrt(px * px + py * py);
19  const float phi = getPhi(px, py);
20  const float theta = getTheta(pt, pz);
21  parameters.At(3) = 1.f / pt;
22  parameters.At(4) = phi;
23  parameters.At(5) = theta;
25  errors = ROOT::Math::Similarity(jac, errors);
26  }
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:103
float theta() const
Definition: Track.h:99
SMatrix66 jacobianCartesianToCCS(float px, float py, float pz) const
Definition: Track.cc:62
float py() const
Definition: Track.h:102
SVector6 parameters
Definition: Track.h:60
float getPhi(float x, float y)
Definition: Hit.h:34
Definition: errors.py:1
float px() const
Definition: Track.h:101

◆ convertFromCCSToCartesian()

void mkfit::TrackState::convertFromCCSToCartesian ( )

Definition at line 28 of file Track.cc.

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

28  {
29  //assume we are currently in ccs coordinates and want to move to cartesian
30  const float invpt = parameters.At(3);
31  const float phi = parameters.At(4);
32  const float theta = parameters.At(5);
33  const float pt = 1.f / invpt;
34  float cosP = std::cos(phi);
35  float sinP = std::sin(phi);
36  float cosT = std::cos(theta);
37  float sinT = std::sin(theta);
38  parameters.At(3) = cosP * pt;
39  parameters.At(4) = sinP * pt;
40  parameters.At(5) = cosT * pt / sinT;
42  errors = ROOT::Math::Similarity(jac, errors);
43  }
SMatrix66 jacobianCCSToCartesian(float invpt, float phi, float theta) const
Definition: Track.cc:45
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:99
SVector6 parameters
Definition: Track.h:60
Definition: errors.py:1

◆ convertFromCCSToGlbCurvilinear()

void mkfit::TrackState::convertFromCCSToGlbCurvilinear ( )

Definition at line 92 of file Track.cc.

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

92  {
93  //assume we are currently in ccs coordinates and want to move to global state with cartesian error
94  const float invpt = parameters.At(3);
95  const float phi = parameters.At(4);
96  const float theta = parameters.At(5);
97  const float pt = 1.f / invpt;
98  float cosP = std::cos(phi);
99  float sinP = std::sin(phi);
100  float cosT = std::cos(theta);
101  float sinT = std::sin(theta);
102  parameters.At(3) = cosP * pt;
103  parameters.At(4) = sinP * pt;
104  parameters.At(5) = cosT * pt / sinT;
105  SMatrix66 jac = jacobianCCSToCurvilinear(invpt, cosP, sinP, cosT, sinT, charge);
106  errors = ROOT::Math::Similarity(jac, errors);
107  }
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:109
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:99
SVector6 parameters
Definition: Track.h:60
short charge
Definition: Track.h:62
Definition: errors.py:1

◆ convertFromGlbCurvilinearToCCS()

void mkfit::TrackState::convertFromGlbCurvilinearToCCS ( )

Definition at line 77 of file Track.cc.

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

77  {
78  //assume we are currently in global state with curvilinear error and want to move to ccs
79  const float px = parameters.At(3);
80  const float py = parameters.At(4);
81  const float pz = parameters.At(5);
82  const float pt = std::sqrt(px * px + py * py);
83  const float phi = getPhi(px, py);
84  const float theta = getTheta(pt, pz);
85  parameters.At(3) = 1.f / pt;
86  parameters.At(4) = phi;
87  parameters.At(5) = theta;
89  errors = ROOT::Math::Similarity(jac, errors);
90  }
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:125
float pz() const
Definition: Track.h:103
float theta() const
Definition: Track.h:99
float py() const
Definition: Track.h:102
SVector6 parameters
Definition: Track.h:60
short charge
Definition: Track.h:62
float getPhi(float x, float y)
Definition: Hit.h:34
Definition: errors.py:1
float px() const
Definition: Track.h:101

◆ einvpT()

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

Definition at line 107 of file Track.h.

References mathSSE::sqrt().

107 { 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 111 of file Track.h.

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

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

111 { 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:60
Definition: errors.py:1

◆ emomPhi()

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

Definition at line 108 of file Track.h.

References mathSSE::sqrt().

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

108 { 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 84 of file Track.h.

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

84  {
85  return std::sqrt(getEtaErr2(x(),
86  y(),
87  z(),
88  errors.At(0, 0),
89  errors.At(1, 1),
90  errors.At(2, 2),
91  errors.At(0, 1),
92  errors.At(0, 2),
93  errors.At(1, 2)));
94  }
float x() const
Definition: Track.h:66
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:67
float z() const
Definition: Track.h:68
Definition: errors.py:1

◆ eposPhi()

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

Definition at line 83 of file Track.h.

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

83 { return std::sqrt(getPhiErr2(x(), y(), errors.At(0, 0), errors.At(1, 1), errors.At(0, 1))); }
float x() const
Definition: Track.h:66
T sqrt(T t)
Definition: SSEVec.h:19
float y() const
Definition: Track.h:67
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 82 of file Track.h.

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

82 { return std::sqrt(getRadErr2(x(), y(), errors.At(0, 0), errors.At(1, 1), errors.At(0, 1))); }
float x() const
Definition: Track.h:66
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:67
Definition: errors.py:1

◆ epT()

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

Definition at line 110 of file Track.h.

References parameters, and mathSSE::sqrt().

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

110 { 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:60
Definition: errors.py:1

◆ epxpx()

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

Definition at line 112 of file Track.h.

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

112 { 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:98
float invpT() const
Definition: Track.h:97
Definition: errors.py:1

◆ epypy()

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

Definition at line 113 of file Track.h.

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

113 { 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:98
float invpT() const
Definition: Track.h:97
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 114 of file Track.h.

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

114 { 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:99
float invpT() const
Definition: Track.h:97
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 109 of file Track.h.

References mathSSE::sqrt().

109 { 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 75 of file Track.h.

References mathSSE::sqrt().

75 { 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 78 of file Track.h.

References mathSSE::sqrt().

78 { 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 79 of file Track.h.

References mathSSE::sqrt().

79 { 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 76 of file Track.h.

References mathSSE::sqrt().

76 { 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 80 of file Track.h.

References mathSSE::sqrt().

80 { 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 77 of file Track.h.

References mathSSE::sqrt().

77 { 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 97 of file Track.h.

References parameters.

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

97 { return parameters.At(3); }
SVector6 parameters
Definition: Track.h:60

◆ jacobianCartesianToCCS()

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

Definition at line 62 of file Track.cc.

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

Referenced by convertFromCartesianToCCS().

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

◆ jacobianCCSToCartesian()

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

Definition at line 45 of file Track.cc.

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

Referenced by convertFromCCSToCartesian().

45  {
46  //arguments are passed so that the function can be used both starting from ccs and from cartesian
47  SMatrix66 jac = ROOT::Math::SMatrixIdentity();
48  float cosP = std::cos(phi);
49  float sinP = std::sin(phi);
50  float cosT = std::cos(theta);
51  float sinT = std::sin(theta);
52  const float pt = 1.f / invpt;
53  jac(3, 3) = -cosP * pt * pt;
54  jac(3, 4) = -sinP * pt;
55  jac(4, 3) = -sinP * pt * pt;
56  jac(4, 4) = cosP * pt;
57  jac(5, 3) = -cosT * pt * pt / sinT;
58  jac(5, 5) = -pt / (sinT * sinT);
59  return jac;
60  }
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:99

◆ jacobianCCSToCurvilinear()

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

Definition at line 109 of file Track.cc.

References charge.

Referenced by convertFromCCSToGlbCurvilinear().

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

◆ jacobianCurvilinearToCCS()

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

Definition at line 125 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().

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

◆ momEta()

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

Definition at line 104 of file Track.h.

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

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

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

◆ momPhi()

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

◆ p()

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

Definition at line 105 of file Track.h.

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

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

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

◆ posEta()

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

Definition at line 72 of file Track.h.

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

72 { return getEta(posR(), z()); }
float getEta(float r, float z)
Definition: Hit.h:38
float posR() const
Definition: Track.h:69
float z() const
Definition: Track.h:68

◆ position()

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

Definition at line 59 of file Track.h.

References parameters.

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

◆ posPhi()

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

Definition at line 71 of file Track.h.

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

71 { return getPhi(x(), y()); }
float x() const
Definition: Track.h:66
float y() const
Definition: Track.h:67
float getPhi(float x, float y)
Definition: Hit.h:34

◆ posR()

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

Definition at line 69 of file Track.h.

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

Referenced by posEta().

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

◆ posRsq()

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

Definition at line 70 of file Track.h.

References x(), and y().

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

70 { return x() * x() + y() * y(); }
float x() const
Definition: Track.h:66
float y() const
Definition: Track.h:67

◆ pT()

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

Definition at line 100 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().

100 { 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:60

◆ px()

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

Definition at line 101 of file Track.h.

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

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

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

◆ py()

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

Definition at line 102 of file Track.h.

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

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

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

◆ pz()

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

Definition at line 103 of file Track.h.

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

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

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

◆ 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 68 of file Track.h.

References parameters.

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

68 { return parameters.At(2); }
SVector6 parameters
Definition: Track.h:60

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 63 of file Track.h.