Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::CombinatorialKalmanFilter< propagator_t, traj_t > Class Template Reference

#include <acts/blob/sPHENIX/Core/include/Acts/TrackFinding/CombinatorialKalmanFilter.hpp>

+ Collaboration diagram for Acts::CombinatorialKalmanFilter< propagator_t, traj_t >:

Classes

class  Aborter
 
class  Actor
 Propagator Actor plugin for the CombinatorialKalmanFilter. More...
 

Public Member Functions

 CombinatorialKalmanFilter ()=delete
 Default constructor is deleted.
 
 CombinatorialKalmanFilter (propagator_t pPropagator, std::unique_ptr< const Logger > _logger=getDefaultLogger("CKF", Logging::INFO))
 Constructor from arguments.
 
const Loggerlogger () const
 
template<typename source_link_iterator_t , typename start_parameters_t , typename track_container_t , template< typename > class holder_t, typename parameters_t = BoundTrackParameters>
auto findTracks (const start_parameters_t &initialParameters, const CombinatorialKalmanFilterOptions< source_link_iterator_t, traj_t > &tfOptions, TrackContainer< track_container_t, traj_t, holder_t > &trackContainer) const -> Result< std::vector< typename std::decay_t< decltype(trackContainer)>::TrackProxy >>
 

Public Attributes

 m_updaterLogger {m_logger->cloneWithSuffix("Updater")}
 
 m_smootherLogger
 
propagator_t m_propagator
 The propagator for the transport and material update.
 
std::unique_ptr< const Loggerm_logger
 
std::shared_ptr< const Loggerm_actorLogger
 
std::shared_ptr< const Loggerm_updaterLogger
 
std::shared_ptr< const Loggerm_smootherLogger
 

Detailed Description

template<typename propagator_t, typename traj_t>
class Acts::CombinatorialKalmanFilter< propagator_t, traj_t >

Combinatorial Kalman filter to find tracks.

Template Parameters
propagator_tType of the propagator

The CombinatorialKalmanFilter contains an Actor and a Sequencer sub-class. The Sequencer has to be part of the Navigator of the Propagator in order to initialize and provide the measurement surfaces.

The Actor is part of the Propagation call and does the Kalman update and eventually the smoothing. Updater, Smoother and Calibrator are given to the Actor for further use:

  • The Updater is the implemented kalman updater formalism, it runs via a visitor pattern through the measurements.
  • The Smoother is called at the end of the filtering (track finding) by the Actor.

Measurements are not required to be ordered for the CombinatorialKalmanFilter, measurement ordering needs to be figured out by the navigation of the propagator.

The void components are provided mainly for unit testing.

Definition at line 301 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 301 of file CombinatorialKalmanFilter.hpp

Constructor & Destructor Documentation

template<typename propagator_t , typename traj_t >
Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::CombinatorialKalmanFilter ( )
delete

Default constructor is deleted.

template<typename propagator_t , typename traj_t >
Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::CombinatorialKalmanFilter ( propagator_t  pPropagator,
std::unique_ptr< const Logger _logger = getDefaultLogger("CKF", Logging::INFO) 
)
inline

Constructor from arguments.

Definition at line 306 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 306 of file CombinatorialKalmanFilter.hpp

References Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_logger.

Member Function Documentation

template<typename propagator_t , typename traj_t >
template<typename source_link_iterator_t , typename start_parameters_t , typename track_container_t , template< typename > class holder_t, typename parameters_t = BoundTrackParameters>
auto Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::findTracks ( const start_parameters_t &  initialParameters,
const CombinatorialKalmanFilterOptions< source_link_iterator_t, traj_t > &  tfOptions,
TrackContainer< track_container_t, traj_t, holder_t > &  trackContainer 
) const -> Result<std::vector< typename std::decay_t<decltype(trackContainer)>::TrackProxy>>
inline

Combinatorial Kalman Filter implementation, calls the Kalman filter and smoother

Template Parameters
source_link_iterator_tType of the source link iterator
start_parameters_container_tType of the initial parameters container
calibrator_tType of the source link calibrator
measurement_selector_tType of the measurement selector
track_container_tType of the track container backend
holder_tType defining track container backend ownership
parameters_tType of parameters used for local parameters
Parameters
initialParametersThe initial track parameters
tfOptionsCombinatorialKalmanFilterOptions steering the track finding
trackContainerInput track container to use
Note
The input measurements are given in the form of SourceLinks. It's calibrator_t's job to turn them into calibrated measurements used in the track finding.
Returns
a container of track finding result for all the initial track parameters

Get the result of the CombinatorialKalmanFilter

The propagation could already reach max step size before the track finding is finished during two phases:

Definition at line 1381 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 1381 of file CombinatorialKalmanFilter.hpp

References Acts::PropagatorOptions< action_list_t, aborter_list_t >::actionList, ACTS_ERROR, Acts::calculateTrackQuantities(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::covariance(), Acts::Surface::getSharedPtr(), it, Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_actorLogger, Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_propagator, Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_smootherLogger, Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_updaterLogger, testing::internal::move(), Dataset::parameters, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::parameters(), physmon_track_finding_ttbar::r, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::referenceSurface(), Acts::PropagatorOptions< action_list_t, aborter_list_t >::setPlainOptions(), and tracks().

+ Here is the call graph for this function:

template<typename propagator_t , typename traj_t >
const Logger& Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::logger ( ) const
inline

Definition at line 326 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 326 of file CombinatorialKalmanFilter.hpp

References Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_logger.

Member Data Documentation

template<typename propagator_t , typename traj_t >
std::shared_ptr<const Logger> Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_actorLogger

Definition at line 322 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 322 of file CombinatorialKalmanFilter.hpp

Referenced by Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::findTracks().

template<typename propagator_t , typename traj_t >
std::unique_ptr<const Logger> Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_logger
template<typename propagator_t , typename traj_t >
propagator_t Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_propagator

The propagator for the transport and material update.

Definition at line 319 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 319 of file CombinatorialKalmanFilter.hpp

Referenced by Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::findTracks().

template<typename propagator_t , typename traj_t >
Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_smootherLogger
Initial value:
{m_logger->cloneWithSuffix("Smoother")} {}
private:
using KalmanNavigator = typename propagator_t::Navigator

Definition at line 313 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 313 of file CombinatorialKalmanFilter.hpp

Referenced by Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::findTracks().

template<typename propagator_t , typename traj_t >
std::shared_ptr<const Logger> Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_smootherLogger

Definition at line 324 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 324 of file CombinatorialKalmanFilter.hpp

template<typename propagator_t , typename traj_t >
Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_updaterLogger {m_logger->cloneWithSuffix("Updater")}

Definition at line 312 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 312 of file CombinatorialKalmanFilter.hpp

Referenced by Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::findTracks().

template<typename propagator_t , typename traj_t >
std::shared_ptr<const Logger> Acts::CombinatorialKalmanFilter< propagator_t, traj_t >::m_updaterLogger

Definition at line 323 of file CombinatorialKalmanFilter.hpp.

View newest version in sPHENIX GitHub at line 323 of file CombinatorialKalmanFilter.hpp


The documentation for this class was generated from the following file: