TrigInDetTrackFitter magnetic field migration - ATR-21310
Migrate TrigInDetTrackFitter to new magnetic field cache. Also, TrigL2ResidualCalculator shared most of its code with TrigInDetTrackFitter - add the getUnbiasedResiduals
method to TrigInDetTrackFitter and delete the tool.
Mysteriously in my local tests this led to muCombMT complaining about being unable to retrieve its field service:
muCombMT_Muon_FTF 0 ERROR Could not retrieve AtlasFieldSvc --> Abort
muCombMT_Muon_FTF 0 ERROR AthenaBaseComps/AthenaBaseComps/AthCommonDataStore.icc:43 (StatusCode AthCommonDataStore<PBASE>::sysInitialize() [with PBASE = AthCommonMsg<Algorithm>]):
l2muCombViewNode 0 ERROR Unable to initialize Algorithm muCombMT/muCombMT_Muon_FTF
I don't know what's going on here so decided to submit the MR anyway. Maybe muCombMT is somehow relying on the AtlasFieldSvc initialised by TrigInDetTrackFitter up to this point?
Cheers,
Stewart
Merge request reports
Activity
added Trigger master review-pending-level-1 labels
CI Result FAILURE (hash 8cd3338d)Athena AthSimulation AnalysisBase AthGeneration externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 1, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 17347]/var/lib/jenkins/workspace/CI-MERGE-REQUEST-CC7/master/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx:57:10: fatal error: TrigInDetToolInterfaces/ITrigL2ResidualCalculator.h: No such file or directory #include "TrigInDetToolInterfaces/ITrigL2ResidualCalculator.h"
I guess a stray include after the removal?
added review-user-action-required label and removed review-pending-level-1 label
added 1 commit
- de8fc090 - Remove include/forward declaration of ITrigL2ResidualCalculator
added review-pending-level-1 label and removed review-user-action-required label
For the possible
muCombMT_Muon_FTF
issue you mention I see !34872 (merged) also on going so we shall see ... CI Result FAILURE (hash de8fc090)Athena AthSimulation AnalysisBase AthGeneration externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 17362]Ok looking at the errors perhaps we need to wait for !34872 (merged) to go in so there is not dependency from that side ?
The config is not obvious but I assume if we do not the FieldSvc from there it might be fine
CI Result FAILURE (hash de8fc090)Athena AthSimulation AnalysisBase AthGeneration externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 17379]The newest logs have a hard segmentation relating to
getUnbiasedResiduals
stack trace: RDOtoRDOTrigger 00:19:19 0x7fb5990e4af1 Athena::DebugAids::stacktrace(int) ??:0 + 0x51 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libCxxUtils.so D[0x2caf1]] RDOtoRDOTrigger 00:19:19 0x7fb5990e65cd Athena::Signal::fatalDump(int, siginfo_t*, void*) ??:0 + 0x21d [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libCxxUtils.so D[0x2e5cd]] RDOtoRDOTrigger 00:19:19 0x7fb5990e68bd Athena::Signal::fatal(int, siginfo_t*, void*) ??:0 + 0x19d [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libCxxUtils.so D[0x2e8bd]] RDOtoRDOTrigger 00:19:19 0x7fb597b49bb0 CoreDumpSvcHandler::action(int, siginfo_t*, void*) ??:0 + 0x3e0 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libAthenaServices.so D[0x2d6bb0]] RDOtoRDOTrigger 00:19:19 0x7fb5b8d2d630 __restore_rt ??:0 + 0x7fb5b8d2d630 [/lib64/libpthread.so.0 D[0xf630]] RDOtoRDOTrigger 00:19:19 0x7fb592c284f0 IdDictFieldImplementation::unpack(Identifier) const ??:0 + 0x0 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTileConditionsLib.so D[0x1fd4f0]] RDOtoRDOTrigger 00:19:20 0x7fb56afeda29 TrigInDetTrackFitter::getUnbiasedResiduals(Trk::Track const&, std::vector<TrigL2HitResidual, std::allocator<TrigL2HitResidual> >&, EventContext const&) const ??:0 + 0x869 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTrigInDetTrackFitter.so D[0x69a29]] RDOtoRDOTrigger 00:19:20 0x7fb573bd3a36 TrigFastTrackFinder::runResidualMonitoring(Trk::Track const&, EventContext const&) const ??:0 + 0x1996 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTrigFastTrackFinder.so D[0xf3a36]] RDOtoRDOTrigger 00:19:20 0x7fb573bdbdbc TrigFastTrackFinder::fillMon(DataVector<Trk::Track, DataModel_detail::NoBase> const&, TrigVertexCollection const&, TrigRoiDescriptor const&, EventContext const&) const ??:0 + 0x1d6c [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTrigFastTrackFinder.so D[0xfbdbc]] RDOtoRDOTrigger 00:19:20 0x7fb573bde64d TrigFastTrackFinder::findTracks(InDet::SiTrackMakerEventData_xk&, TrigRoiDescriptor const&, DataVector<Trk::Track, DataModel_detail::NoBase>&, EventContext const&) const ??:0 + 0x1cad [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTrigFastTrackFinder.so D[0xfe64d]] RDOtoRDOTrigger 00:19:20 0x7fb573bdf763 TrigFastTrackFinder::hltExecute(HLT::TriggerElement const*, HLT::TriggerElement*) ??:0 + 0x123 [/build2/ci-builds/master/Athena/build/Athena/x86_64-centos7-gcc8-opt/lib/libTrigFastTrackFinder.so D[0xff763]]
added review-user-action-required label
Figured it out
:StatusCode TrigInDetTrackFitter::initialize() { ATH_CHECK(m_trackMaker.retrieve()); if (m_correctClusterPos) { ATH_CHECK(m_ROTcreator.retrieve()); } ATH_CHECK( m_fieldCondObjInputKey.initialize()); return StatusCode::SUCCESS; ATH_CHECK(detStore()->retrieve(m_idHelper, "AtlasID")); ATH_CHECK(detStore()->retrieve(m_pixelId, "PixelID")); ATH_CHECK(detStore()->retrieve(m_sctId, "SCT_ID")); }
-> this, surprisingly, compiles without any warnings, despite the fact that the retrieve statements are after the return. Fixed in latest commit.
removed review-user-action-required label
CI Result FAILURE (hash 80b8ff48)Athena AthSimulation AnalysisBase AthGeneration externals cmake make required tests optional tests Full details available on this CI monitor view
Athena: number of compilation errors 0, warnings 0
AthSimulation: number of compilation errors 0, warnings 0
AnalysisBase: number of compilation errors 0, warnings 0
AthGeneration: number of compilation errors 0, warnings 0
For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 17459]Hi for the
conditions
part seems a bit textbook based on all other migrations . One bordeline comment isvoid fit(const TrackCollection&, TrackCollection&, const EventContext&, const Trk::ParticleHypothesis& matEffects = Trk::pion) const;
usually you would put
const EventContext&
1st https://acode-browser1.usatlas.bnl.gov/lxr/source/athena/Tracking/TrkFitter/TrkFitterInterfaces/TrkFitterInterfaces/ITrackFitter.h or last as you do . Do not mind middle too much though ....since this is legacy do not know if you want to bother too much.
So assuming that is anyhow legacy and since most of the conditions changes look similar to all the other cases anyhow do not see any issues.
It is the last in a long chain .
For the above comment leave you up to you as positioning of the EventContext argument can turn to bike shed discussion and not sure it even matters here.
Edited by Christos Anastopoulosadded review-approved label
removed review-pending-level-1 label
mentioned in commit 7145fdc8
added sweep:ignore label