ATLAS Offline Software
Loading...
Searching...
No Matches
HyPERTtbarDiLeptonModel.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_HYPERTTBARDILEPTONMODEL_H
6#define HYPERANALYSISALGORITHMS_HYPERTTBARDILEPTONMODEL_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, HyPERTopology::TtbarDiLepton) {}
26
27 // Input nodes in the order declared by the ONNX graph.
28 std::vector<std::string> getInputNames() const override {
29 return std::vector<std::string>{"x_s", "edge_index",
30 "edge_attr_s", "u_s",
31 "batch", "edge_index_h",
32 "batch_hyperedge"};
33 }
34
35 // Every output of the ONNX graph, in declaration order. Note that
36 // "batch_hyperedge" is passed straight through by the model and is not
37 // consumed by the parser, but it still has to be bound.
38 std::vector<HyPEROutputNode> getModelOutputs() const override {
39 return std::vector<HyPEROutputNode>{
40 {"hyperedge_prime", true, HyPEROutputDim::HyperEdges, true},
41 {"batch_hyperedge", false, HyPEROutputDim::HyperEdges, false},
42 {"edge_prime", true, HyPEROutputDim::Edges, true},
43 {"classification_score", true, HyPEROutputDim::Single, true}};
44 }
45
46 std::vector<std::string> getOutputNames() const override {
47 return std::vector<std::string>{"hyperedge_prime", "edge_prime",
48 "classification_score"};
49 }
50};
51} // namespace EventReco
52
53#endif // HYPERANALYSISALGORITHMS_HYPERTTBARDILEPTONMODEL_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< 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.
std::vector< HyPEROutputNode > getModelOutputs() const override
Every output node of the ONNX graph, in declaration order.
HyPERTtbarDiLeptonModel(const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnEven, const AthOnnx::IOnnxRuntimeInferenceTool *trainedOnOdd)