5#ifndef ActsGnnModuleMapFinderTool_H
6#define ActsGnnModuleMapFinderTool_H
13#include "Acts/Utilities/Logger.hpp"
14#include "ActsPlugins/Gnn/GnnPipeline.hpp"
37 using extends::extends;
42 const std::vector<const Trk::SpacePoint*>& spacepoints,
43 std::vector<std::vector<uint32_t>>& tracks,
44 std::unordered_map<
int, std::unordered_map<int, float>>* edgeMap =
nullptr)
const override;
46 virtual MsgStream&
dump(MsgStream& out)
const override;
47 virtual std::ostream&
dump(std::ostream& out)
const override;
53 static constexpr std::array<const char*, NUM_FEATURES>
FEATURE_NAMES = {{
54 "r",
"phi",
"z",
"eta",
55 "cluster_r_1",
"cluster_phi_1",
"cluster_z_1",
"cluster_eta_1",
56 "cluster_r_2",
"cluster_phi_2",
"cluster_z_2",
"cluster_eta_2"
71 StringProperty
m_moduleMapPath{
this,
"moduleMapPath",
"",
"Path to module map ROOT files"};
72 StringProperty
m_gnnPath{
this,
"gnnPath",
"",
"Path to GNN model (.onnx, .pt, or .engine)"};
73 FloatProperty
m_edgeCut{
this,
"edgeCut", 0.5,
"Edge classification cut"};
74 UnsignedIntegerProperty
m_numTrtContexts{
this,
"numTrtContexts", 1,
"Number of TensorRT execution contexts (controls concurrency)"};
76 BooleanProperty
m_useEdgeLayerConnector{
this,
"useEdgeLayerConnector",
false,
"Use the EdgeLayerConnector instead of CC&JR as graph segmentation algorithm"};
77 IntegerProperty
m_elcMaxHitsPerTrack{
this,
"elcMaxHitsPerTrack", 30,
"Max hits per track config for the EdgeLayerConnector"};
81 this,
"SpacepointFeatureTool",
"InDet::SpacepointFeatureTool"};