ATLAS Offline Software
Loading...
Searching...
No Matches
TrigInDetTrackFitPar Class Reference

encapsulates LVL2 track parameters and covariance matrix The vector of track parameters consists of More...

#include <TrigInDetTrackFitPar.h>

Collaboration diagram for TrigInDetTrackFitPar:

Public Types

enum  TrigSurfaceType { PERIGEE =0 , BARREL =1 , ENDCAP =2 , UNDEFINED =3 }

Public Member Functions

 TrigInDetTrackFitPar ()
 Constructor for POOL only.
 TrigInDetTrackFitPar (const double a0, const double phi0, const double z0, const double eta, const double pT, const double ea0, const double ephi0, const double ez0, const double eeta, const double epT, const std::vector< double > *cov=0)
 Constructor for parameters on PERIGEE surface.
 TrigInDetTrackFitPar (const double a0, const double phi0, const double z0, const double eta, const double pT, const double ea0, const double ephi0, const double ez0, const double eeta, const double epT, const TrigSurfaceType t, const double c, const std::vector< double > *cov=0)
 Constructor for parameters on non-PERIGEE surface.
 TrigInDetTrackFitPar (const double a0, const double phi0, const double z0, const double eta, const double pT, const std::vector< double > *cov=0)
 Constructor for PERIGEE parameters without errors or covariance.
 TrigInDetTrackFitPar (const double a0, const double phi0, const double z0, const double eta, const double pT, const TrigSurfaceType t, const double c, const std::vector< double > *cov=0)
 Constructor for non-PERIGEE parameters without errors or covariance.
 TrigInDetTrackFitPar (const TrigInDetTrackFitPar &rhs)
 Copy constructor.
TrigInDetTrackFitParoperator= (TrigInDetTrackFitPar &&rhs)
 Move assignment.
 ~TrigInDetTrackFitPar ()
 Destructor.
void a0 (const double a0)
 Setter: transverse impact parameter.
void z0 (const double z0)
 Setter: longitudinal impact parameter.
void phi0 (const double phi0)
 Setter: azimuthal angle of the momentum.
void eta (const double eta)
 Setter: pseudorapidity.
void pT (const double pT)
 Setter: transverse momentum.
void cov (const std::vector< double > *cov)
 Setter: covariance matrix of track parameters.
void surfaceType (TrigSurfaceType s)
 Setter: surface type PERIGEE=0, BARREL=1, ENDCAP=2.
void surfaceCoordinate (double c)
 Setter: surface reference coordinate for non-perigee surfaces.
double a0 () const
 transverse impact parameter
double z0 () const
 longitudinal impact parameter
double phi0 () const
 azimuthal angle of the momentum
double eta () const
 pseudorapidity
double pT () const
 transverse momentum
double ea0 () const
 variance of transverse impact parameter
double ez0 () const
 variance of longitudinal impact parameter
double ephi0 () const
 variance of azimuthal angle of the momentum
double eeta () const
 variance of pseudorapidity
double epT () const
 variance of transverse momentum
const std::vector< double > * cov () const
 covariance (packed) of track parameters
TrigSurfaceType surfaceType () const
 surface type
double surfaceCoordinate () const
 surface reference coordinate (radius or z-position) for non-perigee parameters

Private Attributes

double m_a0
 see detailed description below
double m_phi0
 see detailed description below
double m_z0
 see detailed description below
double m_eta
 pseudorapidity
double m_pT
 transverse momentum
double m_ea0
 \( \sqrt{cov(a_0,a_0)}\)
double m_ephi0
 \( \sqrt{cov(\phi_0,\phi_0)}\)
double m_ez0
 \( \sqrt{cov(z_0,z_0)}\)
double m_eeta
 \( \sqrt{cov(\eta,\eta)}\)
double m_epT
 \( \sqrt{cov(p_T,p_T)}\)
const std::vector< double > * m_cov
 covariance matrix packed as described below
TrigSurfaceType m_surfaceType
 type of track parameters - perigee, barrel, or endcap
double m_surfaceCoordinate
 barrel radius or z of endcap disk

Detailed Description

encapsulates LVL2 track parameters and covariance matrix The vector of track parameters consists of

\( a_0 \) , \( \phi_0 \), \( z_0 \), \( \eta \), \( p_T \)

The first three parameters are defined as follows

if m_surfaceType is PERIGEE - the default

\( a_0 \) : transverse impact parameter, a.k.a., \( d_0 \), the distance of the closest approach of a helix to the z-axis.

\( \phi_0 \) : momentum angle phi at the point of the closest approach

\( z_0 \) : longitudinal impact parameter, the z value at the point of the closest approach.

The convention for the sign of \( a_0 \) is the following. Let \( \Phi \) be the azimuthal angle to the perigee point. The sign of \( a_0 \) is then defined as positive if \( \Phi = \phi_0 + \frac{\pi}{2} \). Note that this convention is independent from particle charge sign.

if m_surfaceType is BARREL, radius is given by m_surfaceCoordinate

\( a_0 \) : Phi - azimuthal angle of the track position on the surface

\( \phi_0 \) : momentum angle phi in the global reference frame

\( z_0 \) : z-position (along the barrel axis)

if m_surfaceType is ENDCAP, surface is a disk orthogonal to the global z-axis z-coordinate of the disk is given by m_surfaceCoordinate

\( a_0 \) : Phi - azimuthal angle of the track position on the surface

\( \phi_0 \) : momentum angle phi in the global reference frame

\( z_0 \) : Rho - radial coordinate of the track position on the disk

Covariance matrix is stored in a std::vector<double>:

cov : vector of 15 numbers corresponding to the upper half of the covariance matrix, packed as follows: cov(a0,a0) -> cov(a0,phi0) -> cov(a0,z0) -> cov(a0,eta) -> cov(a0,pT) -> cov(phi0,phi0) -> cov(phi0,z0) -> cov(phi0,eta) -> cov(phi0,pT) -> cov(z0,z0) -> cov(z0,eta) -> cov(z0,pT) -> cov(eta,eta) -> cov(eta,pT) -> cov(pT,pT)

m_ea0, m_ephi0, m_ez0, m_eeta, m_epT - square roots out of corresponding diagonal elements of the covariance matrix

Note that pT is actually pT \( \times \) sign of particle charge

Definition at line 68 of file TrigInDetTrackFitPar.h.

Member Enumeration Documentation

◆ TrigSurfaceType

Constructor & Destructor Documentation

◆ TrigInDetTrackFitPar() [1/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( )
inline

Constructor for POOL only.

Definition at line 75 of file TrigInDetTrackFitPar.h.

75 :
76 m_a0(0.0), m_phi0(0.0), m_z0(0.0),m_eta(0.0), m_pT(0.0),
77 m_ea0(0.0), m_ephi0(0.0), m_ez0(0.0), m_eeta(0.0), m_epT(0.0),
79 {};
const std::vector< double > * m_cov
covariance matrix packed as described below
double m_eta
pseudorapidity
double m_pT
transverse momentum
double m_phi0
see detailed description below
double m_z0
see detailed description below
TrigSurfaceType m_surfaceType
type of track parameters - perigee, barrel, or endcap
double m_surfaceCoordinate
barrel radius or z of endcap disk
double m_a0
see detailed description below

◆ TrigInDetTrackFitPar() [2/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const double a0,
const double phi0,
const double z0,
const double eta,
const double pT,
const double ea0,
const double ephi0,
const double ez0,
const double eeta,
const double epT,
const std::vector< double > * cov = 0 )
inline

Constructor for parameters on PERIGEE surface.

Definition at line 82 of file TrigInDetTrackFitPar.h.

92 :
93 m_a0(a0), m_phi0(phi0), m_z0(z0),
97 {};
void eta(const double eta)
Setter: pseudorapidity.
void z0(const double z0)
Setter: longitudinal impact parameter.
double ea0() const
variance of transverse impact parameter
void phi0(const double phi0)
Setter: azimuthal angle of the momentum.
void a0(const double a0)
Setter: transverse impact parameter.
double eeta() const
variance of pseudorapidity
double ez0() const
variance of longitudinal impact parameter
void cov(const std::vector< double > *cov)
Setter: covariance matrix of track parameters.
double ephi0() const
variance of azimuthal angle of the momentum
double epT() const
variance of transverse momentum
void pT(const double pT)
Setter: transverse momentum.

◆ TrigInDetTrackFitPar() [3/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const double a0,
const double phi0,
const double z0,
const double eta,
const double pT,
const double ea0,
const double ephi0,
const double ez0,
const double eeta,
const double epT,
const TrigSurfaceType t,
const double c,
const std::vector< double > * cov = 0 )
inline

Constructor for parameters on non-PERIGEE surface.

Definition at line 101 of file TrigInDetTrackFitPar.h.

◆ TrigInDetTrackFitPar() [4/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const double a0,
const double phi0,
const double z0,
const double eta,
const double pT,
const std::vector< double > * cov = 0 )
inline

Constructor for PERIGEE parameters without errors or covariance.

Definition at line 120 of file TrigInDetTrackFitPar.h.

125 :
126 m_a0(a0), m_phi0(phi0), m_z0(z0),
127 m_eta(eta), m_pT(pT),
128 m_ea0(0.0), m_ephi0(0.0), m_ez0(0.0), m_eeta(0.0),
131 if(cov!=NULL) {
132 if((*cov)[0]>=0.0) m_ea0 = sqrt((*cov)[0]);
133 if((*cov)[5]>=0.0) m_ephi0 = sqrt((*cov)[5]);
134 if((*cov)[9]>=0.0) m_ez0 = sqrt((*cov)[9]);
135 if((*cov)[12]>=0.0) m_eeta = sqrt((*cov)[12]);
136 if((*cov)[14]>=0.0) m_epT = sqrt((*cov)[14]);
137 }
138 }

◆ TrigInDetTrackFitPar() [5/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const double a0,
const double phi0,
const double z0,
const double eta,
const double pT,
const TrigSurfaceType t,
const double c,
const std::vector< double > * cov = 0 )
inline

Constructor for non-PERIGEE parameters without errors or covariance.

Definition at line 141 of file TrigInDetTrackFitPar.h.

148 :
149 m_a0(a0), m_phi0(phi0), m_z0(z0),
150 m_eta(eta), m_pT(pT),
151 m_ea0(0.0), m_ephi0(0.0), m_ez0(0.0), m_eeta(0.0), m_epT(0.0), m_cov(cov), m_surfaceType(t),
153 {
154 if(cov!=NULL) {
155 if((*cov)[0]>=0.0) m_ea0 = sqrt((*cov)[0]);
156 if((*cov)[5]>=0.0) m_ephi0 = sqrt((*cov)[5]);
157 if((*cov)[9]>=0.0) m_ez0 = sqrt((*cov)[9]);
158 if((*cov)[12]>=0.0) m_eeta = sqrt((*cov)[12]);
159 if((*cov)[14]>=0.0) m_epT = sqrt((*cov)[14]);
160 }
161 }

◆ TrigInDetTrackFitPar() [6/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const TrigInDetTrackFitPar & rhs)
inline

Copy constructor.

Definition at line 164 of file TrigInDetTrackFitPar.h.

165 : m_a0 (rhs.m_a0),
166 m_phi0 (rhs.m_phi0),
167 m_z0 (rhs.m_z0),
168 m_eta (rhs.m_eta),
169 m_pT (rhs.m_pT),
170 m_ea0 (rhs.m_ea0),
171 m_ephi0 (rhs.m_ephi0),
172 m_ez0 (rhs.m_ez0),
173 m_eeta (rhs.m_eeta),
174 m_epT (rhs.m_epT),
177 {
178 if (rhs.m_cov)
179 m_cov = new std::vector<double> (*rhs.m_cov);
180 else
181 m_cov = nullptr;
182 }

◆ ~TrigInDetTrackFitPar()

TrigInDetTrackFitPar::~TrigInDetTrackFitPar ( )
inline

Destructor.

Definition at line 209 of file TrigInDetTrackFitPar.h.

209{if(m_cov) delete m_cov;}

Member Function Documentation

◆ a0() [1/2]

double TrigInDetTrackFitPar::a0 ( ) const
inline

transverse impact parameter

Definition at line 232 of file TrigInDetTrackFitPar.h.

232{ return m_a0; }

◆ a0() [2/2]

void TrigInDetTrackFitPar::a0 ( const double a0)
inline

Setter: transverse impact parameter.

Definition at line 214 of file TrigInDetTrackFitPar.h.

214{ m_a0 = a0; }

◆ cov() [1/2]

const std::vector< double > * TrigInDetTrackFitPar::cov ( ) const
inline

covariance (packed) of track parameters

Definition at line 252 of file TrigInDetTrackFitPar.h.

252{ return m_cov; }

◆ cov() [2/2]

void TrigInDetTrackFitPar::cov ( const std::vector< double > * cov)
inline

Setter: covariance matrix of track parameters.

Definition at line 224 of file TrigInDetTrackFitPar.h.

224{ m_cov = cov; }

◆ ea0()

double TrigInDetTrackFitPar::ea0 ( ) const
inline

variance of transverse impact parameter

Definition at line 242 of file TrigInDetTrackFitPar.h.

242{ return m_ea0; }

◆ eeta()

double TrigInDetTrackFitPar::eeta ( ) const
inline

variance of pseudorapidity

Definition at line 248 of file TrigInDetTrackFitPar.h.

248{ return m_eeta; }

◆ ephi0()

double TrigInDetTrackFitPar::ephi0 ( ) const
inline

variance of azimuthal angle of the momentum

Definition at line 246 of file TrigInDetTrackFitPar.h.

246{ return m_ephi0; }

◆ epT()

double TrigInDetTrackFitPar::epT ( ) const
inline

variance of transverse momentum

Definition at line 250 of file TrigInDetTrackFitPar.h.

250{ return m_epT; }

◆ eta() [1/2]

double TrigInDetTrackFitPar::eta ( ) const
inline

pseudorapidity

Definition at line 238 of file TrigInDetTrackFitPar.h.

238{ return m_eta; }

◆ eta() [2/2]

void TrigInDetTrackFitPar::eta ( const double eta)
inline

Setter: pseudorapidity.

Definition at line 220 of file TrigInDetTrackFitPar.h.

220{ m_eta = eta; }

◆ ez0()

double TrigInDetTrackFitPar::ez0 ( ) const
inline

variance of longitudinal impact parameter

Definition at line 244 of file TrigInDetTrackFitPar.h.

244{ return m_ez0; }

◆ operator=()

TrigInDetTrackFitPar & TrigInDetTrackFitPar::operator= ( TrigInDetTrackFitPar && rhs)
inline

Move assignment.

Definition at line 185 of file TrigInDetTrackFitPar.h.

186 {
187 if (this != &rhs) {
188 m_a0 = rhs.m_a0;
189 m_phi0 = rhs.m_phi0;
190 m_z0 = rhs.m_z0;
191 m_eta = rhs.m_eta;
192 m_pT = rhs.m_pT;
193 m_ea0 = rhs.m_ea0;
194 m_ephi0 = rhs.m_ephi0;
195 m_ez0 = rhs.m_ez0;
196 m_eeta = rhs.m_eeta;
197 m_epT = rhs.m_epT;
200
201 delete m_cov;
202 m_cov = rhs.m_cov;
203 rhs.m_cov = nullptr;
204 }
205 return *this;
206 }

◆ phi0() [1/2]

double TrigInDetTrackFitPar::phi0 ( ) const
inline

azimuthal angle of the momentum

Definition at line 236 of file TrigInDetTrackFitPar.h.

236{ return m_phi0; }

◆ phi0() [2/2]

void TrigInDetTrackFitPar::phi0 ( const double phi0)
inline

Setter: azimuthal angle of the momentum.

Definition at line 218 of file TrigInDetTrackFitPar.h.

218{ m_phi0 = phi0; }

◆ pT() [1/2]

double TrigInDetTrackFitPar::pT ( ) const
inline

transverse momentum

Definition at line 240 of file TrigInDetTrackFitPar.h.

240{ return m_pT; }

◆ pT() [2/2]

void TrigInDetTrackFitPar::pT ( const double pT)
inline

Setter: transverse momentum.

Definition at line 222 of file TrigInDetTrackFitPar.h.

222{ m_pT = pT; }

◆ surfaceCoordinate() [1/2]

double TrigInDetTrackFitPar::surfaceCoordinate ( ) const
inline

surface reference coordinate (radius or z-position) for non-perigee parameters

Definition at line 256 of file TrigInDetTrackFitPar.h.

256{ return m_surfaceCoordinate; }

◆ surfaceCoordinate() [2/2]

void TrigInDetTrackFitPar::surfaceCoordinate ( double c)
inline

Setter: surface reference coordinate for non-perigee surfaces.

Definition at line 228 of file TrigInDetTrackFitPar.h.

◆ surfaceType() [1/2]

TrigSurfaceType TrigInDetTrackFitPar::surfaceType ( ) const
inline

surface type

Definition at line 254 of file TrigInDetTrackFitPar.h.

254{ return m_surfaceType; }

◆ surfaceType() [2/2]

void TrigInDetTrackFitPar::surfaceType ( TrigSurfaceType s)
inline

Setter: surface type PERIGEE=0, BARREL=1, ENDCAP=2.

Definition at line 226 of file TrigInDetTrackFitPar.h.

◆ z0() [1/2]

double TrigInDetTrackFitPar::z0 ( ) const
inline

longitudinal impact parameter

Definition at line 234 of file TrigInDetTrackFitPar.h.

234{ return m_z0; }

◆ z0() [2/2]

void TrigInDetTrackFitPar::z0 ( const double z0)
inline

Setter: longitudinal impact parameter.

Definition at line 216 of file TrigInDetTrackFitPar.h.

216{ m_z0 = z0; }

Member Data Documentation

◆ m_a0

double TrigInDetTrackFitPar::m_a0
private

see detailed description below

Definition at line 259 of file TrigInDetTrackFitPar.h.

◆ m_cov

const std::vector<double>* TrigInDetTrackFitPar::m_cov
private

covariance matrix packed as described below

Definition at line 269 of file TrigInDetTrackFitPar.h.

◆ m_ea0

double TrigInDetTrackFitPar::m_ea0
private

\( \sqrt{cov(a_0,a_0)}\)

Definition at line 264 of file TrigInDetTrackFitPar.h.

◆ m_eeta

double TrigInDetTrackFitPar::m_eeta
private

\( \sqrt{cov(\eta,\eta)}\)

Definition at line 267 of file TrigInDetTrackFitPar.h.

◆ m_ephi0

double TrigInDetTrackFitPar::m_ephi0
private

\( \sqrt{cov(\phi_0,\phi_0)}\)

Definition at line 265 of file TrigInDetTrackFitPar.h.

◆ m_epT

double TrigInDetTrackFitPar::m_epT
private

\( \sqrt{cov(p_T,p_T)}\)

Definition at line 268 of file TrigInDetTrackFitPar.h.

◆ m_eta

double TrigInDetTrackFitPar::m_eta
private

pseudorapidity

Definition at line 262 of file TrigInDetTrackFitPar.h.

◆ m_ez0

double TrigInDetTrackFitPar::m_ez0
private

\( \sqrt{cov(z_0,z_0)}\)

Definition at line 266 of file TrigInDetTrackFitPar.h.

◆ m_phi0

double TrigInDetTrackFitPar::m_phi0
private

see detailed description below

Definition at line 260 of file TrigInDetTrackFitPar.h.

◆ m_pT

double TrigInDetTrackFitPar::m_pT
private

transverse momentum

Definition at line 263 of file TrigInDetTrackFitPar.h.

◆ m_surfaceCoordinate

double TrigInDetTrackFitPar::m_surfaceCoordinate
private

barrel radius or z of endcap disk

Definition at line 271 of file TrigInDetTrackFitPar.h.

◆ m_surfaceType

TrigSurfaceType TrigInDetTrackFitPar::m_surfaceType
private

type of track parameters - perigee, barrel, or endcap

Definition at line 270 of file TrigInDetTrackFitPar.h.

◆ m_z0

double TrigInDetTrackFitPar::m_z0
private

see detailed description below

Definition at line 261 of file TrigInDetTrackFitPar.h.


The documentation for this class was generated from the following file: