-
Notifications
You must be signed in to change notification settings - Fork 19
Description
TL; DR:
It is only removed for the collectionNames
, not for idToName
k4MarlinWrapper/k4MarlinWrapper/src/components/StoreUtils.cpp
Lines 90 to 98 in 163d9a1
// Remove the leading / | |
collectionNames.push_back(pReg->name().substr(1, pReg->name().size() - 1)); | |
if (idToName) { | |
if (functionalWrapper) { | |
idToName->emplace(functionalWrapper->getData()->getID(), pReg->name()); | |
} else { | |
idToName->emplace(algorithmWrapper->collectionBase()->getID(), pReg->name()); | |
} | |
} |
The name from idToName
ends up as is in lcio_event->getCollection(name)
k4MarlinWrapper/k4MarlinWrapper/src/components/EDM4hep2Lcio.cpp
Lines 466 to 469 in 163d9a1
if (auto it = m_idToName.find(id); it != m_idToName.end()) { | |
auto name = it->second; | |
if (pidCollMeta.metadata.has_value()) { | |
UTIL::PIDHandler pidHandler(lcio_event->getCollection(name)); |
This then throws an uncaught missing collection exception that only gets reported by the MarlinProcessorWrapper this tool was attached to, at first glance looking like one of the usual missing collection problems...
[ctest] ToolSvc.EventNu... DEBUG Event: 0 Run: 0
[ctest] EventNumber FATAL Standard std::exception is caught in sysExecute
[ctest] EventNumber ERROR lcio::DataNotAvailableException: LCEventImpl::getCollection: collection not in event:/BuildUpVertices
I have not looked at everything so I don't know if we can just remove the /
or if we need more changes to not break in another place. We also should also add a test covering this.
More details:
I encountered this while trying to add the MLJetTagger to CLDConfig after switching to the IOSvc
key4hep/CLDConfig#78
From this comment it looks like that part of the code should not even run for the BuildUpVertices
// Now go over the collections that have been produced in a functional algorithm (if any) |
But I think the actual condition is different, all my collections are from the TES event if not produced by a functional algorithm
[ctest] ToolSvc.EventNu... INFO Converting all collections from EDM4hep to LCIO
[ctest] ToolSvc.EventNu... DEBUG Adding 'YokeEndcapCollectionContributions' from TES to conversion? trueAdding 'YokeEndcapCollection' from TES to conversion? trueAdding 'VertexBarrelCollection' from TES to conversion? trueAdding 'OuterTrackerBarrelCollection' from TES to conversion? trueAdding 'YokeBarrelCollectionContributions' from TES to conversion? trueAdding 'VertexEndcapCollection' from TES to conversion? trueAdding 'LumiCalCollection' from TES to conversion? trueAdding 'ECalBarrelCollection' from TES to conversion? trueAdding 'YokeBarrelCollection' from TES to conversion? trueAdding 'OuterTrackerEndcapCollection' from TES to conversion? trueAdding 'HCalRingCollection' from TES to conversion? trueAdding 'HCalRingCollectionContributions' from TES to conversion? trueAdding 'MCParticles' from TES to conversion? falseAdding 'ECalBarrelCollectionContributions' from TES to conversion? trueAdding 'EventHeader' from TES to conversion? trueAdding 'ECalEndcapCollectionContributions' from TES to conversion? trueAdding 'HCalBarrelCollectionContributions' from TES to conversion? trueAdding 'LumiCalCollectionContributions' from TES to conversion? trueAdding 'ECalEndcapCollection' from TES to conversion? trueAdding 'HCalBarrelCollection' from TES to conversion? trueAdding 'InnerTrackerBarrelCollection' from TES to conversion? trueAdding 'HCalEndcapCollection' from TES to conversion? trueAdding 'HCalEndcapCollectionContributions' from TES to conversion? trueAdding 'InnerTrackerEndcapCollection' from TES to conversion? trueAdding 'BuildUpVertices' from TES to conversion? trueAdding 'BuildUpVertices_associatedParticles' from TES to conversion? trueAdding 'BuildUpVertices_RP' from TES to conversion? trueAdding 'BuildUpVertices_RP_startVertices' from TES to conversion? trueAdding 'BuildUpVertices_V0' from TES to conversion? trueAdding 'BuildUpVertices_V0_associatedParticles' from TES to conversion? trueAdding 'BuildUpVertices_V0_RP' from TES to conversion? trueAdding 'BuildUpVertices_V0_RP_startVertices' from TES to conversion? trueAdding 'ECALBarrel' from TES to conversion? trueAdding 'ECALEndcap' from TES to conversion? trueAdding 'HCALBarrel' from TES to conversion? trueAdding 'HCALEndcap' from TES to conversion? trueAdding 'HCALOther' from TES to conversion? trueAdding 'ITrackerEndcapHits' from TES to conversion? trueAdding 'ITrackerHits' from TES to conversion? trueAdding 'LumiCalClusters' from TES to conversion? trueAdding 'LumiCalHits' from TES to conversion? trueAdding 'LumiCalRecoParticles' from TES to conversion? trueAdding 'LumiCalRecoParticles_startVertices' from TES to conversion? trueAdding 'MUON' from TES to conversion? trueAdding 'OTrackerEndcapHits' from TES to conversion? trueAdding 'OTrackerHits' from TES to conversion? trueAdding 'PandoraClusters' from TES to conversion? trueAdding 'PandoraPFOs' from TES to conversion? trueAdding 'PandoraPFOs_startVertices' from TES to conversion? trueAdding 'PandoraStartVertices' from TES to conversion? trueAdding 'PandoraStartVertices_associatedParticles' from TES to conversion? trueAdding 'PrimaryVertices' from TES to conversion? trueAdding 'PrimaryVertices_associatedParticles' from TES to conversion? trueAdding 'PrimaryVertices_RP' from TES to conversion? trueAdding 'PrimaryVertices_RP_startVertices' from TES to conversion? trueAdding 'RefinedVertexJets' from TES to conversion? trueAdding 'RefinedVertexJets_PID_yth' from TES to conversion? trueAdding 'RefinedVertexJets_startVertices' from TES to conversion? trueAdding 'RefinedVertexJets_vtx' from TES to conversion? trueAdding 'RefinedVertexJets_vtx_associatedParticles' from TES to conversion? trueAdding 'RefinedVertexJets_vtx_RP' from TES to conversion? trueAdding 'RefinedVertexJets_vtx_RP_startVertices' from TES to conversion? trueAdding 'RefinedVertices' from TES to conversion? trueAdding 'RefinedVertices_associatedParticles' from TES to conversion? trueAdding 'RefinedVertices_RP' from TES to conversion? trueAdding 'RefinedVertices_RP_startVertices' from TES to conversion? trueAdding 'SiTracks' from TES to conversion? trueAdding 'SiTracks_dQdx' from TES to conversion? trueAdding 'SiTracksCT' from TES to conversion? trueAdding 'SiTracksCT_dQdx' from TES to conversion? trueAdding 'SiTracks_Refitted' from TES to conversion? trueAdding 'SiTracks_Refitted_dQdx' from TES to conversion? trueAdding 'VXDEndcapTrackerHits' from TES to conversion? trueAdding 'VXDTrackerHits' from TES to conversion? trueAdding 'VertexJets' from TES to conversion? trueAdding 'VertexJets_PID_yth' from TES to conversion? trueAdding 'VertexJets_startVertices' from TES to conversion? trueAdding 'DebugHits' from TES to conversion? trueAdding 'EfficientMCParticles' from TES to conversion? trueAdding 'InefficientMCParticles' from TES to conversion? trueAdding 'LooseSelectedPandoraPFOs' from TES to conversion? trueAdding 'MCParticlesSkimmed' from TES to conversion? trueAdding 'MCPhysicsParticles' from TES to conversion? trueAdding 'PFOsFromJets' from TES to conversion? trueAdding 'SelectedPandoraPFOs' from TES to conversion? trueAdding 'TightSelectedPandoraPFOs' from TES to conversion? trueAdding 'CalohitMCTruthLink' from TES to conversion? trueAdding 'ClusterMCTruthLink' from TES to conversion? trueAdding 'InnerTrackerBarrelHitsRelations' from TES to conversion? trueAdding 'InnerTrackerEndcapHitsRelations' from TES to conversion? trueAdding 'MCTruthClusterLink' from TES to conversion? trueAdding 'MCTruthRecoLink' from TES to conversion? trueAdding 'MCTruthSiTracksLink' from TES to conversion? trueAdding 'OuterTrackerBarrelHitsRelations' from TES to conversion? trueAdding 'OuterTrackerEndcapHitsRelations' from TES to conversion? trueAdding 'RecoMCTruthLink' from TES to conversion? trueAdding 'RefinedVertexJets_rel' from TES to conversion? trueAdding 'RelationCaloHit' from TES to conversion? trueAdding 'RelationMuonHit' from TES to conversion? trueAdding 'SiTracksMCTruthLink' from TES to conversion? trueAdding 'VXDEndcapTrackerHitRelations' from TES to conversion? trueAdding 'VXDTrackerHitRelations' from TES to conversion? trueAdding 'RefinedJetTag_G' from TES to conversion? trueAdding 'RefinedJetTag_U' from TES to conversion? trueAdding 'RefinedJetTag_S' from TES to conversion? trueAdding 'RefinedJetTag_C' from TES to conversion? trueAdding 'RefinedJetTag_B' from TES to conversion? trueAdding 'RefinedJetTag_D' from TES to conversion? trueAdding 'RefinedJetTag_TAU' from TES to conversion? trueConverting collection EventHeader (storing it as <directly into LCEvent>)
(there is also a missing endmsg()
in that printout)