EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::ZScanVertexFinder< vfitter_t > Class Template Reference

Implements a vertex finder based on the mode of z0 values: More...

#include <acts/blob/sPHENIX/Core/include/Acts/Vertexing/ZScanVertexFinder.hpp>

+ Collaboration diagram for Acts::ZScanVertexFinder< vfitter_t >:

Classes

struct  Config
 
struct  State
 for fulfilling interface More...
 

Public Types

using InputTrack_t = typename vfitter_t::InputTrack_t
 

Public Member Functions

template<typename T = InputTrack_t, std::enable_if_t< std::is_same< T, BoundTrackParameters >::value, int > = 0>
 ZScanVertexFinder (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("ZScanVertexFinder", Logging::INFO))
 Constructor used if InputTrack_t type == BoundTrackParameters.
 
 m_logger (std::move(logger))
 
 ZScanVertexFinder (const Config &cfg, std::function< BoundTrackParameters(InputTrack_t)> func, std::unique_ptr< const Logger > logger=getDefaultLogger("ZScanVertexFinder", Logging::INFO))
 Constructor for user-defined InputTrack_t type =! BoundTrackParameters.
 
Result< std::vector< Vertex
< InputTrack_t > > > 
find (const std::vector< const InputTrack_t * > &trackVector, const VertexingOptions< InputTrack_t > &vertexingOptions, State &state) const
 Function that determines single vertex, based on z0 values of input tracks, using a Half Sample Mode algorithm.
 

Private Types

using Propagator_t = typename vfitter_t::Propagator_t
 

Private Member Functions

const Loggerlogger () const
 Private access to logging instance.
 

Private Attributes

Config m_cfg
 
std::function
< BoundTrackParameters(InputTrack_t)> 
m_extractParameters
 Function to extract track parameters, InputTrack_t objects are BoundTrackParameters by default, function to be overwritten to return BoundTrackParameters for other InputTrack_t objects.
 
std::unique_ptr< const Loggerm_logger
 Logging instance.
 

Detailed Description

template<typename vfitter_t>
class Acts::ZScanVertexFinder< vfitter_t >

Implements a vertex finder based on the mode of z0 values:

  1. Determines the mode value of all input track z0 values
  2. If no contraint is given, returns (0,0, z0_mode) as vertex position
  3. If vertex contraint is given with x=x_constr and y=y_constr, the returned vertex position will be (x_constr, y_constr, z0_mode).

Definition at line 34 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 34 of file ZScanVertexFinder.hpp

Member Typedef Documentation

template<typename vfitter_t >
using Acts::ZScanVertexFinder< vfitter_t >::InputTrack_t = typename vfitter_t::InputTrack_t

Definition at line 40 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 40 of file ZScanVertexFinder.hpp

template<typename vfitter_t >
using Acts::ZScanVertexFinder< vfitter_t >::Propagator_t = typename vfitter_t::Propagator_t
private

Definition at line 37 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 37 of file ZScanVertexFinder.hpp

Constructor & Destructor Documentation

template<typename vfitter_t >
template<typename T = InputTrack_t, std::enable_if_t< std::is_same< T, BoundTrackParameters >::value, int > = 0>
Acts::ZScanVertexFinder< vfitter_t >::ZScanVertexFinder ( const Config cfg,
std::unique_ptr< const Logger logger = getDefaultLogger("ZScanVertexFinder< vfitter_t >", Logging::INFO) 
)
inline

Constructor used if InputTrack_t type == BoundTrackParameters.

Parameters
cfgConfiguration object
loggerThe logging instance

Definition at line 84 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 84 of file ZScanVertexFinder.hpp

template<typename vfitter_t >
Acts::ZScanVertexFinder< vfitter_t >::ZScanVertexFinder ( const Config cfg,
std::function< BoundTrackParameters(InputTrack_t)>  func,
std::unique_ptr< const Logger logger = getDefaultLogger("ZScanVertexFinder< vfitter_t >", Logging::INFO) 
)
inline

Constructor for user-defined InputTrack_t type =! BoundTrackParameters.

Parameters
cfgConfiguration object
funcFunction extracting BoundTrackParameters from InputTrack_t object
loggerLogging instance

Definition at line 99 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 99 of file ZScanVertexFinder.hpp

Member Function Documentation

template<typename vfitter_t >
auto Acts::ZScanVertexFinder< vfitter_t >::find ( const std::vector< const InputTrack_t * > &  trackVector,
const VertexingOptions< InputTrack_t > &  vertexingOptions,
State state 
) const

Function that determines single vertex, based on z0 values of input tracks, using a Half Sample Mode algorithm.

Parameters
trackVectorInput track collection
vertexingOptionsVertexing options
stateState for fulfilling correct interface
Returns
Vector of vertices, filled with a single vertex (for consistent interfaces)

Definition at line 10 of file ZScanVertexFinder.ipp.

View newest version in sPHENIX GitHub at line 10 of file ZScanVertexFinder.ipp

References kdfinder::abs(), ACTS_DEBUG, Acts::eBoundQOverP, Acts::eBoundTheta, Acts::eZ, Acts::VertexingOptions< input_track_t >::geoContext, Acts::ImpactParametersAndSigma::IPd0, Acts::ImpactParametersAndSigma::IPz0, Acts::VertexingOptions< input_track_t >::magFieldContext, Acts::SingleBoundTrackParameters< charge_t >::parameters(), Acts::SingleBoundTrackParameters< charge_t >::position(), Acts::ImpactParametersAndSigma::sigmad0, and Acts::VertexingOptions< input_track_t >::vertexConstraint.

+ Here is the call graph for this function:

template<typename vfitter_t >
const Logger& Acts::ZScanVertexFinder< vfitter_t >::logger ( ) const
inlineprivate

Private access to logging instance.

Definition at line 134 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 134 of file ZScanVertexFinder.hpp

References Acts::ZScanVertexFinder< vfitter_t >::m_logger.

template<typename vfitter_t >
Acts::ZScanVertexFinder< vfitter_t >::m_logger ( std::  movelogger)
inline

Definition at line 90 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 90 of file ZScanVertexFinder.hpp

Member Data Documentation

template<typename vfitter_t >
Config Acts::ZScanVertexFinder< vfitter_t >::m_cfg
private

Definition at line 121 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 121 of file ZScanVertexFinder.hpp

template<typename vfitter_t >
std::function<BoundTrackParameters(InputTrack_t)> Acts::ZScanVertexFinder< vfitter_t >::m_extractParameters
private

Function to extract track parameters, InputTrack_t objects are BoundTrackParameters by default, function to be overwritten to return BoundTrackParameters for other InputTrack_t objects.

Parameters
InputTrack_tobject to extract track parameters from

Definition at line 128 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 128 of file ZScanVertexFinder.hpp

template<typename vfitter_t >
std::unique_ptr<const Logger> Acts::ZScanVertexFinder< vfitter_t >::m_logger
private

Logging instance.

Definition at line 131 of file ZScanVertexFinder.hpp.

View newest version in sPHENIX GitHub at line 131 of file ZScanVertexFinder.hpp

Referenced by Acts::ZScanVertexFinder< vfitter_t >::logger().


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