ATLAS Offline Software
Functions
xAOD::TrackingHelpers Namespace Reference

Functions

void checkTPAndDefiningParamCov (const xAOD::TrackParticle *tp)
 
void checkTPAndDefiningParamCovDiag (const xAOD::TrackParticle *tp)
 
double d0significance (const xAOD::TrackParticle *tp, double d0_uncert_beam_spot_2)
 
double sqr (double a)
 convenience method to calculate the square of a value. More...
 
double d0significance (const xAOD::TrackParticle *tp)
 Get the impact parameter significance of a track particle in the r-phi plane. More...
 
double d0significanceUnsafe (const xAOD::TrackParticle *tp)
 Unsafe version of d0significance. More...
 
double d0UncertaintyBeamSpot2 (double track_phi0, double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
 calculate the squared d0 uncertainty component due to the size of the beam spot. More...
 
double d0significance (const xAOD::TrackParticle *tp, double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
 Get the impact parameter significance of a track particle in the r-phi plane where the d0 uncertainty takes the finite beamspot width into account. More...
 
double d0significanceUnsafe (const xAOD::TrackParticle *tp, double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
 Unsafe version of d0significance with beam spot uncertainty. More...
 
double z0significance (const xAOD::TrackParticle *tp, const xAOD::Vertex *vx=NULL)
 Get the impact parameter significance of a track particle in the z direction. More...
 
double z0significanceUnsafe (const xAOD::TrackParticle *tp)
 Unsafe version of z0significance. More...
 
double z0significanceUnsafe (const xAOD::TrackParticle *tp, const xAOD::Vertex *vx)
 Unsafe version of z0significance, which uses z0 relative to a given primary vertex. More...
 
bool hasValidCov (const xAOD::TrackParticle *tp)
 Check whether the given track particle is valid and has a covariance matrix of the defining parameters. More...
 
bool hasValidCovD0 (const xAOD::TrackParticle *tp)
 Check whether the given track particle is valid and has a valid d0 uncertainty. More...
 
bool hasValidCovZ0 (const xAOD::TrackParticle *tp)
 Check whether the given track particle is valid and has a valid z0 uncertainty. More...
 
bool hasValidCovD0andZ0 (const xAOD::TrackParticle *tp)
 Check whether the given track particle is valid and has a valid d0 and z0 uncertainty. More...
 
bool checkPVReference (const xAOD::TrackParticle *tp, const xAOD::Vertex *vx, const double max_pv_dxy_sqr=0.5 *0.5)
 test whether the given primary vertex has a significant displacement in r-phi wrt. More...
 
bool checkBeamSpotSigma (double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
 check that the beamspot covariance matrix is valid More...
 
double pTErr2 (const xAOD::TrackParticle *tp)
 compute the uncertainty of pt squared. More...
 
double pTErr (const xAOD::TrackParticle *tp)
 compute the uncertainty of pt. More...
 
double pTErr2Unsafe (const xAOD::TrackParticle *tp)
 compute the uncertainty of pt squared. More...
 
double pTErrUnsafe (const xAOD::TrackParticle *tp)
 compute the uncertainty of pt. More...
 
bool hasValidCovQoverP (const xAOD::TrackParticle *tp)
 return true if the covariance matrix of the defining parameters is set, has enough elements and the q/p is valid More...
 

Function Documentation

◆ checkBeamSpotSigma()

bool xAOD::TrackingHelpers::checkBeamSpotSigma ( double  beam_sigma_x,
double  beam_sigma_y,
double  beam_sigma_xy 
)
inline

check that the beamspot covariance matrix is valid

Parameters
beam_sigma_xthe width of the beamspot in the x-direction e.g. IBeamCondSvc:: beamSigma(0).
beam_sigma_ythe width of the beamspot in the y-direction e.g. IBeamCondSvc:: beamSigma(1).
beam_sigma_xythe beamspot xy correlation e.g. IBeamCondSvc:: beamSigmaXY.
Returns
true if the beamspot covariance matrix is valid.

Definition at line 189 of file TrackParticlexAODHelpers.h.

189  {
190  return sqr(beam_sigma_x)+sqr(beam_sigma_y)>=2*std::abs(beam_sigma_xy);
191  }

◆ checkPVReference()

bool xAOD::TrackingHelpers::checkPVReference ( const xAOD::TrackParticle tp,
const xAOD::Vertex vx,
const double  max_pv_dxy_sqr = 0.5*0.5 
)
inline

test whether the given primary vertex has a significant displacement in r-phi wrt.

d0 uncertainty.

Parameters
tppointer to a track particle.
vxpointer to a vertex.
max_pv_dxy_sqrmaximum deviation of the primary vertex in units of the d0 uncertainty squared.
Returns
true if the given primary vertex has no significant displacement in r-phi wrt. d0 uncertainty. The method will also return false if the track particle or vertex are invalid or if the track particle does not have a valid d0 uncertainty.

Definition at line 176 of file TrackParticlexAODHelpers.h.

176  {
177  if (hasValidCovD0(tp) && vx) {
178  return std::abs( sqr(vx->x())+ sqr(vx->y())) < max_pv_dxy_sqr * tp->definingParametersCovMatrixDiagVec()[0];
179  }
180  return false;
181  }

◆ checkTPAndDefiningParamCov()

void xAOD::TrackingHelpers::checkTPAndDefiningParamCov ( const xAOD::TrackParticle tp)

Definition at line 13 of file TrackParticlexAODHelpers.cxx.

13  {
14  if (!tp) {
15  throw std::runtime_error("Invalid TrackParticle pointer.");
16  }
17  SG::AuxElement::ConstAccessor< std::vector<float> > accDiag( "definingParametersCovMatrixDiag" );
18  SG::AuxElement::ConstAccessor< std::vector<float> > accOffDiag( "definingParametersCovMatrixOffDiag" );
19  if( !(accDiag.isAvailable( *tp ) && accOffDiag.isAvailable( *tp )) ) {
20  throw std::runtime_error("TrackParticle without covariance matrix for the defining parameters.");
21  }
22  }

◆ checkTPAndDefiningParamCovDiag()

void xAOD::TrackingHelpers::checkTPAndDefiningParamCovDiag ( const xAOD::TrackParticle tp)

Definition at line 24 of file TrackParticlexAODHelpers.cxx.

24  {
25  if (!tp) {
26  throw std::runtime_error("Invalid TrackParticle pointer.");
27  }
28  SG::AuxElement::ConstAccessor< std::vector<float> > accDiag( "definingParametersCovMatrixDiag" );
29  if( !(accDiag.isAvailable( *tp )) ) {
30  throw std::runtime_error("TrackParticle without diagonal covariance matrix elements for the defining parameters.");
31  }
32  }

◆ d0significance() [1/3]

double xAOD::TrackingHelpers::d0significance ( const xAOD::TrackParticle tp)

Get the impact parameter significance of a track particle in the r-phi plane.

Returns
the impact parameter significance of the track particle.
Exceptions
thismethod may throw an exception in case the uncertainty is zero or the covariance matrix does not exist. The impact parameter and uncertainty are those stored in the track particle. Will perform input (tp, cov) validity checks.

Definition at line 54 of file TrackParticlexAODHelpers.cxx.

54  {
55  return d0significance(tp,0.);
56  }

◆ d0significance() [2/3]

double xAOD::TrackingHelpers::d0significance ( const xAOD::TrackParticle tp,
double  beam_sigma_x,
double  beam_sigma_y,
double  beam_sigma_xy 
)

Get the impact parameter significance of a track particle in the r-phi plane where the d0 uncertainty takes the finite beamspot width into account.

Parameters
beam_sigma_xthe width of the beamspot in the x-direction e.g. IBeamCondSvc:: beamSigma(0).
beam_sigma_ythe width of the beamspot in the y-direction e.g. IBeamCondSvc:: beamSigma(1).
beam_sigma_xythe beamspot xy correlation e.g. IBeamCondSvc:: beamSigmaXY.
Returns
the impact parameter significance of the track particle where the d0 uncertainty takes the finite beamspot width into account.
Exceptions
thismethod may throw an exception in case the uncertainty is zero or the covariance matrix does not exist or the beamspot covariance matrix is invalid. The impact parameter and uncertainty are those stored in the track particle. Will perform input (tp, cov) validity checks.

Definition at line 58 of file TrackParticlexAODHelpers.cxx.

58  {
59  if (!checkBeamSpotSigma(beam_sigma_x, beam_sigma_y, beam_sigma_xy)) {
60  throw std::runtime_error("Beamspot covariance matrix is invalid.");
61  }
62  return d0significance(tp,d0UncertaintyBeamSpot2(tp->phi(),beam_sigma_x, beam_sigma_y, beam_sigma_xy));
63  }

◆ d0significance() [3/3]

double xAOD::TrackingHelpers::d0significance ( const xAOD::TrackParticle tp,
double  d0_uncert_beam_spot_2 
)
inline

Definition at line 42 of file TrackParticlexAODHelpers.cxx.

42  {
44  double d0 = tp->d0();
45  // elements in definingParametersCovMatrixDiagVec should be : sigma_d0^2, sigma_z0^2
46  double sigma_d0 = tp->definingParametersCovMatrixDiagVec().at(0);
47  if (sigma_d0<=0.) {
48  throw std::runtime_error("TrackParticle with zero or negative d0 uncertainty.");
49  }
50  return d0/sqrt(sigma_d0+d0_uncert_beam_spot_2);
51  }

◆ d0significanceUnsafe() [1/2]

double xAOD::TrackingHelpers::d0significanceUnsafe ( const xAOD::TrackParticle tp)
inline

Unsafe version of d0significance.

Returns
the impact parameter significance of the track particle or an undefined value In case the covariance matrix does not exist or the uncertainty is zero, this method will return an undefined value. In case the track particle does not exist the behaviour is undefined (segmentation fault or random return value). To validated the inputs use hasValidCovD0, hasValidCovD0andZ0, or checkPVReference.

Definition at line 35 of file TrackParticlexAODHelpers.h.

35  {
36  double d0 = tp->d0();
37  // elements in definingParametersCovMatrixDiagVec should be : sigma_d0^2, sigma_z0^2
38  double sigma_d0 = std::sqrt( tp->definingParametersCovMatrixDiagVec()[0] );
39  return d0/sigma_d0;
40  }

◆ d0significanceUnsafe() [2/2]

double xAOD::TrackingHelpers::d0significanceUnsafe ( const xAOD::TrackParticle tp,
double  beam_sigma_x,
double  beam_sigma_y,
double  beam_sigma_xy 
)
inline

Unsafe version of d0significance with beam spot uncertainty.

Parameters
tppointer to a track particle.
beam_sigma_xthe width of the beamspot in the x-direction e.g. IBeamCondSvc:: beamSigma(0).
beam_sigma_ythe width of the beamspot in the y-direction e.g. IBeamCondSvc:: beamSigma(1).
beam_sigma_xythe beamspot xy correlation e.g. IBeamCondSvc:: beamSigmaXY.
Returns
the impact parameter significance of the track particle where the d0 uncertainty takes the finite beamspot width into account, or an undefined value In case the covariance matrix does not exist or the uncertainty is zero, this method will return an undefined value. In case the track particle does not exist the behaviour is undefined (segmentation fault or random return value). To validated the inputs use hasValidCovD0, hasValidCovD0andZ0, or checkPVReference or checkBeamSpotSigma.

Definition at line 80 of file TrackParticlexAODHelpers.h.

80  {
81  double d0 = tp->d0();
82  double sigma_d0 = std::sqrt( tp->definingParametersCovMatrixDiagVec()[0] + d0UncertaintyBeamSpot2(tp->phi(),beam_sigma_x, beam_sigma_y, beam_sigma_xy) );
83  return d0/sigma_d0;
84  }

◆ d0UncertaintyBeamSpot2()

double xAOD::TrackingHelpers::d0UncertaintyBeamSpot2 ( double  track_phi0,
double  beam_sigma_x,
double  beam_sigma_y,
double  beam_sigma_xy 
)
inline

calculate the squared d0 uncertainty component due to the size of the beam spot.

Parameters
track_phi0the phi angle of the track particle at the perigee wrt. the average beamspot position.
beam_sigma_xthe width of the beamspot in the x-direction e.g. IBeamCondSvc:: beamSigma(0).
beam_sigma_ythe width of the beamspot in the y-direction e.g. IBeamCondSvc:: beamSigma(1).
beam_sigma_xythe beamspot xy correlation e.g. IBeamCondSvc:: beamSigmaXY.
Returns
the squared d0 uncertainty component due to the size of the beam spot.

Definition at line 49 of file TrackParticlexAODHelpers.h.

49  {
50  double sin_phi = sin(track_phi0);
51  double cos_phi = cos(track_phi0);
52  double d0_uncert2= sin_phi * ( sin_phi * sqr(beam_sigma_x)
53  -cos_phi * beam_sigma_xy)
54  +cos_phi * ( cos_phi * sqr(beam_sigma_y)
55  -sin_phi * beam_sigma_xy);
56  return d0_uncert2;
57  }

◆ hasValidCov()

bool xAOD::TrackingHelpers::hasValidCov ( const xAOD::TrackParticle tp)

Check whether the given track particle is valid and has a covariance matrix of the defining parameters.

Returns
true if the track particle is valid and has a covariance matrix of the defining parameters.

Definition at line 35 of file TrackParticlexAODHelpers.cxx.

35  {
36  if (!tp) return false;
37  if( tp->definingParametersCovMatrixFilled() != xAOD::FullCovMatrixAvailable ) return false;
38  return true;
39  }

◆ hasValidCovD0()

bool xAOD::TrackingHelpers::hasValidCovD0 ( const xAOD::TrackParticle tp)
inline

Check whether the given track particle is valid and has a valid d0 uncertainty.

Returns
true if the track particle is valid, has a covariance matrix, and a valid d0 uncertainty.

Definition at line 133 of file TrackParticlexAODHelpers.h.

133  {
134  if (hasValidCov(tp)) {
135  if (tp->definingParametersCovMatrixDiagVec()[0]>0.) {
136  return true;
137  }
138  }
139  return false;
140  }

◆ hasValidCovD0andZ0()

bool xAOD::TrackingHelpers::hasValidCovD0andZ0 ( const xAOD::TrackParticle tp)
inline

Check whether the given track particle is valid and has a valid d0 and z0 uncertainty.

Returns
true if the track particle is valid, has a covariance matrix, and a valid d0 and z0 uncertainty.

Definition at line 157 of file TrackParticlexAODHelpers.h.

157  {
158  if (hasValidCov(tp)) {
159  if ( ( tp->definingParametersCovMatrixDiagVec()[0] > 0. )
160  && ( tp->definingParametersCovMatrixDiagVec()[1] > 0. ) ) {
161  return true;
162  }
163  }
164  return false;
165  }

◆ hasValidCovQoverP()

bool xAOD::TrackingHelpers::hasValidCovQoverP ( const xAOD::TrackParticle tp)
inline

return true if the covariance matrix of the defining parameters is set, has enough elements and the q/p is valid

Todo:
also check theta ?

Definition at line 262 of file TrackParticlexAODHelpers.h.

262  {
263  if (hasValidCov(tp)) {
264  if (std::abs(tp->qOverP())>0.) {
265  return true;
266  }
267  }
268  return false;
269  }

◆ hasValidCovZ0()

bool xAOD::TrackingHelpers::hasValidCovZ0 ( const xAOD::TrackParticle tp)
inline

Check whether the given track particle is valid and has a valid z0 uncertainty.

Returns
true if the track particle is valid, has a covariance matrix, and a valid z0 uncertainty.

Definition at line 145 of file TrackParticlexAODHelpers.h.

145  {
146  if (hasValidCov(tp)) {
147  if ( tp->definingParametersCovMatrixDiagVec()[1] > 0. ) {
148  return true;
149  }
150  }
151  return false;
152  }

◆ pTErr()

double xAOD::TrackingHelpers::pTErr ( const xAOD::TrackParticle tp)
inline

compute the uncertainty of pt.

Parameters
tpa pointer to a track particle.
Exceptions
willthrow an exception if the track particle is not valid, no covariance matrix of the defining parameters is set or the covariance matrix has wrong dimension.

Definition at line 202 of file TrackParticlexAODHelpers.h.

202  {
203  return sqrt( pTErr2(tp) );
204  }

◆ pTErr2()

double xAOD::TrackingHelpers::pTErr2 ( const xAOD::TrackParticle tp)

compute the uncertainty of pt squared.

Parameters
tpa pointer to a track particle.
Exceptions
willthrow an exception if the track particle is not valid, no covariance matrix of the defining parameters is set or the covariance matrix has wrong dimension.

Definition at line 82 of file TrackParticlexAODHelpers.cxx.

82  {
84  if (!hasValidCovQoverP(tp)) {
85  throw std::runtime_error("TrackParticle without covariance matrix for defining parameters or the covariance matrix is wrong dimensionality.");
86  }
87  if (std::abs(tp->qOverP())<0) {
88  throw std::runtime_error("q/p is zero");
89  }
90  return pTErr2Unsafe(tp);
91  }

◆ pTErr2Unsafe()

double xAOD::TrackingHelpers::pTErr2Unsafe ( const xAOD::TrackParticle tp)
inline

compute the uncertainty of pt squared.

Parameters
tpa valid pointer to a track particle for which the defining parameters covariance matrix is set and valid undefined behaviour if tp is invalid or no valid covariance matrix is set for the defining parameters.

Definition at line 211 of file TrackParticlexAODHelpers.h.

211  {
212 
213  // / d \2 / d \2 d d
214  // pt_err^2 =| ------ (pt) *sigma_q/p | + | -------- pt * sigma_theta | + ----- pt ------- pt * sigma_theta_qp
215  // \ d q/p / \ d theta / d qp d theta
216 
217  // d / d pt 2 d pt \ / d pt \2
218  // = ------ (pt) * | ----- sigma_q/p + ------- * sigma_theta_qp | + | ------- * sigma_theta |
219  // d q/p \ d q/p d theta / \ d theta /
220 
221  // d pt
222  // ------ pt = - -------------
223  // d q/p fabs(qOverP)
224 
225  // d pt
226  // ------- pt = -----------
227  // d theta tan(theta)
228 
229  double pt = tp->pt();
230  double diff_qp = - pt / std::abs(tp->qOverP());
231 
232  double diff_theta = pt / tan( tp->theta() );
233 
234  // since 1/tan (thata) defined for all floats 0..M_PI, don't have to protect :
235  //
236  // double diff_theta = ( std::abs(tp->theta()-M_PI_2) > std::numeric_limits<float>::epsilon() * 2
237  // ? pt / tan( tp->theta() )
238  // : 0 )
239 
240  auto cov = tp->definingParametersCovMatrix();
241  // elements in definingParametersCovMatrix should be : 0: sigma_d0^2,
242  // 1: sigma_d0_z0, sigma_z0^2,
243  // 3: sigma_d0_phi, sigma_z0_phi, sigma_phi^2
244  // 6: sigma_d0_th, sigma_z0_th, sigma_phi_th, sigma_th^2
245  // 10: sigma_d0_qp, sigma_z0_qp, sigma_phi_qp, sigma_th_qp, sigma_qp^2
246 
247  double pt_err2 = diff_qp * (diff_qp * cov(4, 4) + diff_theta * cov(3, 4) ) + sqr(diff_theta) * cov(3, 3);
248  return pt_err2;
249  }

◆ pTErrUnsafe()

double xAOD::TrackingHelpers::pTErrUnsafe ( const xAOD::TrackParticle tp)
inline

compute the uncertainty of pt.

Parameters
tpa valid pointer to a track particle for which the defining parameters covariance matrix is set and valid undefined behaviour if tp is invalid or no valid covariance matrix is set for the defining parameters.

Definition at line 255 of file TrackParticlexAODHelpers.h.

255  {
256  return sqrt(pTErr2Unsafe(tp));
257  }

◆ sqr()

double xAOD::TrackingHelpers::sqr ( double  a)
inline

convenience method to calculate the square of a value.

Definition at line 21 of file TrackParticlexAODHelpers.h.

21 { return a*a; }

◆ z0significance()

double xAOD::TrackingHelpers::z0significance ( const xAOD::TrackParticle tp,
const xAOD::Vertex vx = NULL 
)

Get the impact parameter significance of a track particle in the z direction.

Parameters
tpa pointer to a track particle.
vxa pointer to a primary vertex with respect to which z0 is expressed or NULL.
Returns
the impact parameter significance of the track particle.
Exceptions
thismethod may throw an exception in case the uncertainty is zero or the covariance matrix does not exist. The impact parameter and uncertainty are those stored in the track particle. Will perform input (tp, cov) validity checks. If the given vertex results from a fit which includes the track particle tp, then this z0 impact parameter significance will be biased.

Definition at line 65 of file TrackParticlexAODHelpers.cxx.

65  {
67  double z0 = tp->z0() + tp->vz();
68  if (vx) {
69  if (!checkPVReference(tp,vx)) {
70  throw std::runtime_error("Given primary vertex does not fulfil the requirements i.e. does not exist, or is too far away from the beam axis.");
71  }
72  z0 -= vx->z();
73  }
74  // elements in definingParametersCovMatrixVec should be : sigma_d0^2, sigma_z0^2
75  double sigma_z0 = tp->definingParametersCovMatrixDiagVec().at(1);
76  if (sigma_z0<=0.) {
77  throw std::runtime_error("TrackParticle with zero or negative z0 uncertainty.");
78  }
79  return z0/sqrt(sigma_z0);
80  }

◆ z0significanceUnsafe() [1/2]

double xAOD::TrackingHelpers::z0significanceUnsafe ( const xAOD::TrackParticle tp)
inline

Unsafe version of z0significance.

Returns
the impact parameter significance of the track particle or an undefined value In case the covariance matrix does not exist or the uncertainty is zero or smaller, this method will return an undefined value. In case the track particle does not exist the behaviour is undefined (segmentation fault or random return value).

Definition at line 101 of file TrackParticlexAODHelpers.h.

101  {
102  double z0 = tp->z0() + tp->vz();
103  double sigma_z0 = std::sqrt( tp->definingParametersCovMatrixDiagVec()[1] );
104  return z0/sigma_z0;
105  }

◆ z0significanceUnsafe() [2/2]

double xAOD::TrackingHelpers::z0significanceUnsafe ( const xAOD::TrackParticle tp,
const xAOD::Vertex vx 
)
inline

Unsafe version of z0significance, which uses z0 relative to a given primary vertex.

Parameters
tpa valid pointer to a track particle.
vxa valid pointer to a primary vertex with respect to which z0 is expressed.
Returns
the impact parameter significance of the track particle or an undefined value In case the covariance matrix does not exist or the uncertainty is zero or smaller, this method will return an undefined value. In case the track particle or vertex does not exist the behaviour is undefined (segmentation fault or random return value). To validated the inputs use hasValidCovZ0 or hasValidCovD0andZ0, and checkPVReference. If the given vertex results from a fit which includes the track particle tp, this z0 impact parameter significance will be biased.

Definition at line 117 of file TrackParticlexAODHelpers.h.

117  {
118  // use z0 relative to the given primary vertex.
119  double z0 = tp->z0() + tp->vz() - vx->z();
120 
121  double sigma_z0 = std::sqrt( tp->definingParametersCovMatrixDiagVec()[1] );
122  return z0/sigma_z0;
123  }
xAOD::Vertex_v1::x
float x() const
Returns the x position.
xAOD::TrackingHelpers::checkTPAndDefiningParamCovDiag
void checkTPAndDefiningParamCovDiag(const xAOD::TrackParticle *tp)
Definition: TrackParticlexAODHelpers.cxx:24
xAOD::TrackingHelpers::d0significance
double d0significance(const xAOD::TrackParticle *tp, double d0_uncert_beam_spot_2)
Definition: TrackParticlexAODHelpers.cxx:42
plotBeamSpotVxVal.cov
cov
Definition: plotBeamSpotVxVal.py:201
test_pyathena.pt
pt
Definition: test_pyathena.py:11
ParticleTest.tp
tp
Definition: ParticleTest.py:25
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
xAOD::TrackingHelpers::hasValidCov
bool hasValidCov(const xAOD::TrackParticle *tp)
Check whether the given track particle is valid and has a covariance matrix of the defining parameter...
Definition: TrackParticlexAODHelpers.cxx:35
xAOD::TrackingHelpers::d0UncertaintyBeamSpot2
double d0UncertaintyBeamSpot2(double track_phi0, double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
calculate the squared d0 uncertainty component due to the size of the beam spot.
Definition: TrackParticlexAODHelpers.h:49
xAOD::TrackingHelpers::checkBeamSpotSigma
bool checkBeamSpotSigma(double beam_sigma_x, double beam_sigma_y, double beam_sigma_xy)
check that the beamspot covariance matrix is valid
Definition: TrackParticlexAODHelpers.h:189
xAOD::TrackingHelpers::checkTPAndDefiningParamCov
void checkTPAndDefiningParamCov(const xAOD::TrackParticle *tp)
Definition: TrackParticlexAODHelpers.cxx:13
xAOD::TrackingHelpers::hasValidCovQoverP
bool hasValidCovQoverP(const xAOD::TrackParticle *tp)
return true if the covariance matrix of the defining parameters is set, has enough elements and the q...
Definition: TrackParticlexAODHelpers.h:262
xAOD::TrackingHelpers::pTErr2Unsafe
double pTErr2Unsafe(const xAOD::TrackParticle *tp)
compute the uncertainty of pt squared.
Definition: TrackParticlexAODHelpers.h:211
xAOD::TrackingHelpers::pTErr2
double pTErr2(const xAOD::TrackParticle *tp)
compute the uncertainty of pt squared.
Definition: TrackParticlexAODHelpers.cxx:82
TRT::Track::d0
@ d0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:62
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
xAOD::Vertex_v1::z
float z() const
Returns the z position.
TRT::Track::z0
@ z0
Definition: InnerDetector/InDetCalibEvent/TRT_CalibData/TRT_CalibData/TrackInfo.h:63
xAOD::TrackingHelpers::hasValidCovD0
bool hasValidCovD0(const xAOD::TrackParticle *tp)
Check whether the given track particle is valid and has a valid d0 uncertainty.
Definition: TrackParticlexAODHelpers.h:133
xAOD::TrackingHelpers::checkPVReference
bool checkPVReference(const xAOD::TrackParticle *tp, const xAOD::Vertex *vx, const double max_pv_dxy_sqr=0.5 *0.5)
test whether the given primary vertex has a significant displacement in r-phi wrt.
Definition: TrackParticlexAODHelpers.h:176
xAOD::TrackingHelpers::sqr
double sqr(double a)
convenience method to calculate the square of a value.
Definition: TrackParticlexAODHelpers.h:21
a
TList * a
Definition: liststreamerinfos.cxx:10
xAOD::Vertex_v1::y
float y() const
Returns the y position.
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36