Graphs
Graph implementations for neural network training and inference.
Overview
The graphs module contains concrete graph implementations for different analyses:
bsm_4tops: Graph representation for four-top BSM analysis
exp_mc20: Graph for experimental MC20 data
ssml_mc20: Graph for semi-supervised learning on MC20
Graph Structure
Each graph implementation defines three levels of features:
Node Features: Derived from individual particles
Edge Features: Derived from particle pairs
Graph Features: Derived from the entire event
BSM 4-Tops Graph
Graph structure optimized for four-top quark final states.
Experimental MC20 Graph
Graph structure for general-purpose MC20 analysis.
SSML MC20 Graph
Graph structure designed for semi-supervised machine learning tasks.
Feature Engineering
Graph classes implement feature extraction:
NodeFeature(): Computes features for each node
EdgeFeature(): Computes features for each edge
GraphFeature(): Computes global event features
These methods are called automatically during graph construction to populate feature tensors for neural network input.
Relationship to Events
Graphs are built from Events:
Event is created and compiled from ROOT data
Graph template is instantiated with the Event
Graph extracts particles as nodes
Graph computes edges between nodes
Feature methods populate tensors
This separation allows:
Reusing event definitions across multiple graph types
Testing different graph topologies
Experimenting with feature engineering
Training multiple models on the same events