65 VertexFit(
const std::string& name =
"VertexFit");
79 _max_iteration = nMaxIteration;
80 _tolerance = tolerance;
88 void addHypothesis(
double z,
double sigz = 50.) { z_start.push_back(z); sig_z_start.push_back(sigz); }
127 this->evalFileName = evalFileName;
141 std::vector<TrkPar> _trkpar_curr;
153 double _chisq_vertex;
154 double _chisq_kalman;
157 std::vector<double> z_start;
158 std::vector<double> sig_z_start;
161 std::vector<double> z_vertex;
162 std::vector<double> r_vertex;
163 std::vector<double> chisq_km;
164 std::vector<double> chisq_vx;
176 TGeoManager * _t_geo_manager;
181 std::string evalFileName;
193 int choice_by_kf_eval;
194 int choice_by_vx_eval;
197 double z_start_eval[50];
199 double chisq_kf_eval[50];
200 double chisq_vx_eval[50];
201 double z_vertex_eval[50];
202 double r_vertex_eval[50];
204 double m_chisq_kf_eval;
205 double s_chisq_kf_eval;
206 double m_z_vertex_eval;
207 double s_z_vertex_eval;
VertexFit(const std::string &name="VertexFit")
int setRecEvent(SRecEvent *recEvent, int sign1=1, int sign2=-1)
Set the SRecEvent, main external call the use vertex fit.
void addTrack(int index, SRecTrack &_track)
Add one track parameter set into the fit.
void setStartingVertex(double z_start, double sigz_start)
void addHypothesis(double z, double sigz=50.)
int processOnePair()
After setting both tracks and hypothesis, start the iteration.
static void printMatrix(const TMatrixD &m)
transient DST object for field storage and access
double findDimuonVertexFast(SRecTrack &track1, SRecTrack &track2)
double getVertexZ0()
Gets.
void setControlParameter(int nMaxIteration, double tolerance)
Set the convergence control parameters.
double findSingleMuonVertex(SRecTrack &_track)
void init()
Initialize and reset.
int findVertex()
Find the primary vertex.
void set_eval_file_name(const std::string &evalFileName)
int End(PHCompositeNode *topNode)
Called at the end of all processing.
int InitRun(PHCompositeNode *topNode)
const std::string & get_eval_file_name() const
void bookEvaluation(std::string evalFileName="vtx_eval.root")
Evaluation.
int process_event(PHCompositeNode *topNode)
void enableOptimization()
Enable the optimization of final dimuon vertex z position.
int Init(PHCompositeNode *topNode)
void print()
Debugging output.
void updateVertex()
Core function, update the vertex prediction according to the track info.