A particular supergraph may be loaded by calling ltd.CrossSection()
, which takes two yaml
files as input. The first file is the squared topologies file, which cn be found in the Rust_inputs
folder. The second file is the hyperparameters.yaml
file.
For example, to load the first supergraph in the LU_epem_a_ddx_NLO
example we call:
cross_section = ltd.CrossSection("LU_epem_a_ddx_NLO/Rust_inputs/SG_QG0.yaml", "hyperparameters.yaml")
There are several ways to evaluate the integrand. evaluate_integrand()
evaluates the integrand in the -dimensional hypercube parameterization, where is the number of loops of the supergraph. The argument of evaluate_integrand()
is an array containing numbers in the range .
For example, to evaluate the first supergraph in the LU_epem_a_ddx_NLO
example at
we call:
cross_section.evaluate_integrand([0.1, 0.2, 0.3, 0.4, 0.5, 0.6])
cross_section.evaluate_integrand
can also be used as input to your own integrator of choice.
It is also possible to evaluate the integrand at a particular cut using evaluate_cut(loop_momenta, cut_index, scaling)
. Unlike evaluate_integrand()
, this evaluation is done in momentum space. The argument loop_momenta
is a double array containing the components of each spatial momenta. cut_index
tells the function which cut to consider, and scaling
is the rescaling required to put the relevant momenta on the cut. This scaling may be found using get_scaling
.
For example, to evaluate the first supergraph in the LU_epem_a_ddx_NLO
example at
the second cut:
loop_momenta = [[2,1,2],[4,2,8]] # just take some random values, not important in this example.
scaling = cross_section.get_scaling(loop_momenta, 1)[1][0] #take the positive solution
result = cross_section.evaluate_cut(loop_momenta, 1, scaling)
The function get_scaling(loop_momenta, cut_index)
computes the scaling in order to put the relevant momenta on the cut. get_scaling
returns both the positive and negative solution, and the jacobian associated to the rescaling. This Jacobian is however already included in evaluate_cut
.
The function parameterize(x, loop_index, e_cm_squared)
can be used to compute the spatial momenta from the value in the
-dimensional hypercube.
TODO