16class KalmanVertexFit {
51 void smooth(
const int k );
56 void remove(
const int k );
59 HepVector
pull(
const int k );
67 HepVector
x()
const {
return m_x; }
68 HepSymMatrix
Ex()
const;
74 int ndof()
const {
return m_ndof; }
75 double chisq() {
return m_chisq; }
76 int trackID(
const int k )
const {
return m_hTrkOrigin[k].trackID(); }
82 double chiF(
const int k )
const {
return m_chiF[k]; }
83 double chiS(
const int k )
const;
96 void setChisqCut(
const double chicut ) { m_chisqCutforTrack = chicut; }
98 m_chisqCutforTrackIteration = chicut;
105 void updateMatrices(
const int k );
106 void updateMatrices(
const int k,
const HepVector p,
118 std::vector<int> m_flag;
119 std::vector<HepVector>
m_p;
120 std::vector<HTrackParameter> m_hTrkOrigin;
121 std::vector<HTrackParameter> m_hTrkInfit;
123 std::vector<HepSymMatrix> m_G;
125 std::vector<HepMatrix> m_A;
126 std::vector<HepMatrix> m_B;
127 std::vector<HepVector> m_c;
128 std::vector<HepSymMatrix> m_W;
129 std::vector<HepSymMatrix> m_GB;
130 std::vector<double> m_chiF;
133 double calculationP(
const double kappa,
const double lamb );
134 double calculationSigmaP(
const double kappa,
const double lamb,
const double Vkappa,
135 const double Vlamb,
const double Vkappa_lamb );
138 double m_chisqCutforTrack;
139 int m_maxVertexIteration;
140 int m_maxTrackIteration;
141 double m_chisqCutforTrackIteration;