MarlinTrk
2.2.0
|
Created by Steve Aplin on 9/16/11. More...
Classes | |
class | ConfigFlags |
class | Factory |
Factory methods for creating the MarlinTrkSystem of a certain type: KalTest, DDKalTest, aidaTT,... Currently implemented: KalTest, DDKalTest. More... | |
class | HelixFit |
class | IMarlinTrack |
Interface for generic tracks in MarlinTrk. More... | |
class | Exception |
Exception thrown in IMarlinTrk namespace (implemetations of IMarlinTrkSystem and IMarlinTrack). More... | |
class | IMarlinTrkSystem |
Base class for tracking system implementations in MarlinTrk. More... | |
class | MarlinAidaTT |
Interface to KaltTest Kalman fitter - instantiates and holds the detector geometry. More... | |
class | MarlinAidaTTTrack |
class | MarlinDDKalTest |
Interface to KaltTest Kalman fitter - instantiates and holds the detector geometry. More... | |
class | MarlinDDKalTestTrack |
class | MarlinKalTest |
Interface to KaltTest Kalman fitter - instantiates and holds the detector geometry. More... | |
class | MarlinKalTestTrack |
Typedefs | |
typedef std::multimap< long, const aidaTT::ISurface * > | SurfMap |
Functions | |
std::ostream & | operator<< (std::ostream &os, const ConfigFlags &cf) |
std::string | errorCode (int error) |
Helper function to convert error return code to string. | |
int | createFinalisedLCIOTrack (IMarlinTrack *marlinTrk, std::vector< EVENT::TrackerHit * > &hit_list, IMPL::TrackImpl *track, bool fit_direction, EVENT::TrackState *pre_fit, float bfield_z, double maxChi2Increment=DBL_MAX) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containing a covariance matrix for the initialisation. More... | |
int | createFinalisedLCIOTrack (IMarlinTrack *marlinTrk, std::vector< EVENT::TrackerHit * > &hit_list, IMPL::TrackImpl *track, bool fit_direction, const EVENT::FloatVec &initial_cov_for_prefit, float bfield_z, double maxChi2Increment=DBL_MAX) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied covariance matrix for the initialisation. More... | |
int | createPrefit (std::vector< EVENT::TrackerHit * > &hit_list, IMPL::TrackStateImpl *pre_fit, float bfield_z, bool fit_direction) |
Provides the values of a track state from the first, middle and last hits in the hit_list. More... | |
int | createFit (std::vector< EVENT::TrackerHit * > &hit_list, IMarlinTrack *marlinTrk, EVENT::TrackState *pre_fit, float bfield_z, bool fit_direction, double maxChi2Increment=DBL_MAX) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containing a covariance matrix for the initialisation. More... | |
int | finaliseLCIOTrack (IMarlinTrack *marlinTrk, IMPL::TrackImpl *track, std::vector< EVENT::TrackerHit * > &hit_list, bool fit_direction, IMPL::TrackStateImpl *atLastHit=0, IMPL::TrackStateImpl *atCaloFace=0) |
Takes a fitted MarlinTrack, TrackImpl to record the fit and the hits which have been added to the fit. More... | |
void | addHitNumbersToTrack (IMPL::TrackImpl *track, std::vector< EVENT::TrackerHit * > &hit_list, bool hits_in_fit, UTIL::BitField64 &cellID_encoder) |
Set the subdetector hit numbers for the TrackImpl. | |
void | addHitNumbersToTrack (IMPL::TrackImpl *track, std::vector< std::pair< EVENT::TrackerHit *, double > > &hit_list, bool hits_in_fit, UTIL::BitField64 &cellID_encoder) |
Set the subdetector hit numbers for the TrackImpl. | |
std::string | cellIDString (int detElementID) |
std::string | decodeILD (int detElementID) |
int | createTrackStateAtCaloFace (IMarlinTrack *marlinTrk, IMPL::TrackStateImpl *track, EVENT::TrackerHit *trkhit, bool tanL_is_positive) |
Created by Steve Aplin on 9/16/11.
Implementation of the IMarlinTrack interface, using KalTest and KalDet to provide the needed functionality for a Kalman Filter.
DESY
C++ rewrite of the aleph Fortran routine TFITHL
! Fast helix fit
Input: NPT Number of 3-D points to be fit xf Array of X-values of points to be fit yf Array of Y-values of points to be fit zf Array of Z-values of points to be fit wf Array of 1/(sig(rphi))**2 for each point wzf Array of 1/(sig(z))**2 for each point iopt < 3 : error matrix calculated = 3 : 3-dimensional iteration
OUTPUT: vv0 = Helix parameter in perigee form ee0 = INVERSE OF ERROR MATRIX IN TRIANG. FORM chi2ph = CHI SQUARED = SUM (PHI DEVIATIONS/ERRORS)**2 CH2Z = CHI SQUARED = SUM (Z DEVIATIONS/ERRORS)**2
BASED ON SUBROUTINE CIRCLE REFERENCE: COMPUTER PHYSICS COMMUNICATIONS VOL 33,P329
AUTHORS: N. CHERNOV, G. OSOSKOV & M. POPPE Modified by: Fred Weber, 8 Jun 1989 Modified by: M.Cattaneo, 27-Jan-1998 Protect against arg SIN > 1.0
F. Gaede DESY, Oct 2016
int MarlinTrk::createFinalisedLCIOTrack | ( | IMarlinTrack * | marlinTrk, |
std::vector< EVENT::TrackerHit * > & | hit_list, | ||
IMPL::TrackImpl * | track, | ||
bool | fit_direction, | ||
EVENT::TrackState * | pre_fit, | ||
float | bfield_z, | ||
double | maxChi2Increment = DBL_MAX |
||
) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containing a covariance matrix for the initialisation.
The TrackImpl will have the 4 trackstates added to it , , and
References createFit(), and finaliseLCIOTrack().
Referenced by createFinalisedLCIOTrack().
int MarlinTrk::createFinalisedLCIOTrack | ( | IMarlinTrack * | marlinTrk, |
std::vector< EVENT::TrackerHit * > & | hit_list, | ||
IMPL::TrackImpl * | track, | ||
bool | fit_direction, | ||
const EVENT::FloatVec & | initial_cov_for_prefit, | ||
float | bfield_z, | ||
double | maxChi2Increment = DBL_MAX |
||
) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied covariance matrix for the initialisation.
The TrackImpl will have the 4 trackstates added to it , , and
References createFinalisedLCIOTrack(), and createPrefit().
int MarlinTrk::createFit | ( | std::vector< EVENT::TrackerHit * > & | hit_list, |
IMarlinTrack * | marlinTrk, | ||
EVENT::TrackState * | pre_fit, | ||
float | bfield_z, | ||
bool | fit_direction, | ||
double | maxChi2Increment = DBL_MAX |
||
) |
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containing a covariance matrix for the initialisation.
References MarlinTrk::IMarlinTrack::addHit(), MarlinTrk::IMarlinTrack::fit(), MarlinTrk::IMarlinTrack::initialise(), and MarlinTrk::IMarlinTrack::propagate().
Referenced by createFinalisedLCIOTrack().
int MarlinTrk::createPrefit | ( | std::vector< EVENT::TrackerHit * > & | hit_list, |
IMPL::TrackStateImpl * | pre_fit, | ||
float | bfield_z, | ||
bool | fit_direction | ||
) |
Provides the values of a track state from the first, middle and last hits in the hit_list.
References MarlinTrk::IMarlinTrack::backward.
Referenced by createFinalisedLCIOTrack().
int MarlinTrk::finaliseLCIOTrack | ( | IMarlinTrack * | marlinTrk, |
IMPL::TrackImpl * | track, | ||
std::vector< EVENT::TrackerHit * > & | hit_list, | ||
bool | fit_direction, | ||
IMPL::TrackStateImpl * | atLastHit = 0 , |
||
IMPL::TrackStateImpl * | atCaloFace = 0 |
||
) |
Takes a fitted MarlinTrack, TrackImpl to record the fit and the hits which have been added to the fit.
The TrackImpl will have the 4 trackstates added to it , , and . Note: the hit list is needed as the IMarlinTrack only contains the hits used in the fit, not the spacepoints (if any have been included) so as the strip hits cannot point to the space points we need to have the list so that they can be recorded in the LCIO TrackImpl
References MarlinTrk::IMarlinTrack::backward, MarlinTrk::IMarlinTrkSystem::createTrack(), errorCode(), MarlinTrk::Factory::getCurrentMarlinTrkSystem(), MarlinTrk::IMarlinTrack::getHitsInFit(), MarlinTrk::IMarlinTrack::getNDF(), MarlinTrk::IMarlinTrack::getOutliers(), MarlinTrk::IMarlinTrack::getTrackerHitAtPositiveNDF(), MarlinTrk::IMarlinTrack::getTrackState(), MarlinTrk::IMarlinTrkSystem::name(), MarlinTrk::IMarlinTrack::propagate(), MarlinTrk::IMarlinTrack::smooth(), and MarlinTrk::IMarlinTrack::toString().
Referenced by createFinalisedLCIOTrack().