Skip to content

About

PyTorch jet classification on ATLAS simulation: physics-feature comparisons, held-out evaluation, and an interactive study explorer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

What can a jet tell us?

When protons collide, the short-lived particles they produce leave patterns in the particles that follow. Can a computer learn to distinguish those patterns, and how much does the answer depend on the information we give it?

I began exploring this question by classifying images of three simulated collision processes in my undergraduate coursework. In a separate modern study, I used numerical measurements of simulated particle sprays, called jets, from ATLAS open data. The task was to distinguish jets from top-quark decays from light-quark/gluon jets. I compared models that learn from the individual entries inside a jet with models given measurements that physicists designed to describe its internal structure.

The image models correctly classified about 64% of the three-category validation images. In the separate jet study, giving the neural model additional physics-derived measurements improved its performance in every training run. The boosted-tree model using those measurements still performed best among the compared models. The useful lesson is about what information a model receives, not a universal winner among algorithms.

Explore the interactive study · How it works · The nerdy details · Public result tables

From a collision to a useful question

An energetic quark or gluon produces a narrow spray of particles. A detector records tracks and energy deposits, and reconstruction combines those measurements into a jet. A top jet contains the closely grouped decay products of a fast-moving top quark. The top quark itself decays before it reaches the detector. When its W boson also decays to quarks, the resulting jet can carry a characteristic three-part structure.

The comparison class consists of jets initiated by light quarks or gluons. Physicists call this background because it can resemble the signature they are looking for, not because it is meaningless noise. Learning to tell these jets apart helps connect detector measurements to the processes that produced them. This project studies that question in simulation; it does not measure performance on real collision data.

A model learns patterns from labeled examples and assigns a score to each new example. I tested both numerical summaries of a jet and its constituents, the reconstructed entries used to build it. In this dataset those entries combine tracking and calorimeter information; one entry is not necessarily one identified fundamental particle. The ATLAS dataset paper explains their reconstruction.

Three periods, two classification tasks

2023: the coursework. I performed the original work on October 24 and December 8, 2023, using images labeled as ordinary quark/gluon processes (QCD), top-antitop production (TTbar), or W-boson production with jets (WJets). The work used classical machine learning and TensorFlow/Keras. I uploaded the notebooks to GitHub in March 2024. The original notebooks preserve the submissions and their credits.

2026: checking what survived. I recovered the image dataset, checked duplicates, and traced the saved results back to the notebooks. This review corrected historical claims and identified a mismatch in the deep-learning Test label encodings. The historical audit explains the correction and preserves the original evidence.

2026: a separate modern extension. I first compared ways to present the images to small neural networks. I then moved to a different dataset and question: distinguishing top jets from light-quark/gluon jets using ATLAS numerical measurements. I used PyTorch partly to broaden my experience beyond TensorFlow/Keras. This was a separate implementation, not a migration of the notebooks or a test of which framework was better.

How well did the image models classify things?

The panel-based convolutional neural network, or CNN, averaged 64.17% validation accuracy across five training runs. A CNN learns spatial patterns by applying shared filters across an image. A second approach passed its learned image features to a support-vector classifier and averaged 64.47%. That small difference is not an established improvement.

Validation images are examples set aside from training and used during model development. These results describe 1,500 three-category validation images, not a final untouched image Test set or the ability to classify arbitrary images. The five runs repeat training with different random initializations. They also showed that the panel representation's advantage over resizing the whole image was not firmly established. There is no demonstrated accuracy ceiling.

How well did the jet models rank jets?

The jet study uses ROC-AUC, a measure of ranking. Imagine drawing one top jet and one background jet: AUC measures how often the top jet receives the higher score, giving half credit to a tie. A value of 0.5 means chance-level ranking and 1 means perfect ranking on the evaluated sample. AUC 0.930 is not 93% classification accuracy.

Model and information supplied Final held-out Test ROC-AUC
Boosted trees with four jet measurements (G4) 0.850
Boosted trees with 19 jet measurements (G19) 0.930
ParticleNet with constituents and four jet measurements 0.828
ParticleNet with constituents and all 19 jet measurements 0.877

These are saved results on 100,000 simulated jets. Each neural result averages three training runs, without combining their predictions or choosing the best run. Full-precision results and comparison intervals are available.

The final held-out results use standard, unweighted ROC-AUC. The selected Test file did not contain the weights needed to repeat the weighted and transverse-momentum–mass-controlled development comparisons.

Boosted trees combine a sequence of simple branching decisions, with later trees correcting earlier mistakes. The compact ParticleNet implementation learns relationships among neighboring constituents. Its added measurements describe patterns inside the jet, such as how its momentum is shared and how many concentrated branches it resembles. These extra inputs improved all three runs, but the 19-measurement trees remained ahead in this study.

The image accuracy and jet AUC answer different questions on different datasets. They are not stages in one rising performance score.

What I learned, and what remains limited

A more detailed input does not automatically make a particular model perform better. Giving a compact neural network direct access to useful physics-derived summaries helped, even though it already received constituent information. The remaining difference from trees does not isolate architecture, optimization, or training-data limitations.

A separate development comparison reduced differences in jet momentum and mass between the classes. Adding the engineered measurements removed 58.35% of the development AUC gap between the original neural model and the 19-measurement trees on that controlled population. This is a fraction of a gap, not a 58% accuracy improvement or a causal percentage explained. The method and equation make the comparison explicit.

The study used a small training sample and one nominal development file and Test file. Checks of selected simulated radiation changes supported the main development comparisons, but do not cover all simulation or detector uncertainty. The results are useful evidence about these inputs and training recipes, not a full physics uncertainty assessment or a reproduction of the published full ParticleNet architecture.

To investigate further, start with the study explorer and runnable checks, then follow the methodology into the preserved source. The explorer reads only public summaries. It does not train models or classify uploaded events.

About

PyTorch jet classification on ATLAS simulation: physics-feature comparisons, held-out evaluation, and an interactive study explorer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages