Skip to content

TrkGlobalChi2Fitter: Fix handling of bad fits.

In GlobalChi2Fitter::calculateTrackParameters, we propagate track parameters along the track from one measurement on a track to another. The track parameters are also assocated with a surface. After the propagation we store the parameters in the GXFTrajectory along with a measurement. Later, there will be an assertion that the surface of the parameter matches the surface of the measurement.

There is, however, a maximum path length for the propagation, which is usually set to a hard-coded length of 10m. Once this length is reached, we stop and return a CurvilinearParameters object a dummy surface corresponding to the point at which the propagation stopped. But if we store this result in GXFTrajectory, then we can fail later with an assertion in TrackStateOnSurface.

We can exceed the maximum path length in cases where the fit is unstable.

Detect cases where the assertion in TrackStateOnSurface would fail and instead treat as a failed fit. Fixes test failure seen in ActsConfig in the dbg build.

Merge request reports