 |
ATLAS Offline Software
|
Go to the documentation of this file.
3 #ifndef FPGATRACKSIMGNNGRAPHCONSTRUCTIONTOOL_H
4 #define FPGATRACKSIMGNNGRAPHCONSTRUCTIONTOOL_H
26 #include <onnxruntime_cxx_api.h>
43 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
50 ToolHandle<AthOnnx::IOnnxRuntimeInferenceTool>
m_MLInferenceTool {
this,
"MLInferenceTool",
"AthOnnx::OnnxRuntimeInferenceTool"};
56 Gaudi::Property<std::string>
m_graphTool {
this,
"graphTool",
"",
"Tool for graph construction" };
57 Gaudi::Property<std::string>
m_moduleMapType {
this,
"moduleMapType",
"",
"Type for Module Map for graph construction" };
58 Gaudi::Property<std::string>
m_moduleMapFunc {
this,
"moduleMapFunc",
"",
"Function for Module Map for graph construction" };
59 Gaudi::Property<float>
m_moduleMapTol {
this,
"moduleMapTol", 0.0,
"Tolerance value for Module Map cut calculations" };
60 Gaudi::Property<float>
m_metricLearningR {
this,
"metricLearningR", 0.0,
"Clustering radius for Metric Learning"};
61 Gaudi::Property<int>
m_metricLearningMaxN {
this,
"metricLearningMaxN", 1,
"Max number of neighbours for Metric Learning"};
83 void doModuleMap(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits,
84 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
86 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
87 void applyDoubletCuts(
const std::shared_ptr<FPGATrackSimGNNHit> & hit1,
const std::shared_ptr<FPGATrackSimGNNHit> & hit2,
88 std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges,
89 int hit1_index,
int hit2_index,
unsigned int modulemap_id);
93 void doMetricLearning(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits, std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges);
94 std::vector<float>
getNodeFeatures(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits);
95 std::vector<float>
embed(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits);
96 void doClustering(
const std::vector<std::shared_ptr<FPGATrackSimGNNHit>> &
hits, std::vector<std::shared_ptr<FPGATrackSimGNNEdge>> & edges, std::vector<float> & gEmbedded);
99 this,
"MLFeatureNames",
101 "Feature names for the Metric Learning model"};
103 this,
"MLFeatureScales",
104 {1000.0, 3.14159265359, 1000.0},
105 "Feature scales for the Metric Learning model"};
108 #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.