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

#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/GaussianSumFitter.hpp>

+ Collaboration diagram for Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >:

Public Types

using GsfNavigator = typename propagator_t::Navigator
 The navigator type.
 
using GsfActor = detail::GsfActor< bethe_heitler_approx_t, traj_t >
 The actor type.
 

Public Member Functions

 GaussianSumFitter (propagator_t &&propagator, bethe_heitler_approx_t &&bha, std::unique_ptr< const Logger > _logger=getDefaultLogger("GSF", Logging::INFO))
 
 m_actorLogger (m_logger->cloneWithSuffix("Actor"))
 
const Loggerlogger () const
 
template<typename source_link_it_t , typename start_parameters_t , typename track_container_t , template< typename > class holder_t>
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>
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>
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
 

Public Attributes

propagator_t m_propagator
 The propagator instance used by the fit function.
 
bethe_heitler_approx_t m_betheHeitlerApproximation
 The fitter holds the instance of the bethe heitler approx.
 
std::unique_ptr< const Loggerm_logger
 The logger.
 
std::unique_ptr< const Loggerm_actorLogger
 

Detailed Description

template<typename propagator_t, typename bethe_heitler_approx_t, typename traj_t>
struct Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >

Gaussian Sum Fitter implementation.

Template Parameters
propagator_tThe propagator type on which the algorithm is built on
bethe_heitler_approx_tThe type of the Bethe-Heitler-Approximation
traj_tThe MultiTrajectory type (backend)
Note
This GSF implementation tries to be as compatible to the KalmanFitter as possible. However, strict compatibility is not garantueed.
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.

Definition at line 52 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 52 of file GaussianSumFitter.hpp

Member Typedef Documentation

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
using Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::GsfActor = detail::GsfActor<bethe_heitler_approx_t, traj_t>

The actor type.

Definition at line 77 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 77 of file GaussianSumFitter.hpp

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
using Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::GsfNavigator = typename propagator_t::Navigator

The navigator type.

Definition at line 74 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 74 of file GaussianSumFitter.hpp

Constructor & Destructor Documentation

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::GaussianSumFitter ( propagator_t &&  propagator,
bethe_heitler_approx_t &&  bha,
std::unique_ptr< const Logger _logger = getDefaultLogger("GSF", Logging::INFO) 
)
inline

Definition at line 53 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 53 of file GaussianSumFitter.hpp

References testing::internal::move().

+ Here is the call graph for this function:

Member Function Documentation

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
template<typename source_link_it_t , typename start_parameters_t , typename track_container_t , template< typename > class holder_t>
auto Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::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
inline

The fit function for the Direct navigator.

Definition at line 82 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 82 of file GaussianSumFitter.hpp

References Acts::PropagatorOptions< action_list_t, aborter_list_t >::actionList, Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit_impl(), Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_betheHeitlerApproximation, m_cfg(), testing::internal::move(), next, parse_cmake_options::opts, and Acts::PropagatorOptions< action_list_t, aborter_list_t >::setPlainOptions().

+ Here is the call graph for this function:

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
template<typename source_link_it_t , typename start_parameters_t , typename track_container_t , template< typename > class holder_t>
auto Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::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
inline

The fit function for the standard navigator.

Definition at line 139 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 139 of file GaussianSumFitter.hpp

References Acts::PropagatorOptions< action_list_t, aborter_list_t >::actionList, Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit_impl(), Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_betheHeitlerApproximation, m_cfg(), parse_cmake_options::opts, and Acts::PropagatorOptions< action_list_t, aborter_list_t >::setPlainOptions().

+ Here is the call graph for this function:

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
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>
Acts::Result< typename TrackContainer<track_container_t, traj_t, holder_t>::TrackProxy> Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::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
inline

The generic implementation of the fit function. TODO check what this function does with the referenceSurface is e.g. the first measurementSurface

Definition at line 189 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 189 of file GaussianSumFitter.hpp

References Acts::GsfOptions< traj_t >::abortOnError, ACTS_DEBUG, ACTS_ERROR, Acts::ACTS_VERBOSE(), ACTS_WARNING, assert, Acts::calculateTrackQuantities(), closest(), distance(), end, acts::error, Acts::GsfOptions< traj_t >::extensions, Acts::hashString(), it, Acts::GsfConstants::kFinalMultiComponentStateColumn, Acts::MultiTrajectoryTraits::kInvalid, Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_actorLogger, Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_propagator, Acts::MeasurementFlag, testing::internal::move(), Acts::OutlierFlag, Acts::GsfOptions< traj_t >::propagatorPlainOptions, physmon_track_finding_ttbar::r, Acts::reduceGaussianMixture(), Acts::GsfOptions< traj_t >::referenceSurface, filter::state, Acts::GsfOptions< traj_t >::stateReductionMethod, t, material_mapping_optimisation::target, and value.

Referenced by Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 71 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 71 of file GaussianSumFitter.hpp

References Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_logger.

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_actorLogger ( m_logger->  cloneWithSuffix"Actor")
inline

Definition at line 59 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 59 of file GaussianSumFitter.hpp

Member Data Documentation

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
std::unique_ptr<const Logger> Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_actorLogger

Definition at line 69 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 69 of file GaussianSumFitter.hpp

Referenced by Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit_impl().

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
bethe_heitler_approx_t Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_betheHeitlerApproximation

The fitter holds the instance of the bethe heitler approx.

Definition at line 65 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 65 of file GaussianSumFitter.hpp

Referenced by Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit().

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
std::unique_ptr<const Logger> Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_logger

The logger.

Definition at line 68 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 68 of file GaussianSumFitter.hpp

Referenced by Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::logger().

template<typename propagator_t , typename bethe_heitler_approx_t , typename traj_t >
propagator_t Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::m_propagator

The propagator instance used by the fit function.

Definition at line 62 of file GaussianSumFitter.hpp.

View newest version in sPHENIX GitHub at line 62 of file GaussianSumFitter.hpp

Referenced by Acts::GaussianSumFitter< propagator_t, bethe_heitler_approx_t, traj_t >::fit_impl().


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