11#include <analysis/VertexFitting/TreeFitter/EigenStackConfig.h>
13#include <analysis/VertexFitting/TreeFitter/FitParams.h>
14#include <analysis/VertexFitting/TreeFitter/ErrCode.h>
46 const Eigen::Matrix < double, -1, 1, 0, 7, 1 > & residuals,
47 const Eigen::Matrix < double, -1, -1, 0, 7, MAX_MATRIX_SIZE > & G,
49 const Eigen::Matrix < double, -1, -1, 0, 7, 7 > * V = 0,
74 Eigen::Matrix < double, -1, 1, 0, 7, 1 >
m_res;
77 Eigen::Matrix < double, -1, -1, 0, 7, MAX_MATRIX_SIZE >
m_G;
80 Eigen::Matrix < double, -1, -1, 0, 7, 7 >
m_R;
86 Eigen::Matrix < double, -1, -1, 0, MAX_MATRIX_SIZE, 7 >
m_K;
89 Eigen::Matrix < double, -1, -1, 0, MAX_MATRIX_SIZE, 7 >
m_CGt;
abstract errorocode be aware that the default is success
Class to store and manage fitparams (statevector)
does the calculation of the gain matrix, updates the cov and fitpars
void updateState(FitParams &fitparams)
update statevector
ErrCode calculateGainMatrix(const Eigen::Matrix< double, -1, 1, 0, 7, 1 > &residuals, const Eigen::Matrix< double, -1, -1, 0, 7, MAX_MATRIX_SIZE > &G, const FitParams &fitparams, const Eigen::Matrix< double, -1, -1, 0, 7, 7 > *V=0, double weight=1)
init the kalman machienery
Eigen::Matrix< double, -1, -1, 0, 7, 7 > m_Rinverse
R inverse.
double getConstraintDim() const
get dimension of the constraint
Eigen::Matrix< double, -1, -1, 0, 7, 7 > m_R
R residual covariance.
Eigen::Matrix< double, -1, -1, 0, 7, MAX_MATRIX_SIZE > m_G
G former H, transforms covraince of {residuals}<->{x,p,E}.
Eigen::Matrix< double, -1, 1, 0, 7, 1 > m_res
we know the max sizes of the matrices we assume the tree is smaller than MAX_MATRIX_SIZE parameters a...
void updateCovariance(FitParams &fitparams)
update the statevectors covariance
Eigen::Matrix< double, -1, -1, 0, MAX_MATRIX_SIZE, 7 > m_K
K kalman gain matrix.
double getChiSquare() const
get chi2 of this iteration
int m_constrDim
dimension of the constraint
Eigen::Matrix< double, -1, -1, 0, MAX_MATRIX_SIZE, 7 > m_CGt
C times G^t