The ML for HEP library

Machine Learning for High Energy Physics — Blog

Practical articles on machine learning in particle physics: BDTs, deep learning, ROOT workflows, validation, and systematic uncertainties — written for physicists.
Writing the ML Methods Section of a Physics Paper

Writing the ML Methods Section of a Physics Paper

Reviewers want to know your training details without reading a textbook. What to include, what to skip, and how to structure the methods section.

September 9, 2026 · 5 min read
Jet Tagging for Boosted Objects With Machine Learning

Jet Tagging for Boosted Objects With Machine Learning

When heavy particles are boosted, their decay products merge into a single fat jet. ML-based taggers identify these jets with high efficiency.

September 7, 2026 · 5 min read
Background Estimation With Control Regions and ML

Background Estimation With Control Regions and ML

Control regions constrain background normalizations. How ML classifiers interact with the control-region strategy and where things can go wrong.

September 4, 2026 · 5 min read
Reweighting BDT Scores to Match Data and MC

Reweighting BDT Scores to Match Data and MC

When your classifier score distribution differs between data and simulation, reweighting can fix the mismatch. How to do it without introducing bias.

September 2, 2026 · 5 min read
TensorFlow vs PyTorch for Physicists: A Practical Comparison

TensorFlow vs PyTorch for Physicists: A Practical Comparison

Both frameworks train neural networks. Their real differences for a physicist choosing one for an analysis: debugging, deployment, and community.

August 31, 2026 · 5 min read
Convolutional Neural Networks for Jet Images

Convolutional Neural Networks for Jet Images

Turn a jet into a pixel grid and let a CNN learn the patterns. How jet imaging works and when it outperforms hand-crafted substructure variables.

August 28, 2026 · 5 min read
Random Forests in Particle Physics: Many Trees, One Vote

Random Forests in Particle Physics: Many Trees, One Vote

A random forest trains many independent trees on bootstrap samples, then votes. How it compares to gradient boosting for physics problems.

August 26, 2026 · 5 min read
Unsupervised Learning on Physics Data: Clustering and Beyond

Unsupervised Learning on Physics Data: Clustering and Beyond

No labels needed. Unsupervised learning finds structure in your data without telling it what to look for — useful for anomaly hunting.

August 24, 2026 · 5 min read
How to Present Machine-Learning Results in a Physics Talk

How to Present Machine-Learning Results in a Physics Talk

Your audience cares about the physics, not the architecture diagram. How to communicate ML-based results clearly to a collaboration.

August 21, 2026 · 5 min read
Event Selection Strategies: From Cuts to Classifiers

Event Selection Strategies: From Cuts to Classifiers

Event selection defines your analysis. How ML-based selection compares to traditional cut flows and when the switch is justified.

August 17, 2026 · 5 min read
The Kolmogorov-Smirnov Test as an Overtraining Check

The Kolmogorov-Smirnov Test as an Overtraining Check

Comparing train and test BDT score distributions with a KS test is the standard overtraining diagnostic. How to run it and what the p-value means.

August 14, 2026 · 5 min read
Setting Up a Python Environment for HEP Machine Learning

Setting Up a Python Environment for HEP Machine Learning

Conda, venv, or containers? A step-by-step guide to a clean Python environment that plays nicely with ROOT and ML libraries.

August 12, 2026 · 4 min read
Feed-Forward Neural Networks for HEP Classification

Feed-Forward Neural Networks for HEP Classification

The simplest neural network is a stack of weighted sums and nonlinearities. How a feed-forward net classifies signal from background.

August 10, 2026 · 5 min read
How a Single Decision Tree Works, From Root to Leaf

How a Single Decision Tree Works, From Root to Leaf

Before you boost anything, understand the single decision tree: recursive splits, purity, and why one tree is not enough.

August 7, 2026 · 5 min read
Supervised Learning for Physicists: Labels, Targets, and Training

Supervised Learning for Physicists: Labels, Targets, and Training

Supervised learning needs labelled examples — something physicists already have from simulation. How the framework maps onto your analysis.

August 5, 2026 · 5 min read
The HEP-ML Decoder: Every Machine-Learning Term, Translated Into Physics You Already Know

The HEP-ML Decoder: Every Machine-Learning Term, Translated Into Physics You Already Know

Machine learning has its own vocabulary, but most of it maps one-to-one onto concepts a particle physicist already owns. Features are observables, overtraining is overfitting a χ², ROC is efficiency vs purity. A translation table.

July 28, 2026 · 4 min read
Five Mistakes Analysis Reviewers Catch in Boosted Decision Tree Analyses

Five Mistakes Analysis Reviewers Catch in Boosted Decision Tree Analyses

Analysis review committees see the same boosted decision tree mistakes repeatedly. Here are the five most common ones: overtraining, data-MC disagreement, train-measure overlap, biased cut optimisation, and unpropagated systematics.

July 25, 2026 · 4 min read
Neural Networks vs BDTs in Particle Physics: Which and When

Neural Networks vs BDTs in Particle Physics: Which and When

BDTs still win on tabular ntuples; deep networks win on low-level and structured data. A practical guide to picking the right tool for your problem.

July 23, 2026 · 5 min read
Systematic Uncertainties and Machine Learning in HEP

Systematic Uncertainties and Machine Learning in HEP

A classifier score is only useful if you can propagate systematics through it. How to think about uncertainty on an ML-based selection.

July 21, 2026 · 5 min read
Handling Class Imbalance Between Signal and Background

Handling Class Imbalance Between Signal and Background

When signal is one event in ten thousand, naive training ignores it. How class weights, resampling, and the right metric fix imbalanced classification.

July 18, 2026 · 5 min read
Feature Importance and SHAP Values for Physics Models

Feature Importance and SHAP Values for Physics Models

A classifier that works but you cannot explain is a hard sell to a collaboration. How feature importance and SHAP values open up the black box.

July 16, 2026 · 5 min read
Feature Engineering With Physics Observables

Feature Engineering With Physics Observables

Your best features are often the observables you already trust: invariant masses, angular variables, isolation. How to choose and build them for a classifier.

July 14, 2026 · 5 min read
ROC Curves, Efficiency and Purity: The Same Idea in Two Languages

ROC Curves, Efficiency and Purity: The Same Idea in Two Languages

The ROC curve is the efficiency-versus-purity trade-off you already reason about, drawn on axes a computer scientist chose. How to read and use it.

July 11, 2026 · 6 min read
XGBoost Hyperparameter Tuning for Physics Datasets

XGBoost Hyperparameter Tuning for Physics Datasets

Which XGBoost knobs matter for a physics classifier, what each one does, and a sane order to tune them without fooling yourself.

July 9, 2026 · 5 min read
TMVA vs scikit-learn vs XGBoost: Choosing an ML Toolkit for HEP

TMVA vs scikit-learn vs XGBoost: Choosing an ML Toolkit for HEP

Three toolkits dominate machine learning in particle physics. Their trade-offs for a physicist deciding where to start a new analysis.

July 7, 2026 · 5 min read
Cross-Validation for Small Physics Datasets

Cross-Validation for Small Physics Datasets

When a single train/test split wastes precious simulated events, k-fold cross-validation gives you an honest performance estimate. How to use it correctly.

July 4, 2026 · 5 min read
How to Avoid Overtraining a BDT in Your Physics Analysis

How to Avoid Overtraining a BDT in Your Physics Analysis

Overtraining is just overfitting a chi-square you cannot see. How to spot it with a train/test comparison and how to stop it before it biases your result.

July 2, 2026 · 5 min read
How to Detect Overtraining in a Boosted Decision Tree

How to Detect Overtraining in a Boosted Decision Tree

Overtraining is the single most common failure mode in HEP classifiers. Learn the standard diagnostics: train-test overlay plots, the Kolmogorov-Smirnov test, and what to do when they fail.

June 30, 2026 · 3 min read
AdaBoost vs Gradient Boosting: How Combining Weak Learners Beats Any Single Tree

AdaBoost vs Gradient Boosting: How Combining Weak Learners Beats Any Single Tree

AdaBoost and gradient boosting are the two foundational algorithms behind boosted decision trees. This post explains how each works, what makes them different, and why an ensemble of weak trees outperforms a single deep one.

June 27, 2026 · 4 min read
Gini Impurity vs Information Gain: Which Split Criterion Should You Use?

Gini Impurity vs Information Gain: Which Split Criterion Should You Use?

Decision trees split nodes by maximising purity. Gini impurity and information gain (entropy) are the two standard criteria. Here is what they measure, how they differ, and why the choice almost never matters in practice.

June 25, 2026 · 3 min read
Signal vs Background: Machine-Learning Classification in HEP

Signal vs Background: Machine-Learning Classification in HEP

Separating a rare signal from a huge background is a classification problem. How machine learning frames it, and why it often beats rectangular cuts.

June 23, 2026 · 5 min read
Watch a Boosted Decision Tree Beat Rectangular Cuts in One Plot

Watch a Boosted Decision Tree Beat Rectangular Cuts in One Plot

A short, runnable example: on a two-variable signal-vs-background problem, a boosted decision tree recovers signal that rectangular cuts throw away. Copy the code, run it, see the ROC gap yourself.

June 20, 2026 · 3 min read
Cut-Based vs Multivariate Analysis: When ML Actually Helps

Cut-Based vs Multivariate Analysis: When ML Actually Helps

Rectangular cuts are transparent but leave sensitivity on the table when variables are correlated. When a multivariate classifier is worth the added complexity.

June 18, 2026 · 5 min read
What Is a Boosted Decision Tree? A Particle Physicist's Guide

What Is a Boosted Decision Tree? A Particle Physicist's Guide

Boosted decision trees are the workhorse classifier of experimental particle physics. Here is what a BDT actually does, in language a physicist already owns.

June 16, 2026 · 5 min read
Why Rectangular Cuts Fail When Your Variables Are Correlated

Why Rectangular Cuts Fail When Your Variables Are Correlated

Rectangular cuts force axis-aligned selection boundaries. When discriminating variables are correlated, signal lives along diagonals that boxes cannot follow. Here is why multivariate methods beat cuts — and exactly when they matter most.

June 13, 2026 · 3 min read
Reading ROOT Files Into Python for Machine Learning

Reading ROOT Files Into Python for Machine Learning

How to get your ntuples out of ROOT and into arrays a machine-learning library can train on, using uproot and awkward-array.

June 11, 2026 · 4 min read
Getting Started With Machine Learning for LHC Analysis

Getting Started With Machine Learning for LHC Analysis

A first-steps roadmap for the physicist adding machine learning to an LHC analysis: what to learn, in what order, and the traps to avoid early.

June 9, 2026 · 5 min read
Should You Use Machine Learning in Your Analysis?

Should You Use Machine Learning in Your Analysis?

A calm, practical guide for the physicist deciding whether machine learning belongs in their analysis at all: when it helps, when it does not, and how to start small.

June 6, 2026 · 5 min read
When Your Fit Memorizes the Noise: A Warning Every Physicist Knows

When Your Fit Memorizes the Noise: A Warning Every Physicist Knows

The most common way machine learning goes wrong is one you have already met: a model that fits the data perfectly, then falls apart on new data. Here is why, in plain terms.

June 4, 2026 · 5 min read
What Is Machine Learning? A Physicist's Plain-English Guide

What Is Machine Learning? A Physicist's Plain-English Guide

No jargon and no hype. Machine learning explained for a physicist who has never used it, through the calibration and fitting problems you already know.

June 2, 2026 · 5 min read