Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/KalmanFitter.hpp>
Classes | |
class | Aborter |
class | Actor |
Propagator Actor plugin for the KalmanFilter. More... | |
Public Member Functions | |
KalmanFitter (propagator_t pPropagator, std::unique_ptr< const Logger > _logger=getDefaultLogger("KalmanFitter", Logging::INFO)) | |
const Logger & | logger () const |
template<typename source_link_iterator_t , typename start_parameters_t , typename parameters_t = BoundTrackParameters, typename track_container_t , template< typename > class holder_t, bool _isdn = isDirectNavigator> | |
auto | fit (source_link_iterator_t it, source_link_iterator_t end, const start_parameters_t &sParameters, const KalmanFitterOptions< traj_t > &kfOptions, TrackContainer< track_container_t, traj_t, holder_t > &trackContainer) const -> std::enable_if_t< !_isdn, Result< typename TrackContainer< track_container_t, traj_t, holder_t >::TrackProxy >> |
template<typename source_link_iterator_t , typename start_parameters_t , typename parameters_t = BoundTrackParameters, typename track_container_t , template< typename > class holder_t, bool _isdn = isDirectNavigator> | |
auto | fit (source_link_iterator_t it, source_link_iterator_t end, const start_parameters_t &sParameters, const KalmanFitterOptions< traj_t > &kfOptions, const std::vector< const Surface * > &sSequence, TrackContainer< track_container_t, traj_t, holder_t > &trackContainer) const -> std::enable_if_t< _isdn, Result< typename TrackContainer< track_container_t, traj_t, holder_t >::TrackProxy >> |
Public Attributes | |
m_actorLogger | |
std::unique_ptr< const Logger > | m_logger |
The logger instance. | |
std::unique_ptr< const Logger > | m_actorLogger |
Private Types | |
using | KalmanNavigator = typename propagator_t::Navigator |
The navigator type. | |
Static Private Attributes | |
static constexpr bool | isDirectNavigator |
The navigator has DirectNavigator type or not. | |
Kalman fitter implementation.
propagator_t | Type of the propagation class |
The Kalman filter 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:
Measurements are not required to be ordered for the KalmanFilter, 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 267 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 267 of file KalmanFitter.hpp
|
private |
The navigator type.
Definition at line 269 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 269 of file KalmanFitter.hpp
|
inline |
Definition at line 276 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 276 of file KalmanFitter.hpp
References testing::internal::move().
|
inline |
Fit implementation of the forward filter, calls the the filter and smoother/reversed filter
source_link_iterator_t | Iterator type used to pass source links |
start_parameters_t | Type of the initial parameters |
parameters_t | Type of parameters used for local parameters |
track_container_t | Type of the track container backend |
holder_t | Type defining track container backend ownership |
it | Begin iterator for the fittable uncalibrated measurements |
end | End iterator for the fittable uncalibrated measurements |
sParameters | The initial track parameters |
kfOptions | KalmanOptions steering the fit |
trackContainer | Input track container storage to append into |
SourceLink
s. It's the calibrators job to turn them into calibrated measurements used in the fit.Get the result of the fit
It could happen that the fit ends in zero measurement states. The result gets meaningless so such case is regarded as fit failure.
Definition at line 1098 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 1098 of file KalmanFitter.hpp
References Acts::PropagatorOptions< action_list_t, aborter_list_t >::actionList, ACTS_ERROR, ACTS_VERBOSE, Acts::calculateTrackQuantities(), distance(), end, Acts::GeometryObject::geometryId(), Acts::hashString(), it, testing::internal::move(), physmon_track_finding_ttbar::r, Acts::PropagatorOptions< action_list_t, aborter_list_t >::setPlainOptions(), and writeMapConfig::surface.
Referenced by Acts::EventDataView3DTest::testMultiTrajectory().
|
inline |
Fit implementation of the forward filter, calls the the filter and smoother/reversed filter
source_link_iterator_t | Iterator type used to pass source links |
start_parameters_t | Type of the initial parameters |
parameters_t | Type of parameters used for local parameters |
track_container_t | Type of the track container backend |
holder_t | Type defining track container backend ownership |
it | Begin iterator for the fittable uncalibrated measurements |
end | End iterator for the fittable uncalibrated measurements |
sParameters | The initial track parameters |
kfOptions | KalmanOptions steering the fit |
sSequence | surface sequence used to initialize a DirectNavigator |
trackContainer | Input track container storage to append into |
SourceLinks
. It's calibrator_t's
job to turn them into calibrated measurements used in the fit.Get the result of the fit
It could happen that the fit ends in zero measurement states. The result gets meaningless so such case is regarded as fit failure.
Definition at line 1232 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 1232 of file KalmanFitter.hpp
References Acts::PropagatorOptions< action_list_t, aborter_list_t >::actionList, ACTS_ERROR, ACTS_VERBOSE, Acts::calculateTrackQuantities(), distance(), end, Acts::GeometryObject::geometryId(), Acts::hashString(), it, testing::internal::move(), physmon_track_finding_ttbar::r, Acts::PropagatorOptions< action_list_t, aborter_list_t >::setPlainOptions(), and writeMapConfig::surface.
|
inline |
Definition at line 291 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 291 of file KalmanFitter.hpp
References Acts::KalmanFitter< propagator_t, traj_t >::m_logger.
Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::filter(), and Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::reversedFilter().
|
staticprivate |
The navigator has DirectNavigator type or not.
Definition at line 272 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 272 of file KalmanFitter.hpp
Referenced by Acts::KalmanFitter< propagator_t, traj_t >::Actor< parameters_t >::operator()().
Acts::KalmanFitter< propagator_t, traj_t >::m_actorLogger |
Definition at line 281 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 281 of file KalmanFitter.hpp
std::unique_ptr<const Logger> Acts::KalmanFitter< propagator_t, traj_t >::m_actorLogger |
Definition at line 289 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 289 of file KalmanFitter.hpp
std::unique_ptr<const Logger> Acts::KalmanFitter< propagator_t, traj_t >::m_logger |
The logger instance.
Definition at line 288 of file KalmanFitter.hpp.
View newest version in sPHENIX GitHub at line 288 of file KalmanFitter.hpp
Referenced by Acts::KalmanFitter< propagator_t, traj_t >::logger().