When running reconstruction on incomplete input files with JANA2 2026.02.00 I'm getting additional error messages:
...
Exception in JFactory::Create, prefix=eicrecon::PulseNoise_factory
Exception in JFactory::Create, prefix=eicrecon::SiliconTrackerDigi_factory
ddsim --compactFile $DETECTOR_PATH/epic_inner_detector.xml --outputFile test.edm4hep.root --enableGun --numberOfEvents 10
DETECTOR_CONFIG=epic_inner_detector eicrecon test.edm4hep.root
When running reconstruction on incomplete input files with JANA2 2026.02.00 I'm getting additional error messages:
this is the reproducer in eic container:
JANA2/src/libraries/JANA/JFactory.cc
Lines 164 to 170 in 109d8a2
There are two questions that I wanted to discuss:
std::exception::what()could tell user:JOmniFactory: Failed to get collection B0TrackerHits: Missing databundle with uniquename 'B0TrackerHits', but that is not visible. Would it make sense to add that to the message?eicrecon::PulseNoise_factoryandeicrecon::SiliconTrackerDigi_factoryin that the later is about an optional collection:https://github.com/eic/EICrecon/blob/0bb708dfcf8f61e0aaf5e4c21e60da672d596a0b/src/global/tracking/tracking.cc#L71
https://github.com/eic/EICrecon/blob/0bb708dfcf8f61e0aaf5e4c21e60da672d596a0b/src/factories/meta/CollectionCollector_factory.h#L20-L22
https://github.com/eic/EICrecon/blob/0bb708dfcf8f61e0aaf5e4c21e60da672d596a0b/src/extensions/jana/JOmniFactory.h#L125-L128
Are we supposed to have control of what is considered exceptional and what is not?