ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::ResidualPull Class Reference

This class containes residual and pull information. More...

#include <ResidualPull.h>

Collaboration diagram for Trk::ResidualPull:

Public Types

enum  ResidualType {
  McTruth = 0 , Biased = 1 , HitOnly = 2 , Unbiased = 3 ,
  NumberOfResidualTypes = 4
}

Public Member Functions

 ResidualPull ()=default
 default constructor
 ResidualPull (std::vector< double > residual, std::vector< double > pull, bool pullValid, ResidualType residualType, int parameterKey, double sineStripAngle=0.0)
 explicit constructor
const std::vector< double > & residual () const
 return residual vector
const std::vector< double > & pull () const
 return pull vector
bool isPullValid () const
 returns false if the pull was calculated without a valid covariance matrix for the track parameters, this means the pull is not valid!
int parameterKey () const
 return the parameter key of the Trk::LocalParameters (of the measurement) used for the calculation
int dimension () const
 return the dimension of the residual and pull
ResidualType residualType () const
 returns residual type (truth/biased/unbiased etc)
double sineStripAngle () const
 returns strip angle wrt.

Protected Attributes

std::vector< double > m_residual {}
std::vector< double > m_pull {}
bool m_pullValid = false
ResidualType m_residualType = Trk::ResidualPull::Biased
int m_parameterKey = 0
double m_sineStripAngle = 0.0

Detailed Description

This class containes residual and pull information.

Beside the values of the residual and pull the parameterKey belonging to the measurement and information about the residual type are stored in this class. One should distinguish (at least) four types of residuals:

  • the residual between reconstructed track state and MC truth: \( r_i = x_i - {x_{truth}}_i \) with the pull: \( p_i = \frac{x_i - {x_{truth}}_i}{\sigma(x_i)} \)
  • biased residual belonging to a track state, which includes the considered measurement: \( r_i = m_i - x_i \) with the related pull: \( p_i = \frac{m_i - x_i}{\sqrt{\sigma(m_i)^2 - \sigma(x_i)^2}} \)
  • alignment residuals belonging to a track state, which includes the considered measurement: \( r_i = m_i - x_i \) with the related pull: \( p_i = \frac{m_i - x_i}{\sqrt{\sigma(m_i)^2}} \)
  • unbiased residual belonging to a track state, which does not include the measurement: \( r_i = m_i - x_i^* \) with its pull: \( p_i = \frac{m_i - x_i^*}{\sqrt{\sigma(m_i)^2 + \sigma(x_i^*)^2}} \)

The ResidualType enum reflects the above distinction.

Author
Sebas.nosp@m.tian.nosp@m..Flei.nosp@m.schm.nosp@m.ann@c.nosp@m.ern..nosp@m.ch

Definition at line 45 of file ResidualPull.h.

Member Enumeration Documentation

◆ ResidualType

Enumerator
McTruth 

RP between rec and true track intersection.

Biased 

RP with track state including the hit.

HitOnly 

RP with biased track state, but pull from hit only.

Unbiased 

RP with track state that has measurement not included.

NumberOfResidualTypes 

Definition at line 52 of file ResidualPull.h.

53 {
54 McTruth = 0,
55 Biased = 1,
56 HitOnly = 2,
57 Unbiased = 3,
59 };
@ Biased
RP with track state including the hit.
@ HitOnly
RP with biased track state, but pull from hit only.
@ Unbiased
RP with track state that has measurement not included.
@ McTruth
RP between rec and true track intersection.

Constructor & Destructor Documentation

◆ ResidualPull() [1/2]

Trk::ResidualPull::ResidualPull ( )
default

default constructor

◆ ResidualPull() [2/2]

Trk::ResidualPull::ResidualPull ( std::vector< double > residual,
std::vector< double > pull,
bool pullValid,
ResidualType residualType,
int parameterKey,
double sineStripAngle = 0.0 )

explicit constructor

Member Function Documentation

◆ dimension()

int Trk::ResidualPull::dimension ( ) const

return the dimension of the residual and pull

◆ isPullValid()

bool Trk::ResidualPull::isPullValid ( ) const

returns false if the pull was calculated without a valid covariance matrix for the track parameters, this means the pull is not valid!

◆ parameterKey()

int Trk::ResidualPull::parameterKey ( ) const

return the parameter key of the Trk::LocalParameters (of the measurement) used for the calculation

◆ pull()

const std::vector< double > & Trk::ResidualPull::pull ( ) const

return pull vector

◆ residual()

const std::vector< double > & Trk::ResidualPull::residual ( ) const

return residual vector

◆ residualType()

ResidualType Trk::ResidualPull::residualType ( ) const

returns residual type (truth/biased/unbiased etc)

◆ sineStripAngle()

double Trk::ResidualPull::sineStripAngle ( ) const

returns strip angle wrt.

local frame for fan-shaped strip sensors, 0.0 for others

Member Data Documentation

◆ m_parameterKey

int Trk::ResidualPull::m_parameterKey = 0
protected

Definition at line 108 of file ResidualPull.h.

◆ m_pull

std::vector<double> Trk::ResidualPull::m_pull {}
protected

Definition at line 105 of file ResidualPull.h.

105{};

◆ m_pullValid

bool Trk::ResidualPull::m_pullValid = false
protected

Definition at line 106 of file ResidualPull.h.

◆ m_residual

std::vector<double> Trk::ResidualPull::m_residual {}
protected

Definition at line 104 of file ResidualPull.h.

104{};

◆ m_residualType

ResidualType Trk::ResidualPull::m_residualType = Trk::ResidualPull::Biased
protected

Definition at line 107 of file ResidualPull.h.

◆ m_sineStripAngle

double Trk::ResidualPull::m_sineStripAngle = 0.0
protected

Definition at line 109 of file ResidualPull.h.


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