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
TrackFindingTool
into new tool,TrackStatePrinter
. -
printMeasurements
usesSpacePoint
position for unmeasured strip coordinates. If that fails (eg. SP is not on surface), uses center. - Show
localToGlobal
andglobalToLocal
comparison for input measurements. IfActs
andTrk
transforms agree, then the printout in those columns is suppressed. - Remove
using ActsTrk::TrackFindingTool::traj_Type = Acts::VectorMultiTrajectory
. It's simpler to specifyActs::VectorMultiTrajectory
explicitly.
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