Skip to main content

jetgo

The simplest way to simulate collider events and extract jet observables.

Python 3.11+ PYTHIA 8.3+ FastJet 3.5+ BSD-3-Clause license Downloads

jetgo generates collider events with pythia8mc, clusters the particles into jets with fastjet, tags each jet with the color charge of the parton that initiated it, and writes the observables out. You define the simulator, the observables and the tagger, jetgo does the rest.

Installation

pip install jetgo[pythia]

PYTHIA8 is an optional dependency, because its wheels are Linux-only. Plain pip install jetgo works everywhere and gives you every observable and tagger; only event generation needs the extra.

There are two ways to get PYTHIA8, and jetgo accepts either:

  • The wheel. The [pythia] extra above pulls in pythia8mc, the PyPI distribution of PYTHIA's own Python bindings. Nothing to compile, but the wheels are built for Linux only.
  • Your own build. Compile PYTHIA8 with its Python interface enabled, following the PYTHIA manual, so that import pythia8 works. This is the route on macOS and Windows, and the one to take if you need a specific PYTHIA version or your own patches.

Quick usage preview

import numpy as np

from jetgo.observables import EEC
from jetgo.simulation import EventGenerator, JetFinder, ParticleSelector, Simulator
from jetgo.taggers import DescendancyTracing

####################################################################################################
#                                         Define simulator                                         #
####################################################################################################
event_generator = EventGenerator(
    beam_1=2212,
    beam_2=2212,
    sqrt_s=5020,
    pt_min=80,
    pt_max=200,
    random_seed=42
)

particle_selector = ParticleSelector(
    max_abs_pseudorapidity=2.4
)

jet_finder = JetFinder(
    radius=0.4,
    pt_min=120,
    pt_max=140,
    max_abs_pseudorapidity=1.6
)

simulator = Simulator(
    event_generator=event_generator,
    particle_selector=particle_selector,
    jet_finder=jet_finder
)

####################################################################################################
#                                        Define observables                                        #
####################################################################################################
observable = EEC(
    bin_edges=np.geomspace(0.005, 0.8, 31),
    charged_only=True,
    use_pseudorapidity=True
)

####################################################################################################
#                                          Define tagger                                           #
####################################################################################################
jet_flavor_tagger = DescendancyTracing(
    delta_r_max=0.4,
    use_pseudorapidity=True
)

####################################################################################################
#                                               Run                                                #
####################################################################################################
simulator.simulate(
    n_events=100_000,
    observables=observable,
    jet_flavor_taggers=jet_flavor_tagger,
    output_path="jet_eec.json"
)

That run writes one file holding the inclusive energy-energy correlator, its quark-tagged and gluon-tagged counterparts, and the run metadata.

Documentation

Full documentation lives at maxencelarose.github.io/jetgo, including how to write your own observable or your own flavor tagger. Runnable scripts are in examples/.

License

This project is licensed under the terms of the BSD 3-Clause License.

Citation

If you use jetgo in your work, please cite the paper it was written for:

@article{Bossi:2026colors,
  author        = {Bossi, Hannah and Larose, Maxence and Mehtar-Tani, Yacine},
  title         = {The Colors of Jet Quenching},
  year          = {2026},
  eprint        = {2609.05609},
  archivePrefix = {arXiv},
  primaryClass  = {hep-ph},
  url           = {https://arxiv.org/abs/2609.05609}
}

Contact

Maxence Larose — maxence.larose@stonybrook.edu

Metadata

Release files for jetgo 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jetgo 0.1.3
File Size Uploaded
jetgo-0.1.3.tar.gz 43.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jetgo 0.1.3
File Interpreter ABI Platform
jetgo-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 84.0 kB

Release files / jetgo-0.1.3.tar.gz

Download URL jetgo-0.1.3.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
021e93207e6ee087ab4416791c8132cebea426fc0d31e9c97ac038dfb50a361d
BLAKE2b-256 checksum
How to use checksums
323f29ccc88a46f4722d0d8f2c09ed907619d169bf8cd3cf5fecdb97882826e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / jetgo-0.1.3-py3-none-any.whl

Download URL jetgo-0.1.3-py3-none-any.whl
Size 40.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13042a6ffce8e473ce1e5ee647e1defd0d159357154c3d69ff019f17081952af
BLAKE2b-256 checksum
How to use checksums
f4a9889d1f31492ad986769efdd96b685a3b0b6d24a60376dd7c26dedd64fb94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page