-
grheine authored
- made usage of MC information optional - removed unnecessary code snippets - upgrade from release 6 to release 9 - added newest trained models - simplified calling tracking code - moved evaluation modules to extra file to simplify main file - added example events - fixed bugs in MC generation
grheine authored- made usage of MC information optional - removed unnecessary code snippets - upgrade from release 6 to release 9 - added newest trained models - simplified calling tracking code - moved evaluation modules to extra file to simplify main file - added example events - fixed bugs in MC generation
GNN Cleanup
GNN Cleanup is a tool designed to improve tracking performance in the Belle II experiment by filtering background hits in the Central Drift Chamber (CDC) using a Graph Neural Network (GNN)-based approach. By leveraging graph-based inference, the HitCleanupModule efficiently distinguishes between signal and background hits, enhancing tracking accuracy and computational efficiency, especially in high-background conditions.
Features
-
Hit Cleanup Module: Filters background hits in the CDC using GNN inference, improving robustness to high-luminosity environments.
- get CDC Hit Info Module: Extracts CDC information on hit level.
- Graph Construction: Builds graph representations of CDC hits, including nodes (e.g., wire positions) and edges (e.g., spatial-temporal relationships).
- Preprocessing: Applies feature clipping, scaling, and shifting to prepare graph data.
- GNN-Based Filtering: Uses pretrained GNN models to perform hit filtering.
-
Example Scripts:
- A ready-to-use script demonstrates the full pipeline, including cleanup and tracking evaluation.
- Runs full tracking workflows, including track finding and fitting, with or without the cleanup step.
- Outputs tracking metrics, such as fitting charge efficiency, fake rate, and clone rate.
Setup and Installation
-
Clone the Repository:
git clone git@gitlab.etp.kit.edu:grheine/gnn_cleanup.git cd gnn_cleanup
-
Run Setup Script:
Open your terminal and run:
source setup.sh
Example Usage
To test the gnn_cleanup
, run the example script with the appropriate options:
python3 examples/testing_withoutb2luigi.py --n 100
Using other event files
For using other events first update the testing_config.json
file. There you can specify the following settings:
- load_path: path to existing event root file
- expList: experiment number list for EventInfoSetter
- runList: run number list for EventInfoSetter
- bg_file_list_path: path to background file lists
You can either use existing event root files by setting the load_path
to point to your files or generate new MC events by using the --generate
flag and updating the bg_file_list_path
, expList
and runList
.