Open DraTeots opened 4 months ago
What's wrong with Parameter? Can you provide a test case?
I'm working on upstreaming the omnifactory machinery (Parameter, Input, Output, Service, Resource) into JANA itself, uniformly across all components (EventSource, EventProcessor, EventUnfolder, JFactory, JMultiFactory)
It is rather difficulties with parameter management I foresee than bugs. And basically goes about how users would write their own Parameter classes. If they want to extend the functinality.
Ah, and maybe it is a good idea to add ExistingParameter
that will utilize a parameter that is known to be used somewhere else. How same parameters should properly be handled between classes of the same plugin or between plugins? E.g. in FL4FPGA we have a a parameter number of SRS timebins
, which should be provided for EVIO reader, DQM processor and GEM reconstruction. And it should be the same value to function properly.
Breaking this conversation down into actionable items so that I can close the issue someday:
ExistingParameter
flag in order to escape Omni's strict namespacingParameter
helper with custom types. Challenge mode: Types that need to be parsed several different ways, e.g. nthreads
JEventProcessorSequential
and JEventProcessorSequentialRoot
, demonstrating that 100% of their functionality is present in the Omni-fied JEventProcessor now.
For the record, OmniFactories are completely broken for outside of PodIO cases and if one uses Parameter and not ParameterRef. I actually took OmniFactory code and made my own
theme parksuch factory but without input-output tag names and idea of underlying independant algorithm+config struct for each factory. There are some other improvements.Not to intersect with OmniFactoris I called it CozyFactory
Working with the GOAT/Omni factories instead of usual JFactories:
Pros:
values = m_whatever_input()
m_my_output().push_back(result)
Cons:
Thoughts: