GENFIT  Rev:NoNumberAvailable
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
Public Member Functions | Private Attributes | List of all members
gbl::GblPoint Class Reference

Point on trajectory. More...

#include <GblPoint.h>

Collaboration diagram for gbl::GblPoint:
Collaboration graph

Public Member Functions

 GblPoint (const TMatrixD &aJacobian)
 Create a point. More...
 
 GblPoint (const SMatrix55 &aJacobian)
 
virtual ~GblPoint ()
 
void addMeasurement (const TMatrixD &aProjection, const TVectorD &aResiduals, const TVectorD &aPrecision, double minPrecision=0.)
 Add a measurement to a point. More...
 
void addMeasurement (const TMatrixD &aProjection, const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.)
 Add a measurement to a point. More...
 
void addMeasurement (const TVectorD &aResiduals, const TVectorD &aPrecision, double minPrecision=0.)
 Add a measurement to a point. More...
 
void addMeasurement (const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.)
 Add a measurement to a point. More...
 
unsigned int hasMeasurement () const
 Check for measurement at a point. More...
 
void getMeasurement (SMatrix55 &aProjection, SVector5 &aResiduals, SVector5 &aPrecision) const
 Retrieve measurement of a point. More...
 
void getMeasTransformation (TMatrixD &aTransformation) const
 Get measurement transformation (from diagonalization). More...
 
void addScatterer (const TVectorD &aResiduals, const TVectorD &aPrecision)
 Add a (thin) scatterer to a point. More...
 
void addScatterer (const TVectorD &aResiduals, const TMatrixDSym &aPrecision)
 
bool hasScatterer () const
 
void getScatterer (SMatrix22 &aTransformation, SVector2 &aResiduals, SVector2 &aPrecision) const
 
void getScatTransformation (TMatrixD &aTransformation) const
 
void addLocals (const TMatrixD &aDerivatives)
 
unsigned int getNumLocals () const
 
const TMatrixD & getLocalDerivatives () const
 
void addGlobals (const std::vector< int > &aLabels, const TMatrixD &aDerivatives)
 
unsigned int getNumGlobals () const
 
std::vector< int > getGlobalLabels () const
 
const TMatrixD & getGlobalDerivatives () const
 
void setLabel (unsigned int aLabel)
 
unsigned int getLabel () const
 
void setOffset (int anOffset)
 
int getOffset () const
 
const SMatrix55getP2pJacobian () const
 
void addPrevJacobian (const SMatrix55 &aJac)
 
void addNextJacobian (const SMatrix55 &aJac)
 
void getDerivatives (int aDirection, SMatrix22 &matW, SMatrix22 &matWJ, SVector2 &vecWd) const
 
void printPoint (unsigned int level=0) const
 

Private Attributes

unsigned int theLabel
 Label identifying point. More...
 
int theOffset
 Offset number at point if not negative (else interpolation needed) More...
 
SMatrix55 p2pJacobian
 Point-to-point jacobian from previous point. More...
 
SMatrix55 prevJacobian
 Jacobian to previous scatterer (or first measurement) More...
 
SMatrix55 nextJacobian
 Jacobian to next scatterer (or last measurement) More...
 
unsigned int measDim
 Dimension of measurement (1-5), 0 indicates absence of measurement. More...
 
SMatrix55 measProjection
 Projection from measurement to local system. More...
 
SVector5 measResiduals
 Measurement residuals. More...
 
SVector5 measPrecision
 Measurement precision (diagonal of inverse covariance matrix) More...
 
bool transFlag
 Transformation exists? More...
 
TMatrixD measTransformation
 Transformation of diagonalization (of meas. precision matrix) More...
 
bool scatFlag
 Scatterer present? More...
 
SMatrix22 scatTransformation
 Transformation of diagonalization (of scat. precision matrix) More...
 
SVector2 scatResiduals
 Scattering residuals (initial kinks if iterating) More...
 
SVector2 scatPrecision
 Scattering precision (diagonal of inverse covariance matrix) More...
 
TMatrixD localDerivatives
 Derivatives of measurement vs additional local (fit) parameters. More...
 
std::vector< int > globalLabels
 Labels of global (MP-II) derivatives. More...
 
TMatrixD globalDerivatives
 Derivatives of measurement vs additional global (MP-II) parameters. More...
 

Detailed Description

Point on trajectory.

User supplied point on (initial) trajectory.

Must have jacobian for propagation from previous point. May have:

  1. Measurement (1D - 5D)
  2. Scatterer (thin, 2D kinks)
  3. Additional local parameters (with derivatives). Fitted together with track parameters.
  4. Additional global parameters (with labels and derivatives). Not fitted, only passed on to (binary) file for fitting with Millepede-II.

Definition at line 48 of file GblPoint.h.

Constructor & Destructor Documentation

gbl::GblPoint::GblPoint ( const TMatrixD &  aJacobian)

Create a point.

Create point on (initial) trajectory. Needs transformation jacobian from previous point.

Parameters
[in]aJacobianTransformation jacobian from previous point

Definition at line 18 of file GblPoint.cc.

References p2pJacobian.

gbl::GblPoint::GblPoint ( const SMatrix55 aJacobian)

Definition at line 29 of file GblPoint.cc.

gbl::GblPoint::~GblPoint ( )
virtual

Definition at line 35 of file GblPoint.cc.

Member Function Documentation

void gbl::GblPoint::addGlobals ( const std::vector< int > &  aLabels,
const TMatrixD &  aDerivatives 
)
void gbl::GblPoint::addLocals ( const TMatrixD &  aDerivatives)
void gbl::GblPoint::addMeasurement ( const TMatrixD &  aProjection,
const TVectorD &  aResiduals,
const TVectorD &  aPrecision,
double  minPrecision = 0. 
)

Add a measurement to a point.

Add measurement (in meas. system) with diagonal precision (inverse covariance) matrix. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)

Parameters
[in]aProjectionProjection from local to measurement system
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (diagonal)
[in]minPrecisionMinimal precision to accept measurement

Definition at line 47 of file GblPoint.cc.

References measDim, measPrecision, measProjection, and measResiduals.

Referenced by genfit::GblFitterInfo::constructGblPoint(), and genfit::GFGbl::processTrackWithRep().

void gbl::GblPoint::addMeasurement ( const TMatrixD &  aProjection,
const TVectorD &  aResiduals,
const TMatrixDSym &  aPrecision,
double  minPrecision = 0. 
)

Add a measurement to a point.

Add measurement (in meas. system) with arbitrary precision (inverse covariance) matrix. Will be diagonalized. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)

Parameters
[in]aProjectionProjection from local to measurement system
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (matrix)
[in]minPrecisionMinimal precision to accept measurement

Definition at line 72 of file GblPoint.cc.

References measDim, measPrecision, measProjection, measResiduals, measTransformation, and transFlag.

void gbl::GblPoint::addMeasurement ( const TVectorD &  aResiduals,
const TVectorD &  aPrecision,
double  minPrecision = 0. 
)

Add a measurement to a point.

Add measurement in local system with diagonal precision (inverse covariance) matrix. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)

Parameters
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (diagonal)
[in]minPrecisionMinimal precision to accept measurement

Definition at line 103 of file GblPoint.cc.

References measDim, measPrecision, measProjection, and measResiduals.

void gbl::GblPoint::addMeasurement ( const TVectorD &  aResiduals,
const TMatrixDSym &  aPrecision,
double  minPrecision = 0. 
)

Add a measurement to a point.

Add measurement in local system with arbitrary precision (inverse covariance) matrix. Will be diagonalized. ((up to) 2D: position, 4D: slope+position, 5D: curvature+slope+position)

Parameters
[in]aResidualsMeasurement residuals
[in]aPrecisionMeasurement precision (matrix)
[in]minPrecisionMinimal precision to accept measurement

Definition at line 124 of file GblPoint.cc.

References measDim, measPrecision, measProjection, measResiduals, measTransformation, and transFlag.

void gbl::GblPoint::addNextJacobian ( const SMatrix55 aJac)
void gbl::GblPoint::addPrevJacobian ( const SMatrix55 aJac)
void gbl::GblPoint::addScatterer ( const TVectorD &  aResiduals,
const TVectorD &  aPrecision 
)

Add a (thin) scatterer to a point.

Add scatterer with diagonal precision (inverse covariance) matrix. Changes local track direction.

Parameters
[in]aResidualsScatterer residuals
[in]aPrecisionScatterer precision (diagonal of inverse covariance matrix)

Definition at line 188 of file GblPoint.cc.

References scatFlag, scatPrecision, scatResiduals, and scatTransformation.

Referenced by genfit::GblFitterInfo::constructGblPoint(), and genfit::GFGbl::processTrackWithRep().

void gbl::GblPoint::addScatterer ( const TVectorD &  aResiduals,
const TMatrixDSym &  aPrecision 
)
void gbl::GblPoint::getDerivatives ( int  aDirection,
SMatrix22 matW,
SMatrix22 matWJ,
SVector2 vecWd 
) const
const TMatrixD& gbl::GblPoint::getGlobalDerivatives ( ) const
std::vector<int> gbl::GblPoint::getGlobalLabels ( ) const
unsigned int gbl::GblPoint::getLabel ( ) const
const TMatrixD& gbl::GblPoint::getLocalDerivatives ( ) const
void gbl::GblPoint::getMeasTransformation ( TMatrixD &  aTransformation) const

Get measurement transformation (from diagonalization).

Parameters
[out]aTransformationTransformation matrix

Definition at line 171 of file GblPoint.cc.

References measDim, measTransformation, and transFlag.

void gbl::GblPoint::getMeasurement ( SMatrix55 aProjection,
SVector5 aResiduals,
SVector5 aPrecision 
) const

Retrieve measurement of a point.

Parameters
[out]aProjectionProjection from (diagonalized) measurement to local system
[out]aResidualsMeasurement residuals
[out]aPrecisionMeasurement precision (diagonal)

Definition at line 160 of file GblPoint.cc.

References measPrecision, measProjection, and measResiduals.

unsigned int gbl::GblPoint::getNumGlobals ( ) const
unsigned int gbl::GblPoint::getNumLocals ( ) const
int gbl::GblPoint::getOffset ( ) const
const SMatrix55& gbl::GblPoint::getP2pJacobian ( ) const
void gbl::GblPoint::getScatterer ( SMatrix22 aTransformation,
SVector2 aResiduals,
SVector2 aPrecision 
) const
void gbl::GblPoint::getScatTransformation ( TMatrixD &  aTransformation) const
unsigned int gbl::GblPoint::hasMeasurement ( ) const

Check for measurement at a point.

Get dimension of measurement (0 = none).

Returns
measurement dimension

Definition at line 150 of file GblPoint.cc.

References measDim.

Referenced by genfit::GblFitter::processTrackWithRep().

bool gbl::GblPoint::hasScatterer ( ) const
void gbl::GblPoint::printPoint ( unsigned int  level = 0) const
void gbl::GblPoint::setLabel ( unsigned int  aLabel)
void gbl::GblPoint::setOffset ( int  anOffset)

Member Data Documentation

TMatrixD gbl::GblPoint::globalDerivatives
private

Derivatives of measurement vs additional global (MP-II) parameters.

Definition at line 109 of file GblPoint.h.

std::vector<int> gbl::GblPoint::globalLabels
private

Labels of global (MP-II) derivatives.

Definition at line 108 of file GblPoint.h.

TMatrixD gbl::GblPoint::localDerivatives
private

Derivatives of measurement vs additional local (fit) parameters.

Definition at line 107 of file GblPoint.h.

unsigned int gbl::GblPoint::measDim
private

Dimension of measurement (1-5), 0 indicates absence of measurement.

Definition at line 97 of file GblPoint.h.

Referenced by addMeasurement(), getMeasTransformation(), and hasMeasurement().

SVector5 gbl::GblPoint::measPrecision
private

Measurement precision (diagonal of inverse covariance matrix)

Definition at line 100 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

SMatrix55 gbl::GblPoint::measProjection
private

Projection from measurement to local system.

Definition at line 98 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

SVector5 gbl::GblPoint::measResiduals
private

Measurement residuals.

Definition at line 99 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasurement().

TMatrixD gbl::GblPoint::measTransformation
private

Transformation of diagonalization (of meas. precision matrix)

Definition at line 102 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasTransformation().

SMatrix55 gbl::GblPoint::nextJacobian
private

Jacobian to next scatterer (or last measurement)

Definition at line 96 of file GblPoint.h.

SMatrix55 gbl::GblPoint::p2pJacobian
private

Point-to-point jacobian from previous point.

Definition at line 94 of file GblPoint.h.

Referenced by GblPoint().

SMatrix55 gbl::GblPoint::prevJacobian
private

Jacobian to previous scatterer (or first measurement)

Definition at line 95 of file GblPoint.h.

bool gbl::GblPoint::scatFlag
private

Scatterer present?

Definition at line 103 of file GblPoint.h.

Referenced by addScatterer().

SVector2 gbl::GblPoint::scatPrecision
private

Scattering precision (diagonal of inverse covariance matrix)

Definition at line 106 of file GblPoint.h.

Referenced by addScatterer().

SVector2 gbl::GblPoint::scatResiduals
private

Scattering residuals (initial kinks if iterating)

Definition at line 105 of file GblPoint.h.

Referenced by addScatterer().

SMatrix22 gbl::GblPoint::scatTransformation
private

Transformation of diagonalization (of scat. precision matrix)

Definition at line 104 of file GblPoint.h.

Referenced by addScatterer().

unsigned int gbl::GblPoint::theLabel
private

Label identifying point.

Definition at line 92 of file GblPoint.h.

int gbl::GblPoint::theOffset
private

Offset number at point if not negative (else interpolation needed)

Definition at line 93 of file GblPoint.h.

bool gbl::GblPoint::transFlag
private

Transformation exists?

Definition at line 101 of file GblPoint.h.

Referenced by addMeasurement(), and getMeasTransformation().


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