File KalmanVertexUpdater.hpp

namespace Acts


This file is foreseen for the Geometry module to replace Extent

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