10#ifndef VERTEXFITREFINE_VERTEXFITREFINE_H
11# define VERTEXFITREFINE_VERTEXFITREFINE_H
13# include "VertexFit/VertexFit.h"
14# include "VertexFitRefine/VertexExtrapolate.h"
18 extern const double&
muon;
19 extern const double&
pion;
20 extern const double&
kaon;
21 extern const double&
proton;
23 extern const double empikp[5];
27class VertexFitRefine {
52 int n6,
int n7,
int n8 );
54 int n6,
int n7,
int n8,
int n9 );
56 int n6,
int n7,
int n8,
int n9,
int n10 );
58 int n6,
int n7,
int n8,
int n9,
int n10,
int n11 );
60 int n6,
int n7,
int n8,
int n9,
int n10,
int n11,
int n12 );
65 void setChisqCut(
const double chicut = 1000,
const double chiter = 1.0e-3 );
73 double chisq(
int n )
const;
76 HepLorentzVector
pfit(
int n )
const;
78 HepVector
w(
int n )
const;
79 HepSymMatrix
Ew(
int n )
const;
84 HepVector
Vx(
int n )
const;
85 HepSymMatrix
Evx(
int n )
const;
86 double errorVx(
int n,
int i )
const;
90 HepVector
helix(
int n )
const;
101 static VertexFitRefine* m_instance;
107 static const double obeampipe;
112 std::vector<int> m_trkIdxOrigin;
113 std::vector<RecMdcKalTrack*> m_tracksOrigin;
114 std::vector<RecMdcKalTrack::PidType> m_trkPidOrigin;
115 std::vector<WTrackParameter> m_wtrkInfit;
116 std::vector<HepLorentzVector> m_p4Infit;
117 std::vector<HepPoint3D> m_x3Infit;
119 std::vector<HepVector> m_helices;
122 std::vector<VertexParameter> m_vtxsOrigin;
129# include "VertexFitRefine/VertexFitRefine.cc"
HepGeom::Point3D< double > HepPoint3D
WTrackParameter wVirtualTrack(int n) const
HepSymMatrix Ew(int n) const
HepVector Vx(int n) const
HepLorentzVector pfit(int n) const
void AddTrack(const int index, RecMdcKalTrack *p, const RecMdcKalTrack::PidType pid)
HepSymMatrix Evx(int n) const
void setChisqCut(const double chicut=1000, const double chiter=1.0e-3)
WTrackParameter wtrk(int n) const
void setMagCorrFactor(const double factor=1.000)
static VertexFitRefine * instance()
void AddBeamFit(int number, VertexParameter vpar, int n)
void setIterNumber(const int niter=10)
HepPoint3D xfit(int n) const
void AddVertex(int number, VertexParameter vpar, std::vector< int > lis)
double errorVx(int n, int i) const
VertexParameter vpar(int n) const
HepVector helix(int n) const
HepPoint3D vx(int n) const