ATLAS Offline Software
Loading...
Searching...
No Matches
HyPERTtbarAllHadronicModel.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HYPERANALYSISALGORITHMS_HYPERTTBARALLHADRONICMODEL_H
6#define HYPERANALYSISALGORITHMS_HYPERTTBARALLHADRONICMODEL_H
7
8#include <string>
9#include <vector>
10
11// HyPER includes
13
14namespace EventReco {
21 public:
23 const AthOnnx::IOnnxRuntimeInferenceTool* trainedOnEven,
24 const AthOnnx::IOnnxRuntimeInferenceTool* trainedOnOdd)
25 : HyPERModel(trainedOnEven, trainedOnOdd,
27
28 // Input nodes in the order declared by the ONNX graph. Note that this
29 // topology names the hyperedge batch tensor differently to the others.
30 std::vector<std::string> getInputNames() const override {
31 return std::vector<std::string>{"x_s", "edge_index",
32 "edge_attr_s", "u_s",
33 "batch", "edge_index_h",
34 "edge_index_h_batch"};
35 }
36
37 // Every output of the ONNX graph, in declaration order. Note that
38 // "edge_index_h_batch" is passed straight through by the model and is not
39 // consumed by the parser, but it still has to be bound. This topology has
40 // no classification score.
41 std::vector<HyPEROutputNode> getModelOutputs() const override {
42 return std::vector<HyPEROutputNode>{
43 {"sigmoid_1", true, HyPEROutputDim::HyperEdges, true},
44 {"edge_index_h_batch", false, HyPEROutputDim::HyperEdges, false},
45 {"sigmoid", true, HyPEROutputDim::Edges, true}};
46 }
47
48 std::vector<std::string> getOutputNames() const override {
49 return std::vector<std::string>{"sigmoid_1", "sigmoid"};
50 }
51};
52} // namespace EventReco
53
54#endif // HYPERANALYSISALGORITHMS_HYPERTTBARALLHADRONICMODEL_H
Interface class for creating Onnx Runtime sessions.
HyPERModel(const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnEven, const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnOdd, HyPERTopology topology)
Definition HyPERModel.h:62
std::vector< HyPEROutputNode > getModelOutputs() const override
Every output node of the ONNX graph, in declaration order.
std::vector< std::string > getInputNames() const override
Input node names in the order the ONNX graph declares them.
std::vector< std::string > getOutputNames() const override
Model-specific output names consumed by the parser.
HyPERTtbarAllHadronicModel(const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnEven, const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnOdd)