EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
InclusiveKinematicsML.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (C) 2022, 2023 Sylvester Joosten, Dmitry Romanov, Wouter Deconinck
3
4#pragma once
5
6#include <algorithms/algorithm.h>
7#include <cstdint>
8#include <edm4eic/InclusiveKinematicsCollection.h>
9#include <onnxruntime_cxx_api.h>
10#include <string>
11#include <string_view>
12#include <vector>
13
16
17namespace eicrecon {
18
20 algorithms::Algorithm<algorithms::Input<edm4eic::InclusiveKinematicsCollection,
21 edm4eic::InclusiveKinematicsCollection>,
22 algorithms::Output<edm4eic::InclusiveKinematicsCollection>>;
23
25 public WithPodConfig<InclusiveKinematicsMLConfig> {
26
27public:
28 InclusiveKinematicsML(std::string_view name)
30 {"inclusiveKinematicsElectron", "inclusiveKinematicsDA"},
31 {"inclusiveKinematicsML"},
32 "Determine inclusive kinematics using combined ML method."} {
33 }
34
35 void init() final;
36 void process(const Input&, const Output&) const final;
37
38private:
39 mutable Ort::Env m_env{nullptr};
40 mutable Ort::Session m_session{nullptr};
41
42 std::vector<std::string> m_input_names;
43 std::vector<const char*> m_input_names_char;
44 std::vector<std::vector<std::int64_t>> m_input_shapes;
45
46 std::vector<std::string> m_output_names;
47 std::vector<const char*> m_output_names_char;
48 std::vector<std::vector<std::int64_t>> m_output_shapes;
49};
50
51} // namespace eicrecon
Definition InclusiveKinematicsML.h:25
InclusiveKinematicsML(std::string_view name)
Definition InclusiveKinematicsML.h:28
Definition WithPodConfig.h:22
-client
Definition CalorimeterClusterRecoCoG.cc:37
algorithms::Algorithm< algorithms::Input< edm4eic::InclusiveKinematicsCollection, edm4eic::InclusiveKinematicsCollection >, algorithms::Output< edm4eic::InclusiveKinematicsCollection > > InclusiveKinematicsMLAlgorithm
Definition InclusiveKinematicsML.h:22