Track Finding
Todo
Write CKF documentation
Combinatorial Kalman Filter
ACTS provides a Combinatorial Kalman Filter (CKF) implementation for track finding
(Acts::CombinatorialKalmanFilter
). Its usage is demonstrated in the
example algorithm ActsExamples::TrackFindingAlgorithm
.
The CKF requires as input a track seed i.e. an estimation of the track parameters, and a list of measurements with an association to the (sensitive) surfaces of the tracking geometry. The CKF propagates track states initialised by the track parameter estimates in direction of the momentum (forward propagation). Whenever a surface is reached, the CKF searches for compatible measurements. In case of multiple compatible measurements the trajectory is branched. The track states of all branches are updated and smoothed following the Kalman filter prescription. The propagation is aborted if either the maximum path length is exceeded or if user customizable abort conditions are reached.
The CKF is customizable via template parameters, and options. The template parameters allow
to steer the propagation of the track states e.g.
Acts::Propagator
, andto define the storage container for the trajectories and its track states e.g.
Acts::VectorMultiTrajectory
The options Acts::CombinatorialKalmanFilterOptions
are also customizable via
template parameters:
an iterator to iterate over links to (selected) measurements per tracking surface and which returns an
Acts::SourceLink
when dereferenced.the storage container for the trajectories and states which must be the same as for the CKF.
and provide:
user defined geometry (e.g. alignment), magnetic field and measurement calibration context which are unused by ACTS but passed to the possibly user defined delegates.
the reference surface with respect to which the track defining parameters are expressed (perigee)
delegates
Acts::Delegate
mostly via theActs::CombinatorialKalmanFilterExtensions
to defineupdater e.g.
Acts::GainMatrixUpdater
smoother e.g.
Acts::GainMatrixSmoother
measurement selector e.g.
Acts::MeasurementSelector
SourceLinkAccessor
measurement calibrator
branch stopper (optional)
Typically, users have to provide the tracking geometry, an implementation of a
Acts::MagneticFieldProvider
, which is needed by the stepper
e.g. Acts::EigenStepper
which is needed by the propagator, a
source link accessor and a measurement calibrator. An implementation of a source link
accessor and the measurement calibrator can be found among the examples
ActsExamples::IndexSourceLinkAccessor
, and ActsExamples::MeasurementCalibratorAdapter
Machine-Learning based Track Finding
There is a lot of research ongoing about machine-learning based approaches to Track Finding. Because these are not yet stable and bullet-prove, there are no such algorithms distributed with the core library. However, there exists a plugin, that implements the Exa.TrkX algorithm in ACTS.