Table of Contents
Fetching ...

SPARKX: A Software Package for Analyzing Relativistic Kinematics in Collision Experiments

Nils Sass, Hendrik Roch, Niklas Götz, Renata Krupczak, Carl B. Rosenkvist

TL;DR

SPARKX provides a Python-based, modular framework for analyzing heavy-ion collision simulations, addressing the fragility and learning-curve issues of ad-hoc scripts and C++-heavy toolchains. It offers a class-based architecture with dedicated loaders for OSCAR2013 and JETSCAPE/X-SCAPE outputs, a rich set of observables (bulk yields, eccentricities, flow coefficients, and jets), and a clear three-step workflow from data loading to analysis. The paper details its SOLID-design, comprehensive testing, performance benchmarking against Rivet, and practical example applications, demonstrating improved reliability and reproducibility. It also outlines future enhancements, including binary IO, parallelization, and broader format support, aiming to accelerate and democratize relativistic kinematics studies in high-energy nuclear physics.

Abstract

SPARKX is an open-source Python package developed to analyze simulation data from heavy-ion collision experiments. By offering a comprehensive suite of tools, SPARKX simplifies data analysis workflows, supports multiple formats such as OSCAR2013, and integrates seamlessly with SMASH and JETSCAPE/X-SCAPE. This paper describes SPARKX's architecture, features, and applications and demonstrates its effectiveness through detailed examples and performance benchmarks. SPARKX enhances productivity and precision in relativistic kinematics studies.

SPARKX: A Software Package for Analyzing Relativistic Kinematics in Collision Experiments

TL;DR

SPARKX provides a Python-based, modular framework for analyzing heavy-ion collision simulations, addressing the fragility and learning-curve issues of ad-hoc scripts and C++-heavy toolchains. It offers a class-based architecture with dedicated loaders for OSCAR2013 and JETSCAPE/X-SCAPE outputs, a rich set of observables (bulk yields, eccentricities, flow coefficients, and jets), and a clear three-step workflow from data loading to analysis. The paper details its SOLID-design, comprehensive testing, performance benchmarking against Rivet, and practical example applications, demonstrating improved reliability and reproducibility. It also outlines future enhancements, including binary IO, parallelization, and broader format support, aiming to accelerate and democratize relativistic kinematics studies in high-energy nuclear physics.

Abstract

SPARKX is an open-source Python package developed to analyze simulation data from heavy-ion collision experiments. By offering a comprehensive suite of tools, SPARKX simplifies data analysis workflows, supports multiple formats such as OSCAR2013, and integrates seamlessly with SMASH and JETSCAPE/X-SCAPE. This paper describes SPARKX's architecture, features, and applications and demonstrates its effectiveness through detailed examples and performance benchmarks. SPARKX enhances productivity and precision in relativistic kinematics studies.

Paper Structure

This paper contains 20 sections, 1 equation, 8 figures.

Figures (8)

  • Figure 1: Simplified UML diagram to represent the architecture of SPARKX. Blue boxes represent data storage and processing classes, and green boxes represent more physics quantity-related classes linked to the output of SPARKX. Arrows indicate dependencies between different package parts.
  • Figure 2: Example code including loading data, applying filters, creating a histogram, and saving a $p_{\rm T}$ spectrum to a file.
  • Figure 3: Execution time (left) and maximum memory usage (right) for a simple charged hadron transverse momentum analysis implemented in SPARKX 2.0.2 and Rivet 3.1.5.
  • Figure 4: Example code to create centrality classes and compute the integrated anisotropic flow $v_2$ for charged hadrons.
  • Figure 5: Example code to run a jet finding algorithm on the input data and write the jets with associated particles to a file.
  • ...and 3 more figures