PyFC: a Python framework for Feldman-Cousins confidence intervals

Standard

Links

Setting a confidence interval sounds like a solved problem, until you actually have to do it. Deciding whether to quote a two-sided interval or a one-sided upper limit after looking at the data — the classic “flip-flopping” — breaks coverage, and near a physical boundary (a mass, a cross section, a flavor fraction) the usual construction can return an empty or unphysical interval. Feldman and Cousins’ 1998 unified approach fixed this by using the likelihood-ratio ordering principle to let the data decide the interval’s shape automatically, with guaranteed coverage throughout. It has become the standard approach for small-signal counting experiments across particle and astroparticle physics — but implementing it correctly, especially in more than one dimension and with realistic, finite-statistics systematics, is a substantial piece of software to get right.

That’s what I built PyFC to handle — it supports binned and unbinned likelihoods natively, in the same framework, rather than treating one as a special case of the other. Given a likelihood, it runs the Monte Carlo pseudo-experiments needed to empirically calibrate the profile-likelihood-ratio distribution, and returns exact-coverage Feldman-Cousins intervals and contours — in one or several dimensions, on a laptop or on a cluster. I kept needing exactly this — correct-coverage contours for neutrino mixing-parameter extractions and HNL coupling limits in my own papers — and rewriting the toy-generation machinery from scratch for each project wasn’t sustainable.

If your reference point is ROOT/RooStats’ FeldmanCousins calculator: PyFC does the same statistical job with no ROOT dependency — plain NumPy/SciPy arrays and a pip install, so it drops straight into a normal Python analysis.

Main features

PyFC is built for speed, flexibility, and accuracy — none traded off for the others.

Speed

  • Parallel processing by default. Binned fits use Numba/NumPy C-extensions with GIL-bypassing thread pooling; unbinned fits parallelize across CPU cores via Python’s multiprocessing (ProcessPoolExecutor). Toy generation — normally the bottleneck in any Feldman-Cousins analysis — scales with however many cores you give it.
  • No wasted compute. Adaptive early-stopping (adaptive_toys) and batched dispatch (toy_batch_size) stop generating toys once the result is statistically clear, instead of running a fixed, oversized number every time.
  • Resumable. Checkpointing saves state after each parameter/pair scan, so a run killed by a cluster walltime limit picks up where it left off instead of restarting from zero.

Flexibility

  • Native binned and unbinned support, in one framework. Poisson binned data — including arbitrary N-dimensional, even non-contiguous, histograms — and Extended Unbinned Maximum Likelihood models are both first-class, not one bolted onto the other.
  • A choice of optimizer. Gradient-based SciPy (L-BFGS-B), nested sampling via UltraNest, brute-force grid scans, or a Hybrid strategy that uses UltraNest’s robustness for the one global fit and SciPy’s speed for the many conditional fits that follow.
  • Physical constraints between parameters, not just per-parameter boxes. bounds_func and constraints express joint or simplex conditions (e.g. a + b ≤ 1) that an independent [lo, hi] range per parameter can’t capture.

Accuracy

  • Coverage that’s actually exact. The test-statistic distribution is derived empirically from generated toys rather than assumed from Wilks’ theorem, and disconnected accepted regions are reported as separate intervals instead of being silently merged into one.
  • Finite-Monte-Carlo corrections for limited simulation statistics, so a small MC background template doesn’t bias the result.

Also: optional 2D grid sparsification for faster contours, and an interactive CLI for generating run configurations.

Open source (GPLv3), Python 3.8+.

What you need to provide

You bring the physics, PyFC handles the statistics:

  • A physics mapper — for binned data, a compute_rates_func that maps your free parameters to expected bin counts and variances; for unbinned data, that plus pdf_components (one function per signal/background component) and a generate_toy_func for parametric bootstrapping.
  • Your data — a histogram (any shape, any dimension) or an array of events.
  • grids — the scan grid for each free parameter, plus bounds_func/constraints for any joint constraints between them.
  • A config — confidence level, toy settings, checkpointing, and the optimizer strategy (gridscipyultranest, or hybrid), built interactively with the CLI or as a JSON file.

Call compute_fc_intervals and PyFC takes care of the rest: toy generation, parallelization, checkpointing, and exact-coverage intervals out the other end — no hand-rolled Monte Carlo loop required.

A minimal example

For a binned Poisson analysis with a signal and a background component:

import numpy as np
from numba import njit
from pyfc import compute_fc_intervals
# A fixed expected-shape array, captured via closure (not itself a fit parameter)
expected_shape = np.array([0.1, 0.5, 2.0, 5.0])
@njit(fastmath=True, nogil=True)
def compute_rates(params):
"""Map parameters -> expected bin counts (mu) and variances (sigma2)."""
mu = params[0] * params[1] * expected_shape + params[2] # signal (rate x efficiency) + background
sigma2 = mu # Poisson variance
return mu, sigma2
observed_counts = np.array([20, 7, 2, 0]) # data — any shape, not just 1D
grids = [
np.linspace(1e-9, 1e-7, 20), # param_1
np.linspace(2.0, 3.0, 15), # param_2
np.linspace(0.8, 1.2, 10), # param_3
]
# results: exact-coverage FC intervals/contours for param_1-3, plus the
# underlying profile-likelihood scan and toy statistics behind them
results = compute_fc_intervals(
data=observed_counts,
grids=grids,
compute_rates_func=compute_rates,
**config, # confidence level, toy settings, strategy — see Configuration
)

(See the Quick Start Guide for the full binned and unbinned walkthroughs, with real output.)

Install with:

pip install PyFeldmanCousins

Some physics it’s meant for

Feldman-Cousins intervals matter most exactly where physics tends to live: near a boundary, with a marginal signal, where Gaussian/Wilks assumptions don’t hold. A few non-trivial cases PyFC is a natural fit for:

  • Astrophysical neutrino flavor composition. The flavor fractions (f_e, f_μ, f_τ) of the diffuse high-energy neutrino flux live on a simplex, f_e + f_μ + f_τ = 1 — precisely the joint-constraint case that bounds_func/constraints were built for. Feldman-Cousins contours on the flavor triangle are the standard way to compare an IceCube-like measurement against competing production scenarios (pion decay, muon-damped decay, neutron decay) and BSM flavor physics. Worked through hands-on in tutorial notebook 06.
  • Heavy Neutral Lepton searches at beam-dump experiments. A null result from a fixed-target experiment like SHiP constrains the active-sterile mixing |U|² as a function of HNL mass — an upper limit sitting right against the |U|² ≥ 0 boundary, often with disconnected sensitivity islands where the excluded region reappears at higher mass — see tutorial notebook 04 for how PyFC reports these correctly.
  • Dark matter direct-detection cross-section limits. The textbook case: a handful of candidate events over an uncertain background, where the interval needs to turn two-sided smoothly if a real excess ever shows up, instead of flip-flopping into an artificially tight one. The quickstart tutorial notebook works through essentially this case end to end.
  • Accelerator and reactor neutrino oscillations. Joint 2D regions on (Δm², sin²2θ) — this is literally the original 1998 Feldman-Cousins worked example, and still a good stress test for comparing the grid, SciPy, and Hybrid strategies — see tutorial notebook 05.
  • Neutrinoless double-beta decay. Binned searches for a peak near the Q-value, where the finite-MC correction matters because the simulated background templates are themselves statistics-limited — see tutorial notebook 04 for the correction on vs. off.

Electron stability constrains neutrino time delays

Standard

The search for Lorentz-invariance violation (LIV) is one of our best paths toward uncovering the quantum nature of spacetime. One of its most famous potential manifestations is the modification of neutrino propagation speeds.

For years, the community has known that superluminal (faster-than-light) neutrinos are heavily constrained. LIV would cause them to rapidly lose energy by radiating electron-positron pairs in a vacuum. Because of this, when anomalous time delays between cosmic neutrinos and gamma rays are observed, phenomenologists have naturally favored subluminal (slower-than-light) LIV propagation as the most viable explanation.

In a new paper co-authored with José Manuel Carmona, José Luis Cortés, Ardit Gkioni, and Maykoll A. Reyes, we demonstrate that this apparent subluminal loophole is actually an illusion.

We show that the same LIV modifications that slow down neutrinos inevitably render high-energy electrons unstable. Under subluminal LIV, electrons undergo a catastrophic decay process: e → e + ν + anti-ν. This triggers rapid and severe energy degradation.

By demanding that electrons survive up to the extreme energies we observe in astrophysics—specifically, the 15.5-TeV candidates from H.E.S.S. and the 2.34-PeV electrons inferred by LHAASO in the Crab Nebula—we placed stringent new limits on subluminal LIV.

Our results firmly invalidate the subluminal parameter space previously invoked to explain years-long cosmic neutrino time delays. Consequently, any observable delays must either have purely astrophysical origins, rely on a universal LIV deformation across all particle species, or require physics well beyond the standard effective-field-theory framework.

Read more at:

Electron stability constrains neutrino time delays
Mauricio Bustamante, José Manuel Carmona, José Luis Cortés, Ardit Gkioni, Maykoll A. Reyes
2607.01339 hep-ph

Are neutrinos Majorana? Fixed-target and high-energy astrophysical searches decide

Standard

Determining whether the neutrino is a Dirac or Majorana fermion remains a fundamental open question in particle physics. The standard experimental approach, neutrinoless double beta decay, carries structural limitations: it probes only the electron sector and can be obscured by Majorana CP-violation phase interference.

In a new paper co-authored with Gabriela Barenboim and Qinrui Liu, we propose an independent, complementary probe to overcome these blind spots.

We extend the Standard Model with a GeV-scale Heavy Neutral Lepton (HNL). If this HNL is a Majorana fermion, it induces a calculable mass threshold correction that modifies the active neutrino mixing parameters at high energies. This correction vanishes identically if the HNL is Dirac.

Our framework relies on multi-experiment synergy:

  1. Fixed-Target Discovery: Upcoming beam-dump experiments, such as SHiP, discover the HNL and measure its active-sterile couplings across the electron, muon, and tau sectors.
  2. Astrophysical Flavor Shift: The scattering of TeV-PeV astrophysical neutrinos resolves the HNL mass threshold. This induces a shift in the flavor composition of neutrinos arriving at Earth, detectable by next-generation neutrino telescopes.

Because this astrophysical flavor shift is highly sensitive to the muon and tau sectors, it bypasses the electron-exclusivity of neutrinoless double beta decay. A correlated signal between a fixed-target experiment and a neutrino telescope network provides model-independent evidence for the Majorana nature of neutrinos.

In addition, we show that future measurements of the high-energy astrophysical neutrino flavor composition could set the world-best limits on the HNL couplings:

Read more at:

Are neutrinos Majorana? Fixed-target and high-energy astrophysical searches decide
Gabriela Barenboim, Mauricio Bustamante, Qinrui Liu
2606.17132 hep-ph

GRAND co-spokesperson

Standard

Following a successful 2026 Collaboration Meeting in Dunhuang, China, Zhang Yi (Purple Mountain Observatory) and I were elected as the co-spokespersons of the GRAND Collaboration!

All of the Collaboration is deeply grateful to our outgoing co-spokespersons, Kumiko Kotera, Olivier Martineau, and Xiangping Wu, for a decade of incredible dedication and leadership.

What’s next? GRANDProto300 is growing! As we commission our instrument, we look forward to our upcoming physics runs. 🚀

Read more at https://grand.cnrs.fr/mauricio-bustamante-and-zhang-yi-are-the-new-grand-co-spokespersons/

Astrophysical bounds on the high-energy evolution of neutrino mixing

Standard

Today, the values of the neutrino mixing angles and mass differences that govern flavor transitions are known to quite high precision. However, we know them exclusively from sub-TeV terrestrial experiments. Because these experiments operate at low transferred momenta (typically, Q ~ few GeV), a fundamental question remains: are the mixing parameters universal constants, or do they evolve at high energies?

Quantum field theory dictates that these parameters should “run” with Q via renormalization group (RG) equations. While this running is negligible in the Standard Model, well-motivated new-physics frameworks, like the Standard Model Effective Field Theory (SMEFT), can accelerate this evolution. Detecting the high-energy running of neutrino mixing parameters would be a smoking-gun signature of new physics.

To access the high-Q regime, we turn to high-energy astrophysical neutrinos, with energies in the TeV–PeV and EeV ranges. They interact in neutrino telescopes via deep inelastic scattering and probe average momentum transfers of Q ~ 20-40 GeV, offering an unprecedented window into this high-Q evolution.

In a new paper with Qinrui Liu and Gabriela Barenboim, we evaluate the power of high-energy astrophysical neutrinos to test the evolution of neutrino mixing. We use the neutrino flavor composition at Earth, i.e., the relative proportions of electron, muon, and tau neutrinos in the diffuse flux. We execute a two-pronged analysis: first, extracting generic high-Q mixing parameters to remain model-agnostic, and second, constraining RG-inducing dimension-6 SMEFT coefficients.

We extract present bounds from the 11.4-year IceCube Medium Energy Starting Events (MESE) sample, published in 2025. Because the uncertainties in current flavor measurements are large, present data cannot yet meaningfully constrain the high-Q mixing parameters or SMEFT operators.

However, the future is promising. For our projections, we simulate the combined detection capabilities of existing (IceCube, Baikal-GVD, KM3NeT) and upcoming (P-ONE, IceCube-Gen2, NEON, TRIDENT, HUNT) optical-Cherenkov neutrino telescopes by the years 2040 and 2050, using both High-Energy Starting Events (HESE) and through-going muons. Crucially, we profile over the unknown astrophysical source flavor composition to ensure our bounds are robust and realistic.

Our results show that by 2040–2050, this global network will achieve the precision necessary to place unprecedented bounds on high-Q mixing (yielding particularly strong constraints in the 23 and 13 sectors). Furthermore, if the astrophysical neutrinos are produced via muon-damped pion decay, these telescopes will be capable of placing limits on individual SMEFT coefficients at a new-physics scale of 1 TeV, easily translatable to other energy scales.

We also forecasted the sensitivity of ultra-high-energy (UHE) radio arrays, such as the planned IceCube-Gen2 radio array. Counterintuitively, we found that despite UHE neutrinos possessing much higher energies, they yield drastically weaker constraints than their TeV–PeV counterparts. This is driven both by the logarithmic scaling of the RG evolution and by the vast experimental uncertainties inherent to radio-based flavor tagging.

Read more at:

Astrophysical bounds on the high-energy evolution of neutrino mixing
Mauricio Bustamante, Qinrui Liu, Gabriela Barenboim
2604.14409 hep-ph

2026 April Fools’ Day papers

Standard

This year’s April Fools’ Day arXiv paper haul was possibly the biggest one I have seen so far (as always, they are marked with a special symbol around April 1st on my daily arXiv picks). Thanks to John Beacom for pointing 2603.29912, which I missed on my first pass.

379710-200 Predictions of the LSST Solar System (non-)Yield
Joseph Murtagh, Ian Chow
2604.00206 astro-ph

379710-200 Pegasi Ascendant: Ranking Constellation Genitives on their Aesthetic Merit
Pranav Nagarajan
2604.00144 astro-ph

379710-200 Your Outie Is a Wonderful Astronomer: Macrodata Refinement of the Astro-ph ArXiv Feed at Phermon Industries
Yuan-Sen Ting
2603.29771 astro-ph

379710-200 On The Detection of Digiorno-like Objects in the Flavor Zone
Logan A. Pearce, Sue D’Oh Nym
2603.28977 astro-ph

379710-200 New Paradigms in Pasta: Introducing 𝙶𝙵 𝚙𝚊𝚜𝚝𝚊𝚖𝚊𝚛𝚔𝚎𝚛𝚜 for Enhanced Inclusivity and Productivity
Julian Falcone, Nabanita Das
2603.28957 astro-ph

379710-200 What does the Universe sound like?
Francesco Iacovelli
2603.29996 gr-qc

379710-200 Mexican Burrowing Toads as gravitational wave detectors
Frederic V. Hessman, Christian Jooss
2603.29334 gr-qc

379710-200 Galactic Constellations in DESI DR1 and the Scales of Cosmological Homogeneity
Claire Lamman
2603.29912 astro-ph

379710-200 AI Cosplaying as Astrophysicists: A Controlled Synthetic-Agent Study of AI-Assisted Astrophysical Research Workflows
Chun Huang
2603.29039 astro-ph

379710-200 An innovative alternative to traditional funding streams for extragalactic astronomy
Stephen M. Wilkins, Jack Turner, Connor Sant Fournier, Behnood Bandi, Aswin Vijayan
2603.29340 astro-ph

379710-200 Declarative bespoke modelling: A new approach
DBM Collaboration: David Komanek, Vaclav Pavlík, Santiago Jimenez, Rhys Taylor
2603.28847 astro-ph

379710-200 Schrödinger’s Seed: Purr-fect Initialization for an Impurr-fect Universe
Mi chen, Renhao Ye
2603.29115 astro-ph

379710-200 A Lower Bound on the Number of Fundamental Constants
William Luke Matthewson
2603.29300 astro-ph

379710-200 CROCS Data Release I: Constraints on the Hubble Constant
Luke Weisenbach et al.
2603.29879 astro-ph

379710-200 First Detection of Exoplanetary Cannabinoids: Evidence for THC and CBD in the Atmosphere of K2-18b
Amie J. Chism et al.
2603.29700 astro-ph

379710-200 The Universe Favors Primes: A Study in the Primality of Cosmic Structures
Nan Li, Shiyin Shen
2603.29321 astro-ph

379710-200 Do Papers with Titles Ending in a Question Mark Usually Have the Answer “No”?
Daniel Stern, Brian Grefenstette
2603.29936 astro-ph

379710-200 No hair but plenty of feathers: are birds black holes?
Andrew Laeuger, Taylor Knapp
2603.29064 gr-qc

379710-200 New Constraints on the M Dwarf Cosmic Shoreline from a Galaxy Far, Far Away
Michael Radica
2603.29743 astro-ph

379710-200 Cloudy With a Chance of Meatballs
Wolf Cukier, Dominic Samra, Vighnesh Nagpal, Diana Powell, Maria Steinrueck, Christopher Wirth
2603.29883 astro-ph

379710-200 Milky Way evolution on a human timescale
Eugene, Neige
2603.29503 astro-ph

379710-200 The Hollyfeld Gambit in Astrophysics
Benne Holwerda
2603.29964 astro-ph

379710-200 StarHash: unique, memorable, and deterministic names for astronomical objects
T. L. Killestein
2603.29584 astro-ph

379710-200 A Therapy Session with Sgr A*
Mayura Balakrishnan, Robert Frazier, Joseph Michail
2603.29963 astro-ph

379710-200 Enabling fundamental understanding of Nature with novel binning methods for 2D histograms
Igor Vaiman
2603.30006 astro-ph

379710-200 Antimatter Propulsion for Interstellar Travel via Positron Production from Potassium-40 Rich Biological Matter
C. Hall, L. N. H. P. Hall
2603.29635 astro-ph

379710-200 Cow-culation: Reentry Impact Risk to Livestock in the Satellite Megaconstellation Era
Samantha M. Lawler, Michele T. Bannister, Laura E. Revell
2603.29324 astro-ph

379710-200 Lots of Shade on Satellite Constellations
Michael B. Lund
2603.29212 physics

379710-200 Where to Search For Life: Evidence from narrative sources with established predictive efficacy
Elizabeth R Stanway
2603.28883 astro-ph

379710-200 Plan 9: Detecting Atmospheric Deterrence Against Interstellar Monsters
David R. Rice, Michael J. Radke
2603.28895 astro-ph

379710-200 Sugar Rush: Improving Observing Productivity via Night Dessert
J.J. Charfman Jr, S. Hyman, N.T.S
2603.28915 astro-ph

Measuring neutrino mixing above 1 TeV with astrophysical neutrinos

Standard

Today, the values of the neutrino mixing angles that govern flavor transitions are known to percent precision (the Dirac CP-violation phase is known much more poorly). However, these values are inferred exclusively from sub-TeV neutrino experiments. No measurement of the mixing parameters exists at the TeV scale and above. There, new-physics effects whose intensity grows with neutrino energy could modify the effective neutrino mixing. High-energy astrophysical neutrinos, with TeV-PeV energies, are primed for such measurements.

In a new paper with Qinrui Liu and Gabriela Barenboim, we have assessed in detail the power in these neutrinos to test mixing above 1 TeV, today and in the future. Concretely, we have extracted values of the four neutrino mixing angles (𝛉12, 𝛉23, 𝛉13) and the CP-violation phase (δCP) from the flavor composition of high-energy astrophysical neutrinos, i.e., the proportion of electron, muon, and tau neutrinos in their diffuse flux.

We extract present bounds on the mixing parameters from the 11.4-year IceCube Medium Energy Starting Events (MESE) sample, published in 2025. We find that the uncertainty in the measurement is too large to claim meaningful sensitivity to the mixing parameter.

For our projections, we use multi-neutrino-telescope combinations using projected detection rates at existing (IceCube, Baikal-GVD, KM3NeT) and future (P-ONE, IceCube-Gen2, NEON, TRIDENT, HUNT) neutrino telescopes. For these, we combine High Energy Starting Events (HESE) and through-going muons. Our projections show clear sensitivity to 𝛉23 and 𝛉13 (and, if neutrino production occurs via muon-damped pion decay, to δCP). This establishes benchmarks for the minimum size that new-physics modifications to the mixing parameters must have in order to be detectable.

Read more at:

Measuring neutrino mixing above 1 TeV with astrophysical neutrinos
Mauricio Bustamante, Qinrui Liu, Gabriela Barenboim
2602.14308 hep-ph

GRAND prototypes paper

Standard

Our paper on the GRAND prototype arrays is finally out!

GRAND, the Giant Radio Array for Neutrino Detection, is an envisioned next-generation observatory for the detection of ultra-high-energy cosmic rays, gamma rays, and, especially, neutrinos.

For the past two years, three small-scale GRAND prototype arrays have been running to test the technology and detection principle of the experiment: GRAND@Nançay in France, GRAND@Auger in Argentina, and GRANDProto300 in China.

This paper was led by Beatriz de Errico, from the Federal University of Rio de Janeiro, and Shen Wang, from Purple Mountain Observatory.

Read more at

Towards the Giant Radio Array for Neutrino Detection (GRAND): the GRANDProto300 and GRAND@Auger prototypes
GRAND Collaboration
arXiv:2509.21306

ICRC 2025 Neutrino Rapporteur Talk

Standard

I recently gave the closing rapporteur track of the neutrino track at the 39th International Cosmic Ray Conference (ICRC 2025), held in Geneva during July 14-24, 2025. The goal was to summarize and highlight the contributions presented in the neutrino track throughout the conference, both in plenary and parallel talks.

It was plenty of work, but very rewarding. Here is my opening slide:

This is a slide summarizing the current state of the measurement of the TeV-PeV diffuse neutrino flux, including the new IceCube MESE measurement presented at the conference:

Finally, this was a good opportunity to look back to ten years ago, and to what I was thinking at the time, just a couple of years after the discovery of PeV neutrinos by IceCube:

You can find the full talk in the ICRC Indico page, or download it here, from this link.

TAMBO letter

Standard

TAMBO, the Tau Air-Shower Mountain-Based Observatory, is an envisioned detector targeting cosmic neutrinos in the 10-100 PeV energy range.

Within this energy range, kilometer-scale water-Cherenkov neutrino telescopes, like IceCube, KM3NeT, and Baikal-GVD, are too small to be sensitive to the falling flux of high-energy neutrinos. At the same time, within this energy range, neutrino energies are not high enough to efficiently trigger the emission of coherent radio signals that would allow them to be detected in envisioned neutrino radio telescopes.

Read more at:

TAMBO: A Deep-Valley Neutrino Observatory
arXiv:2507.08070