Input & Output
We use yaml runcards for piping input and output files.
Input
The input is split into two runcards: a theory runcard and an operator runcard. Note that we are not assuming any default values for the keywords, but instead the user has to provide the full definition. However, for the benchmarking environment we do provide some default settings.
Theory Runcard
The theory runcard (compatible with the NNPDF theory database) defines the physical setup
and environment. The benchmark settings are available at banana.data.theories.default_card
.
Name |
Type |
Description |
---|---|---|
|
QCD perturbation theory order: |
|
|
Evolution method. Possible options are:
|
|
|
Factorization to renormalization scale ratio. |
|
|
Scale variation method, used only if |
|
|
Initial PDF evolution scale (in GeV). |
|
|
Number of flavors active ant the |
|
|
Maximum number of flavors in the PDF evolution. |
|
|
Reference value of the strong coupling \(\alpha_s\) (Note that we have to use \(\alpha_s\) here, instead of \(a_s\) for legacy reasons). |
|
|
Reference scale at which the |
|
|
Number of flavors active at the |
|
|
Maximum number of flavors in the strong coupling evolution. |
|
|
If |
|
|
Reference value of the electromagnetic coupling \(\alpha_{em}\). |
|
|
Reference scale at which the |
|
|
Heavy quark scheme: if |
|
|
Charm quark mass (in GeV). |
|
|
Reference scale at which the charm quark mass is given (in GeV). Used only with |
|
|
Ratio between the charm mass scale and the |
|
|
Bottom quark mass (in GeV). |
|
|
Reference scale at which the bottom quark mass is given (in GeV). Used only with |
|
|
Ratio between the bottom mass scale and the |
|
|
Top quark mass (in GeV). |
|
|
Reference scale at which the top quark mass is given (in GeV). Used only with |
|
|
Ratio between the top mass scale and the |
|
|
If |
|
|
If |
Operator Runcard
The operator runcard defines the numerical setup and the requested operators.
The benchmark settings are available at ekomark.data.operators
.
Name |
Type |
description |
---|---|---|
|
|
x-grid at which the EKO is computed. |
|
|
target grid at which the EKO is computed (in GeV). |
|
If |
|
|
Polynomial degree of the interpolating function. |
|
|
If |
|
|
If |
|
|
Perturbative expansion order of unitary evolution matrix.
Needed only for |
|
|
Number of evolution steps. |
|
|
Backward matching inversion method, relevant only for backward evolution in VFNS. |
|
|
Number of cores used during the integration. |
Output
The eko output is represented by the class Output
.
An instance of this class is a dict
and contains the following keys:
Name |
Type |
Description |
---|---|---|
|
All operators at the requested values of \(Q^2\) represented by the key |
|
|
The EKO version |
|
|
|
The input x-grid |
|
|
The input list of participating partons listed by their PID. |
|
If |
|
|
Polynomial degree of the interpolating function. |
|
|
|
The target x-grid |
|
|
The target list of participating partons listed by their PID |
Since the final EKO is a rank 4-tensor we store in the output all the different grids
for each dimension:targetpids,targetgrid,inputpids,inputgrid
.
The Q2grid
values are the actual tensor for the requested \(Q^2\). Each of them contains two keys:
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()
)errors
adict
with the integration errors associated to the respective operators following the same conventions as theoperator
dictionary
Each element (EKO) 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 PDF and pid_in
and x_in
to the incoming PDF. The ordering of pid_out/pid_in
is determined by the targetpids/inputpids
parameter of the output and the order of x_out/x_in
by targetgrid/inputgrid
.
To further explore how an Output
object looks like
you can follow this tutorial.