ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
Acts::ZScanVertexFinder Class Referencefinal

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

#include <Acts/Vertexing/ZScanVertexFinder.hpp>

Inheritance diagram for Acts::ZScanVertexFinder:
[legend]
Collaboration diagram for Acts::ZScanVertexFinder:
[legend]

Classes

struct  Config
 Configuration struct. More...
struct  State
 State struct for fulfilling interface. More...

Public Member Functions

 ZScanVertexFinder (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("ZScanVertexFinder", Logging::INFO))
 Constructor for user-defined InputTrack type.
Result< std::vector< Vertex > > find (const std::vector< InputTrack > &trackVector, const VertexingOptions &vertexingOptions, IVertexFinder::State &state) const override
 Function that determines single vertex, based on z0 values of input tracks, using a Half Sample Mode algorithm.
IVertexFinder::State makeState (const Acts::MagneticFieldContext &) const override
 Function to create a state object for this concrete vertex finder.
void setTracksToRemove (IVertexFinder::State &, const std::vector< InputTrack > &) const override
 For vertex finders that have an internal state of active tracks, this method instructs them to mark used tracks for removal.
Public Member Functions inherited from Acts::IVertexFinder
virtual ~IVertexFinder ()=default
 Virtual destructor.

Additional Inherited Members

Public Types inherited from Acts::IVertexFinder
using State = Acts::AnyBase<128>
 Type-erased wrapper for concrete state objects.

Detailed Description

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 constraint is given, returns (0,0, z0_mode) as vertex position
  3. If vertex constraint is given with x=x_constr and y=y_constr, the returned vertex position will be (x_constr, y_constr, z0_mode).

Constructor & Destructor Documentation

◆ ZScanVertexFinder()

Acts::ZScanVertexFinder::ZScanVertexFinder ( const Config & cfg,
std::unique_ptr< const Logger > logger = getDefaultLogger("ZScanVertexFinder", Logging::INFO) )
explicit

Constructor for user-defined InputTrack type.

Parameters
cfgConfiguration object
loggerLogging instance

Member Function Documentation

◆ find()

Result< std::vector< Vertex > > Acts::ZScanVertexFinder::find ( const std::vector< InputTrack > & trackVector,
const VertexingOptions & vertexingOptions,
IVertexFinder::State & state ) const
overridevirtual

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)

Implements Acts::IVertexFinder.

◆ makeState()

IVertexFinder::State Acts::ZScanVertexFinder::makeState ( const Acts::MagneticFieldContext & mctx) const
overridevirtual

Function to create a state object for this concrete vertex finder.

Parameters
mctxThe magnetic field context
Returns
The state object

Implements Acts::IVertexFinder.

◆ setTracksToRemove()

void Acts::ZScanVertexFinder::setTracksToRemove ( IVertexFinder::State & anyState,
const std::vector< InputTrack > & removedTracks ) const
overridevirtual

For vertex finders that have an internal state of active tracks, this method instructs them to mark used tracks for removal.

Parameters
anyStateThe state object
removedTracksThe tracks to be removed

Implements Acts::IVertexFinder.