Input & Output
We use yaml runcards for piping input and output files.
Input
The input is split into two runcard
a theory runcard (compatible with the NNPDF theory database) that defines the physical setup and environment
a operator runcard that defines the numerical setup and the requested operators
Name |
Type |
default |
description |
---|---|---|---|
|
[required] |
order of perturbation theory: |
|
|
[required] |
reference value of the strong coupling \(\alpha_s(\mu_0^2)\) (Note that we have to use \(\alpha_s(\mu_0^2)\) here, instead of \(a_s(\mu_0^2)\) for legacy reasons) |
ThresholdConfig parameters:
float
Q0
reference scale from which to start; Requiredfloat
mc
charm mass in GeV; Requiredfloat
mb
bottom mass in GeV; Requiredfloat
mt
top mass in GeV; Required
InterpolatorDispatcher parameter:
Output
The Output
instance represents the following runcard:
Name |
Type |
description |
---|---|---|
|
|
the interpolation grid |
|
polynomial degree of the interpolating function |
|
|
use logarithmic interpolation? |
|
|
starting scale |
|
|
|
participating partons listed by their PDG id |
|
all operators at the requested values of \(Q^2\) represented by the key |
The grid elements contains two keys each
operators
adict
with all evolution kernel operators where the key indicates which distribution is generated by which other one and the value represents the eko in matrix representation - this can either be the plain list representation or the binary representation (as provided bynumpy.ndarray.tobytes()
)operator_errors
adict
with the integration errors associated to the respective operators following the same conventions as theoperator
dictionaryeach element (EKO) is a rank-4 tensor with the indices ordered in the following way:
EKO[pid_out][x_out][pid_in][x_in]
wherepid_out
andx_out
refer to the outgoing PDF andpid_in
andx_in
to the incoming PDF. The ordering ofpid_out/pid_in
is determined by thepids
parameter of the output and the order ofx_out/x_in
byinterpolation_xgrid
.
Example Output dump
interpolation_is_log: true
interpolation_polynomial_degree: 4
interpolation_xgrid: [0.0001, 0.001, 0.01, 0.1, 1.0]
pids: [22, -6, ..., -1, 21, 1, ..., 6] # with ... logically continued
q2_ref: 1.0
Q2grid:
1000.0:
operators:
- - - - 0
- 0
# more values ...
operator_errors:
- - - - 0
- 0
# more values ...
10000.0:
operators:
- - - - 0
- 0
# more values ...
operator_errors:
- - - - 0
- 0
# more values ...
# more q2 values ...
Note that by default PyYAML will put each element of the matrices on a new line - instead here we have (partially) chosen the more compact inline list representation for a better overview.