Struct Acts::Experimental::GaussianSumFitter¶
-
template<typename propagator_t, typename bethe_heitler_approx_t, typename traj_t>
struct GaussianSumFitter Gaussian Sum Fitter implementation.
Note
This GSF implementation tries to be as compatible to the KalmanFitter as possible. However, strict compatibility is not garantueed.
Note
Currently there is no possibility to export the states of the individual components from the GSF, the only information returned in the MultiTrajectory are the means of the states. Therefore, also NO dedicated component smoothing is performed as described e.g. by R. Fruewirth.
- Template Parameters
propagator_t – The propagator type on which the algorithm is built on
bethe_heitler_approx_t – The type of the Bethe-Heitler-Approximation
traj_t – The MultiTrajectory type (backend)
Public Types
-
using GsfActor = detail::GsfActor<bethe_heitler_approx_t, traj_t>
The actor type.
The navigator type.
Public Functions
-
inline GaussianSumFitter(propagator_t &&propagator, bethe_heitler_approx_t &&bha, std::unique_ptr<const Logger> _logger = getDefaultLogger("GSF", Logging::INFO))
-
template<typename source_link_it_t, typename start_parameters_t, typename track_container_t, template<typename> class holder_t>
inline auto fit(source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions<traj_t> &options, const std::vector<const Surface*> &sSequence, TrackContainer<track_container_t, traj_t, holder_t> &trackContainer) const The fit function for the Direct navigator.
-
template<typename source_link_it_t, typename start_parameters_t, typename track_container_t, template<typename> class holder_t>
inline auto fit(source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions<traj_t> &options, TrackContainer<track_container_t, traj_t, holder_t> &trackContainer) const The fit function for the standard navigator.
-
template<typename source_link_it_t, typename start_parameters_t, typename fwd_prop_initializer_t, typename bwd_prop_initializer_t, typename track_container_t, template<typename> class holder_t>
inline Acts::Result<typename TrackContainer<track_container_t, traj_t, holder_t>::TrackProxy> fit_impl(source_link_it_t begin, source_link_it_t end, const start_parameters_t &sParameters, const GsfOptions<traj_t> &options, const fwd_prop_initializer_t &fwdPropInitializer, const bwd_prop_initializer_t &bwdPropInitializer, TrackContainer<track_container_t, traj_t, holder_t> &trackContainer) const The generic implementation of the fit function.
TODO check what this function does with the referenceSurface is e.g. the first measuerementSurface
-
inline const Logger &logger() const
Public Members
-
std::unique_ptr<const Logger> m_actorLogger
-
bethe_heitler_approx_t m_betheHeitlerApproximation
The fitter holds the instance of the bethe heitler approx.
-
std::unique_ptr<const Logger> m_logger
The logger.
-
propagator_t m_propagator
The propagator instance used by the fit function.