ATLAS Offline Software
Loading...
Searching...
No Matches
MuonML::ISegmentEdgeClassifierTool Class Referenceabstract

Interface for segment-edge GNN classification. More...

#include <ISegmentEdgeClassifierTool.h>

Inheritance diagram for MuonML::ISegmentEdgeClassifierTool:
Collaboration diagram for MuonML::ISegmentEdgeClassifierTool:

Public Member Functions

virtual ~ISegmentEdgeClassifierTool ()=default
 DeclareInterfaceID (ISegmentEdgeClassifierTool, 1, 0)
virtual StatusCode buildGraph (const EventContext &ctx, const xAOD::MuonSegmentContainer &segments, SegmentEdgeGraph &graph) const =0
 Build a GNN graph from segments, extracting node features and computing edge connections based on kinematic compatibility.
virtual StatusCode classifyEdges (const EventContext &ctx, const SegmentEdgeGraph &graph, std::vector< SegmentEdgeScore > &scores) const =0
 Run ONNX inference on the graph and return edge classification scores.

Detailed Description

Interface for segment-edge GNN classification.

This tool builds a graph representation of muon segments and classifies edges (potential segment pairs) using a graph neural network. Segments become nodes; edges connect nearby segments with compatible kinematics.

Workflow:

  1. buildGraph() — Constructs node features from segment position/direction and bucket metadata, then builds sparse edges based on sector proximity and angular compatibility.
  2. classifyEdges() — Runs ONNX inference on the graph to score each edge as a potential track connection and returns edge predictions.

Data Flow:

Definition at line 34 of file ISegmentEdgeClassifierTool.h.

Constructor & Destructor Documentation

◆ ~ISegmentEdgeClassifierTool()

virtual MuonML::ISegmentEdgeClassifierTool::~ISegmentEdgeClassifierTool ( )
virtualdefault

Member Function Documentation

◆ buildGraph()

virtual StatusCode MuonML::ISegmentEdgeClassifierTool::buildGraph ( const EventContext & ctx,
const xAOD::MuonSegmentContainer & segments,
SegmentEdgeGraph & graph ) const
pure virtual

Build a GNN graph from segments, extracting node features and computing edge connections based on kinematic compatibility.

Writes the graph structure (nodes, edges, and features) to graph.

Implemented in MuonML::SegmentEdgeClassifierTool.

◆ classifyEdges()

virtual StatusCode MuonML::ISegmentEdgeClassifierTool::classifyEdges ( const EventContext & ctx,
const SegmentEdgeGraph & graph,
std::vector< SegmentEdgeScore > & scores ) const
pure virtual

Run ONNX inference on the graph and return edge classification scores.

Reads the prepared graph and populates scores with logit and probability for each edge; the scores indicate the likelihood of a valid track connection between the two endpoint segments.

Implemented in MuonML::SegmentEdgeClassifierTool.

◆ DeclareInterfaceID()

MuonML::ISegmentEdgeClassifierTool::DeclareInterfaceID ( ISegmentEdgeClassifierTool ,
1 ,
0  )

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