45 releases

0.8.6 Oct 18, 2024
0.8.3 Aug 30, 2024
0.8.2 Jul 22, 2024
0.7.4-rc.1 Feb 24, 2024
0.1.0 Jun 11, 2020

#88 in Science

Download history 125/week @ 2024-07-22 5/week @ 2024-07-29 71/week @ 2024-08-05 9/week @ 2024-08-12 16/week @ 2024-08-19 238/week @ 2024-08-26 29/week @ 2024-09-02 10/week @ 2024-09-09 106/week @ 2024-09-16 56/week @ 2024-09-23 165/week @ 2024-09-30 227/week @ 2024-10-07 281/week @ 2024-10-14 229/week @ 2024-10-21 98/week @ 2024-10-28 52/week @ 2024-11-04

670 downloads per month
Used in 2 crates

GPL-3.0-or-later

390KB
9K SLoC

Rust codecov Documentation crates.io

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

  1. (perturbative) orders, represented by the type Order and accessible by Grid::orders(),
  2. bins, whose limits can be accessed by Grid::bin_info(), and
  3. 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.5MB
~73K SLoC