More detailed debug printout for ActsTrkFinding
More debugging printout, following !60420 (merged). As before, printout is only activated with ConfigFlags.Acts.doPrintTrackStates=True.
- Split printing from
TrackFindingToolinto new tool,TrackStatePrinter. -
printMeasurementsusesSpacePointposition for unmeasured strip coordinates. If that fails (eg. SP is not on surface), uses center. - Show
localToGlobalandglobalToLocalcomparison for input measurements. IfActsandTrktransforms agree, then the printout in those columns is suppressed. - Remove
using ActsTrk::TrackFindingTool::traj_Type = Acts::VectorMultiTrajectory. It's simpler to specifyActs::VectorMultiTrajectoryexplicitly.
Example run:
Reco_tf.py --CA \
--preExec 'flags.Acts.doPrintTrackStates=True;' \
--preInclude InDetConfig.ConfigurationHelpers.OnlyTrackingPreInclude,ActsInterop.ActsCIFlags.actsValidateTracksFlags \
--inputRDOFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/PhaseIIUpgrade/RDO/mc15_14TeV.900040.PG_singlemu_Pt100_etaFlatnp0_43.recon.RDO.e8185_s3856_r13824/RDO.29831688._000001.pool.root.1 \
--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