Fix for ATR-16605, round two
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: 0c1c0d3b0c6bd977208a58a2fc9c9062d4516c7c
Loading
Please register or sign in to comment