the issue should be visible with LST seeds in phase-2 or in TOB/TEC seeds in phase-1 when running with the tracking ntuple (but also with the MultiTrackValidator setup where seeds converted by the TrackFromSeedProducer are used). The symptoms are failed tracks from TrackFromSeedProducer (e.g. charge = 0)
In my case (phase-2 with LST) this was affecting around 1% of tracks.
Reproducer for phase-2 in 16_1_0_pre1 on inputs from 29834.754:
cmsDriver.py step2 -s L1P2GT,HLT:75e33_trackingOnly,VALIDATION:@hltValidation\
--conditions auto:phase2_realistic_T33 --datatier DQMIO --eventcontent DQMIO\
--geometry ExtendedRun4D110 --era Phase2C17I13M9 --procModifiers alpaka,singleIterPatatrack,phase2CAExtension,trackingLST\
--pileup AVE_200_BX_25ns --pileup_input filelist:minbias.txt\
--filein file:step2.root --fileout file:step2reHLT.root --no_exec -n 2 --processName=HLTX --inputCommands="keep *, drop *_hlt*_*_HLT, drop triggerTriggerFilterObjectWithRefs_l1t*_*_HLT" --outputCommands="drop *_*_*_HLT"\
--customise Validation/RecoTrack/customiseTrackingNtuple.customiseTrackingNtupleHLT,Validation/RecoTrack/customiseTrackingNtuple.extendedContent
The offending code situation should be visible by enabling the Number of steps exceeded warning in TwoTrackMinimumDistanceHelixLine::calculate
I tried to double the number of iterations but it didn't help much. Perhaps there is a helix loop overshoot in some cases and some heuristic improvements would be needed as well.
e.g., with printouts added:
at iter 1 dPhiH 3.03771 = -68.5274 / -22.5589 thePhiH -4.67845 thePhiH0 -1.64074
at iter 2 dPhiH 4.59834 = 70.4973 / 15.331 thePhiH -5.59812 thePhiH0 -1.64074
.. monotonous decrease in dPhiH
at iter 12 dPhiH 0.056171 = 4.04608 / 72.0315 thePhiH -5.99023 thePhiH0 -1.64074 <== default max
at iter 24 dPhiH 0.00385321 = 0.277988 / 72.1446 thePhiH -6.03203 thePhiH0 -1.64074
FAILED tscblBuilder from starting pos (-53.8587,-64.922,-81.633) mom (-0.0571817,-0.816178,-0.724604)