Analysis Software
Documentation for sPHENIX simulation software
|
The actor carrying out the GSF algorithm. More...
#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/detail/GsfActor.hpp>
Classes | |
struct | Config |
struct | TemporaryStates |
Public Types | |
using | ComponentCache = Acts::GsfComponent |
using | result_type = GsfResult< traj_t > |
Broadcast the result_type. | |
Public Member Functions | |
GsfActor ()=default | |
Enforce default construction. | |
const Logger & | logger () const |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
void | operator() (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, const Logger &) const |
GSF actor operation. | |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
void | convoluteComponents (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const TemporaryStates &tmpStates, std::vector< ComponentCache > &componentCache, std::size_t &nInvalidBetheHeitler) const |
template<typename propagator_state_t , typename navigator_t > | |
void | applyBetheHeitler (const propagator_state_t &state, const navigator_t &navigator, const BoundTrackParameters &old_bound, const double old_weight, std::vector< ComponentCache > &componentCaches, std::size_t &nInvalidBetheHeitler) const |
void | removeLowWeightComponents (std::vector< ComponentCache > &cmps) const |
template<typename propagator_state_t , typename stepper_t > | |
void | updateStepper (propagator_state_t &state, const stepper_t &stepper, const TemporaryStates &tmpStates) const |
Function that updates the stepper from the MultiTrajectory. | |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
void | updateStepper (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const std::vector< ComponentCache > &componentCache) const |
Function that updates the stepper from the ComponentCache. | |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
Result< void > | kalmanUpdate (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, TemporaryStates &tmpStates, const SourceLink &source_link) const |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
Result< void > | noMeasurementUpdate (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, result_type &result, TemporaryStates &tmpStates, bool doCovTransport) const |
template<typename propagator_state_t , typename stepper_t , typename navigator_t > | |
void | applyMultipleScattering (propagator_state_t &state, const stepper_t &stepper, const navigator_t &navigator, const MaterialUpdateStage &updateStage=MaterialUpdateStage::FullUpdate) const |
Apply the multiple scattering to the state. | |
void | addCombinedState (result_type &result, const TemporaryStates &tmpStates, const Surface &surface) const |
void | setOptions (const Acts::GsfOptions< traj_t > &options) |
Public Attributes | |
struct Acts::detail::GsfActor::Config | m_cfg |
The actor carrying out the GSF algorithm.
Definition at line 69 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 69 of file GsfActor.hpp
using Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::ComponentCache = Acts::GsfComponent |
Definition at line 73 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 73 of file GsfActor.hpp
using Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::result_type = GsfResult<traj_t> |
Broadcast the result_type.
Definition at line 76 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 76 of file GsfActor.hpp
|
default |
Enforce default construction.
|
inline |
Definition at line 691 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 691 of file GsfActor.hpp
References Acts::detail::GsfResult< traj_t >::currentTip, Acts::detail::GsfResult< traj_t >::fittedStates, Acts::Surface::getSharedPtr(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::inReversePass, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, mask, Acts::MeasurementFlag, Acts::reduceGaussianMixture(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::reductionMethod, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate().
|
inline |
Definition at line 344 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 344 of file GsfActor.hpp
References Acts::GenericBoundTrackParameters< particle_hypothesis_t >::absoluteMomentum(), ACTS_DEBUG, Acts::ACTS_VERBOSE(), ACTS_WARNING, assert, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::bethe_heitler_approx, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::charge(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::covariance(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::direction(), Acts::eBoundQOverP, f, Acts::Direction::Forward, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::GenericBoundTrackParameters< particle_hypothesis_t >::parameters(), Acts::GenericBoundTrackParameters< particle_hypothesis_t >::position(), writeMapConfig::surface, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::convoluteComponents().
|
inline |
Apply the multiple scattering to the state.
Definition at line 653 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 653 of file GsfActor.hpp
References Acts::ACTS_VERBOSE(), Acts::addNoise, assert, root_event_diff_np::cmp(), Acts::detail::PointwiseMaterialInteraction::Eloss, Acts::detail::PointwiseMaterialInteraction::evaluateMaterialSlab(), Acts::detail::PointwiseMaterialInteraction::evaluatePointwiseMaterialInteraction(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::multipleScattering, writeMapConfig::surface, Acts::detail::PointwiseMaterialInteraction::updateState(), Acts::detail::PointwiseMaterialInteraction::variancePhi, Acts::detail::PointwiseMaterialInteraction::varianceQoverP, and Acts::detail::PointwiseMaterialInteraction::varianceTheta.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
Definition at line 325 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 325 of file GsfActor.hpp
References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyBetheHeitler(), root_event_diff_np::cmp(), ambiguity_solver_full_chain::idx, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights, and Acts::zip().
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
This function performs the kalman update, computes the new posterior weights, renormalizes all components, and does some statistics.
Definition at line 519 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 519 of file GsfActor.hpp
References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::calibrationContext, root_event_diff_np::cmp(), Acts::detail::computePosteriorWeights(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::extensions, ambiguity_solver_full_chain::idx, Acts::detail::kalmanHandleMeasurement(), Acts::MultiTrajectoryTraits::kInvalid, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::MeasurementFlag, Acts::detail::normalizeWeights(), writeMapConfig::surface, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
Definition at line 126 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 126 of file GsfActor.hpp
References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::logger, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate(), and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
Definition at line 601 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 601 of file GsfActor.hpp
References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::addCombinedState(), root_event_diff_np::cmp(), Acts::HoleFlag, Acts::detail::kalmanHandleNoMeasurement(), Acts::MultiTrajectoryTraits::kInvalid, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger(), Acts::detail::GsfResult< traj_t >::measurementHoles, Acts::detail::GsfResult< traj_t >::processedStates, writeMapConfig::surface, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
GSF actor operation.
propagator_state_t | is the type of Propagator state |
stepper_t | Type of the stepper |
navigator_t | Type of the navigator |
state | is the mutable propagator state object |
stepper | The stepper in use |
result | is the mutable result state object |
Definition at line 145 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 145 of file GsfActor.hpp
References Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::abortOnError, Acts::ACTS_VERBOSE(), ACTS_WARNING, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyMultipleScattering(), assert, root_event_diff_np::cmp(), Acts::detail::GsfResult< traj_t >::componentCache, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::convoluteComponents(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::disableAllMaterialHandling, acts::error, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::extensions, Acts::detail::GsfResult< traj_t >::fittedStates, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::inputMeasurements, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::maxComponents, Acts::detail::GsfResult< traj_t >::measurementStates, Acts::UnitConstants::min, Acts::detail::GsfResult< traj_t >::nInvalidBetheHeitler, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::noMeasurementUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::numberMeasurements, Acts::detail::GsfResult< traj_t >::processedStates, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::removeLowWeightComponents(), Acts::detail::GsfResult< traj_t >::result, writeMapConfig::surface, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::updateStepper(), Acts::detail::GsfResult< traj_t >::visitedSurfaces, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff, and Acts::detail::weightsAreNormalized().
|
inline |
Remove components with low weights and renormalize from the component cache TODO This function does not expect normalized components, but this could be redundant work...
Definition at line 431 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 431 of file GsfActor.hpp
References KFPMath::a, KFPMath::b, root_event_diff_np::cmp(), distance(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::normalizeWeights(), proj(), and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff.
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
Set the relevant options that can be set from the Options struct all in one place
Definition at line 763 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 763 of file GsfActor.hpp
References Acts::GsfOptions< traj_t >::abortOnError, Acts::GsfOptions< traj_t >::calibrationContext, Acts::GsfOptions< traj_t >::disableAllMaterialHandling, Acts::GsfOptions< traj_t >::extensions, m_cfg(), Acts::GsfOptions< traj_t >::maxComponents, Acts::GsfOptions< traj_t >::stateReductionMethod, and Acts::GsfOptions< traj_t >::weightCutoff.
|
inline |
Function that updates the stepper from the MultiTrajectory.
Definition at line 454 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 454 of file GsfActor.hpp
References root_event_diff_np::cmp(), Acts::MultiTrajectoryHelpers::freeFiltered(), ambiguity_solver_full_chain::idx, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg, Acts::detail::normalizeWeights(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::tips, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::traj, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::Config::weightCutoff, Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::TemporaryStates::weights, and Acts::zip().
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()().
|
inline |
Function that updates the stepper from the ComponentCache.
Definition at line 485 of file GsfActor.hpp.
View newest version in sPHENIX GitHub at line 485 of file GsfActor.hpp
References ACTS_ERROR, root_event_diff_np::cmp(), Acts::Test::cov, testing::internal::move(), pars, and writeMapConfig::surface.
struct Acts::detail::GsfActor::Config Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::m_cfg |
Referenced by Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::addCombinedState(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyBetheHeitler(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::applyMultipleScattering(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::kalmanUpdate(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::logger(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::operator()(), Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::removeLowWeightComponents(), and Acts::detail::GsfActor< bethe_heitler_approx_t, traj_t >::updateStepper().