 |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATRACKSIMGNNGRAPHCONSTRUCTIONTOOL_H
4 #define FPGATRACKSIMGNNGRAPHCONSTRUCTIONTOOL_H
25 #include <onnxruntime_cxx_api.h>
42 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
49 ToolHandle<AthOnnx::IOnnxRuntimeInferenceTool>
m_MLInferenceTool {
this,
"MLInferenceTool",
"AthOnnx::OnnxRuntimeInferenceTool"};
54 Gaudi::Property<std::string>
m_graphTool {
this,
"graphTool",
"",
"Tool for graph construction" };
55 Gaudi::Property<std::string>
m_moduleMapType {
this,
"moduleMapType",
"",
"Type for Module Map for graph construction" };
56 Gaudi::Property<std::string>
m_moduleMapFunc {
this,
"moduleMapFunc",
"",
"Function for Module Map for graph construction" };
57 Gaudi::Property<float>
m_moduleMapTol {
this,
"moduleMapTol", 0.0,
"Tolerance value for Module Map cut calculations" };
58 Gaudi::Property<std::string>
m_moduleMapPath {
this,
"moduleMapPath",
"",
"Location of Module Map ROOT file" };
59 Gaudi::Property<float>
m_metricLearningR {
this,
"metricLearningR", 0.0,
"Clustering radius for Metric Learning"};
60 Gaudi::Property<int>
m_metricLearningMaxN {
this,
"metricLearningMaxN", 1,
"Max number of neighbours for Metric Learning"};
81 void doModuleMap(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits,
82 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
84 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
85 void applyDoubletCuts(
const std::shared_ptr<FPGATrackSimGNNHit> & hit1,
const std::shared_ptr<FPGATrackSimGNNHit> & hit2,
86 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges,
87 int hit1_index,
int hit2_index,
unsigned int modulemap_id);
91 void doMetricLearning(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits, std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
92 std::vector<float>
getNodeFeatures(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits);
93 std::vector<float>
embed(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits);
94 void doClustering(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits, std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges, std::vector<float> & gEmbedded);
97 this,
"MLFeatureNames",
99 "Feature names for the Metric Learning model"};
101 this,
"MLFeatureScales",
102 {1000.0, 3.14159265359, 1000.0},
103 "Feature scales for the Metric Learning model"};
106 #endif // FPGATRACKSIMGNNGRAPHCONSTRUCTIONTOOL_H
FPGATrackSim-specific class to represent an edge as a connection between two hits in the detector use...
::StatusCode StatusCode
StatusCode definition for legacy code.
FPGATrackSim-specific class to represent an hit in the detector used for GNN pattern recognition.