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

Vertex finder that makes use of a track density grid. More...

#include <Acts/Vertexing/AdaptiveGridDensityVertexFinder.hpp>

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

Classes

struct  Config
 The Config struct. More...
struct  State
 The State struct. More...

Public Types

using DensityMap = AdaptiveGridTrackDensity::DensityMap
 Type alias for the density map used in adaptive grid vertex finding.
Public Types inherited from Acts::IVertexFinder
using State = Acts::AnyBase<128>
 Type-erased wrapper for concrete state objects.

Public Member Functions

 AdaptiveGridDensityVertexFinder (const Config &cfg)
 Constructor for user-defined InputTrack type.
Result< std::vector< Vertex > > find (const std::vector< InputTrack > &trackVector, const VertexingOptions &vertexingOptions, IVertexFinder::State &anyState) const override
 Function that finds single vertex candidate.
IVertexFinder::State makeState (const Acts::MagneticFieldContext &) const override
 Function to create a state object for this concrete vertex finder.
void setTracksToRemove (IVertexFinder::State &anyState, const std::vector< InputTrack > &removedTracks) 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.

Detailed Description

Vertex finder that makes use of a track density grid.

Each single track is modelled as a 2-dim Gaussian distribution grid in the d0-z0 plane, but only the overlap with the z-axis (i.e. a 1-dim density vector) needs to be calculated. All track contributions along the beam axis (main density vector) are superimposed and the z-value of the bin with the highest track density is returned as a vertex candidate. Unlike the GridDensityVertexFinder, this seeder implements an adaptive version where the density grid grows bigger with added tracks.

Member Typedef Documentation

◆ DensityMap

Type alias for the density map used in adaptive grid vertex finding.

Constructor & Destructor Documentation

◆ AdaptiveGridDensityVertexFinder()

Acts::AdaptiveGridDensityVertexFinder::AdaptiveGridDensityVertexFinder ( const Config & cfg)
explicit

Constructor for user-defined InputTrack type.

Parameters
cfgConfiguration object

Member Function Documentation

◆ find()

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

Function that finds single vertex candidate.

Parameters
trackVectorInput track collection
vertexingOptionsVertexing options
anyStateThe state object to cache the density grid and density contributions of each track, to be used if cacheGridStateForTrackRemoval == true
Returns
Vector of vertices, filled with a single vertex (for consistent interfaces)

Implements Acts::IVertexFinder.

◆ makeState()

IVertexFinder::State Acts::AdaptiveGridDensityVertexFinder::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::AdaptiveGridDensityVertexFinder::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.