Set up Pineko

Setting up PINEKO

In order to make PINEKO ready to generate FK tables, it is necessary to set up some folders according to the file pineko.toml. This file provides the paths to all the relevant directories that pineko will use. An example of such file is:

# inputs
ymldb = "data/yamldb"
grids = "data/grids"
theory_cards = "data/theory_cards"
operator_card_template_name = "_template.yaml"
# outputs
operator_cards = "data/operator_cards"
ekos = "data/ekos"
fktables = "data/fktables"
eko = "logs/eko"
fk = "logs/fk"


The inputs that pineko needs are listed in the #inputs part of the pineko.toml file. They are:

  • The yaml files contained in the folder data/yamldb. They provide the mapping between the name of the FK table to be computed and the necessary grids.
  • The theory_cards contained in the folder data/theory_cards. They provide the different physics parameter to be used to compute the FK table.
  • The grids contained in the folder data/grids/<theory_number>, where <theory_number> is the number of the theory card that we want to use. They are the objects that PINEKO convolutes with the EKOs to produce FK tables and they can be computed using PINEFARM.
  • The template operator card that provides some of the inputs needed by EKO and some placeholders to be filled by PINEKO. PINEKO will look for the template operator card inside the asked theory folder inside the operator cards folder.

An example of a rather simple yaml file for the dataset HERACOMBNCEP460 is the following

conversion_factor: 1.0
operation: 'null'
target_dataset: HERACOMBNCEP460

while an example of a NLO theory card is

CKM: 0.97428 0.22530 0.003470 0.22520 0.97345 0.041000 0.00862 0.04030 0.999152
Comments: NNPDF4.0 NLO alphas=0.118
EScaleVar: 1
GF: 1.1663787e-05
IB: 0
IC: 1
ID: 208
MP: 0.938
MW: 80.398
MZ: 91.1876
MaxNfAs: 5
MaxNfPdf: 5
ModEv: TRN
ModSV: expanded
NfFF: 4
PTO: 1
Q0: 1.65
QED: 0
Qedref: 1.777
Qmb: 4.92
Qmc: 1.51
Qmt: 172.5
Qref: 91.2
SIN2TW: 0.23126
SxOrd: LL
SxRes: 0
TMC: 1
XIF: 1.0
XIR: 1.0
alphaqed: 0.007496252
alphas: 0.118
fact_to_ren_scale_ratio: 1.0
global_nx: 0
kbThr: 1.0
kcThr: 1.0
ktThr: 1.0
mb: 4.92
mc: 1.51
mt: 172.5
nfref: null
nf0: null
kDISbThr: 1.0
kDIScThr: 1.0
kDIStThr: 1.0

The operator card template is

ev_op_max_order: 10
ev_op_iterations: 1
n_integration_cores: 1
backward_inversion: 'exact'
Q2grid: [50.]
interpolation_is_log: True
interpolation_polynomial_degree: 4
  - 1.0e-06
  - 1.0e-05
  - 0.0001
  - 0.001
  - 0.01
  - 0.1
  - 1.0
debug_skip_non_singlet: False
debug_skip_singlet: False

(a more realistic template can be found hereView on GitHub).

For additional details about the set up of PINEKO and about the different ingredients please refer to the prerequisites part of the PINEKO documentation (opens in a new tab).


PINEKO provides three kinds of outputs:

  • The operator cards.
  • The ekos.
  • The FK tables.

The operator cards are the runcards of EKO. Then, they are needed by EKO, together with the theory cards, to produce the eko operators to be convoluted with the grids. PINEKO automatically writes the relevant operator card for the requested dataset and theory using the provided template and grid. An example of such is:

  - 2.0
  - 120.0
  - 800.0
backward_inversion: exact
debug_skip_non_singlet: false
debug_skip_singlet: false
ev_op_iterations: 1
ev_op_max_order: 10
interpolation_is_log: true
interpolation_polynomial_degree: 4
  - 1.0e-06
  - 1.0e-05
  - 0.0001
  - 0.001
  - 0.01
  - 0.1
  - 1.0
n_integration_cores: 1
  - 1.0e-06
  - 2.0e-05
  - 0.0003
  - 0.004
  - 0.05
  - 0.6
  - 1.0

A more realistic example is the runcardView on GitHub for the dataset HERACOMBNCEP460.

The ekos are the operators produced by EKO that provide the evolution of the grid. For more informations about the eko operators please refer to the EKO documentation (opens in a new tab). The FK tables are the final product of PINEKO while the ekos and operator cards are just used internally by PINEKO and thus they are usually not relevant for the user.


Setting up the logs folders is optional but can be very handy in order to spot possible bugs and/or failures.