Introduction

Overview

AnalysisG is a high-performance Graph Neural Network (GNN) framework designed specifically for High Energy Physics (HEP) analysis. It combines the power of C++ for computational efficiency with the flexibility of Python for ease of use.

What is AnalysisG?

AnalysisG provides a complete ecosystem for:

  • Data Processing: Read and process physics events from ROOT files

  • Graph Construction: Transform physics events into graph representations

  • Neural Networks: Train and deploy graph neural networks

  • Analysis: Perform physics analysis with built-in tools

  • Visualization: Create plots and visualizations of results

Framework Architecture

The framework is organized into several key components:

Core Components

  • Core Module: Base templates and fundamental functionality

  • Events: Event processing for various physics analyses

  • Graphs: Graph construction from physics events

  • Models: Neural network model implementations

  • Metrics: Performance evaluation and metrics

Infrastructure

  • Modules: Low-level infrastructure components

  • PyC: Python-C++ interface layer via Cython

  • Templates: Code templates for custom implementations

Design Philosophy

AnalysisG follows these design principles:

  1. Performance: C++ implementation for computational efficiency

  2. Usability: Python interface for ease of use

  3. Extensibility: Template-based architecture for customization

  4. Modularity: Independent, reusable components

  5. Flexibility: Support for various analysis workflows

Use Cases

AnalysisG is suitable for:

  • Top quark pair production analysis

  • Beyond Standard Model (BSM) searches

  • Multi-lepton final states

  • Jet reconstruction and classification

  • Graph-based event classification

  • Neural network model development for HEP

Technology Stack

The framework is built on:

  • C++17: Core implementation language

  • Cython: Python-C++ interface

  • PyTorch/LibTorch: Neural network framework

  • ROOT: High-energy physics data format

  • CMake: Build system

  • Doxygen: C++ documentation

  • Sphinx: Python and overall documentation

Getting Help

For questions and support:

Next Steps

Continue to: