Belle II Software  release-08-01-10
GblPoint Class Reference

Point on trajectory. More...

#include <GblPoint.h>

Collaboration diagram for GblPoint:

Public Member Functions

 GblPoint (const TMatrixD &aJacobian)
 Create a point. More...
 
 GblPoint (const SMatrix55 &aJacobian)
 
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)
 Add a (thin) scatterer to a point. More...
 
bool hasScatterer () const
 Check for scatterer at a point.
 
void getScatterer (SMatrix22 &aTransformation, SVector2 &aResiduals, SVector2 &aPrecision) const
 Retrieve scatterer of a point. More...
 
void getScatTransformation (TMatrixD &aTransformation) const
 Get scatterer transformation (from diagonalization). More...
 
void addLocals (const TMatrixD &aDerivatives)
 Add local derivatives to a point. More...
 
unsigned int getNumLocals () const
 Retrieve number of local derivatives from a point.
 
const TMatrixD & getLocalDerivatives () const
 Retrieve local derivatives from a point.
 
void addGlobals (const std::vector< int > &aLabels, const TMatrixD &aDerivatives)
 Add global derivatives to a point. More...
 
unsigned int getNumGlobals () const
 Retrieve number of global derivatives from a point.
 
std::vector< int > getGlobalLabels () const
 Retrieve global derivatives labels from a point.
 
const TMatrixD & getGlobalDerivatives () const
 Retrieve global derivatives from a point.
 
void setLabel (unsigned int aLabel)
 Define label of point (by GBLTrajectory constructor) More...
 
unsigned int getLabel () const
 Retrieve label of point.
 
void setOffset (int anOffset)
 Define offset for point (by GBLTrajectory constructor) More...
 
int getOffset () const
 Retrieve offset for point.
 
const SMatrix55 & getP2pJacobian () const
 Retrieve point-to-(previous)point jacobian.
 
void addPrevJacobian (const SMatrix55 &aJac)
 Define jacobian to previous scatterer (by GBLTrajectory constructor) More...
 
void addNextJacobian (const SMatrix55 &aJac)
 Define jacobian to next scatterer (by GBLTrajectory constructor) More...
 
void getDerivatives (int aDirection, SMatrix22 &matW, SMatrix22 &matWJ, SVector2 &vecWd) const
 Retrieve derivatives of local track model. More...
 
void printPoint (unsigned int level=0) const
 Print GblPoint. More...
 

Private Attributes

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

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

Constructor & Destructor Documentation

◆ GblPoint()

GblPoint ( const TMatrixD &  aJacobian)
explicit

Create a point.

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

Parameters
[in]aJacobianTransformation jacobian from previous point

Definition at line 40 of file GblPoint.cc.

40  :
43 
44  for (unsigned int i = 0; i < 5; ++i) {
45  for (unsigned int j = 0; j < 5; ++j) {
46  p2pJacobian(i, j) = aJacobian(i, j);
47  }
48  }
49 }
unsigned int measDim
Dimension of measurement (1-5), 0 indicates absence of measurement.
Definition: GblPoint.h:117
bool scatFlag
Scatterer present?
Definition: GblPoint.h:123
int theOffset
Offset number at point if not negative (else interpolation needed)
Definition: GblPoint.h:113
unsigned int theLabel
Label identifying point.
Definition: GblPoint.h:112
SMatrix55 p2pJacobian
Point-to-point jacobian from previous point.
Definition: GblPoint.h:114
std::vector< int > globalLabels
Labels of global (MP-II) derivatives.
Definition: GblPoint.h:128
TMatrixD localDerivatives
Derivatives of measurement vs additional local (fit) parameters.
Definition: GblPoint.h:127
TMatrixD globalDerivatives
Derivatives of measurement vs additional global (MP-II) parameters.
Definition: GblPoint.h:129
bool transFlag
Transformation exists?
Definition: GblPoint.h:121
TMatrixD measTransformation
Transformation of diagonalization (of meas. precision matrix)
Definition: GblPoint.h:122

Member Function Documentation

◆ addGlobals()

void addGlobals ( const std::vector< int > &  aLabels,
const TMatrixD &  aDerivatives 
)

Add global derivatives to a point.

Point needs to have a measurement.

Parameters
[in]aLabelsGlobal derivatives labels
[in]aDerivativesGlobal derivatives (matrix)

Definition at line 320 of file GblPoint.cc.

◆ addLocals()

void addLocals ( const TMatrixD &  aDerivatives)

Add local derivatives to a point.

Point needs to have a measurement.

Parameters
[in]aDerivativesLocal derivatives (matrix)

Definition at line 293 of file GblPoint.cc.

◆ addMeasurement() [1/4]

void 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 94 of file GblPoint.cc.

◆ addMeasurement() [2/4]

void 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 69 of file GblPoint.cc.

◆ addMeasurement() [3/4]

void 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 146 of file GblPoint.cc.

◆ addMeasurement() [4/4]

void 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 125 of file GblPoint.cc.

◆ addNextJacobian()

void addNextJacobian ( const SMatrix55 &  aJac)

Define jacobian to next scatterer (by GBLTrajectory constructor)

Parameters
[in]aJacJacobian

Definition at line 401 of file GblPoint.cc.

◆ addPrevJacobian()

void addPrevJacobian ( const SMatrix55 &  aJac)

Define jacobian to previous scatterer (by GBLTrajectory constructor)

Parameters
[in]aJacJacobian

Definition at line 384 of file GblPoint.cc.

◆ addScatterer() [1/2]

void addScatterer ( const TVectorD &  aResiduals,
const TMatrixDSym &  aPrecision 
)

Add a (thin) scatterer to a point.

Add scatterer with arbitrary precision (inverse covariance) matrix. Will be diagonalized. Changes local track direction.

The precision matrix for the local slopes is defined by the angular scattering error theta_0 and the scalar products c_1, c_2 of the offset directions in the local frame with the track direction:

       (1 - c_1*c_1 - c_2*c_2)   |  1 - c_1*c_1     - c_1*c_2  |
  P =  ----------------------- * |                             |
           theta_0*theta_0       |    - c_1*c_2   1 - c_2*c_2  |
Parameters
[in]aResidualsScatterer residuals
[in]aPrecisionScatterer precision (matrix)

Definition at line 236 of file GblPoint.cc.

◆ addScatterer() [2/2]

void 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 210 of file GblPoint.cc.

◆ getDerivatives()

void getDerivatives ( int  aDirection,
SMatrix22 &  matW,
SMatrix22 &  matWJ,
SVector2 &  vecWd 
) const

Retrieve derivatives of local track model.

Linearized track model: F_u(q/p,u',u) = J*u + S*u' + d*q/p, W is inverse of S, negated for backward propagation.

Parameters
[in]aDirectionPropagation direction (>0 forward, else backward)
[out]matWW
[out]matWJW*J
[out]vecWdW*d
Exceptions
std::overflow_error: matrix S is singular.

Definition at line 415 of file GblPoint.cc.

◆ getMeasTransformation()

void getMeasTransformation ( TMatrixD &  aTransformation) const

Get measurement transformation (from diagonalization).

Parameters
[out]aTransformationTransformation matrix

Definition at line 193 of file GblPoint.cc.

◆ getMeasurement()

void 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 182 of file GblPoint.cc.

◆ getScatterer()

void getScatterer ( SMatrix22 &  aTransformation,
SVector2 &  aResiduals,
SVector2 &  aPrecision 
) const

Retrieve scatterer of a point.

Parameters
[out]aTransformationScatterer transformation from diagonalization
[out]aResidualsScatterer residuals
[out]aPrecisionScatterer precision (diagonal)

Definition at line 264 of file GblPoint.cc.

◆ getScatTransformation()

void getScatTransformation ( TMatrixD &  aTransformation) const

Get scatterer transformation (from diagonalization).

Parameters
[out]aTransformationTransformation matrix

Definition at line 275 of file GblPoint.cc.

◆ hasMeasurement()

unsigned int hasMeasurement ( ) const

Check for measurement at a point.

Get dimension of measurement (0 = none).

Returns
measurement dimension

Definition at line 172 of file GblPoint.cc.

◆ printPoint()

void printPoint ( unsigned int  level = 0) const

Print GblPoint.

Parameters
[in]levelprint level (0: minimum, >0: more)

Definition at line 447 of file GblPoint.cc.

◆ setLabel()

void setLabel ( unsigned int  aLabel)

Define label of point (by GBLTrajectory constructor)

Parameters
[in]aLabelLabel identifying point

Definition at line 353 of file GblPoint.cc.

◆ setOffset()

void setOffset ( int  anOffset)

Define offset for point (by GBLTrajectory constructor)

Parameters
[in]anOffsetOffset number

Definition at line 366 of file GblPoint.cc.


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