14 :
public JOmniFactory<TruthEnergyPositionClusterMerger_factory, NoConfig> {
19 std::unique_ptr<AlgoT> m_algo;
21 PodioInput<edm4hep::MCParticle> m_mcparticles_input{
this};
22 PodioInput<edm4eic::Cluster> m_energy_clusters_input{
this};
23 PodioInput<edm4eic::MCRecoClusterParticleAssociation> m_energy_assocs_input{
this};
24 PodioInput<edm4eic::Cluster> m_position_clusters_input{
this};
25 PodioInput<edm4eic::MCRecoClusterParticleAssociation> m_position_assocs_input{
this};
27 PodioOutput<edm4eic::Cluster> m_clusters_output{
this};
28#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
29 PodioOutput<edm4eic::MCRecoClusterParticleLink> m_links_output{
this};
31 PodioOutput<edm4eic::MCRecoClusterParticleAssociation> m_assocs_output{
this};
33 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
37 m_algo = std::make_unique<AlgoT>(
GetPrefix());
38 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
39 m_algo->applyConfig(
config());
44 m_algo->process({m_mcparticles_input(), m_energy_clusters_input(), m_energy_assocs_input(),
45 m_position_clusters_input(), m_position_assocs_input()},
46 {m_clusters_output().get(),
47#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
48 m_links_output().get(),
50 m_assocs_output().get()});