In this talk I will review the advances in packages for high-energy physics in the Julia ecosystem since the last JuliaHEP in 2024. New packages, such as Minuit and HepMC3, have been wrapped, and many native packages have added new features. I shall look at progress for end-to-end FCC analysis in particular. I shall end with some discussion of what next steps would bring the most benefit to...
In this talk, we demonstrate a GPU-friendly extension to the FHist.jl. Within the analysis computing ecosystem, moving to GPU has been a steady trend, however, since any event we select almost always goes to a histogram, it would be a huge bottleneck if histogramming requires moving data GPU -> CPU.
We briefly discuss the design and implementation of GPU-backed histogram, and then show some...
Charmonium spectral functions play an important role in studying properties of the hot and dense medium formed in relativistic heavy ion collisions since they carry important theoretical information on probes of the Quark-Gluon Plasma. However, obtaining the spectral function from the correlation function, which can be obtained from lattice QCD, is an ill-posed inverse problem. To address this...
HepMC3.jl provides a Julia interface to the HepMC3 C++ library, the standard for Monte Carlo event records in High Energy Physics (HEP). Leveraging C++ wrapping techniques (CxxWrap), the package grants direct access to the native HepMC3 library functions from within Julia. Aided by tools like WrapIt for generating Julia bindings to C++ headers, the package simplifies integration and...
After the major update of the ROOT.jl package restoring compatibility with recent Julia releases, which was presented last year, a new breakthrough has been achieved. The installation of the C++ framework, used as the backend, and the ROOT.jl binaries (shared libraries) are now integrated into the Julia package manager. All dependencies are now precompiled and installed automatically, when the...
We present Miniut2.jl, a revamped Julia interface for the Minuit2 minimizer, leveraging the latest version of CxxWrap and utilizing WrapIt to automate the generation of the wrapper library. This package provides users with access to a well-established, reliable, and efficient tool for robust minimization.
In addition to the core interface, we introduce a high-level API inspired by the...
The integration of diverse programming languages is a key challenge in high-energy physics (HEP), where computational efficiency and flexible workflows are crucial. AwkwardArray.jl, a Julia-based adaptation of the widely used Python Awkward Array library, addresses the need for high-performance manipulation of complex hierarchical data structures. By leveraging Julia’s computational...
JetReconstruction.jl
is a native Julia implementation of sequential reconstruction algorithms, similar to those found in Fastjet. Since its release in 2024, the package has had many new features added. We will show how jet substructure operations can now be performed, such as tagging with mass drop and soft drop, as well as filtering and trimming. Techniques such as the Lund Jet Plane, soft...
The Patatrack pixel track reconstruction is a stand-alone project originally extracted from the CMS reconstruction software, and has long served as a testing ground for evaluating heterogeneous computing frameworks such as OpenMP, TBB, CUDA, HIP, SYCL, Kokkos, and Alpaka.
To assess the Julia programming language within a realistic High Energy Physics software context, the full Patatrack...
JuliaQCD is a versatile tool for lattice Quantum Chromodynamics (QCD), a key framework in particle physics for studying the strong force that binds quarks and gluons. Designed for seamless scalability, it runs efficiently on CPU/GPU systems from laptops to supercomputers (e.g. Fugaku). By implementing standard algorithms like Hybrid Monte Carlo (HMC) with a focus on rapid and efficient...
In this talk, we introduce the capabilities of our novel matrix-element-generating Julia package, QEDFeynmanDiagrams.jl
, which is part of the broader QuantumElectrodynamics.jl
ecosystem. This package provides a simple, intuitive interface for defining arbitrary scattering processes, and, by leveraging ComputableDAGs.jl
, it enables the generation of functions that compute matrix elements...
The generation of scattering events is one of the most compute-intensive tasks in High-Energy Physics (HEP) experiment simulations. This challenge becomes even more significant for upcoming HEP colliders, as well as for computation-heavy applications in other domains (e.g., laser-plasma physics), where it increasingly limits the range of physics that can feasibly be included. Therefore,...
Spin correlations in successive parton splittings are a crucial quantum effect in QCD, arising from interference between virtual gluon helicity states and manifesting as a cos(2φ) modulation in the azimuthal emission patterns in jet substructure. Accurate modeling of these correlations is required for achieving next-to-leading logarithmic (NLL) precision in parton shower algorithms. In...
Julia has a rich statistics ecosystem, but when it comes to the type of inference typical for high energy physics and related fields, some gaps still remain. Still, a lot of progress has been made - where are we, and where to we go next?
In addition to the state of Bayesian statistics and general statistical tooling, the talk will also highlight the state of BAT.jl and connections to other packages.
This tutorial session provides a comprehensive guide to developing and managing workflows in Julia, ideal for both newcomers and experienced developers. We begin with the basics, demonstrating how to use the Julia compiler directly on a file to go from zero to a working script. The session then explores packaging concepts, focusing on creating reproducible setups with both local and global...
During the Winter Semester of 2024, our LHCb group in Ruhr-University Bochum developed and taught the Data Analysis course for students. The main objective of the course is the introduction to statistical modeling, likelihood studies, confidence interval construction, fitting techniques, and machine learning methods such as decision trees and boosting. The course materials are rearranged into...
HEPVis, a Julia package, provides easy-to-use functions for visualizing and comparing High Energy Physics (HEP) data. Designed to handle and manage plotting information for a large number of variables, it streamlines modifications through a user-friendly YAML file. It also includes functionality to compare datasets using various methods such as ratio, pull, and difference.
There are two main kinds of "fitting" in HEP -- fitting function to data, and template fitting for statistical analysis. The two are linked, but each has enough depth to warrant a dedicated tutorial.
This tutorial connects familiar concept in HEP to best practices in Julia ecosystem. We go through the following topics:
- Simple curve fitting by minimizing Chi2, we use this as an...
ML tutorial for JuliaHEP 2025 (90-120 minutes)
Part 1: Motivation and Basic analysis setup
We introduce basic data operation and JuliaHEP analysis setup by going through the follow topics:
- use Open Data
- implement cut and count
- simple visualization
- write to Arrow or Parquet prepare for ML
Part 2: Basic ML and intro to MLJ
We demonstrate how to conduct the most...
A practical introduction into building forward models, how to perform Bayesian and maximum-likelihood inference on them using BAT, and how all of it relates to concepts of measure theory.