EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
InclusiveKinematicsML_factory.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2022 Wouter Deconinck
3
4#pragma once
5
6#include <JANA/JEvent.h>
7#include <edm4eic/InclusiveKinematicsCollection.h>
8#include <memory>
9#include <string>
10#include <utility>
11#include <vector>
12
15
16namespace eicrecon {
17
19 : public JOmniFactory<InclusiveKinematicsML_factory, InclusiveKinematicsMLConfig> {
20
21public:
23
24private:
25 std::unique_ptr<AlgoT> m_algo;
26
27 PodioInput<edm4eic::InclusiveKinematics> m_inclusive_kinematics_electron_input{this};
28 PodioInput<edm4eic::InclusiveKinematics> m_inclusive_kinematics_da_input{this};
29 PodioOutput<edm4eic::InclusiveKinematics> m_inclusive_kinematics_output{this};
30
31 ParameterRef<std::string> m_modelPath{this, "modelPath", config().modelPath};
32
33public:
34 void Configure() {
35 m_algo = std::make_unique<AlgoT>(GetPrefix());
36 m_algo->level(static_cast<algorithms::LogLevel>(logger()->level()));
37 m_algo->applyConfig(config());
38 m_algo->init();
39 }
40
41 void Process(int32_t /* run_number */, uint64_t /* event_number */) {
42 m_algo->process({m_inclusive_kinematics_electron_input(), m_inclusive_kinematics_da_input()},
43 {m_inclusive_kinematics_output().get()});
44 }
45};
46
47} // namespace eicrecon
Definition JOmniFactory.h:30
InclusiveKinematicsMLConfig & 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
Definition InclusiveKinematicsML_factory.h:19
void Configure()
Definition InclusiveKinematicsML_factory.h:34
void Process(int32_t, uint64_t)
Definition InclusiveKinematicsML_factory.h:41
Definition InclusiveKinematicsML.h:25
-client
Definition CalorimeterClusterRecoCoG.cc:37