63 releases (8 stable)
Uses new Rust 2024
| new 1.4.0 | May 12, 2026 |
|---|---|
| 1.3.3 | Mar 1, 2026 |
| 1.3.0 | Dec 6, 2025 |
| 1.2.0 | Aug 22, 2025 |
| 0.1.0 | Jun 11, 2020 |
#433 in Algorithms
Used in 2 crates
375KB
8K
SLoC
PineAPPL
PineAPPL is a library for recording and storing predictions for high-energy physics observables independently of their parton distribution functions.
lib.rs:
PineAPPL is not an extension of APPLgrid.
Overview
The main type of this crate is Grid, which represents the interpolation grids that
PineAPPL implements. Roughly speaking, a Grid is a three-dimensional array of Subgrid
objects together with metadata. The three dimensions are
- bins, whose limits can be accessed by
Grid::bwfl(), and - (perturbative) orders, represented by the type
Orderand accessible byGrid::orders(), - channels, whose definition is returned by
Grid::channels().
Subgrid is a trait and objects that implement it are of the type SubgridEnum. The
latter is an enum of different types that are optimized to different scenarios: fast event
filling, small storage profile, etc.
Metadata
Metadata is a collection of key--value pairs, in which both keys and values are String
objects. In metadata anything a user whishes can be stored. However, there are special keys,
which have meaning to PineAPPL and/or its CLI pineappl. This metadata enables the CLI to
automatically generate plots that are correctly labeled, for instance. For more applications
see also the CLI tutorial.
Dependencies
~3.5–4.5MB
~90K SLoC