File KalmanVertexUpdater.hpp

namespace Acts

Set the Geometry Context PLUGIN.

Set the Calibration Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedMaterialMap and to avoid code duplication.

Set the Mangetic Field Context PLUGIN.

Convenience functions to ease creation of and Acts::InterpolatedBFieldMap and to avoid code duplication.

Currently implemented for the two most common formats: rz and xyz.

namespace KalmanVertexUpdater


template<typename input_track_t>
void updatePosition(const Acts::Vertex<input_track_t> &vtx, const Acts::LinearizedTrack &linTrack, double trackWeight, int sign, MatrixCache &matrixCache)

Updates vertex position.

  • vtx – Old vertex

  • linTrack – Linearized version of track to be added or removed

  • trackWeight – Track weight

  • sign – +1 (add track) or -1 (remove track)

  • matrixCache[out] A cache to store matrix information

template<typename input_track_t>
void updateVertexWithTrack(Vertex<input_track_t> &vtx, TrackAtVertex<input_track_t> &trk)

Updates vertex with knowledge of new track.


KalmanVertexUpdater updates the vertex w.r.t. the newly given track, but does NOT add the track to the TrackAtVertex list. Has to be done manually after calling this method

  • vtx – Vertex to be updated

  • trk – Track to be used for updating the vertex

struct MatrixCache
#include <Acts/Vertexing/KalmanVertexUpdater.hpp>


adds or removes track from or updates current vertex Based on R. Frühwirth et al. Vertex reconstruction and track bundling at the lep collider using robust Algorithms Computer Physics Comm.: 96 (1996) 189, chapter 2.1 Cache object to store matrix information

Public Members

SymMatrix3 momWeightInv = SymMatrix3::Zero()
SymMatrix3 newVertexCov = SymMatrix3::Zero()
Vector3 newVertexPos = Vector3::Zero()
SymMatrix3 newVertexWeight = SymMatrix3::Zero()
SymMatrix3 oldVertexWeight = SymMatrix3::Zero()