|
Class Reference for E1039 Core & Analysis Software
|
#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/packages/reco/ktracker/VertexFit.h>
Inheritance diagram for VertexFit:
Collaboration diagram for VertexFit:Public Member Functions | |
| VertexFit (const std::string &name="VertexFit") | |
| ~VertexFit () | |
| int | Init (PHCompositeNode *topNode) |
| int | InitRun (PHCompositeNode *topNode) |
| int | process_event (PHCompositeNode *topNode) |
| int | End (PHCompositeNode *topNode) |
| Called at the end of all processing. More... | |
| void | enableOptimization () |
| Enable the optimization of final dimuon vertex z position. More... | |
| void | setControlParameter (int nMaxIteration, double tolerance) |
| Set the convergence control parameters. More... | |
| int | setRecEvent (SRecEvent *recEvent, int sign1=1, int sign2=-1) |
| Set the SRecEvent, main external call the use vertex fit. More... | |
| void | init () |
| Initialize and reset. More... | |
| void | addHypothesis (double z, double sigz=50.) |
| void | setStartingVertex (double z_start, double sigz_start) |
| void | addTrack (int index, SRecTrack &_track) |
| Add one track parameter set into the fit. More... | |
| void | addTrack (int index, KalmanTrack &_track) |
| void | addTrack (int index, TrkPar &_trkpar) |
| int | processOnePair () |
| After setting both tracks and hypothesis, start the iteration. More... | |
| int | findVertex () |
| Find the primary vertex. More... | |
| double | findDimuonVertexFast (SRecTrack &track1, SRecTrack &track2) |
| double | findSingleMuonVertex (SRecTrack &_track) |
| double | findSingleMuonVertex (Node &_node_start) |
| double | findSingleMuonVertex (TrkPar &_trkpar_start) |
| double | getVertexZ0 () |
| Gets. More... | |
| double | getVXChisq () |
| double | getKFChisq () |
| int | getNTracks () |
| void | updateVertex () |
| Core function, update the vertex prediction according to the track info. More... | |
| void | bookEvaluation (std::string evalFileName="vtx_eval.root") |
| Evaluation. More... | |
| void | fillEvaluation () |
| void | print () |
| Debugging output. More... | |
| const std::string & | get_eval_file_name () const |
| void | set_eval_file_name (const std::string &evalFileName) |
Public Member Functions inherited from SubsysReco | |
| virtual | ~SubsysReco () |
| virtual int | EndRun (const int) |
| Called at the end of each run. More... | |
| virtual int | Reset (PHCompositeNode *) |
| Reset. More... | |
| virtual int | ResetEvent (PHCompositeNode *) |
| Clean up after each event. More... | |
| virtual void | Print (const std::string &what="ALL") const |
Public Member Functions inherited from Fun4AllBase | |
| virtual | ~Fun4AllBase () |
| virtual const std::string | Name () const |
| Returns the name of this module. More... | |
| virtual void | Name (const std::string &name) |
| Sets the name of this module. More... | |
| virtual void | Verbosity (const int ival) |
| Sets the verbosity of this module (0 by default=quiet). More... | |
| virtual void | Verbosity (enu_Verbosity ival) |
| Sets the verbosity of this module (0 by default=quiet). More... | |
| virtual int | Verbosity () const |
| Gets the verbosity of this module. More... | |
Additional Inherited Members | |
Public Types inherited from Fun4AllBase | |
| enum | enu_Verbosity { VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3, VERBOSITY_A_LOT = 4, VERBOSITY_MAX = INT_MAX - 10 } |
Protected Member Functions inherited from SubsysReco | |
| SubsysReco (const std::string &name="NONAME") | |
Protected Member Functions inherited from Fun4AllBase | |
| Fun4AllBase (const std::string &name="NONAME") | |
Protected Attributes inherited from Fun4AllBase | |
| std::string | ThisName |
| int | verbosity |
| The verbosity level. 0 means not verbose at all. More... | |
Definition at line 62 of file VertexFit.h.
| VertexFit::VertexFit | ( | const std::string & | name = "VertexFit" | ) |
In construction, initialize the projector for the vertex node
disable target optimization by default
disable evaluation by default
Definition at line 89 of file VertexFit.cxx.
References Node::getMeasurement(), Node::getMeasurementCov(), and Node::getProjector().
Here is the call graph for this function:| VertexFit::~VertexFit | ( | ) |
Definition at line 128 of file VertexFit.cxx.
|
inline |
Definition at line 88 of file VertexFit.h.
Referenced by setRecEvent().
Here is the caller graph for this function:| void VertexFit::addTrack | ( | int | index, |
| SRecTrack & | _track | ||
| ) |
Add one track parameter set into the fit.
Definition at line 523 of file VertexFit.cxx.
References TrkPar::_covar_kf, TrkPar::_state_kf, TrkPar::_z, SRecTrack::getCovariance(), SRecTrack::getStateVector(), and SRecTrack::getZ().
Referenced by setRecEvent().
Here is the call graph for this function:
Here is the caller graph for this function:| void VertexFit::addTrack | ( | int | index, |
| KalmanTrack & | _track | ||
| ) |
Definition at line 507 of file VertexFit.cxx.
References KalmanTrack::getNodeList().
Here is the call graph for this function:| void VertexFit::addTrack | ( | int | index, |
| TrkPar & | _trkpar | ||
| ) |
Definition at line 533 of file VertexFit.cxx.
| void VertexFit::bookEvaluation | ( | std::string | evalFileName = "vtx_eval.root" | ) |
Evaluation.
Definition at line 664 of file VertexFit.cxx.
Referenced by Init().
Here is the caller graph for this function:
|
inline |
Enable the optimization of final dimuon vertex z position.
Definition at line 74 of file VertexFit.h.
|
virtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 201 of file VertexFit.cxx.
References Fun4AllReturnCodes::EVENT_OK.
| void VertexFit::fillEvaluation | ( | ) |
Definition at line 690 of file VertexFit.cxx.
Referenced by setRecEvent().
Here is the caller graph for this function:Definition at line 405 of file VertexFit.cxx.
References SRecTrack::getCharge(), and SRecTrack::swimToVertex().
Referenced by setRecEvent().
Here is the call graph for this function:
Here is the caller graph for this function:| double VertexFit::findSingleMuonVertex | ( | SRecTrack & | _track | ) |
Definition at line 627 of file VertexFit.cxx.
References TrkPar::_covar_kf, TrkPar::_state_kf, TrkPar::_z, SRecTrack::getCovariance(), SRecTrack::getStateVector(), and SRecTrack::getZ().
Referenced by findSingleMuonVertex().
Here is the call graph for this function:
Here is the caller graph for this function:| double VertexFit::findSingleMuonVertex | ( | Node & | _node_start | ) |
Definition at line 637 of file VertexFit.cxx.
References findSingleMuonVertex(), Node::getFiltered(), Node::getPredicted(), Node::getSmoothed(), Node::isFilterDone(), and Node::isSmoothDone().
Here is the call graph for this function:| double VertexFit::findSingleMuonVertex | ( | TrkPar & | _trkpar_start | ) |
Definition at line 656 of file VertexFit.cxx.
References TrkPar::_covar_kf, TrkPar::_state_kf, TrkPar::_z, GenFitExtrapolator::extrapolateToIP(), and GenFitExtrapolator::setInitialStateWithCov().
Here is the call graph for this function:| int VertexFit::findVertex | ( | ) |
Find the primary vertex.
break the iteration if the z0 converges
Definition at line 538 of file VertexFit.cxx.
References VtxPar::_r, KalmanFilter::fit_node(), Node::getChisq(), Node::getZ(), LogInfo, Node::resetFlags(), KalmanFilter::setCurrTrkpar(), Node::setZ(), and updateVertex().
Referenced by processOnePair().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 122 of file VertexFit.h.
|
inline |
Definition at line 109 of file VertexFit.h.
|
inline |
Definition at line 110 of file VertexFit.h.
|
inline |
Gets.
Definition at line 107 of file VertexFit.h.
References VtxPar::_r.
Referenced by setRecEvent().
Here is the caller graph for this function:
|
inline |
Definition at line 108 of file VertexFit.h.
Referenced by setRecEvent().
Here is the caller graph for this function:
|
virtual |
Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).
Reimplemented from SubsysReco.
Definition at line 138 of file VertexFit.cxx.
References bookEvaluation(), and Fun4AllReturnCodes::EVENT_OK.
Here is the call graph for this function:| void VertexFit::init | ( | ) |
Initialize and reset.
Two default starting points
Definition at line 433 of file VertexFit.cxx.
Referenced by setRecEvent().
Here is the caller graph for this function:
|
virtual |
Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.
Single track finding doesn't require a propagation matrix
Reimplemented from SubsysReco.
Definition at line 145 of file VertexFit.cxx.
References KalmanFilter::enableDumpCorrection(), Fun4AllReturnCodes::EVENT_OK, PHFlag::get_DoubleFlag(), PHFieldUtility::GetFieldMapNode(), PHField::identify(), GenFitExtrapolator::init(), recoConsts::instance(), KalmanFilter::instance(), GenFitExtrapolator::setLengthCalc(), GenFitExtrapolator::setPropCalc(), and Fun4AllBase::verbosity.
Here is the call graph for this function:| void VertexFit::print | ( | ) |
Debugging output.
Definition at line 746 of file VertexFit.cxx.
|
virtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 183 of file VertexFit.cxx.
References Fun4AllReturnCodes::EVENT_OK, SRecEvent::identify(), LogInfo, setRecEvent(), SRecEvent::setRecStatus(), Fun4AllBase::Verbosity(), and Fun4AllBase::VERBOSITY_A_LOT.
Here is the call graph for this function:| int VertexFit::processOnePair | ( | ) |
After setting both tracks and hypothesis, start the iteration.
Definition at line 466 of file VertexFit.cxx.
References VtxPar::_r, findVertex(), LogInfo, and setStartingVertex().
Referenced by setRecEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 126 of file VertexFit.h.
|
inline |
Set the convergence control parameters.
Definition at line 77 of file VertexFit.h.
| int VertexFit::setRecEvent | ( | SRecEvent * | recEvent, |
| int | sign1 = 1, |
||
| int | sign2 = -1 |
||
| ) |
Set the SRecEvent, main external call the use vertex fit.
Definition at line 255 of file VertexFit.cxx.
References VtxPar::_r, addHypothesis(), addTrack(), SRecDimuon::calcVariables(), SRecDimuon::chisq_dump, SRecDimuon::chisq_kf, SRecDimuon::chisq_single, SRecDimuon::chisq_target, SRecDimuon::chisq_upstream, SRecDimuon::chisq_vx, fillEvaluation(), findDimuonVertexFast(), SRecEvent::getChargedTrackIDs(), SRecTrack::getChisqDump(), SRecTrack::getChisqTarget(), SRecTrack::getChisqUpstream(), SRecTrack::getChisqVertex(), SRecTrack::getDumpPos(), SRecEvent::getEventID(), SRecTrack::getMomentumVertex(), SRecEvent::getNDimuons(), SRecEvent::getRunID(), SRecTrack::getTargetPos(), SRecEvent::getTargetPos(), SRecEvent::getTrack(), SRecTrack::getVertex(), getVertexZ0(), getVXChisq(), init(), SRecEvent::insertDimuon(), SRecTrack::isValid(), LogInfo, SRecDimuon::p_neg, SRecDimuon::p_neg_single, SRecDimuon::p_pos, SRecDimuon::p_pos_single, processOnePair(), SRecDimuon::proj_dump_neg, SRecDimuon::proj_dump_pos, SRecDimuon::proj_target_neg, SRecDimuon::proj_target_pos, SRecTrack::setZVertex(), SRecDimuon::trackID_neg, SRecDimuon::trackID_pos, Fun4AllBase::Verbosity(), Fun4AllBase::VERBOSITY_A_LOT, VFEXIT_FAIL_DIMUONPAIR, VFEXIT_FAIL_ITERATION, VFEXIT_SUCCESS, SRecDimuon::vtx, SRecDimuon::vtx_neg, and SRecDimuon::vtx_pos.
Referenced by process_event().
Here is the call graph for this function:
Here is the caller graph for this function:| void VertexFit::setStartingVertex | ( | double | z_start, |
| double | sigz_start | ||
| ) |
Initialize the starting vertex with a guess and large error
Definition at line 450 of file VertexFit.cxx.
References VtxPar::_cov, and VtxPar::_r.
Referenced by processOnePair().
Here is the caller graph for this function:| void VertexFit::updateVertex | ( | ) |
Core function, update the vertex prediction according to the track info.
Set the projector matrix from track state vector to the coordinate
Definition at line 593 of file VertexFit.cxx.
References VtxPar::_cov, TrkPar::_covar_kf, VtxPar::_r, TrkPar::_state_kf, SMatrix::getABCt(), SMatrix::getABtC(), SMatrix::getAtBC(), Node::getFiltered(), and SMatrix::invertMatrix().
Referenced by findVertex().
Here is the call graph for this function:
Here is the caller graph for this function: