Research
- Generative machine learning for statistical inference
- Scientific software and production ML
- Deep learning on detector data
- Higgs boson physics
Generative machine learning for statistical inference
Collider physics is a simulation-driven science: the likelihood of the data has no closed form, so we compare data to a detailed simulation and extract parameters with a likelihood fit. The standard tool is the histogram, with every systematic uncertainty encoded as a pair of “up/down” template variations. This is robust, but it discards most of the information in the event and it does not scale to many observables. My research programme replaces the pieces of this pipeline that do not scale with normalizing flows, used as learned surrogate models for the simulation and for the likelihood, while keeping the statistical rigour a measurement requires. The four steps below build on each other.
1. Correct the simulator with one flow
Problem. Simulation never matches data perfectly, and the mismatch sits in the shapes and correlations of many variables at once. Per-variable scale factors or event weights either ignore correlations or inflate the statistical uncertainty.
Method. Train a single autoregressive normalizing flow on simulation and data together, conditioned on a boolean “is data” switch. To correct a simulated event, map it to the latent space, flip the switch, and map it back. One network with shared parameters, no adversarial training, no chain of per-variable models.
Result: percent-level agreement in bulk and tails, correlations restored, and a classifier can no longer tell corrected simulation from data. Comput. Softw. Big Sci. 8, 15 (2024), with colleagues from ETH Zurich and RWTH Aachen.
2. Fit without bins
Problem. CMS objects are calibrated with Tag-and-Probe: a fit of the Z boson mass peak repeated in every bin of momentum and angle, in data and in simulation. Each extra variable multiplies the number of fits, so corrections stay coarse and low-dimensional.
Method. Build the likelihood in PyTorch. Normalizing flows model the signal and background densities and the conditional kinematics from simulation; small neural networks parametrize the data-simulation differences. One unbinned maximum-likelihood fit on data returns continuous, multivariate scale factors.
Result: deployed for electron and photon identification in CMS, with better precision than the binned method. From bins to flows, CMS-DP-2025-053 (ACAT 2025). The first collaboration-wide use of unbinned, flow-based calibration.
3. Model systematic uncertainties as parametric deformations
Problem. An unbinned fit needs the density as a function of every nuisance parameter. Learning it over the joint space of N nuisances requires simulating their combinations, whose number grows exponentially with N.
Method. A Factorizable Normalizing Flow composes a frozen, high-fidelity flow for the nominal configuration with a learnable, invertible transformation that is polynomial in the nuisance parameters and factorized over them. Each parameter’s effect is learned in isolation, from the “one parameter varied” samples that analyses already produce; the joint response is recovered by summation at inference, with optional cross-terms for correlated effects.
Result: closure to the optimal likelihood on a controlled problem, with cost linear in the number of nuisances and a tractable, interpretable likelihood. arXiv:2606.30489 (stat.ML) · code.
4. Profile them, and measure a distribution instead of a number
Problem. Profiling means refitting the nuisances at every point of a scan, which is prohibitive for a neural likelihood and only defined for a scalar target. Many measurements (differential cross sections, unfolding, calibrations) are really the measurement of a whole distribution.
Method. Promote the fit target to a Distribution of Interest: a learnable, invertible map of the feature space, so the measurement is itself a density with a tractable Jacobian. Systematics enter through factorizable flows. An amortized training learns the best-fit map as a function of the nuisances in a single optimization, replacing the repeated fits of a profile scan. A Poisson-bootstrap ensemble propagates the finite-sample uncertainty of the network itself.
Result: a full statistical-plus-systematic uncertainty on a measured distribution, with validated coverage, from one unbinned fit. arXiv:2602.13184 · code.
Generative surrogates for expensive integrals
The Matrix Element Method computes the likelihood of an event under a physics hypothesis by integrating the theoretical matrix element over the unobserved parton-level configuration, convolved with the detector response. It is statistically optimal and computationally prohibitive. MEMFlow replaces the classical integrator with surrogate models: transformers coupled to normalizing flows act as neural importance samplers of the phase space and as learned surrogates of the detector transfer functions, and it is demonstrated on the full CMS simulation of the ttH(bb) process (CMS-DP-2025-046, EuCAIF 2025). The goal is an unbinned likelihood fit of effective-field-theory couplings directly on data.
All models are built in PyTorch with Zuko, to which I contribute. This work is supported by the Swiss National Science Foundation.
Scientific software and production ML
PocketCoffea
I created PocketCoffea in 2022 with Matteo Marchegiani and I am its lead developer. It is a slim, configuration-driven framework for the analysis of CMS collision data built on the Scikit-HEP stack (Coffea, Awkward Array, Dask, hist). An analysis is declared in Python/YAML configuration files: datasets, object and event selections, categories, weights, systematic variations and outputs. Custom logic lives in a small processor subclass, so the framework stays out of the way.
- Reproducible by design: calibrations and systematic variations are modular and configurable; physics parameters and metadata are separated from the run configuration.
- Runs anywhere: local, HTCondor and Dask on HPC clusters, and the analysis facilities at CERN, DESY, RWTH, Purdue and Coffea-Casa, with a
lawpipeline from dataset discovery to plots and container images distributed on CVMFS. - Adopted across CMS: about 20 public analyses and calibration tools on GitHub use it on CMS data and simulation campaigns (ttH(bb), VH(bb/cc), HH→4b, boosted ttX, vector boson scattering, searches for new physics, jet calibration), with about 20 active contributors. Tutorials at PyHEP 2023 and PyHEP.dev 2024. Documentation · PyPI · Tutorials.
Machine learning inference in CMSSW
As ML Software Coordinator of CMS (2022–2025) I managed the integration of ONNXRuntime and PyTorch C++ inference into CMSSW, the multi-million-line reconstruction software, enabling deep learning models in the real-time trigger, in offline reconstruction, and in the large-scale simulation campaigns that run on the worldwide LHC computing grid. The current focus is heterogeneous inference: on GPU workflows the data already lives on the device as Alpaka Structure-of-Arrays collections, but ML frameworks want tensors, which usually means extra copies. With colleagues from CERN, TU Vienna, Wrocław and Milan I designed an interface that:
- converts SoA columns into PyTorch tensors with zero copies, computing strides for scalars, vectors and matrices from compile-time metadata;
- binds PyTorch execution to the framework thread pool and to framework-managed CUDA/HIP streams, so inference is thread-safe and multi-device;
- supports just-in-time and ahead-of-time compiled models (TorchInductor/Triton) for low-latency production inference.
Benchmarked on a graph neural network for calorimeter cluster merging. Presented at ACAT 2025 and FastML 2025, developed within the CERN Next Generation Triggers project.
I also contribute to Zuko (normalizing flows in PyTorch).
Deep learning on detector data
- Graph neural networks for calorimetry. Electrons and photons spread their energy over several clusters in the CMS electromagnetic calorimeter. I designed DeepSC, the first GNN-based clustering algorithm for this detector: clusters become nodes of a dynamically built graph, and the network decides which belong together while regressing the energy. It keeps the efficiency of the legacy geometric algorithm while removing most noise and pile-up contamination, and it is being deployed in the CMS reconstruction.
- Heavy-flavour jet tagging in Lorentz-boosted topologies: new calibration strategies for large-radius jet taggers with collision data (JINST 20, 2025).
- Trigger and data acquisition: noise suppression in the calorimeter trigger electronics and data-acquisition optimisation during LHC Run 2.
Higgs boson physics
I lead the CMS analysis of Higgs boson production in association with a top-quark pair, with the Higgs decaying to b-quarks (ttH, H→bb). This is the direct probe of the coupling between the Higgs boson and the top quark. The dominant background, top-quark pairs with extra jets, is notoriously hard to simulate. I developed a data-driven, ML-based background estimation to correct it, and I am now building the full LHC Run 3 analysis, aiming for the first observation of ttH in this final state.
During my PhD I led the search for vector boson scattering in the semileptonic channel, a process directly linked to electroweak symmetry breaking. A deep-learning signal extraction combined with data-driven background estimation gave the first evidence of this process at the LHC (4.4σ).