We use yaml runcards for piping input and output files.
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 |
---|---|---|---|
PTO |
:pyint |
[required] | order of perturbation theory: 0 = LO, ... |
alphas |
:pyfloat |
[required] | reference value of the strong coupling αs(μ02) (Note that we have to use αs(μ02) here, instead of as(μ02) for legacy reasons) |
- :py
list(float)
Q2grid
the target grid in Q2; Required
The ~eko.output.Output
instance represents the following runcard:
Name | Type | description |
---|---|---|
interpolation_xgrid |
:pylist(float) |
the interpolation grid |
interpolation_polynomial_degree |
:pyint |
polynomial degree of the interpolating function |
interpolation_is_log |
:pybool |
use logarithmic interpolation? |
q2_ref |
:pyfloat |
starting scale |
pids |
:pylist(int) |
participating partons listed by their PDG id |
Q2grid |
:pydict |
all operators at the requested values of Q2 represented by the key |
The grid elements contains two keys each
operators
a :pydict
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 by :pynumpy.ndarray.tobytes
)operator_errors
a :pydict
with the integration errors associated to the respective operators following the same conventions as theoperator
dictionary- each element () 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 andpid_in
andx_in
to the incoming . The ordering ofpid_out/pid_in
is determined by thepids
parameter of the output and the order ofx_out/x_in
byinterpolation_xgrid
.
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.