File FullBilloirVertexFitter.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

template<typename input_track_t, typename linearizer_t>
class FullBilloirVertexFitter
#include <Acts/Vertexing/FullBilloirVertexFitter.hpp>

Vertex fitter class implementing the Billoir vertex fitter.

This class implements the Billoir vertex fitter from Ref. (1). It is also useful to have a look at Ref. (2). Note that the Billoir vertex fitter outputs one 4D vertex position and nTrack momenta at this very point.

Ref. (1): Fast vertex fitting with a local parametrization of tracks. Author(s) Billoir, P ; Qian, S In: Nucl. Instrum. Methods Phys. Res., A 311 (1992) 139-150 DOI 10.1016/0168-9002(92)90859-3

Ref. (2): Pattern Recognition, Tracking and Vertex Reconstruction in Particle Detectors. Author(s) Fruehwirth, R ; Strandli, A

Template Parameters
  • input_track_t – Track object type

  • linearizer_t – Track linearizer type

Public Types

using InputTrack_t = input_track_t
using Linearizer_t = linearizer_t
using Propagator_t = typename linearizer_t::Propagator_t

Public Functions

template<typename T = input_track_t, std::enable_if_t<std::is_same<T, BoundTrackParameters>::value, int> = 0>
inline FullBilloirVertexFitter(const Config &cfg)

Constructor used if input_track_t type == BoundTrackParameters.


cfg – Configuration object

inline FullBilloirVertexFitter(const Config &cfg, std::function<BoundTrackParameters(input_track_t)> func)

Constructor for user-defined input_track_t type =! BoundTrackParameters.

  • cfg – Configuration object

  • func – Function extracting BoundTrackParameters from input_track_t object

Result<Vertex<input_track_t>> fit(const std::vector<const input_track_t*> &paramVector, const linearizer_t &linearizer, const VertexingOptions<input_track_t> &vertexingOptions, State &state) const

Fit method, fitting vertex for provided tracks with constraint.

  • paramVector – Vector of track objects to fit vertex to

  • linearizer – The track linearizer

  • vertexingOptions – Vertexing options

  • state – The state object


Fitted vertex

Private Members

std::function<BoundTrackParameters(input_track_t)> extractParameters

Function to extract track parameters, input_track_t objects are BoundTrackParameters by default, function to be overwritten to return BoundTrackParameters for other input_track_t objects.

Config m_cfg

Configuration object.

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

Public Members

int maxIterations = 5

Maximum number of iterations in fitter.

struct State
#include <Acts/Vertexing/FullBilloirVertexFitter.hpp>

Public Functions

inline State(MagneticFieldProvider::Cache fieldCache)

The state constructor.


fieldCache – The magnetic field cache

Public Members

Linearizer_t::State linearizerState

The linearizer state.