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:
Performance: C++ implementation for computational efficiency
Usability: Python interface for ease of use
Extensibility: Template-based architecture for customization
Modularity: Independent, reusable components
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:
Check the API documentation in API Reference
Review the module documentation in Module Documentation
Look at examples in Examples
Visit the GitHub repository for issues and discussions
Next Steps
Continue to:
API Reference - Detailed API documentation
Module Documentation - Module-by-module documentation
Examples - Usage examples and tutorials