acts icon indicating copy to clipboard operation
acts copied to clipboard

KalmanFilter error: No measurement detected during the propagation

Open CarloVarni opened this issue 2 years ago • 1 comments

When running KF refitting on a tt-bar sample with pile-up (mu 200), ACTS reports the following error message:

ActsReFitterAlg.ActsKalmanFitter.Acts Kalman Refit  ERROR KalmanFilter failed: KalmanFitterError:5, No measurement detected during the propagation

This fit failure comes from https://github.com/acts-project/acts/blob/main/Core/include/Acts/TrackFitting/KalmanFitter.hpp#L1056 in which the KF tries to refit a fitted track and doesn’t find a single measurement. Despite being a fit failure, should this result in an error message in the KF itself?

This has been observed when running the ActsReFitterAlg algorithm in Athena, and does not happen for a single mu input sample. The presence of an ERROR message will mark the algorithm execution as a failure, thus preventing its use in a CI test.

CarloVarni avatar Jul 19 '22 02:07 CarloVarni

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.

stale[bot] avatar Sep 21 '22 00:09 stale[bot]

This was recently observed again in https://gitlab.cern.ch/atlas/athena/-/merge_requests/59359

paulgessinger avatar Dec 16 '22 08:12 paulgessinger

I investigated a bit, and this looks like another case of a navigation failure. From the RDO file that has 5 events, I believe it's these cases that error out:

diag_00 diag_01 diag_02 diag_03 diag_04 diag_05

Seems to me like they start out very forward and then fail to reach the beampipe cylinder boundary. The navigation then runs into infinity, which the KF interprets as not having found any measurements. In 5 cases the trajectory somehow bends in the longitudinal plane (how?).

paulgessinger avatar Dec 19 '22 14:12 paulgessinger

In some cases, the propagation also turns around like this:

image

diag_02_dir

@noemina @andiwand could this be related to the error you were observing with boundaries?

paulgessinger avatar Dec 19 '22 14:12 paulgessinger

It seems like we slightly overstep in these cases, but beyond the overstep-limit. I see cases like this:

RAWtoALL 14:18:32 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Check intersection with surface vol=8|bnd=4
RAWtoALL 14:18:32 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE  -> pLimit, oLimit, cLimit: 28874, -0.1, -0.102747
RAWtoALL 14:18:32 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Intersection is OUTSIDE limit because:
RAWtoALL 14:18:32 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE - intersection path length -0.102747 <= overstep limit -0.1
...
RAWtoALL 14:19:31 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Check intersection with surface vol=8|bnd=4
RAWtoALL 14:19:31 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE  -> pLimit, oLimit, cLimit: 30127.6, -0.1, -0.192962
RAWtoALL 14:19:31 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Intersection is OUTSIDE limit because:
RAWtoALL 14:19:31 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE - intersection path length -0.192962 <= overstep limit -0.1
...
RAWtoALL 14:19:48 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Check intersection with surface vol=8|bnd=4
RAWtoALL 14:19:48 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE  -> pLimit, oLimit, cLimit: 42217.2, -0.1, -0.139699
RAWtoALL 14:19:48 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE Intersection is OUTSIDE limit because:
RAWtoALL 14:19:48 ActsReFitterAlg.ActsKalmanFitter.Acts Kalman RefitVERBOSE - intersection path length -0.139699 <= overstep limit -0.1

paulgessinger avatar Dec 19 '22 15:12 paulgessinger

Yes, it might be related to it. Have you already tried with including https://github.com/acts-project/acts/pull/1722 in ACTS? Can you tell me how to reproduce this?

noemina avatar Jan 05 '23 10:01 noemina

@noemina: this should be enough to reproduce: https://gitlab.cern.ch/atlas/athena/-/blob/master/AtlasTest/CITest/test/ActsKfRefitting.sh

paulgessinger avatar Jan 10 '23 08:01 paulgessinger

Thank you @paulgessinger . I can reproduce the issue and it is not fixed by https://github.com/acts-project/acts/pull/1722. I am starting investigating this.

noemina avatar Jan 17 '23 16:01 noemina

It might be because we have no material loaded on the tracking geometry at the time being... I will confirm this asap.

noemina avatar Jan 17 '23 16:01 noemina

This issue/PR has been automatically marked as stale because it has not had recent activity. The stale label will be removed if any interaction occurs.

stale[bot] avatar Mar 19 '23 14:03 stale[bot]

Sort of solved via configurable overstep limit. Closing for now.

paulgessinger avatar Mar 20 '23 08:03 paulgessinger