Forked from
atlas / athena
137839 commits behind, 10627 commits ahead of the upstream repository.
Will Leight
authored
As discussed in !2959, a bug in the extrapolator was in rare cases causing thousands of scatterers to be added to a track. Thanks to Peter Kluit, we believe that we have now tracked this down to a bug in the STEP_Propagator. The propagator was getting stuck in a volume and iterating forward in steps of 1-10 um, adding a scatterer each time. At the time, we implemented a "fix" that simply aborted the track-finding when more than 1000 scatterers were found on a track. Now, the underlying issue should finally be resolved. It appears that the problem was occurring when the propagator found two solutions from the starting surface, the first of which was trivial and the second of which gave a negative distance estimate. In this case, the propagator would automatically flip direction, bringing it back almost to the starting point, where it would add a scatterer. Then the process would repeat thousands of times, until it got far enough away from the start position that there was no second solution, or one with a postive distance estimate. By identifying these cases and rejecting their negative-distance second solutions, this problem is avoided. Given the rarity of this problem, FT0 tests naturally show no violation, results are available at /afs/cern.ch/work/w/wleight/public/MuonSW/tooManyScatterers/RunTier0Tests.log Former-commit-id: 0c1c0d3b