EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Point on trajectory. More...
#include <fun4all_GenFit/blob/master/GBL/include/GblPoint.h>
Public Member Functions | |
GblPoint (const TMatrixD &aJacobian) | |
Create a point. | |
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. | |
void | addMeasurement (const TMatrixD &aProjection, const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.) |
Add a measurement to a point. | |
void | addMeasurement (const TVectorD &aResiduals, const TVectorD &aPrecision, double minPrecision=0.) |
Add a measurement to a point. | |
void | addMeasurement (const TVectorD &aResiduals, const TMatrixDSym &aPrecision, double minPrecision=0.) |
Add a measurement to a point. | |
unsigned int | hasMeasurement () const |
Check for measurement at a point. | |
void | getMeasurement (SMatrix55 &aProjection, SVector5 &aResiduals, SVector5 &aPrecision) const |
Retrieve measurement of a point. | |
void | getMeasTransformation (TMatrixD &aTransformation) const |
Get measurement transformation (from diagonalization). | |
void | addScatterer (const TVectorD &aResiduals, const TVectorD &aPrecision) |
Add a (thin) scatterer to a point. | |
void | addScatterer (const TVectorD &aResiduals, const TMatrixDSym &aPrecision) |
Add a (thin) scatterer to a point. | |
bool | hasScatterer () const |
Check for scatterer at a point. | |
void | getScatterer (SMatrix22 &aTransformation, SVector2 &aResiduals, SVector2 &aPrecision) const |
Retrieve scatterer of a point. | |
void | getScatTransformation (TMatrixD &aTransformation) const |
Get scatterer transformation (from diagonalization). | |
void | addLocals (const TMatrixD &aDerivatives) |
Add local derivatives to a point. | |
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. | |
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) | |
unsigned int | getLabel () const |
Retrieve label of point. | |
void | setOffset (int anOffset) |
Define offset for point (by GBLTrajectory constructor) | |
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) | |
void | addNextJacobian (const SMatrix55 &aJac) |
Define jacobian to next scatterer (by GBLTrajectory constructor) | |
void | getDerivatives (int aDirection, SMatrix22 &matW, SMatrix22 &matWJ, SVector2 &vecWd) const |
Retrieve derivatives of local track model. | |
void | printPoint (unsigned int level=0) const |
Print GblPoint. | |
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. | |
Point on trajectory.
User supplied point on (initial) trajectory.
Must have jacobian for propagation from previous point. May have:
Definition at line 68 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 68 of file GblPoint.h
gbl::GblPoint::GblPoint | ( | const TMatrixD & | aJacobian | ) |
Create a point.
Create point on (initial) trajectory. Needs transformation jacobian from previous point.
[in] | aJacobian | Transformation jacobian from previous point |
Definition at line 40 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 40 of file GblPoint.cc
References p2pJacobian.
gbl::GblPoint::GblPoint | ( | const SMatrix55 & | aJacobian | ) |
Definition at line 51 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 51 of file GblPoint.cc
|
virtual |
Definition at line 57 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 57 of file GblPoint.cc
void gbl::GblPoint::addGlobals | ( | const std::vector< int > & | aLabels, |
const TMatrixD & | aDerivatives | ||
) |
Add global derivatives to a point.
Point needs to have a measurement.
[in] | aLabels | Global derivatives labels |
[in] | aDerivatives | Global derivatives (matrix) |
Definition at line 320 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 320 of file GblPoint.cc
References globalDerivatives, globalLabels, measDim, measTransformation, and transFlag.
Referenced by genfit::GblFitterInfo::constructGblPoint(), and genfit::GFGbl::processTrackWithRep().
void gbl::GblPoint::addLocals | ( | const TMatrixD & | aDerivatives | ) |
Add local derivatives to a point.
Point needs to have a measurement.
[in] | aDerivatives | Local derivatives (matrix) |
Definition at line 293 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 293 of file GblPoint.cc
References localDerivatives, measDim, measTransformation, and transFlag.
Referenced by genfit::GblFitterInfo::constructGblPoint().
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)
[in] | aProjection | Projection from local to measurement system |
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (diagonal) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 69 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 69 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)
[in] | aProjection | Projection from local to measurement system |
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (matrix) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 94 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 94 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)
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (diagonal) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 125 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 125 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)
[in] | aResiduals | Measurement residuals |
[in] | aPrecision | Measurement precision (matrix) |
[in] | minPrecision | Minimal precision to accept measurement |
Definition at line 146 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 146 of file GblPoint.cc
References measDim, measPrecision, measProjection, measResiduals, measTransformation, and transFlag.
void gbl::GblPoint::addNextJacobian | ( | const SMatrix55 & | aJac | ) |
Define jacobian to next scatterer (by GBLTrajectory constructor)
[in] | aJac | Jacobian |
Definition at line 401 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 401 of file GblPoint.cc
References nextJacobian.
Referenced by gbl::GblTrajectory::calcJacobians().
void gbl::GblPoint::addPrevJacobian | ( | const SMatrix55 & | aJac | ) |
Define jacobian to previous scatterer (by GBLTrajectory constructor)
[in] | aJac | Jacobian |
Definition at line 384 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 384 of file GblPoint.cc
References prevJacobian.
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.
[in] | aResiduals | Scatterer residuals |
[in] | aPrecision | Scatterer precision (diagonal of inverse covariance matrix) |
Definition at line 210 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 210 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 | ||
) |
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 |
[in] | aResiduals | Scatterer residuals |
[in] | aPrecision | Scatterer precision (matrix) |
Definition at line 236 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 236 of file GblPoint.cc
References scatFlag, scatPrecision, scatResiduals, and scatTransformation.
void gbl::GblPoint::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.
[in] | aDirection | Propagation direction (>0 forward, else backward) |
[out] | matW | W |
[out] | matWJ | W*J |
[out] | vecWd | W*d |
std::overflow_error | : matrix S is singular. |
Definition at line 415 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 415 of file GblPoint.cc
References nextJacobian, and prevJacobian.
Referenced by gbl::GblTrajectory::getFitToKinkJacobian(), and gbl::GblTrajectory::getFitToLocalJacobian().
const TMatrixD & gbl::GblPoint::getGlobalDerivatives | ( | ) | const |
Retrieve global derivatives from a point.
Definition at line 345 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 345 of file GblPoint.cc
References globalDerivatives.
std::vector< int > gbl::GblPoint::getGlobalLabels | ( | ) | const |
Retrieve global derivatives labels from a point.
Definition at line 340 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 340 of file GblPoint.cc
References globalLabels.
unsigned int gbl::GblPoint::getLabel | ( | ) | const |
Retrieve label of point.
Definition at line 358 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 358 of file GblPoint.cc
References theLabel.
const TMatrixD & gbl::GblPoint::getLocalDerivatives | ( | ) | const |
Retrieve local derivatives from a point.
Definition at line 310 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 310 of file GblPoint.cc
References localDerivatives.
void gbl::GblPoint::getMeasTransformation | ( | TMatrixD & | aTransformation | ) | const |
Get measurement transformation (from diagonalization).
[out] | aTransformation | Transformation matrix |
Definition at line 193 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 193 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.
[out] | aProjection | Projection from (diagonalized) measurement to local system |
[out] | aResiduals | Measurement residuals |
[out] | aPrecision | Measurement precision (diagonal) |
Definition at line 182 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 182 of file GblPoint.cc
References measPrecision, measProjection, and measResiduals.
unsigned int gbl::GblPoint::getNumGlobals | ( | ) | const |
Retrieve number of global derivatives from a point.
Definition at line 335 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 335 of file GblPoint.cc
References globalDerivatives.
unsigned int gbl::GblPoint::getNumLocals | ( | ) | const |
Retrieve number of local derivatives from a point.
Definition at line 305 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 305 of file GblPoint.cc
References localDerivatives.
int gbl::GblPoint::getOffset | ( | ) | const |
Retrieve offset for point.
Definition at line 371 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 371 of file GblPoint.cc
References theOffset.
Referenced by gbl::GblTrajectory::getFitToKinkJacobian(), and gbl::GblTrajectory::getFitToLocalJacobian().
const SMatrix55 & gbl::GblPoint::getP2pJacobian | ( | ) | const |
Retrieve point-to-(previous)point jacobian.
Definition at line 376 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 376 of file GblPoint.cc
References p2pJacobian.
void gbl::GblPoint::getScatterer | ( | SMatrix22 & | aTransformation, |
SVector2 & | aResiduals, | ||
SVector2 & | aPrecision | ||
) | const |
Retrieve scatterer of a point.
[out] | aTransformation | Scatterer transformation from diagonalization |
[out] | aResiduals | Scatterer residuals |
[out] | aPrecision | Scatterer precision (diagonal) |
Definition at line 264 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 264 of file GblPoint.cc
References scatPrecision, scatResiduals, and scatTransformation.
void gbl::GblPoint::getScatTransformation | ( | TMatrixD & | aTransformation | ) | const |
Get scatterer transformation (from diagonalization).
[out] | aTransformation | Transformation matrix |
Definition at line 275 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 275 of file GblPoint.cc
References scatFlag, and scatTransformation.
unsigned int gbl::GblPoint::hasMeasurement | ( | ) | const |
Check for measurement at a point.
Get dimension of measurement (0 = none).
Definition at line 172 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 172 of file GblPoint.cc
References measDim.
Referenced by genfit::GblFitter::processTrackWithRep().
bool gbl::GblPoint::hasScatterer | ( | ) | const |
Check for scatterer at a point.
Definition at line 254 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 254 of file GblPoint.cc
References scatFlag.
Referenced by genfit::GblFitter::processTrackWithRep().
void gbl::GblPoint::printPoint | ( | unsigned int | level = 0 | ) | const |
Print GblPoint.
[in] | level | print level (0: minimum, >0: more) |
Definition at line 447 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 447 of file GblPoint.cc
References globalDerivatives, globalLabels, localDerivatives, measDim, measPrecision, measProjection, measResiduals, nextJacobian, p2pJacobian, prevJacobian, scatFlag, scatPrecision, scatResiduals, theLabel, theOffset, and transFlag.
void gbl::GblPoint::setLabel | ( | unsigned int | aLabel | ) |
Define label of point (by GBLTrajectory constructor)
[in] | aLabel | Label identifying point |
Definition at line 353 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 353 of file GblPoint.cc
References theLabel.
void gbl::GblPoint::setOffset | ( | int | anOffset | ) |
Define offset for point (by GBLTrajectory constructor)
[in] | anOffset | Offset number |
Definition at line 366 of file GblPoint.cc.
View newest version in sPHENIX GitHub at line 366 of file GblPoint.cc
References theOffset.
|
private |
Derivatives of measurement vs additional global (MP-II) parameters.
Definition at line 129 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 129 of file GblPoint.h
Referenced by addGlobals(), getGlobalDerivatives(), getNumGlobals(), and printPoint().
|
private |
Labels of global (MP-II) derivatives.
Definition at line 128 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 128 of file GblPoint.h
Referenced by addGlobals(), getGlobalLabels(), and printPoint().
|
private |
Derivatives of measurement vs additional local (fit) parameters.
Definition at line 127 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 127 of file GblPoint.h
Referenced by addLocals(), getLocalDerivatives(), getNumLocals(), and printPoint().
|
private |
Dimension of measurement (1-5), 0 indicates absence of measurement.
Definition at line 117 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 117 of file GblPoint.h
Referenced by addGlobals(), addLocals(), addMeasurement(), getMeasTransformation(), hasMeasurement(), and printPoint().
|
private |
Measurement precision (diagonal of inverse covariance matrix)
Definition at line 120 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 120 of file GblPoint.h
Referenced by addMeasurement(), getMeasurement(), and printPoint().
|
private |
Projection from measurement to local system.
Definition at line 118 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 118 of file GblPoint.h
Referenced by addMeasurement(), getMeasurement(), and printPoint().
|
private |
Measurement residuals.
Definition at line 119 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 119 of file GblPoint.h
Referenced by addMeasurement(), getMeasurement(), and printPoint().
|
private |
Transformation of diagonalization (of meas. precision matrix)
Definition at line 122 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 122 of file GblPoint.h
Referenced by addGlobals(), addLocals(), addMeasurement(), and getMeasTransformation().
|
private |
Jacobian to next scatterer (or last measurement)
Definition at line 116 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 116 of file GblPoint.h
Referenced by addNextJacobian(), getDerivatives(), and printPoint().
|
private |
Point-to-point jacobian from previous point.
Definition at line 114 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 114 of file GblPoint.h
Referenced by GblPoint(), getP2pJacobian(), and printPoint().
|
private |
Jacobian to previous scatterer (or first measurement)
Definition at line 115 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 115 of file GblPoint.h
Referenced by addPrevJacobian(), getDerivatives(), and printPoint().
|
private |
Scatterer present?
Definition at line 123 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 123 of file GblPoint.h
Referenced by addScatterer(), getScatTransformation(), hasScatterer(), and printPoint().
|
private |
Scattering precision (diagonal of inverse covariance matrix)
Definition at line 126 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 126 of file GblPoint.h
Referenced by addScatterer(), getScatterer(), and printPoint().
|
private |
Scattering residuals (initial kinks if iterating)
Definition at line 125 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 125 of file GblPoint.h
Referenced by addScatterer(), getScatterer(), and printPoint().
|
private |
Transformation of diagonalization (of scat. precision matrix)
Definition at line 124 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 124 of file GblPoint.h
Referenced by addScatterer(), getScatterer(), and getScatTransformation().
|
private |
Label identifying point.
Definition at line 112 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 112 of file GblPoint.h
Referenced by getLabel(), printPoint(), and setLabel().
|
private |
Offset number at point if not negative (else interpolation needed)
Definition at line 113 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 113 of file GblPoint.h
Referenced by getOffset(), printPoint(), and setOffset().
|
private |
Transformation exists?
Definition at line 121 of file GblPoint.h.
View newest version in sPHENIX GitHub at line 121 of file GblPoint.h
Referenced by addGlobals(), addLocals(), addMeasurement(), getMeasTransformation(), and printPoint().