ATLAS Offline Software
JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ONNXUTIL_H
6 #define ONNXUTIL_H
7 
8 #include <onnxruntime_cxx_api.h>
9 #include <string>
10 #include <vector>
11 #include <memory>
12 
13 
14 class OnnxUtil final{
15 
16  public:
17 
18  // Constructor/destructor/init
19  OnnxUtil(const std::string& name);
20  ~OnnxUtil() = default;
21 
22  void initialize();
23 
24  // for fixed cut wp
25  void runInference(
26  const std::vector<std::vector<float>> & node_feat,
27  std::vector<float>& effAllJet
28  ) const;
29 
30  // for continuous wp
31  void runInference(
32  const std::vector<std::vector<float>> & node_feat,
33  std::vector<std::vector<float>>& effAllJetAllWp
34  ) const;
35 
36  private:
37 
38  std::vector<std::string> m_input_node_names;
39  std::vector<std::string> m_output_node_names;
40  std::unique_ptr< Ort::Session > m_session;
41  std::unique_ptr< Ort::Env > m_env;
42 
43  std::string m_path_to_onnx;
44 
45  // num_wp=1 for fixed cut;
46  int m_num_wp{};
47 
48 }; // Class OnnxUtil
49 
50 
51 #endif //ONNXUTIL_H
OnnxUtil::m_path_to_onnx
std::string m_path_to_onnx
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:43
OnnxUtil::m_session
std::unique_ptr< Ort::Session > m_session
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:40
OnnxUtil::OnnxUtil
OnnxUtil(const std::string &name)
Definition: FlavorTagDiscriminants/Root/OnnxUtil.cxx:16
OnnxUtil
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:14
OnnxUtil::m_output_node_names
std::vector< std::string > m_output_node_names
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:39
OnnxUtil::~OnnxUtil
~OnnxUtil()=default
OnnxUtil::m_input_node_names
std::vector< std::string > m_input_node_names
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:38
OnnxUtil::initialize
void initialize()
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/OnnxUtil.cxx:17
OnnxUtil::m_num_wp
int m_num_wp
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
OnnxUtil::runInference
void runInference(const std::vector< std::vector< float >> &node_feat, std::vector< float > &effAllJet) const
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/Root/OnnxUtil.cxx:64
OnnxUtil::m_env
std::unique_ptr< Ort::Env > m_env
Definition: JetTagPerformanceCalibration/xAODBTaggingEfficiency/xAODBTaggingEfficiency/OnnxUtil.h:41