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.4

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.4
File Size Uploaded
jetgo-0.1.4.tar.gz 43.4 kB Details

Built distribution (wheel)

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

Total release size: 84.0 kB

Release files / jetgo-0.1.4.tar.gz

Download URL jetgo-0.1.4.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e412c9410ce29ef014e44ad25bc3694332cb8c07268601e38c7972d9913e9b0e
BLAKE2b-256 checksum
How to use checksums
f73814d9b3fdc03f4170072321f22838a6802ad58a08d9b1545d6bc1e5bc0c6b
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 14, 2026.

Transparency log

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

Download URL jetgo-0.1.4-py3-none-any.whl
Size 40.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6697851e8beb2991f23eef82092352612e8255cc870689d9dd30c44d8eef879
BLAKE2b-256 checksum
How to use checksums
3225d210ae0485a7abd5132a0b1e796d24fc8299d559f432443a7e9ac43d0cb4
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

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