File ZScanVertexFinder.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

template<typename vfitter_t>
class ZScanVertexFinder
#include <Acts/Vertexing/ZScanVertexFinder.hpp>

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).

Public Types

using InputTrack_t = typename vfitter_t::InputTrack_t

Public Functions

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

Constructor used if InputTrack_t type == BoundTrackParameters.

  • cfg – Configuration object

  • logger – The logging instance

inline 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.

  • cfg – Configuration object

  • func – Function extracting BoundTrackParameters from InputTrack_t object

  • logger – Logging instance

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.

  • trackVector – Input track collection

  • vertexingOptions – Vertexing options

  • state – State for fulfilling correct interface


Vector of vertices, filled with a single vertex (for consistent interfaces)

Private Types

using Propagator_t = typename vfitter_t::Propagator_t

Private Functions

inline const Logger &logger() const

Private access to logging instance.

Private Members

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 Logger> m_logger

Logging instance.

struct Config
#include <Acts/Vertexing/ZScanVertexFinder.hpp>

Configuration struct.

Public Functions

inline Config(const ImpactPointEstimator<InputTrack_t, Propagator_t> &ipEst)

Finder configuration.


ipEst – ImpactPointEstimator

Public Members

float constraintcutoff = 9.
float constrainttemp = 1.
bool disableAllWeights = false
double expPt = 1.
ImpactPointEstimator<InputTrack_t, Propagator_t> ipEstimator
double minPt = 0.4 * UnitConstants::GeV
double minWeight = 0.01
FsmwMode1dFinder mode1dFinder
bool useLogPt = true
bool usePt = false
struct State
#include <Acts/Vertexing/ZScanVertexFinder.hpp>

State struct for fulfilling interface.