Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions pineappl_py/pineappl/grid.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
from typing import Sequence, Tuple

import numpy as np
import numpy.typing as npt

from .fk_table import FkTable
from .pineappl import PyGrid, PyOrder
Expand Down Expand Up @@ -245,16 +248,25 @@ def convolute_with_one(
xi,
)

def convolute_eko(self, operators, mur2_grid, alphas_values, lumi_id_types="pdg_mc_ids", order_mask=(), xi=(1.0, 1.0)):
def convolute_eko(
self,
operators: npt.NDArray,
muf2_grid: Sequence[float],
mur2_grid: Sequence[float],
alphas_values: Sequence[float],
lumi_id_types: str = "pdg_mc_ids",
order_mask: Sequence[float] = (),
xi: Tuple[float, float] = (1.0, 1.0),
):
"""
Create an FKTable with the EKO.

Convenience wrapper for :meth:`pineappl.pineappl.PyGrid.convolute_eko()`.

Parameters
----------
operators : dict
EKO Output
operators : np.ndarray
array containing the concatenation of EKO operators
mur2_grid : list[float]
renormalization scales
alphas_values : list[float]
Expand All @@ -277,10 +289,6 @@ def convolute_eko(self, operators, mur2_grid, alphas_values, lumi_id_types="pdg_
PyFkTable :
raw grid as an FKTable
"""
operator_grid = np.array(
[op["operators"] for op in operators["Q2grid"].values()]
)
q2grid = list(operators["Q2grid"].keys())
return FkTable(
self.raw.convolute_eko(
operators["q2_ref"],
Expand All @@ -290,15 +298,23 @@ def convolute_eko(self, operators, mur2_grid, alphas_values, lumi_id_types="pdg_
np.array(operators["inputpids"], dtype=np.int32),
np.array(operators["inputgrid"]),
np.array(mur2_grid, dtype=np.float64),
np.array(q2grid, dtype=np.float64),
np.array(operator_grid),
np.array(muf2_grid, dtype=np.float64),
np.array(operators),
lumi_id_types,
np.array(order_mask, dtype=bool),
xi
xi,
)
)

def evolve(self, operators, mur2_grid, alphas_values, lumi_id_types="pdg_mc_ids", order_mask=(), xi=(1.0, 1.0)):
def evolve(
self,
operators,
mur2_grid,
alphas_values,
lumi_id_types="pdg_mc_ids",
order_mask=(),
xi=(1.0, 1.0),
):
"""
Create an FKTable with the EKO.

Expand Down