FEDRA emulsion software from the OPERA Collaboration
|
#include <VtKalman.hh>
Public Member Functions | |
— Constructors — | |
Kalman (const Relation *const relation) | |
~Kalman () | |
— Access methods — | |
double | chi2 () const |
$\chi^2$ contribution of track More... | |
double | chi2s () const |
smoothed $\chi^2$ More... | |
double | tx () const |
refitted $t_x$ More... | |
double | ty () const |
refitted $t_y$ More... | |
double | p () const |
refitted $p$ More... | |
double | px () const |
refitted $p_x$ More... | |
double | py () const |
refitted $p_y$ More... | |
double | pz () const |
refitted $p_z$ More... | |
double | ex () const |
refitted $e_x$ More... | |
double | ey () const |
refitted $e_y$ More... | |
double | ez () const |
refitted $e_z$ More... | |
double | E (double rm=0.) const |
refitted Energy $E = \sqrt{p^2 + m^2}$ More... | |
MATRIX::VtVector | evec () const |
$\vec{v} = (e_x,e_y,e_z)$ unit vector along refitted track More... | |
MATRIX::VtVector | tvec () const |
$\vec{v} = (t_x,t_y,1.)$ refitted slope vector More... | |
MATRIX::VtVector | pvec () const |
$\vec{v} = (p_x,p_y,p_z)$ refitted mom. vector More... | |
— Cov. matrices for internal use — | |
const MATRIX::VtSymMatrix & | W () const |
const MATRIX::VtSymMatrix & | C () const |
const MATRIX::VtSymMatrix & | CINV () const |
const MATRIX::VtSqMatrix & | F () const |
const MATRIX::VtSqMatrix & | ES () const |
const MATRIX::VtSymMatrix & | DS () const |
const MATRIX::VtVector & | xv () const |
const MATRIX::VtVector & | xnk () const |
const MATRIX::VtVector & | qvs () const |
$\vec{v} = (t_x,t_y,p)$ More... | |
— Expert functions — | |
void | use_momentum (const bool use) |
set if track momentum should be used in fit More... | |
bool | use_momentum () const |
double | set_chi2 (const double chi2) |
void | init () |
initialize the kalman structure More... | |
std::ostream & | print (std::ostream &os) const |
called by operator<<() More... | |
bool | filter (double z, const MATRIX::VtSymMatrix &prCINV, const MATRIX::VtVector &prkal_xv) |
double | filter_chi2 (double z, double prChi2, const MATRIX::VtSymMatrix &prCINV, const MATRIX::VtVector &prkal_xv) |
bool | inverse_filter (double z, const MATRIX::VtSymMatrix &CINVn, const MATRIX::VtSymMatrix &prCINV, const MATRIX::VtVector &kal_xvn) |
void | smooth (double z, const MATRIX::VtVector &xvs, const MATRIX::VtSymMatrix &Cn) |
const MATRIX::VtVector | calc_dp (double z, const MATRIX::VtVector &xk, const MATRIX::VtVector &qk) const |
const MATRIX::VtVector | calc_pcAx (const MATRIX::VtVector &xk) const |
const MATRIX::VtVector | calc_AGpc (void) const |
const MATRIX::VtVector | calc_qk (const MATRIX::VtVector &xk) const |
void | calc_qvs (const MATRIX::VtVector &xvs) |
double | calc_dchi2 (double z, const MATRIX::VtSymMatrix &prCINV, const MATRIX::VtVector &xk, const MATRIX::VtVector &prxk, const MATRIX::VtVector &qk) const |
void | calc_pc (double z) |
— Mass constraint fit functions — | |
const Relation * | rel |
MATRIX::CMatrix | G |
bool | k_use_momentum |
double | k_tx |
double | k_ty |
MATRIX::VtVector | k_qvs |
MATRIX::VtVector | k_xv |
MATRIX::VtVector | k_qv |
MATRIX::VtVector | k_pc |
MATRIX::VtVector | k_xnk |
MATRIX::VtSymMatrix | k_W |
MATRIX::VtMatrix | k_GB |
MATRIX::VtMatrix | k_WBG |
MATRIX::CMatrix | k_Gb |
MATRIX::VtSymMatrix | k_C |
MATRIX::VtSymMatrix | k_CINV |
MATRIX::VtSqMatrix | k_F |
MATRIX::VtSqMatrix | k_ES |
MATRIX::VtSymMatrix | k_DS |
MATRIX::VtVector | k_alpc |
MATRIX::VtVector | k_alp |
MATRIX::VtVector | k_nalpc |
double | k_erg |
double | k_chi2 |
double | k_chi2s |
void | alpc_init (void) |
fill $\vec{\alpha}_c^{(0)}$ More... | |
void | alp_init (void) |
fill $\vec{\alpha}^{(0)}$ More... | |
void | calc_ealpc (void) |
calculate unit vector $\vec{\alpha}_c/|\vec{\alpha}_c|$, energy from alpc More... | |
const MATRIX::VtVector & | alpc () const |
state vector $\vec{\alpha_c}=(t_x,t_y,p)$ More... | |
const MATRIX::VtVector & | alp () const |
state vector $\vec{\alpha}=(t_x,t_y,p)$ More... | |
double | xn () const |
$n_x = t_x * e_z$ More... | |
double | yn () const |
$n_y = t_y * e_z$ More... | |
double | zn () const |
$n_z = 1/\sqrt{1 + t_x^2 + t_y^2}$ More... | |
double | erg () const |
$E_i=\sqrt{m^2 + p^2}$, $m$ = track rest-mass More... | |
const MATRIX::VtVector & | nalpc () const |
$\vec{n} = (n_x,n_y,n_z)$ More... | |
MATRIX::VtVector & | qvs_nc () |
return non-const reference to qvs More... | |
This class contains the Vt Kalman filter matrices and vectors. Most of the member functions are for internal use only. @memo Kalman filter class
VERTEX::Kalman::Kalman | ( | const Relation *const | relation | ) |
VERTEX::Kalman::~Kalman | ( | ) |
const MATRIX::VtVector & VERTEX::Kalman::alp | ( | ) | const |
state vector $\vec{\alpha}=(t_x,t_y,p)$
const MATRIX::VtVector & VERTEX::Kalman::alpc | ( | ) | const |
state vector $\vec{\alpha_c}=(t_x,t_y,p)$
const MATRIX::VtSymMatrix & VERTEX::Kalman::C | ( | ) | const |
double VERTEX::Kalman::calc_dchi2 | ( | double | z, |
const MATRIX::VtSymMatrix & | prCINV, | ||
const MATRIX::VtVector & | xk, | ||
const MATRIX::VtVector & | prxk, | ||
const MATRIX::VtVector & | qk | ||
) | const |
const VtVector VERTEX::Kalman::calc_dp | ( | double | z, |
const MATRIX::VtVector & | xk, | ||
const MATRIX::VtVector & | qk | ||
) | const |
calculate unit vector $\vec{\alpha}_c/|\vec{\alpha}_c|$, energy from alpc
void VERTEX::Kalman::calc_pc | ( | double | z | ) |
const VtVector VERTEX::Kalman::calc_pcAx | ( | const MATRIX::VtVector & | xk | ) | const |
const VtVector VERTEX::Kalman::calc_qk | ( | const MATRIX::VtVector & | xk | ) | const |
void VERTEX::Kalman::calc_qvs | ( | const MATRIX::VtVector & | xvs | ) |
double VERTEX::Kalman::chi2 | ( | ) | const |
$\chi^2$ contribution of track
double VERTEX::Kalman::chi2s | ( | ) | const |
smoothed $\chi^2$
const MATRIX::VtSymMatrix & VERTEX::Kalman::CINV | ( | ) | const |
const MATRIX::VtSymMatrix & VERTEX::Kalman::DS | ( | ) | const |
double VERTEX::Kalman::E | ( | double | rm = 0. | ) | const |
refitted Energy $E = \sqrt{p^2 + m^2}$
double VERTEX::Kalman::erg | ( | ) | const |
$E_i=\sqrt{m^2 + p^2}$, $m$ = track rest-mass
const MATRIX::VtSqMatrix & VERTEX::Kalman::ES | ( | ) | const |
MATRIX::VtVector VERTEX::Kalman::evec | ( | ) | const |
$\vec{v} = (e_x,e_y,e_z)$ unit vector along refitted track
double VERTEX::Kalman::ex | ( | ) | const |
refitted $e_x$
double VERTEX::Kalman::ey | ( | ) | const |
refitted $e_y$
double VERTEX::Kalman::ez | ( | ) | const |
refitted $e_z$
const MATRIX::VtSqMatrix & VERTEX::Kalman::F | ( | ) | const |
bool VERTEX::Kalman::filter | ( | double | z, |
const MATRIX::VtSymMatrix & | prCINV, | ||
const MATRIX::VtVector & | prkal_xv | ||
) |
double VERTEX::Kalman::filter_chi2 | ( | double | z, |
double | prChi2, | ||
const MATRIX::VtSymMatrix & | prCINV, | ||
const MATRIX::VtVector & | prkal_xv | ||
) |
void VERTEX::Kalman::init | ( | ) |
initialize the kalman structure
bool VERTEX::Kalman::inverse_filter | ( | double | z, |
const MATRIX::VtSymMatrix & | CINVn, | ||
const MATRIX::VtSymMatrix & | prCINV, | ||
const MATRIX::VtVector & | kal_xvn | ||
) |
const MATRIX::VtVector & VERTEX::Kalman::nalpc | ( | ) | const |
$\vec{n} = (n_x,n_y,n_z)$
double VERTEX::Kalman::p | ( | ) | const |
refitted $p$
std::ostream & VERTEX::Kalman::print | ( | std::ostream & | os | ) | const |
called by operator<<()
MATRIX::VtVector VERTEX::Kalman::pvec | ( | ) | const |
$\vec{v} = (p_x,p_y,p_z)$ refitted mom. vector
double VERTEX::Kalman::px | ( | ) | const |
refitted $p_x$
double VERTEX::Kalman::py | ( | ) | const |
refitted $p_y$
double VERTEX::Kalman::pz | ( | ) | const |
refitted $p_z$
const MATRIX::VtVector & VERTEX::Kalman::qvs | ( | ) | const |
$\vec{v} = (t_x,t_y,p)$
MATRIX::VtVector & VERTEX::Kalman::qvs_nc | ( | ) |
return non-const reference to qvs
double VERTEX::Kalman::set_chi2 | ( | const double | chi2 | ) |
void VERTEX::Kalman::smooth | ( | double | z, |
const MATRIX::VtVector & | xvs, | ||
const MATRIX::VtSymMatrix & | Cn | ||
) |
MATRIX::VtVector VERTEX::Kalman::tvec | ( | ) | const |
$\vec{v} = (t_x,t_y,1.)$ refitted slope vector
double VERTEX::Kalman::tx | ( | ) | const |
refitted $t_x$
double VERTEX::Kalman::ty | ( | ) | const |
refitted $t_y$
bool VERTEX::Kalman::use_momentum | ( | ) | const |
void VERTEX::Kalman::use_momentum | ( | const bool | use | ) |
set if track momentum should be used in fit
const MATRIX::VtSymMatrix & VERTEX::Kalman::W | ( | ) | const |
double VERTEX::Kalman::xn | ( | ) | const |
$n_x = t_x * e_z$
const MATRIX::VtVector & VERTEX::Kalman::xnk | ( | ) | const |
const MATRIX::VtVector & VERTEX::Kalman::xv | ( | ) | const |
double VERTEX::Kalman::yn | ( | ) | const |
$n_y = t_y * e_z$
double VERTEX::Kalman::zn | ( | ) | const |
$n_z = 1/\sqrt{1 + t_x^2 + t_y^2}$
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |