|
GENFIT
Rev:NoNumberAvailable
|
Functions | |
| void | invertMatrix (const TMatrixDSym &mat, TMatrixDSym &inv, double *determinant=NULL) |
| Invert a matrix, throwing an Exception when inversion fails. Optional calculation of determinant. More... | |
| void | invertMatrix (TMatrixDSym &mat, double *determinant=NULL) |
| Same, replacing its argument. More... | |
| bool | transposedForwardSubstitution (const TMatrixD &R, TVectorD &b) |
| Solves R^t x = b, replacing b with the solution for x. R is assumed to be upper diagonal. More... | |
| bool | transposedForwardSubstitution (const TMatrixD &R, TMatrixD &b, int nCol) |
| Same, for a column of the matrix b. More... | |
| bool | transposedInvert (const TMatrixD &R, TMatrixD &inv) |
| Inverts the transpose of the upper right matrix R into inv. More... | |
| void | QR (TMatrixD &A) |
| Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A. More... | |
| void | QR (TMatrixD &A, TVectorD &b) |
| Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A. Also replaces b by Q'b where Q' is the transposed of Q. More... | |
| void | safeAverage (const TMatrixDSym &C1, const TMatrixDSym &C2, TMatrixDSym &result) |
| This averages the covariance matrices C1, C2 in a numerically stable way by using matrix square roots. This code is in no way optimized so use with care if speed is a concern. More... | |
| void | noiseMatrixSqrt (const TMatrixDSym &noise, TMatrixD &noiseSqrt) |
| Calculate a sqrt for the positive semidefinite noise matrix. Rows corresponding to zero eigenvalues are omitted. This gives the transposed of the square root, i.e. noise = noiseSqrt * noiseSqrt'. More... | |
| void | kalmanPrediction (const TVectorD &x, const TVectorD &delta, const TMatrixD &F, TVectorD &xNew) |
| Transport the state. More... | |
| void | kalmanPredictionCovSqrt (const TMatrixD &S, const TMatrixD &F, const TMatrixD &Q, TMatrixD &Snew) |
| Calculates the square root of the covariance matrix after the Kalman prediction (i.e. extrapolation) with transport matrix F and the noise square root Q. Gives the new covariance square root. More... | |
| void | kalmanUpdateSqrt (const TMatrixD &S, const TVectorD &res, const TMatrixD &R, const AbsHMatrix *H, TVectorD &update, TMatrixD &SNew) |
| Calculate the Kalman measurement update with no transport. x, S : state prediction, covariance square root res, R, H : residual, measurement covariance square root, H matrix of the measurement. More... | |
| void | kalmanPredictionUpdateSqrt (const TMatrixD &S, const TMatrixD &F, const TMatrixD &Q, const TVectorD &res, const TMatrixD &R, const AbsHMatrix *H, TVectorD &update, TMatrixD &SNew) |
| void genfit::tools::invertMatrix | ( | const TMatrixDSym & | mat, |
| TMatrixDSym & | inv, | ||
| double * | determinant = NULL |
||
| ) |
Invert a matrix, throwing an Exception when inversion fails. Optional calculation of determinant.
Definition at line 40 of file Tools.cc.
References genfit::Exception::setFatal(), and useCramer.
Referenced by genfit::calcAverageState(), genfit::DAF::calcWeights(), genfit::SpacepointMeasurement::constructMeasurementsOnPlane(), genfit::KalmanFitterInfo::getAvgWeightedMeasurementOnPlane(), genfit::KalmanFitterInfo::getSmoothedChi2(), genfit::SpacepointMeasurement::initG(), genfit::KalmanFitter::processTrackPoint(), genfit::KalmanFitterRefTrack::processTrackPoint(), and genfit::KalmanFitterRefTrack::processTrackPointSqrt().
| void genfit::tools::invertMatrix | ( | TMatrixDSym & | mat, |
| double * | determinant = NULL |
||
| ) |
Same, replacing its argument.
Definition at line 118 of file Tools.cc.
References genfit::Exception::setFatal(), and useCramer.
| void genfit::tools::kalmanPrediction | ( | const TVectorD & | x, |
| const TVectorD & | delta, | ||
| const TMatrixD & | F, | ||
| TVectorD & | xNew | ||
| ) |
| void genfit::tools::kalmanPredictionCovSqrt | ( | const TMatrixD & | S, |
| const TMatrixD & | F, | ||
| const TMatrixD & | Q, | ||
| TMatrixD & | Snew | ||
| ) |
Calculates the square root of the covariance matrix after the Kalman prediction (i.e. extrapolation) with transport matrix F and the noise square root Q. Gives the new covariance square root.
Definition at line 492 of file Tools.cc.
References QR().
Referenced by genfit::KalmanFitterRefTrack::processTrackPointSqrt().
| void genfit::tools::kalmanPredictionUpdateSqrt | ( | const TMatrixD & | S, |
| const TMatrixD & | F, | ||
| const TMatrixD & | Q, | ||
| const TVectorD & | res, | ||
| const TMatrixD & | R, | ||
| const AbsHMatrix * | H, | ||
| TVectorD & | update, | ||
| TMatrixD & | SNew | ||
| ) |
Definition at line 548 of file Tools.cc.
References genfit::AbsHMatrix::MHt(), QR(), and transposedForwardSubstitution().
| void genfit::tools::kalmanUpdateSqrt | ( | const TMatrixD & | S, |
| const TVectorD & | res, | ||
| const TMatrixD & | R, | ||
| const AbsHMatrix * | H, | ||
| TVectorD & | update, | ||
| TMatrixD & | SNew | ||
| ) |
Calculate the Kalman measurement update with no transport. x, S : state prediction, covariance square root res, R, H : residual, measurement covariance square root, H matrix of the measurement.
Definition at line 517 of file Tools.cc.
References genfit::AbsHMatrix::MHt(), QR(), and transposedForwardSubstitution().
Referenced by genfit::KalmanFitter::processTrackPoint(), and genfit::KalmanFitterRefTrack::processTrackPointSqrt().
| void genfit::tools::noiseMatrixSqrt | ( | const TMatrixDSym & | noise, |
| TMatrixD & | noiseSqrt | ||
| ) |
Calculate a sqrt for the positive semidefinite noise matrix. Rows corresponding to zero eigenvalues are omitted. This gives the transposed of the square root, i.e. noise = noiseSqrt * noiseSqrt'.
Definition at line 443 of file Tools.cc.
Referenced by genfit::KalmanFitterRefTrack::processTrackPointSqrt().
| void genfit::tools::QR | ( | TMatrixD & | A | ) |
Replaces A with an upper right matrix connected to A by an orthongonal transformation. I.e., it computes R from a QR decomposition of A = QR, replacing A.
Definition at line 260 of file Tools.cc.
Referenced by genfit::calcAverageState(), kalmanPredictionCovSqrt(), kalmanPredictionUpdateSqrt(), kalmanUpdateSqrt(), and safeAverage().
| void genfit::tools::QR | ( | TMatrixD & | A, |
| TVectorD & | b | ||
| ) |
| void genfit::tools::safeAverage | ( | const TMatrixDSym & | C1, |
| const TMatrixDSym & | C2, | ||
| TMatrixDSym & | result | ||
| ) |
This averages the covariance matrices C1, C2 in a numerically stable way by using matrix square roots. This code is in no way optimized so use with care if speed is a concern.
Definition at line 390 of file Tools.cc.
References QR(), and transposedInvert().
| bool genfit::tools::transposedForwardSubstitution | ( | const TMatrixD & | R, |
| TVectorD & | b | ||
| ) |
Solves R^t x = b, replacing b with the solution for x. R is assumed to be upper diagonal.
Definition at line 201 of file Tools.cc.
Referenced by kalmanPredictionUpdateSqrt(), kalmanUpdateSqrt(), and transposedInvert().
| bool genfit::tools::transposedForwardSubstitution | ( | const TMatrixD & | R, |
| TMatrixD & | b, | ||
| int | nCol | ||
| ) |
| bool genfit::tools::transposedInvert | ( | const TMatrixD & | R, |
| TMatrixD & | inv | ||
| ) |
Inverts the transpose of the upper right matrix R into inv.
Definition at line 240 of file Tools.cc.
References transposedForwardSubstitution().
Referenced by genfit::calcAverageState(), and safeAverage().
1.8.6