ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::ActsGnnModuleMapFinderTool Class Reference

Tool that produces track candidates using the ACTS GNN pipeline with module-map graph construction, edge classification, and track building. More...

#include <ActsGnnModuleMapFinderTool.h>

Inheritance diagram for InDet::ActsGnnModuleMapFinderTool:
Collaboration diagram for InDet::ActsGnnModuleMapFinderTool:

Public Member Functions

virtual StatusCode initialize () override
virtual StatusCode getTracks (const std::vector< const Trk::SpacePoint * > &spacepoints, std::vector< std::vector< uint32_t > > &tracks, std::unordered_map< int, std::unordered_map< int, float > > *edgeMap=nullptr) const override
virtual MsgStream & dump (MsgStream &out) const override
virtual std::ostream & dump (std::ostream &out) const override

Private Attributes

StringProperty m_moduleMapPath {this, "moduleMapPath", "", "Path to module map ROOT files"}
StringProperty m_gnnPath {this, "gnnPath", "", "Path to GNN model (.onnx, .pt, or .engine)"}
FloatProperty m_edgeCut {this, "edgeCut", 0.5, "Edge classification cut"}
UnsignedIntegerProperty m_numTrtContexts {this, "numTrtContexts", 1, "Number of TensorRT execution contexts (controls concurrency)"}
UnsignedIntegerProperty m_minCandidateMeasurements {this, "minCandidateMeasurements", 7, "Min measurements per candidate"}
BooleanProperty m_useEdgeLayerConnector {this, "useEdgeLayerConnector", false, "Use the EdgeLayerConnector instead of CC&JR as graph segmentation algorithm"}
IntegerProperty m_elcMaxHitsPerTrack {this, "elcMaxHitsPerTrack", 30, "Max hits per track config for the EdgeLayerConnector"}
ToolHandle< ISpacepointFeatureTool > m_spacepointFeatureTool
std::unique_ptr< ActsPlugins::GnnPipeline > m_gnnPipeline
std::unique_ptr< const Acts::Logger > m_logger
std::optional< std::mutex > m_runMutex ATLAS_THREAD_SAFE {}

Static Private Attributes

static constexpr std::size_t NUM_FEATURES = 12
static constexpr std::array< const char *, NUM_FEATURES > FEATURE_NAMES
static constexpr float kScaleR = 1000.f
static constexpr float kScalePhi = 3.14159265359f
static constexpr float kScaleZ = 1000.f
static constexpr float kScaleEta = 1.f
static constexpr std::array< float, NUM_FEATURES > FEATURE_SCALES

Detailed Description

Tool that produces track candidates using the ACTS GNN pipeline with module-map graph construction, edge classification, and track building.

Implements the IGNNTrackFinder interface for use with SiSPGNNTrackMaker.

Definition at line 34 of file ActsGnnModuleMapFinderTool.h.

Member Function Documentation

◆ dump() [1/2]

virtual MsgStream & InDet::ActsGnnModuleMapFinderTool::dump ( MsgStream & out) const
overridevirtual

◆ dump() [2/2]

virtual std::ostream & InDet::ActsGnnModuleMapFinderTool::dump ( std::ostream & out) const
overridevirtual

◆ getTracks()

virtual StatusCode InDet::ActsGnnModuleMapFinderTool::getTracks ( const std::vector< const Trk::SpacePoint * > & spacepoints,
std::vector< std::vector< uint32_t > > & tracks,
std::unordered_map< int, std::unordered_map< int, float > > * edgeMap = nullptr ) const
overridevirtual

◆ initialize()

virtual StatusCode InDet::ActsGnnModuleMapFinderTool::initialize ( )
overridevirtual

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::optional<std::mutex> m_runMutex InDet::ActsGnnModuleMapFinderTool::ATLAS_THREAD_SAFE {}
mutableprivate

Definition at line 88 of file ActsGnnModuleMapFinderTool.h.

88{};

◆ FEATURE_NAMES

std::array<const char*, NUM_FEATURES> InDet::ActsGnnModuleMapFinderTool::FEATURE_NAMES
staticconstexprprivate
Initial value:
= {{
"r", "phi", "z", "eta",
"cluster_r_1", "cluster_phi_1", "cluster_z_1", "cluster_eta_1",
"cluster_r_2", "cluster_phi_2", "cluster_z_2", "cluster_eta_2"
}}

Definition at line 53 of file ActsGnnModuleMapFinderTool.h.

53 {{
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"
57 }};

◆ FEATURE_SCALES

std::array<float, NUM_FEATURES> InDet::ActsGnnModuleMapFinderTool::FEATURE_SCALES
staticconstexprprivate

◆ kScaleEta

float InDet::ActsGnnModuleMapFinderTool::kScaleEta = 1.f
staticconstexprprivate

Definition at line 62 of file ActsGnnModuleMapFinderTool.h.

◆ kScalePhi

float InDet::ActsGnnModuleMapFinderTool::kScalePhi = 3.14159265359f
staticconstexprprivate

Definition at line 60 of file ActsGnnModuleMapFinderTool.h.

◆ kScaleR

float InDet::ActsGnnModuleMapFinderTool::kScaleR = 1000.f
staticconstexprprivate

Definition at line 59 of file ActsGnnModuleMapFinderTool.h.

◆ kScaleZ

float InDet::ActsGnnModuleMapFinderTool::kScaleZ = 1000.f
staticconstexprprivate

Definition at line 61 of file ActsGnnModuleMapFinderTool.h.

◆ m_edgeCut

FloatProperty InDet::ActsGnnModuleMapFinderTool::m_edgeCut {this, "edgeCut", 0.5, "Edge classification cut"}
private

Definition at line 73 of file ActsGnnModuleMapFinderTool.h.

73{this, "edgeCut", 0.5, "Edge classification cut"};

◆ m_elcMaxHitsPerTrack

IntegerProperty InDet::ActsGnnModuleMapFinderTool::m_elcMaxHitsPerTrack {this, "elcMaxHitsPerTrack", 30, "Max hits per track config for the EdgeLayerConnector"}
private

Definition at line 77 of file ActsGnnModuleMapFinderTool.h.

77{this, "elcMaxHitsPerTrack", 30, "Max hits per track config for the EdgeLayerConnector"};

◆ m_gnnPath

StringProperty InDet::ActsGnnModuleMapFinderTool::m_gnnPath {this, "gnnPath", "", "Path to GNN model (.onnx, .pt, or .engine)"}
private

Definition at line 72 of file ActsGnnModuleMapFinderTool.h.

72{this, "gnnPath", "", "Path to GNN model (.onnx, .pt, or .engine)"};

◆ m_gnnPipeline

std::unique_ptr<ActsPlugins::GnnPipeline> InDet::ActsGnnModuleMapFinderTool::m_gnnPipeline
private

Definition at line 84 of file ActsGnnModuleMapFinderTool.h.

◆ m_logger

std::unique_ptr<const Acts::Logger> InDet::ActsGnnModuleMapFinderTool::m_logger
private

Definition at line 85 of file ActsGnnModuleMapFinderTool.h.

◆ m_minCandidateMeasurements

UnsignedIntegerProperty InDet::ActsGnnModuleMapFinderTool::m_minCandidateMeasurements {this, "minCandidateMeasurements", 7, "Min measurements per candidate"}
private

Definition at line 75 of file ActsGnnModuleMapFinderTool.h.

75{this, "minCandidateMeasurements", 7, "Min measurements per candidate"};

◆ m_moduleMapPath

StringProperty InDet::ActsGnnModuleMapFinderTool::m_moduleMapPath {this, "moduleMapPath", "", "Path to module map ROOT files"}
private

Definition at line 71 of file ActsGnnModuleMapFinderTool.h.

71{this, "moduleMapPath", "", "Path to module map ROOT files"};

◆ m_numTrtContexts

UnsignedIntegerProperty InDet::ActsGnnModuleMapFinderTool::m_numTrtContexts {this, "numTrtContexts", 1, "Number of TensorRT execution contexts (controls concurrency)"}
private

Definition at line 74 of file ActsGnnModuleMapFinderTool.h.

74{this, "numTrtContexts", 1, "Number of TensorRT execution contexts (controls concurrency)"};

◆ m_spacepointFeatureTool

ToolHandle<ISpacepointFeatureTool> InDet::ActsGnnModuleMapFinderTool::m_spacepointFeatureTool
private
Initial value:
{
this, "SpacepointFeatureTool", "InDet::SpacepointFeatureTool"}

Definition at line 80 of file ActsGnnModuleMapFinderTool.h.

80 {
81 this, "SpacepointFeatureTool", "InDet::SpacepointFeatureTool"};

◆ m_useEdgeLayerConnector

BooleanProperty InDet::ActsGnnModuleMapFinderTool::m_useEdgeLayerConnector {this, "useEdgeLayerConnector", false, "Use the EdgeLayerConnector instead of CC&JR as graph segmentation algorithm"}
private

Definition at line 76 of file ActsGnnModuleMapFinderTool.h.

76{this, "useEdgeLayerConnector", false, "Use the EdgeLayerConnector instead of CC&JR as graph segmentation algorithm"};

◆ NUM_FEATURES

std::size_t InDet::ActsGnnModuleMapFinderTool::NUM_FEATURES = 12
staticconstexprprivate

Definition at line 51 of file ActsGnnModuleMapFinderTool.h.


The documentation for this class was generated from the following file: