6#include <JANA/JEvent.h>
7#include <edm4eic/InclusiveKinematicsCollection.h>
18template <
typename AlgoT>
20 :
public JOmniFactory<InclusiveKinematicsReconstructed_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<edm4eic::ReconstructedParticle> m_scattered_electron_input{
32 typename FactoryT::template PodioInput<edm4eic::HadronicFinalState> m_hadronic_final_state_input{
34 typename FactoryT::template PodioOutput<edm4eic::InclusiveKinematics>
35 m_inclusive_kinematics_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(),
49 m_scattered_electron_input(), m_hadronic_final_state_input()},
50 {m_inclusive_kinematics_output().get()});
Definition JOmniFactory.h:30
NoConfig & config()
Retrieve reference to embedded config object.
Definition JOmniFactory.h:576
std::shared_ptr< spdlog::logger > & logger()
Retrieve reference to already-configured logger.
Definition JOmniFactory.h:573
std::string GetPrefix()
Definition JOmniFactory.h:570
Definition InclusiveKinematicsReconstructed_factory.h:20
void Configure()
Definition InclusiveKinematicsReconstructed_factory.h:40
void Process(int32_t, uint64_t)
Definition InclusiveKinematicsReconstructed_factory.h:47
-client
Definition CalorimeterClusterRecoCoG.cc:37
Definition WithPodConfig.h:13