Table of Contents
Fetching ...

HOPPET v2 release note

Alexander Karlberg, Paolo Nason, Gavin Salam, Giulia Zanderighi, Frédéric Dreyer

TL;DR

Hoppet v2 delivers a major upgrade to PDF evolution by implementing $N^3LO$ QCD evolution in the VFNS, massless hadronic structure functions up to $N^3LO$, and QED evolution within a consistent phenomenological counting scheme. The release integrates a Python interface and a modern CMake build, plus the ability to export PDFs as LHAPDF grids and substantial speedups in interpolation and tabulation. It provides both streamlined and low-level interfaces, enabling precise control over heavy-quark thresholds, splitting-function approximations, and per-order structure-function coefficients, while maintaining backward compatibility with v1 APIs. These enhancements make hoppet a fast, accurate, and versatile tool for global PDF fits and cross-section predictions, with broad cross-language support and LHAPDF integration for community use.

Abstract

We document the three main new features in the v2 release series of the HOPPET parton distribution function evolution code, specifically support for N$^3$LO QCD evolution in the variable flavour number scheme, for the determination of hadronic structure functions for massless quarks up to N$^3$LO, and for QED evolution to an accuracy phenomenologically equivalent to NNLO QCD. Additionally we describe a new Python interface, CMake build option, functionality to save a hoppet table as an LHAPDF grid and update our performance benchmarks, including optimisations in interpolating PDF tables.

HOPPET v2 release note

TL;DR

Hoppet v2 delivers a major upgrade to PDF evolution by implementing QCD evolution in the VFNS, massless hadronic structure functions up to , and QED evolution within a consistent phenomenological counting scheme. The release integrates a Python interface and a modern CMake build, plus the ability to export PDFs as LHAPDF grids and substantial speedups in interpolation and tabulation. It provides both streamlined and low-level interfaces, enabling precise control over heavy-quark thresholds, splitting-function approximations, and per-order structure-function coefficients, while maintaining backward compatibility with v1 APIs. These enhancements make hoppet a fast, accurate, and versatile tool for global PDF fits and cross-section predictions, with broad cross-language support and LHAPDF integration for community use.

Abstract

We document the three main new features in the v2 release series of the HOPPET parton distribution function evolution code, specifically support for NLO QCD evolution in the variable flavour number scheme, for the determination of hadronic structure functions for massless quarks up to NLO, and for QED evolution to an accuracy phenomenologically equivalent to NNLO QCD. Additionally we describe a new Python interface, CMake build option, functionality to save a hoppet table as an LHAPDF grid and update our performance benchmarks, including optimisations in interpolating PDF tables.

Paper Structure

This paper contains 25 sections, 11 equations, 4 figures, 5 tables.

Figures (4)

  • Figure 1: Ratio of the PDFs at $100\;\mathrm{GeV}$ with N$^3$LO evolution versus NNLO evolution. The evolution starts from the same initial condition at NNLO and N$^3$LO, at an initial scale $Q_0\simeq 1.41\;\mathrm{GeV}$. In the upper plots, we use the standard benchmark initial condition. In the lower plots, the initial condition is the NNPDF40_pch_nnlo_as_01180 PDF NNPDF:2021njg at $Q_0$. The left-hand plots show the ratio with N$^3$LO evolution including N$^3$LO mass thresholds, while the right-hand plots show the evolution without the N$^3$LO mass thresholds. In all cases, the N$^3$LO evolution uses n3lo_splitting_approximation_up_to_2410_08089.
  • Figure 2: The structure function $F_2^{\rm NC}$ plotted as a function of $x_{\rm B}$ in the range $[10^{-5}:0.9]$ at $Q=2$ GeV (left) and $Q=10$ GeV (right). Each plot displays the curves at LO, NLO, NNLO, and N$^3$LO with the middle panel showing the ratio to N$^3$LO. The lowest panel shows the ratio of the N$^3$LO with NNLO evolution to the full N$^3$LO result. Adapted from Ref. Bertone:2024dpm using the full N$^3$LO evolution.
  • Figure 3: Accuracy (top) and timing (bottom) versus dy at (a) NNLO and (b) N$^3$LO in hoppet v2.1.0. The accuracy corresponds to the worst fractional accuracy for any flavour, at any $x$ value below the corresponding limit, as described in the text. The timings were obtained on an M2Pro with gfortran v15.1 and -O3 optimisation. We have further used ymax = 12 and dlnlnQ = dy/4.
  • Figure 4: Study of the impact of the choice of the $y$ and $Q$ interpolation orders (oY, oQ) on accuracy (upper panel) and speed (lower panel) for evaluating the PDF table at a given $y$ and $Q$ point. Note that the interpolation order that enters the splitting functions remains $6$ as in Fig. \ref{['fig:main']}. The timing corresponds to the EvalPdfTable_yQ(table,y,Q,vals) modern Fortran call. The timings have been obtained on an M2Pro with gfortran v15.1 and -O3 optimisation. Calling EvalPdfTable_xQ(table,x,Q,vals), or the corresponding functions in the streamlined interfaces, adds about $5\;\mathrm{ns}$. We have further used ymax = 12 and dlnlnQ = dy/4. Note that our accuracy definition is to show the worst accuracy across any $[guds]$ flavour and $x$ value in range. In practice, most points have a significantly higher accuracy. We also show results obtained by interpolating our grids with LHAPDF 6.5.5, calling it from its native C⁠[4] ++ interface to maximise its speed.