Skip to content

Latest commit

 

History

History
239 lines (196 loc) · 10.7 KB

CHANGELOG.md

File metadata and controls

239 lines (196 loc) · 10.7 KB

Changelog

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.

0.5.2 - 29/03/2022

Added

  • added new subcommand import, which at this stage converts fastNLO tables to PineAPPL grids. This program was previously an example and written in C++ and now has been removed.

0.5.1 - 01/03/2022

Added

  • added the --bins option to the CLI subcommand sum, which allows to sum bins together
  • added the --fk-table option to the CLI subcommand optimize, which allows the optmization of FK tables based on assumptions of heavy-flavor PDFs
  • added new subcommand ops which collects various modifying operations on grids. The switches --cc1 and --cc2 charge conjugate the first and second PDF, respectively, and charge conjugates the luminosity function correspondingly such that the convolutions are unchanged

Changed

  • when running pineappl convolute ... -s 1 the scale-variation columns are no longer shown. The output would be zero, but this doesn't make sense. All other values of -s are unaffected.
  • added a further optimization to Grid::optimize that strips empty orders

Fixed

  • fixed pineappl obl --bins, which had the wrong column headers if there were more than one observable

0.5.0 - 11/02/2022

Added

  • added support for DIS processes, which feature only a single hadron in the initial state
  • 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 type fastNLOCoeffAddFlex are not supported yet
  • added a new switch --subgrid-pull to the plot subcommand; this generates several plots showing the where the pull between two PDFs comes from in x1 and x2, and also in rapidity y and invariant mass M
  • 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 in merge, 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 set LHAPDF-set-name to load it from LHAPDF, but label is the name that appears in the plot legend
  • added new options to the subgrids command: --muf, --mur, --x1 and --x2 to print the corresponding grid values and --stats to print information about the space requirements of the subgrid type
  • added new subcommand --delete, which allows to delete bins from a grid
  • added new subcommand obl, which stands for orders (o), bins (b) and lumis (l), that shows information about the all contained subgrids in a grid; pineappl obl -l will replace pineappl lumis in the future
  • added options --orders1, --orders2, --scale1 and --scale2 to the subcommand pineappl diff, which allow the selection of orders and scaling of grids that should be compared

Changed

  • 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 and pineappl_subgrid_replace_and_delete have been replaced by pineappl_grid_export_q2_slice, pineappl_grid_nonzero_q2_slices and pineappl_grid_replace_and_delete, respectively.
  • the C API function pineappl_subgrid_fill_q2_slice has been replaced by function pineappl_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 subcommand channels, convolute and pdf_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 and pineappl_subgrid_import_q2_slice with pineappl_subgrid_new2 and pineappl_subgrid_import_mu2_slice, respectively. The latter support independent renormalization and factorization scales
  • changed the names of pineappl_grid_export_q2_slice and pineappl_grid_nonzero_q2_slices to pineappl_grid_export_mu2_slice and pineappl_grid_nonzero_mu2_slices, respectively
  • replaced C API-based Python interface with PyO3-based one
  • the subcommand subgrids now does not print empty grids; the old behavior can be restored with the new switch --show-empty
  • pineappl diff now behaves differently whenever luminities are different and errors out when this is the case. This can be adjusted using --ignore-lumis

0.4.1 - 25/03/2021

Fixed

  • added fallback options to git_version that prevented uploading pineappl_capi and pineappl_cli to crates.io

0.4.0 - 25/03/2021

Added

  • 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 subcommand optimize 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 different x1 and x2 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 and pineappl_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

Changed

  • 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 subcommands convolute 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 with Grid::bin_info
  • in the C API the type uintptr_t has been changed to the more common type size_t
  • changed the default LagrangeSubgrid type from V1 to V2. 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.

Fixed

  • 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

  • added the options --absolute, --orders, and --lumis to the subcommand channels
  • added Python interface to the C API, the the folder wrappers/python and the example in examples/python-dy-aa
  • added the option --normalize to the subcommand orders, which can be used to specify the orders that should be used to normalize to.

Fixed

  • 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

Added

  • the Lagrange-interpolation grid of PineAPPL now supports fully dynamic factorisation/renormalisation scales
  • pineappl has a new subcommand pdf_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 subcommand convolute of pineappl, 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 subcommand pdf_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

Changed

  • the parameter reweight of SubgridParams is set to true by default now (was false before)
  • improved the output of pineappl, bin widths are printed now

Fixed

  • fixed subcommand orders of pineappl to normalise each leading order to the sum of all leading orders, not only the first
  • fixed subcommand pdf_uncertainty of pineappl to show the correct integrated results (bin width was missing)
  • fixed calculation of the scale variation

0.1.0 - 11/06/2020

  • first release