14 :
public JOmniFactory<FarDetectorTransportationPostML_factory,
15 FarDetectorTransportationPostMLConfig> {
21 std::unique_ptr<AlgoT> m_algo;
23 PodioInput<edm4eic::Tensor> m_prediction_tensor_input{
this};
24 PodioInput<edm4eic::MCRecoTrackParticleAssociation> m_association_input{
this};
25 PodioInput<edm4hep::MCParticle> m_beamelectrons_input{
this};
27 PodioOutput<edm4eic::ReconstructedParticle> m_particle_output{
this};
28#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
29 PodioOutput<edm4eic::MCRecoParticleLink> m_links_output{
this};
31 PodioOutput<edm4eic::MCRecoParticleAssociation> m_association_output{
this};
33 ParameterRef<float> m_beamE{
this,
"beamE",
config().beamE};
34 ParameterRef<bool> m_requireBeamElectron{
this,
"requireBeamElectron",
35 config().requireBeamElectron};
36 ParameterRef<int> m_pdg_value{
37 this,
"pdgValue",
config().pdg_value,
38 "PDG value for the particle type to identify (default is electron)"};
40 Service<AlgorithmsInit_service> m_algorithmsInit{
this};
44 m_algo = std::make_unique<AlgoT>(
GetPrefix());
45 m_algo->level(
static_cast<algorithms::LogLevel
>(
logger()->level()));
46 m_algo->applyConfig(
config());
51 m_algo->process({m_prediction_tensor_input(), m_association_input(), m_beamelectrons_input()},
52 {m_particle_output().get(),
53#if EDM4EIC_BUILD_VERSION >= EDM4EIC_VERSION(8, 7, 0)
54 m_links_output().get(),
56 m_association_output().get()});
Definition FarDetectorTransportationPostML_factory.h:15
void Configure()
Definition FarDetectorTransportationPostML_factory.h:43
void Process(int32_t, uint64_t)
Definition FarDetectorTransportationPostML_factory.h:50
Definition FarDetectorTransportationPostML.h:39