Class Acts::AdaptiveMultiVertexFinder

template<typename vfitter_t, typename sfinder_t>
class AdaptiveMultiVertexFinder

Implements an iterative vertex finder.

Brief description of the algorithm implemented: TODO

Template Parameters
  • vfitter_t – Vertex fitter type

  • sfinder_t – Seed finder type

Public Functions

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

Constructor used if InputTrack_t type == BoundTrackParameters.

Parameters
  • cfg – Configuration object

  • logger – The logging instance

inline AdaptiveMultiVertexFinder(Config &cfg, std::function<BoundTrackParameters(InputTrack_t)> func, std::unique_ptr<const Logger> logger = getDefaultLogger("AdaptiveMultiVertexFinder", Logging::INFO))

Constructor for user-defined InputTrack_t type != BoundTrackParameters.

Parameters
  • cfg – Configuration object

  • func – Function extracting BoundTrackParameters from InputTrack_t object

  • logger – The logging instance

AdaptiveMultiVertexFinder(AdaptiveMultiVertexFinder&&) = default
Result<std::vector<Vertex<InputTrack_t>>> find(const std::vector<const InputTrack_t*> &allTracks, const VertexingOptions<InputTrack_t> &vertexingOptions, State &state) const

Function that performs the adaptive multi-vertex finding.

Parameters
  • allTracks – Input track collection

  • vertexingOptions – Vertexing options

  • state – State for fulfilling interfaces

Returns

Vector of all reconstructed vertices

struct Config

Configuration struct.

Public Functions

inline Config(vfitter_t fitter, const sfinder_t &sfinder, const ImpactPointEstimator<InputTrack_t, Propagator_t> &ipEst, Linearizer_t lin, std::shared_ptr<const MagneticFieldProvider> bIn)

Config constructor.

Parameters
  • fitter – The vertex fitter

  • sfinder – The seed finder

  • ipEst – ImpactPointEstimator

  • lin – Track linearizer

  • bIn – Input magnetic field

Public Members

bool addSingleTrackVertices = false
std::shared_ptr<const MagneticFieldProvider> bField
std::pair<double, double> defaultConstrFitQuality = {0., -3.}
bool do3dSplitting = false
bool doRealMultiVertex = true
ImpactPointEstimator<InputTrack_t, Propagator_t> ipEstimator
Linearizer_t linearizer
double looseConstrValue = 1e+8
double maximumVertexContamination = 0.5
int maxIterations = 100
double maxMergeVertexSignificance = 3.
double maxVertexChi2 = 18.42
double minWeight = 0.0001
sfinder_t seedFinder
double tracksMaxSignificance = 5.
double tracksMaxZinterval = 3. * Acts::UnitConstants::mm
bool useBeamSpotConstraint = true
bool useFastCompatibility = true
bool useSeedConstraint = true
bool useVertexCovForIPEstimation = false
vfitter_t vertexFitter
struct State

State struct for fulfilling interface.