Skip to content

Latest commit

 

History

History
111 lines (92 loc) · 3.51 KB

IO.rst

File metadata and controls

111 lines (92 loc) · 3.51 KB

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
theory input runcard
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)
  • :pylist(float) Q2grid the target grid in Q2; Required

Output

The ~eko.output.Output instance represents the following runcard:

output 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 the operator 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] where pid_out and x_out refer to the outgoing and pid_in and x_in to the incoming . The ordering of pid_out/pid_in is determined by the pids parameter of the output and the order of x_out/x_in by interpolation_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.