EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tools.h File Reference
#include <TVectorD.h>
#include <TMatrixD.h>
#include <TMatrixDSym.h>
+ Include dependency graph for Tools.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  genfit
 Defines for I/O streams used for error and debug printing.
 
namespace  genfit::tools
 

Functions

void genfit::tools::invertMatrix (const TMatrixDSym &mat, TMatrixDSym &inv, double *determinant=nullptr)
 Invert a matrix, throwing an Exception when inversion fails. Optional calculation of determinant.
 
void genfit::tools::invertMatrix (TMatrixDSym &mat, double *determinant=nullptr)
 Same, replacing its argument.
 
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.
 
bool genfit::tools::transposedForwardSubstitution (const TMatrixD &R, TMatrixD &b, int nCol)
 Same, for a column of the matrix b.
 
bool genfit::tools::transposedInvert (const TMatrixD &R, TMatrixD &inv)
 Inverts the transpose of the upper right matrix R into inv.
 
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.
 
void genfit::tools::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.
 
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'.
 
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.
 
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.