#include <KalmanCalculator.h>
Definition at line 21 of file KalmanCalculator.h.
DecayTreeFitter::KalmanCalculator::KalmanCalculator |
( |
| ) |
|
|
inline |
virtual DecayTreeFitter::KalmanCalculator::~KalmanCalculator |
( |
| ) |
|
|
inlinevirtual |
double DecayTreeFitter::KalmanCalculator::chisq |
( |
| ) |
const |
|
inline |
ErrCode DecayTreeFitter::KalmanCalculator::init |
( |
const TVectorD & |
value, |
|
|
const TMatrixD & |
G, |
|
|
const FitParams * |
fitparams, |
|
|
const TMatrixDSym & |
V, |
|
|
int |
weight = 1 |
|
) |
| |
Definition at line 31 of file KalmanCalculator.cxx.
References C(), col, DecayTreeFitter::FitParams::cov(), DecayTreeFitter::FitParams::dim(), DecayTreeFitter::ErrCode::inversionerror, DecayTreeFitter::FitParams::par(), printf(), row, status, and vtxverbose.
Referenced by DecayTreeFitter::Constraint::filter().
36 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init()"<<std::endl;}
40 int valdim = value.GetNrows() ;
41 int statdim = fitparams->
par().GetNrows() ;
43 #ifdef VTK_BOUNDSCHECKING
44 assert( G.GetNrows() == valdim && G.GetNcols() == statdim &&
45 (V.GetNrows()==valdim) ) ;
49 TMatrixDSym
C(fitparams->
cov());
50 if(
vtxverbose>=6) {
printf(
"KalmanCalculator::init() G.GetNrows()/G.GetNcols() = %i/%i \t valdim/statdim = %i/%i \t V.GetNrows()/C.GetNrows() = %i/%i V.GetNcols()/C.GetNcols() = %i/%i \n",G.GetNrows(),G.GetNcols(),valdim,statdim,V.GetNrows(),
C.GetNrows(),V.GetNcols(),
C.GetNcols());}
54 if(
vtxverbose>=7) { std::cout <<
"KalmanCalculator::init() calc C*GT 'slow'"<<std::endl;}
56 TMatrixD CGt(
C,TMatrixD::kMultTranspose,G);
57 if(
vtxverbose>=7) { std::cout <<
"KalmanCalculator::init() CGT:";CGt.Print();}
61 if(
vtxverbose>=7) { std::cout <<
"KalmanCalculator::init() calc C*GT 'fast'"<<std::endl;}
66 if( (tmp=G(
col,k)) !=0 ) {
73 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() calc R = G*C*GT + V"<<std::endl;}
78 TMatrixDSym Rinv=
C.Similarity(G);
84 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() V"<<std::endl;}
93 if( (tmp=G(
row,k)) != 0 )
100 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() G*C*GT"<<std::endl;}
103 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() invert R"<<std::endl;}
110 std::cout <<
"Error inverting matrix. Vertex fit fails." << std::endl ;
114 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() calculate gain"<<std::endl;}
129 if(
vtxverbose>=6) { std::cout <<
"KalmanCalculator::init() done"<<std::endl;}
const TMatrixD * m_matrixG
printf("RealTime=%f seconds, CpuTime=%f seconds\n", rtime, ctime)
TMatrixT< double > TMatrixD
void DecayTreeFitter::KalmanCalculator::updateCov |
( |
FitParams * |
fitparams | ) |
|
void DecayTreeFitter::KalmanCalculator::updatePar |
( |
FitParams * |
fitparams | ) |
|
void DecayTreeFitter::KalmanCalculator::updatePar |
( |
const TVectorD & |
prediction, |
|
|
FitParams * |
fitparams |
|
) |
| |
double DecayTreeFitter::KalmanCalculator::m_chisq |
|
private |
int DecayTreeFitter::KalmanCalculator::m_ierr |
|
private |
TMatrixD DecayTreeFitter::KalmanCalculator::m_matrixCGT |
|
private |
const TMatrixD* DecayTreeFitter::KalmanCalculator::m_matrixG |
|
private |
TMatrixD DecayTreeFitter::KalmanCalculator::m_matrixK |
|
private |
TMatrixDSym DecayTreeFitter::KalmanCalculator::m_matrixR |
|
private |
TMatrixDSym DecayTreeFitter::KalmanCalculator::m_matrixRinv |
|
private |
int DecayTreeFitter::KalmanCalculator::m_nconstraints |
|
private |
int DecayTreeFitter::KalmanCalculator::m_nparameters |
|
private |
const TVectorD* DecayTreeFitter::KalmanCalculator::m_value |
|
private |
The documentation for this class was generated from the following files: