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

Member Enumeration Documentation

◆ TrigSurfaceType

Enumerator
PERIGEE 
BARREL 
ENDCAP 
UNDEFINED 

Definition at line 72 of file TrigInDetTrackFitPar.h.

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

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  {};

◆ 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  {};

◆ 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.

113  :
114  m_a0(a0), m_phi0(phi0), m_z0(z0),
117  {};

◆ 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),
129  m_epT(0.0), m_cov(cov), m_surfaceType(PERIGEE),
130  m_surfaceCoordinate(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.

226 { m_surfaceType=s; }

◆ 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:
TrigInDetTrackFitPar::pT
double pT() const
transverse momentum
Definition: TrigInDetTrackFitPar.h:240
TrigInDetTrackFitPar::ez0
double ez0() const
variance of longitudinal impact parameter
Definition: TrigInDetTrackFitPar.h:244
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrigInDetTrackFitPar::m_epT
double m_epT
Definition: TrigInDetTrackFitPar.h:268
TrigInDetTrackFitPar::PERIGEE
@ PERIGEE
Definition: TrigInDetTrackFitPar.h:72
TrigInDetTrackFitPar::m_a0
double m_a0
see detailed description below
Definition: TrigInDetTrackFitPar.h:259
TrigInDetTrackFitPar::m_phi0
double m_phi0
see detailed description below
Definition: TrigInDetTrackFitPar.h:260
TrigInDetTrackFitPar::m_eta
double m_eta
pseudorapidity
Definition: TrigInDetTrackFitPar.h:262
TrigInDetTrackFitPar::z0
double z0() const
longitudinal impact parameter
Definition: TrigInDetTrackFitPar.h:234
TrigInDetTrackFitPar::epT
double epT() const
variance of transverse momentum
Definition: TrigInDetTrackFitPar.h:250
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:252
TrigInDetTrackFitPar::m_pT
double m_pT
transverse momentum
Definition: TrigInDetTrackFitPar.h:263
TrigInDetTrackFitPar::a0
double a0() const
transverse impact parameter
Definition: TrigInDetTrackFitPar.h:232
TrigInDetTrackFitPar::m_surfaceType
TrigSurfaceType m_surfaceType
type of track parameters - perigee, barrel, or endcap
Definition: TrigInDetTrackFitPar.h:270
TrigInDetTrackFitPar::m_surfaceCoordinate
double m_surfaceCoordinate
barrel radius or z of endcap disk
Definition: TrigInDetTrackFitPar.h:271
TrigInDetTrackFitPar::UNDEFINED
@ UNDEFINED
Definition: TrigInDetTrackFitPar.h:72
TrigInDetTrackFitPar::m_eeta
double m_eeta
Definition: TrigInDetTrackFitPar.h:267
TrigInDetTrackFitPar::m_ez0
double m_ez0
Definition: TrigInDetTrackFitPar.h:266
TrigInDetTrackFitPar::eeta
double eeta() const
variance of pseudorapidity
Definition: TrigInDetTrackFitPar.h:248
TrigInDetTrackFitPar::ea0
double ea0() const
variance of transverse impact parameter
Definition: TrigInDetTrackFitPar.h:242
TrigInDetTrackFitPar::ephi0
double ephi0() const
variance of azimuthal angle of the momentum
Definition: TrigInDetTrackFitPar.h:246
TrigInDetTrackFitPar::m_ephi0
double m_ephi0
Definition: TrigInDetTrackFitPar.h:265
TrigInDetTrackFitPar::m_cov
const std::vector< double > * m_cov
covariance matrix packed as described below
Definition: TrigInDetTrackFitPar.h:269
TrigInDetTrackFitPar::ENDCAP
@ ENDCAP
Definition: TrigInDetTrackFitPar.h:72
TrigInDetTrackFitPar::m_z0
double m_z0
see detailed description below
Definition: TrigInDetTrackFitPar.h:261
TrigInDetTrackFitPar::phi0
double phi0() const
azimuthal angle of the momentum
Definition: TrigInDetTrackFitPar.h:236
TrigInDetTrackFitPar::m_ea0
double m_ea0
Definition: TrigInDetTrackFitPar.h:264
TrigInDetTrackFitPar::eta
double eta() const
pseudorapidity
Definition: TrigInDetTrackFitPar.h:238
TrigInDetTrackFitPar::BARREL
@ BARREL
Definition: TrigInDetTrackFitPar.h:72
python.compressB64.c
def c
Definition: compressB64.py:93