Skip to content

ColliderML ​

About the Data

The ColliderML dataset is the largest-yet source of full-detail simulation in a virtual detector experiment.

Why virtual? The simulation choices are not tied to a construction timeline, there are no budget limitations, no politics. The only goals are to produce the most realistic physics on a detailed detector geometry, with significant computating challenges, in an ML-friendly structure.

The ColliderML dataset provides comprehensive simulation data for machine learning applications in high-energy physics, with detailed detector responses and physics object reconstructions.

The Open Data Detector ​

The simulation uses the Open Data Detector (ODD) — a realistic HL-LHC-class detector: a silicon tracker at the core, electromagnetic and hadronic calorimeters, and a muon system.

The full Open Data Detector in cutaway

The ODD silicon tracker

The ODD calorimeter and solenoid in cross-section

Explore a real event ​

A genuine simulated ttbar event — reconstructed tracks, calorimeter energy deposits, raw tracker hits, and clustered jets — rendered live in your browser. Drag to orbit, scroll to zoom.

Event display powered by hep-viz (Wilson & Facini, UCL; doi:10.5281/zenodo.18387794). See more on the detector & events page.

New to the platform?

Start with the platform tutorial — a six-chapter, runnable walkthrough that covers loading data, local simulation, remote (SaaS) simulation, benchmark submission, and publishing a model to the zoo.

What you can do ​

  • Load pre-generated events: colliderml.load("ttbar_pu0") — downloads on first call, then caches.
  • Simulate new events yourself: colliderml.simulate(preset="ttbar-quick") — runs the full Pythia → Geant4 → ACTS pipeline locally, or submit to the SaaS backend with remote=True.
  • Score your models against benchmark tasks: colliderml.tasks.evaluate(...) — six built-in tasks covering tracking, jets, anomaly detection, and systems constraints.
  • Explore interactively: use the event display or the leaderboard HuggingFace Spaces.

Get the Data ​

Download data with the colliderml CLI, then load it in Python with Polars. The dataset is also on HuggingFace if you prefer the datasets library.

Quick Start ​

  1. Install and download:
bash
pip install colliderml
colliderml download --channels ttbar --pileup pu0 --objects particles,tracker_hits,calo_hits,tracks --max-events 200
  1. Load in Python (same config as the download):
python
from colliderml.core import load_tables, collect_tables

cfg = {
    "dataset_id": "CERN/ColliderML-Release-1",
    "channels": "ttbar",
    "pileup": "pu0",
    "objects": ["particles", "tracker_hits", "calo_hits", "tracks"],
    "split": "train",
    "lazy": False,
    "max_events": 200,
}
tables = load_tables(cfg)
frames = collect_tables(tables)  # dict[str, pl.DataFrame]
# e.g. frames["particles"], frames["tracker_hits"]

For more (exploding tables, pileup subsampling, calibration), see the library docs and the exploration notebook.

Interactive Configuration ​

Use the configurator below to customize your dataset selection and generate the corresponding code:

Dataset Configuration

Loading available datasets from HuggingFace...

Download command

colliderml download --channels ttbar --pileup pu0 --objects particles,tracker_hits,calo_hits,tracks --max-events 1000
Then load the data in Python with load_tables; see the library docs or the exploration notebook.

If there are errors or unexpected behavior, please open an issue on the GitHub repository.

Dataset Changelog (latest 5)
  • (0.4.0 — 2026-05-27) - HF-native leaderboard score store: huggingface.co/datasets/CERN/colliderml-benchmark-results receives one JSON per submission at results/<task>/<user>/<sha12>.json. Pairs with the new client-side colliderml.tasks.submit(..., model_repo_id=...) which also lands a .eval_results/colliderml_<task>.yaml on the user's HF model repo so scores auto-render on the model card.
  • (0.4.0 — 2026-05-27) - CERN/ColliderML-Release-1 configs reorganised: per-pileup/per-object split ({channel}_{pileup}_{tracker_hits,particles,calo_hits,tracks}) replaces the prior monolithic per-channel layout. Enables event-range-scoped downloads (the tracking eval split is now ~700 MB to pull instead of multiple GB).
  • (0.2.0 — 2025-11-07) - Datasets now hosted on HuggingFace Hub for easier access and distribution.
  • (0.2.0 — 2025-11-07) - Support for standard HuggingFace datasets library for data loading.
  • (0.2.0 — 2025-11-07) - Migrated from NERSC manifest-based distribution to HuggingFace datasets. See the full changelog: Changelog.

Last updated:

Released under the MIT License.