Template Class AdaptiveMultiVertexFinder

Nested Relationships

Nested Types

Class Documentation

template<typename vfitter_t, typename sfinder_t>
class Acts::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>
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

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

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.

Return

Vector of all reconstructed vertices

Parameters
  • allTracks: Input track collection

  • vertexingOptions: Vertexing options

  • state: State for fulfilling interfaces

struct Config

Public Functions

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

Config constructor.

Parameters
  • fitter: The vertex fitter

  • sfinder: The seed finder

  • ipEst: ImpactPointEstimator

  • lin: Track linearizer

Public Members

bool addSingleTrackVertices = false
std::shared_ptr<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

for fulfilling interface