More detailed debug printout for ActsTrkFinding

Merged Tim Adye requested to merge adye/athena:adye-ckf7 into master

More debugging printout, following !60420 (merged). As before, printout is only activated with ConfigFlags.Acts.doPrintTrackStates=True.

  • Split printing from TrackFindingTool into new tool, TrackStatePrinter.
  • printMeasurements uses SpacePoint position for unmeasured strip coordinates. If that fails (eg. SP is not on surface), uses center.
  • Show localToGlobal and globalToLocal comparison for input measurements. If Acts and Trk transforms agree, then the printout in those columns is suppressed.
  • Remove using ActsTrk::TrackFindingTool::traj_Type = Acts::VectorMultiTrajectory. It's simpler to specify Acts::VectorMultiTrajectory explicitly.

Example run: --CA \
  --preExec 'flags.Acts.doPrintTrackStates=True;' \
  --preInclude InDetConfig.ConfigurationHelpers.OnlyTrackingPreInclude,ActsInterop.ActsCIFlags.actsValidateTracksFlags \
  --inputRDOFile /cvmfs/ \
  --outputAODFile AOD.pool.root \
  --maxEvents 20

The localToGlobal and globalToLocal comparison works for everything except for strip discs (search for Annulus in log.RAWtoALL). The issue is probably with the Acts -> Trk local coordinate transform (localPositionStrip2D line 309), which I cobbled together by trial and error to be fairly close, but not perfect.

This is a big improvement on what was there before, so I think we should merge this to aid further debugging. Just to be clear, the comparison is only done if ConfigFlags.Acts.doPrintTrackStates=True and even when it fails, it just shows the mismatched coordinates (no error message).

Edited by Tim Adye

Merge request reports