Acts TrackFinding: fix index out of bounds with useCache
Compare changes
TrackFindingMeasurements::addMeasurements
now uses a simple index counter instead of measurement->index()
when creating MeasurementRangeList
. index()
gives the index into the owning collection, whereas we want the index into the input collection. These will be different if the input collection is a view.
ITkConversionStripClusters_InView
input collection, which previously crashed with an index out of bounds in the Acts Conversion pass when flags.Acts.useCache=True
: ActsConversionTrackFindingAlg FATAL Standard std::exception is caught
ActsConversionTrackFindingAlg ERROR SG::ExcBadForwardLink: ForwardIndexingPolicy: internal link state of 'DataVector<xAOD::UncalibratedMeasurement_v1>' is invalid: m_index = 142136 is >= data container size = 4910
measurementOffset
s (used by TrackStatePrinter
) if there were more than 2 input collections.EnableITkPixel
and EnableITkStrip
also for measurements in the Acts Main and Conversion passes. If either had been set False
, there would have been a mismatch in HandleKeyArray
sizes.