ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
TrigInDetTrackFitPar Class Reference

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

Private Attributes

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

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 67 of file TrigInDetTrackFitPar.h.

Member Enumeration Documentation

◆ TrigSurfaceType

Enumerator
PERIGEE 
BARREL 
ENDCAP 
UNDEFINED 

Definition at line 71 of file TrigInDetTrackFitPar.h.

71 {PERIGEE=0, BARREL=1, ENDCAP=2, UNDEFINED=3};

Constructor & Destructor Documentation

◆ TrigInDetTrackFitPar() [1/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( )
inline

Constructor for POOL only.

Definition at line 74 of file TrigInDetTrackFitPar.h.

74  :
75  m_a0(0.0), m_phi0(0.0), m_z0(0.0),m_eta(0.0), m_pT(0.0),
76  m_ea0(0.0), m_ephi0(0.0), m_ez0(0.0), m_eeta(0.0), m_epT(0.0),
78  {};

◆ 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 81 of file TrigInDetTrackFitPar.h.

91  :
92  m_a0(a0), m_phi0(phi0), m_z0(z0),
96  {};

◆ 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 100 of file TrigInDetTrackFitPar.h.

112  :
113  m_a0(a0), m_phi0(phi0), m_z0(z0),
116  {};

◆ 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 119 of file TrigInDetTrackFitPar.h.

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

◆ 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 140 of file TrigInDetTrackFitPar.h.

147  :
148  m_a0(a0), m_phi0(phi0), m_z0(z0),
149  m_eta(eta), m_pT(pT),
150  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),
152  {
153  if(cov!=NULL) {
154  if((*cov)[0]>=0.0) m_ea0 = sqrt((*cov)[0]);
155  if((*cov)[5]>=0.0) m_ephi0 = sqrt((*cov)[5]);
156  if((*cov)[9]>=0.0) m_ez0 = sqrt((*cov)[9]);
157  if((*cov)[12]>=0.0) m_eeta = sqrt((*cov)[12]);
158  if((*cov)[14]>=0.0) m_epT = sqrt((*cov)[14]);
159  }
160  }

◆ TrigInDetTrackFitPar() [6/6]

TrigInDetTrackFitPar::TrigInDetTrackFitPar ( const TrigInDetTrackFitPar rhs)
inline

Copy constructor.

Definition at line 163 of file TrigInDetTrackFitPar.h.

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

◆ ~TrigInDetTrackFitPar()

TrigInDetTrackFitPar::~TrigInDetTrackFitPar ( )
inline

Destructor.

Definition at line 208 of file TrigInDetTrackFitPar.h.

208 {if(m_cov) delete m_cov;}

Member Function Documentation

◆ a0() [1/2]

double TrigInDetTrackFitPar::a0 ( ) const
inline

transverse impact parameter

Definition at line 231 of file TrigInDetTrackFitPar.h.

231 { return m_a0; }

◆ a0() [2/2]

void TrigInDetTrackFitPar::a0 ( const double  a0)
inline

Setter: transverse impact parameter.

Definition at line 213 of file TrigInDetTrackFitPar.h.

213 { m_a0 = a0; }

◆ cov() [1/2]

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

covariance (packed) of track parameters

Definition at line 251 of file TrigInDetTrackFitPar.h.

251 { return m_cov; }

◆ cov() [2/2]

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

Setter: covariance matrix of track parameters.

Definition at line 223 of file TrigInDetTrackFitPar.h.

223 { m_cov = cov; }

◆ ea0()

double TrigInDetTrackFitPar::ea0 ( ) const
inline

variance of transverse impact parameter

Definition at line 241 of file TrigInDetTrackFitPar.h.

241 { return m_ea0; }

◆ eeta()

double TrigInDetTrackFitPar::eeta ( ) const
inline

variance of pseudorapidity

Definition at line 247 of file TrigInDetTrackFitPar.h.

247 { return m_eeta; }

◆ ephi0()

double TrigInDetTrackFitPar::ephi0 ( ) const
inline

variance of azimuthal angle of the momentum

Definition at line 245 of file TrigInDetTrackFitPar.h.

245 { return m_ephi0; }

◆ epT()

double TrigInDetTrackFitPar::epT ( ) const
inline

variance of transverse momentum

Definition at line 249 of file TrigInDetTrackFitPar.h.

249 { return m_epT; }

◆ eta() [1/2]

double TrigInDetTrackFitPar::eta ( ) const
inline

pseudorapidity

Definition at line 237 of file TrigInDetTrackFitPar.h.

237 { return m_eta; }

◆ eta() [2/2]

void TrigInDetTrackFitPar::eta ( const double  eta)
inline

Setter: pseudorapidity.

Definition at line 219 of file TrigInDetTrackFitPar.h.

219 { m_eta = eta; }

◆ ez0()

double TrigInDetTrackFitPar::ez0 ( ) const
inline

variance of longitudinal impact parameter

Definition at line 243 of file TrigInDetTrackFitPar.h.

243 { return m_ez0; }

◆ operator=()

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

Move assignment.

Definition at line 184 of file TrigInDetTrackFitPar.h.

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

◆ phi0() [1/2]

double TrigInDetTrackFitPar::phi0 ( ) const
inline

azimuthal angle of the momentum

Definition at line 235 of file TrigInDetTrackFitPar.h.

235 { return m_phi0; }

◆ phi0() [2/2]

void TrigInDetTrackFitPar::phi0 ( const double  phi0)
inline

Setter: azimuthal angle of the momentum.

Definition at line 217 of file TrigInDetTrackFitPar.h.

217 { m_phi0 = phi0; }

◆ pT() [1/2]

double TrigInDetTrackFitPar::pT ( ) const
inline

transverse momentum

Definition at line 239 of file TrigInDetTrackFitPar.h.

239 { return m_pT; }

◆ pT() [2/2]

void TrigInDetTrackFitPar::pT ( const double  pT)
inline

Setter: transverse momentum.

Definition at line 221 of file TrigInDetTrackFitPar.h.

221 { 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 255 of file TrigInDetTrackFitPar.h.

255 { return m_surfaceCoordinate; }

◆ surfaceCoordinate() [2/2]

void TrigInDetTrackFitPar::surfaceCoordinate ( double  c)
inline

Setter: surface reference coordinate for non-perigee surfaces.

Definition at line 227 of file TrigInDetTrackFitPar.h.

◆ surfaceType() [1/2]

TrigSurfaceType TrigInDetTrackFitPar::surfaceType ( ) const
inline

surface type

Definition at line 253 of file TrigInDetTrackFitPar.h.

253 { return m_surfaceType; }

◆ surfaceType() [2/2]

void TrigInDetTrackFitPar::surfaceType ( TrigSurfaceType  s)
inline

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

Definition at line 225 of file TrigInDetTrackFitPar.h.

225 { m_surfaceType=s; }

◆ z0() [1/2]

double TrigInDetTrackFitPar::z0 ( ) const
inline

longitudinal impact parameter

Definition at line 233 of file TrigInDetTrackFitPar.h.

233 { return m_z0; }

◆ z0() [2/2]

void TrigInDetTrackFitPar::z0 ( const double  z0)
inline

Setter: longitudinal impact parameter.

Definition at line 215 of file TrigInDetTrackFitPar.h.

215 { m_z0 = z0; }

Member Data Documentation

◆ m_a0

double TrigInDetTrackFitPar::m_a0
private

see detailed description below

Definition at line 258 of file TrigInDetTrackFitPar.h.

◆ m_cov

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

covariance matrix packed as described below

Definition at line 268 of file TrigInDetTrackFitPar.h.

◆ m_ea0

double TrigInDetTrackFitPar::m_ea0
private

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

Definition at line 263 of file TrigInDetTrackFitPar.h.

◆ m_eeta

double TrigInDetTrackFitPar::m_eeta
private

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

Definition at line 266 of file TrigInDetTrackFitPar.h.

◆ m_ephi0

double TrigInDetTrackFitPar::m_ephi0
private

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

Definition at line 264 of file TrigInDetTrackFitPar.h.

◆ m_epT

double TrigInDetTrackFitPar::m_epT
private

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

Definition at line 267 of file TrigInDetTrackFitPar.h.

◆ m_eta

double TrigInDetTrackFitPar::m_eta
private

pseudorapidity

Definition at line 261 of file TrigInDetTrackFitPar.h.

◆ m_ez0

double TrigInDetTrackFitPar::m_ez0
private

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

Definition at line 265 of file TrigInDetTrackFitPar.h.

◆ m_phi0

double TrigInDetTrackFitPar::m_phi0
private

see detailed description below

Definition at line 259 of file TrigInDetTrackFitPar.h.

◆ m_pT

double TrigInDetTrackFitPar::m_pT
private

transverse momentum

Definition at line 262 of file TrigInDetTrackFitPar.h.

◆ m_surfaceCoordinate

double TrigInDetTrackFitPar::m_surfaceCoordinate
private

barrel radius or z of endcap disk

Definition at line 270 of file TrigInDetTrackFitPar.h.

◆ m_surfaceType

TrigSurfaceType TrigInDetTrackFitPar::m_surfaceType
private

type of track parameters - perigee, barrel, or endcap

Definition at line 269 of file TrigInDetTrackFitPar.h.

◆ m_z0

double TrigInDetTrackFitPar::m_z0
private

see detailed description below

Definition at line 260 of file TrigInDetTrackFitPar.h.


The documentation for this class was generated from the following file:
TrigInDetTrackFitPar::pT
double pT() const
transverse momentum
Definition: TrigInDetTrackFitPar.h:239
TrigInDetTrackFitPar::ez0
double ez0() const
variance of longitudinal impact parameter
Definition: TrigInDetTrackFitPar.h:243
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrigInDetTrackFitPar::m_epT
double m_epT
Definition: TrigInDetTrackFitPar.h:267
TrigInDetTrackFitPar::PERIGEE
@ PERIGEE
Definition: TrigInDetTrackFitPar.h:71
TrigInDetTrackFitPar::m_a0
double m_a0
see detailed description below
Definition: TrigInDetTrackFitPar.h:258
TrigInDetTrackFitPar::m_phi0
double m_phi0
see detailed description below
Definition: TrigInDetTrackFitPar.h:259
TrigInDetTrackFitPar::m_eta
double m_eta
pseudorapidity
Definition: TrigInDetTrackFitPar.h:261
TrigInDetTrackFitPar::z0
double z0() const
longitudinal impact parameter
Definition: TrigInDetTrackFitPar.h:233
TrigInDetTrackFitPar::epT
double epT() const
variance of transverse momentum
Definition: TrigInDetTrackFitPar.h:249
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TrigInDetTrackFitPar::cov
const std::vector< double > * cov() const
covariance (packed) of track parameters
Definition: TrigInDetTrackFitPar.h:251
TrigInDetTrackFitPar::m_pT
double m_pT
transverse momentum
Definition: TrigInDetTrackFitPar.h:262
TrigInDetTrackFitPar::a0
double a0() const
transverse impact parameter
Definition: TrigInDetTrackFitPar.h:231
TrigInDetTrackFitPar::m_surfaceType
TrigSurfaceType m_surfaceType
type of track parameters - perigee, barrel, or endcap
Definition: TrigInDetTrackFitPar.h:269
TrigInDetTrackFitPar::m_surfaceCoordinate
double m_surfaceCoordinate
barrel radius or z of endcap disk
Definition: TrigInDetTrackFitPar.h:270
TrigInDetTrackFitPar::UNDEFINED
@ UNDEFINED
Definition: TrigInDetTrackFitPar.h:71
TrigInDetTrackFitPar::m_eeta
double m_eeta
Definition: TrigInDetTrackFitPar.h:266
TrigInDetTrackFitPar::m_ez0
double m_ez0
Definition: TrigInDetTrackFitPar.h:265
TrigInDetTrackFitPar::eeta
double eeta() const
variance of pseudorapidity
Definition: TrigInDetTrackFitPar.h:247
TrigInDetTrackFitPar::ea0
double ea0() const
variance of transverse impact parameter
Definition: TrigInDetTrackFitPar.h:241
TrigInDetTrackFitPar::ephi0
double ephi0() const
variance of azimuthal angle of the momentum
Definition: TrigInDetTrackFitPar.h:245
TrigInDetTrackFitPar::m_ephi0
double m_ephi0
Definition: TrigInDetTrackFitPar.h:264
TrigInDetTrackFitPar::m_cov
const std::vector< double > * m_cov
covariance matrix packed as described below
Definition: TrigInDetTrackFitPar.h:268
TrigInDetTrackFitPar::ENDCAP
@ ENDCAP
Definition: TrigInDetTrackFitPar.h:71
TrigInDetTrackFitPar::m_z0
double m_z0
see detailed description below
Definition: TrigInDetTrackFitPar.h:260
TrigInDetTrackFitPar::phi0
double phi0() const
azimuthal angle of the momentum
Definition: TrigInDetTrackFitPar.h:235
TrigInDetTrackFitPar::m_ea0
double m_ea0
Definition: TrigInDetTrackFitPar.h:263
TrigInDetTrackFitPar::eta
double eta() const
pseudorapidity
Definition: TrigInDetTrackFitPar.h:237
TrigInDetTrackFitPar::BARREL
@ BARREL
Definition: TrigInDetTrackFitPar.h:71
python.compressB64.c
def c
Definition: compressB64.py:93