All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- added new C API function
pineappl_grid_set_remapper
- added new subcommand
sum
to sum over bins of a grid - added new subcommand
pull
to view where the differences between two PDF sets are coming from - added an example program using the C API to convert fastNLO tables (of type
fastNLOCoeffAddFix
). Tables of typefastNLOCoeffAddFlex
are not supported yet - added a new switch
--subgrid-pull
to theplot
subcommand; this generates several plots showing the where the pull between two PDFs comes from inx1
andx2
, and also in rapidityy
and invariant massM
- improved the
optimize
method such that it removes all entries of a luminosity function that are empty across orders and bins. This required a change inmerge
, which now allows the merge of grids with different luminosities and orders - enabled relabeling PDF sets, which means that they can now specified as
LHAPDF-set-name=label
, which uses the setLHAPDF-set-name
to load it from LHAPDF, butlabel
is the name that appears in the plot legend
- The command-line interface
pineappl
no longer prints both the differential and integrated cross sections. Instead it either prints the differential cross sections, or, if the switch-i
or--integrated
is given, the integrated cross sections (without bin limits and/or normalizations) are printed - the C API functions
pineappl_subgrid_q2_slice
,pineappl_subgrid_filled_q2_slices
andpineappl_subgrid_replace_and_delete
have been replaced bypineappl_grid_export_q2_slice
,pineappl_grid_nonzero_q2_slices
andpineappl_grid_replace_and_delete
, respectively. - the C API function
pineappl_subgrid_fill_q2_slice
has been replaced by functionpineappl_subgrid_import_q2_slice
- the C API function
pineappl_subgrid_new
has been replaced by a function with the similar name but different arguments - changed the output of the
pineappl
subcommandchannels
,convolute
andpdf_uncertainty
. By default only the differential cross sections are shown (integrated numbers divided by bin widths), but the flag-i
or--integrated
can be given to switch to the integrated numbers, which are not divided by bin widths. - slightly improved file sizes by introducing a type for empty subgrids:
EmptySubgridV1
- vastly improved the output of the
plot
subcommand: bounding boxes are properly calculated now, added support for higher-dimensional distributions - changed the
plot
subcommand such that the legend is put in between panels, thereby producing less overlapping elements - replaced the C API functions
pineappl_subgrid_new
andpineappl_subgrid_import_q2_slice
withpineappl_subgrid_new2
andpineappl_subgrid_import_mu2_slice
, respectively. The latter support independent renormalization and factorization scales - changed the names of
pineappl_grid_export_q2_slice
andpineappl_grid_nonzero_q2_slices
topineappl_grid_export_mu2_slice
andpineappl_grid_nonzero_mu2_slices
, respectively - replaced C API-based Python interface with PyO3-based one
0.4.1 - 25/03/2021
- added fallback options to
git_version
that prevented uploadingpineappl_capi
andpineappl_cli
to crates.io
0.4.0 - 25/03/2021
- added access to the contents of Lagrange-interpolation grids
- added more C functions previously missing:
pineappl_grid_bin_limits
,pineappl_grid_lumi
,pineappl_lumi_combinations
,pineappl_lumi_count
,pineappl_lumi_entry
- added
remap
subcommand which allows to change the binning and dimensions of a distribution - added global
--silence_lhapdf
switch to suppress the output of LHAPDF - added new subgrid type:
LagrangeSparseGrid
, which can be generated using the new subcommandoptimize
from existing grids; this data structure uses less memory and is a bit faster - added new subcommand
optimize
, which optimizes the size for each grid, both in memory and when written as a file - added new subgrid type
LagrangeSubgridV2
, which allows for differentx1
andx2
limits, for example for DIS processes - added new switches to the subcommand
info
:--get
,--keys
,--show
, which lets one read a single or all key-values pairs of each grid file. - added new subcommand
set
which allows to modify the key-value storage - added new C functions
pineappl_grid_set_key_value
andpineappl_grid_optimize
- added a new switch
--ignore_orders
to the diff subcommand, which sums over all orders and is therefore useful if two grids are compared that should have the same contents in principle, but in practice have different orders - added new subcommand
plot
, which allows to plot the information contained in a grid
- the order columns of the subcommand
diff
are now properly sorted and do not change randomly. - the subcommand
diff
now shows the differential cross sections of both grids with the same number of digits as the subcommandsconvolute
and similar. - changed the default maximum value of Q from 1 TeV to 10 TeV and the number of grid points in Q^2 from 30 to 40
- Removed
Grid::bin_limit
and replaced it withGrid::bin_info
- in the C API the type
uintptr_t
has been changed to the more common typesize_t
- changed the default
LagrangeSubgrid
type fromV1
toV2
. This subgrid type supports DIS and allows to reconstruct static scales. If a static scale has been detected,optimize
can remove the interpolation in the Q^2 dimension.
- the subcommand
diff
did not show differences in per cent, although it printed a per cent sign. Now it shows relative differences, which is always useful, even when the differences are smaller than sub-per mille.
0.3.0 - 20/08/2020
- added the options
--absolute
,--orders
, and--lumis
to the subcommandchannels
- added Python interface to the C API, the the folder
wrappers/python
and the example inexamples/python-dy-aa
- added the option
--normalize
to the subcommandorders
, which can be used to specify the orders that should be used to normalize to.
- added missing support for LHAIDs for
pdf_uncertainty
- fixed a case where merging two grids fails, because the bin limits are numerically not exactly the same
0.2.0 - 02/08/2020
- the Lagrange-interpolation grid of PineAPPL now supports fully dynamic factorisation/renormalisation scales
pineappl
has a new subcommandpdf_uncertainty
to calculate PDF uncertainties- in
examples/capi-dy-aa
one can find an example how to use the C API - added method
Grid::with_subgrid_type
that allows the selection of a custom Subgrid type - added
--absolute
switch to the subcommandconvolute
ofpineappl
, which shows all values of the scale variation as absolute numbers - added a PDF and alphas to
Grid::convolute
to speed up convolutions - added
--orders
switch to the subcommandpdf_uncertainty
, to caclulate the PDF uncertainty only with the specified perturbative orders - added new subcommand
info
which shows the highest orders in alphas and alpha - added new subcommand
diff
which compares two grids with each other
- the parameter
reweight
ofSubgridParams
is set totrue
by default now (wasfalse
before) - improved the output of
pineappl
, bin widths are printed now
- fixed subcommand
orders
ofpineappl
to normalise each leading order to the sum of all leading orders, not only the first - fixed subcommand
pdf_uncertainty
ofpineappl
to show the correct integrated results (bin width was missing) - fixed calculation of the scale variation
0.1.0 - 11/06/2020
- first release