The SequentialVertexFitter and SequentialVertexSmoother

Complete:

SequentialVertexFitter implements the logic of least-squares vertex fitters. It is not tied to any particular track parametrization. All input tracks are used, and their weights (if the tracks are given as VertexTracks) are not modified by the fitter. It the tracks are not given as VertexTracks, a weight of 1 is used.

The concrete LinearizationPointFinder, VertexUpdator and VertexSmoother to be used are specified at the construction of the fitter:

```  SequentialVertexFitter (LinearizationPointFinder *linP,
VertexUpdator *theUpdator, VertexSmoother *theSmoother=0)
```

If no refit is to be performed, the pointer to the VertexSmoother has either to be set to 0 or to be omitted altogether.

The two parameters, the maximum number of iterations to perform and the convergence criterion, can be set by a ParameterSet or by the two set methods. The set methods override the PSet configurables:

• Convergence criterion (maximum transverse distance between vertex computed in the previous and the current iterations):
parameter: `double maxDistance`
method: `setMaximumDistance (float maxShift)`
• Maximum number of iterations:
parameter: `int maxNbrOfIterations`
method: `setMaximumNumberOfIterations(int maxIterations)`

```cms.PSet(
maxDistance = cms.double(0.01),
maxNbrOfIterations = cms.int32(10)
)
```

The class SequentialVertexSmoother handles the refit of the tracks, the calculation of the smoothed chi^2 and, if requested, the track-to-track covariance matrices. It is an implementation of the pABC VertexSmoother, and is not tied either to a particular track parametrization.

The concrete VertexTrackUpdator, VertexSmoothedChiSquaredEstimator and TrackToTrackCovCalculator to be used are specified at the construction of the smoother:

```  SequentialVertexSmoother (VertexTrackUpdator *vtu,
VertexSmoothedChiSquaredEstimator *vse,
TrackToTrackCovCalculator *covCalc=0)
```

If track-to-track covariance matrices are not to be calculated, the pointer to the TrackToTrackCovCalculator has either to be set to 0 or to be omitted altogether.