eic / EICrecon

EIC Reconstruction - JANA based
https://eic.github.io/EICrecon
GNU Lesser General Public License v3.0
5 stars 24 forks source link

Make TaggerTracker and/or central tracks optional #1503

Closed simonge closed 2 weeks ago

simonge commented 4 weeks ago

This should restore the ability to write out tracks from the central detector while using an xml configuration which doesn't contain the far-backward detectors (and vise versa)

github-actions[bot] commented 4 weeks ago

Capybara summary for PR 1503

simonge commented 2 weeks ago

Where do we stand with having optional collections, at least for the very simplest scenario where all input collections are optional?

veprbl commented 2 weeks ago

Where do we stand with having optional collections, at least for the very simplest scenario where all input collections are optional?

All input collections are currently "optional", in that the factories just disable themselves and don't produce any output.

nathanwbrei commented 2 weeks ago

@simonge It's present in the upstreamed version of OmniFactory that lives under JANA/Omni/JOmniFactory. Both PodioInputs and VariationalPodioInputs accept an is_optional flag. If you set this flag to true, the collection pointers will be allowed to be null, so you have to check for that. I haven't updated EICrecon to use the upstreamed version of OmniFactory anywhere yet, but you could experiment with it if you like, and report back any problems you find.

Note that if you use the upstreamed JOmniFactory, you'll probably have to use the upstreamed JOmniFactoryGenerator that goes with it. Both of these live in the jana::omni namespace, so they hopefully shouldn't conflict with the EICrecon version.