Internal Reconstruction Objects of the Vertex Fitter

Complete: 3

Goal of this page

This page describes the internal reconstruction objects of the vertex fitter.


VertexState is a class containing a measurement of a vertex, i.e. its position and error. It can either be a single state, of a multi-state, i.e. a mixture of several components. In that case, the different components (each being also a VertexState are accessed through the components() method. The weightInMixture() method returns the weight of the component in the mixture.


The relation between a track and its vertex is contained in the reference counted class VertexTrack.

The class VertexTrack should not be used on its own. To use the reference counting mechanism properly, it should be created through the builder VertexTrack, and the typedef RefCountedVertexTrack has then to be used as a pointer.

It caches informations such as the weight with which the track has been used in the fit, the refitted state of the track and the track-to-vertex covariance matrix. The track weight corresponds to the distance of the track to the seed position. It should be kept in mind that unless the refit of the track has been explicitly requested to be performed after the vertex fit, the refitted state might not have been made with the final fitted vertex, but with a temporary intermediate vertex found when that track has been added to the vertex during the fit.


During a vertex fit, the track model is separated from the filter, such that a different track model could be used with minimal modifications to the classes containing the filter. All calculations relating to the track model, such as the jacobians, are done in the class LinearizedTrack. It is a reference counted class which describes the relation between the track and the algorithms, usually accessible from VertexTrack. It provides the reconstructed track, the linearization/expansion point, the "predicted" track parameters and error matrix at the linearization point and the Jacobians of the Taylor expansion. It is valid as long as the linearization point does not change. In order not to waste time, it performs all calculations on demand only and caches the results.

The class LinearizedTrack should not be used on its own. To use the reference counting mechanism properly, it should be created through the builder LinearizedTrackFactory, and the typedef =RefCountedLinearizedTrack has then to be used as a pointer.


The class CachingVertex extends the information of the Vertex, to which it provides an implicit conversion. It provides access to temporary data to speed up the vertex update, such as the vertex position, weight, error and weight*position matrices, the VertexTrack container of the tracks used to fit the vertex, and the 3N*3N track-to-track covariance matrix.

Review Status

Editor/Reviewer and Date Comments
Main.speer - 18 Jul 2006 Documentation written
JennyWilliams - 28 Mar 2007 restructured vertex fitting internal reco object documentation into swguide

Responsible: ThomasSpeer
Last reviewed by: Reviewer

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2010-03-11 - KatiLassilaPerini

    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback