20 :
public JOmniFactory<HadronicFinalState_factory<AlgoT>, NoConfig> {
26 std::unique_ptr<AlgoT> m_algo;
28 typename FactoryT::template PodioInput<edm4hep::MCParticle> m_mc_beam_electrons_input{
this};
29 typename FactoryT::template PodioInput<edm4hep::MCParticle> m_mc_beam_protons_input{
this};
30 typename FactoryT::template PodioInput<edm4hep::MCParticle> m_mc_particles_input{
this};
31 typename FactoryT::template PodioInput<edm4eic::ReconstructedParticle> m_rc_particles_input{
this};
32 typename FactoryT::template PodioInput<edm4eic::MCRecoParticleAssociation>
33 m_rc_particles_assoc_input{
this};
34 typename FactoryT::template PodioOutput<edm4eic::HadronicFinalState>
35 m_hadronic_final_state_output{
this};
37 typename FactoryT::template Service<AlgorithmsInit_service> m_algorithmsInit{
this};
41 m_algo = std::make_unique<AlgoT>(this->
GetPrefix());
42 m_algo->level(
static_cast<algorithms::LogLevel
>(this->
logger()->level()));
43 m_algo->applyConfig(this->
config());
48 m_algo->process({m_mc_beam_electrons_input(), m_mc_beam_protons_input(), m_mc_particles_input(),
49 m_rc_particles_input(), m_rc_particles_assoc_input()},
50 {m_hadronic_final_state_output().get()});