MarlinTrk  2.2.0
Classes | Typedefs | Functions
MarlinTrk Namespace Reference

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)
 

Detailed Description

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

NOTE: DEGREES OF FREEDOM = 2*NPT-5

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


Version
Id:

F. Gaede DESY, Oct 2016

Version
Id:
MarlinDDKalTestTrack.h 3641 2012-06-13 13:04:36Z aplin
Author
S.Aplin, F. Gaede DESY
Version
Id:
MarlinKalTestTrack.h 5559 2016-06-07 16:14:02Z gaede
Author
S.Aplin, F. Gaede DESY

Function Documentation

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().