Skip to content

Draft: Convert source links to EL

Tomasz Bold requested to merge tbold/athena:use-EL-source-link into main

With this change the sourceLinks are converted to EL to UncalibratedMeasurements (on the spot - may be optimised out in the future). However in particular usecases the object pointed to by the sourceLink does not seem to this EL type.

Running: ../athena/AtlasTest/CITest/test/ActsGSFInEgamma.sh + debugger indicates the issue in MeasurementCalibrator.

@pagessin this is the issue mentioned in !67561 (merged)

#0  0x00007f9bf2ab4350 in __cxa_throw () from /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libstdc++.so.6
#1  0x00007f9bafa4528f in Acts::AnyBase<16ul>::operator= (other=..., this=<optimized out>)
    at /cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2023-12-04T2101/AthenaExternals/24.0.17/InstallArea/x86_64-el9-gcc13-opt/include/Acts/Utilities/Any.hpp:210
#2  0x00007f9bafa453bf in Acts::AnyBase<16ul>::as<ElementLink<DataVector<xAOD::UncalibratedMeasurement_v1, DataModel_detail::NoBase> > > (
    this=this@entry=0x7fffb69ebca0) at /srv/athena/Tracking/Acts/ActsEvent/Root/MultiTrajectory.cxx:233
#3  Acts::SourceLink::get<ElementLink<DataVector<xAOD::UncalibratedMeasurement_v1, DataModel_detail::NoBase> > > (this=this@entry=0x7fffb69ebca0)
    at /cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2023-12-04T2101/AthenaExternals/24.0.17/InstallArea/x86_64-el9-gcc13-opt/include/Acts/EventData/SourceLink.hpp:66
#4  ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl (this=<optimized out>, istate=<optimized out>, sourceLink=...)
    at /srv/athena/Tracking/Acts/ActsEvent/Root/MultiTrajectory.cxx:393
#5  0x00007f9baf66d853 in Acts::MultiTrajectory<ActsTrk::MutableMultiTrajectory>::setUncalibratedSourceLink<false, void> (sourceLink=...,
    istate=<optimized out>, this=<optimized out>)
    at /cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2023-12-04T2101/AthenaExternals/24.0.17/InstallArea/x86_64-el9-gcc13-opt/include/Acts/EventData/MultiTrajectory.hpp:1494
#6  Acts::detail_lt::TrackStateProxy<ActsTrk::MutableMultiTrajectory, 6ul, false>::setUncalibratedSourceLink<false, void> (sourceLink=...,
    this=0x7fffb69ebd00)
    at /cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/2023-12-04T2101/AthenaExternals/24.0.17/InstallArea/x86_64-el9-gcc13-opt/include/Acts/EventData/MultiTrajectory.hpp:744
#7  ActsTrk::TrkMeasurementCalibrator<ActsTrk::MutableMultiTrajectory>::operator() (this=0x4f523ce0, gctx=..., cctx=..., sl=..., trackState=...)
    at /srv/athena/Tracking/Acts/ActsTrackReconstruction/src/MeasurementCalibrator.h:206
#8  0x00007f9baf64c06b in std::__invoke_impl<void, void (ActsTrk::TrkMeasurementCalibrator<ActsTrk::MutableMultiTrajectory>::*)(Acts::ContextType const&, std::any const&, Acts::SourceLink const&, Acts::detail_lt::TrackStateProxy<ActsTrk::MutableMultiTrajectory, 6ul, false>) const, ActsTrk::TrkMeasurementCalibrator<ActsTrk::MutableMultiTrajectory> const*&, Acts::ContextType const&, std::any const&, Acts::SourceLink const&, Acts::detail_lt::TrackStateProxy<ActsTrk::MutableMultiTrajectory, 6ul, false> > (__f=<optimized out>, __t=<synthetic pointer>: <optimized out>)
    at /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/include/c++/13.1.0/bits/invoke.h:74
...
Edited by Tomasz Bold

Merge request reports