-
Notifications
You must be signed in to change notification settings - Fork 3
Description
This issue is similar to #346, but not the same.
Physics case
We are interested in dijet cross sections in photo-production at HERA, which have been measures here and the corresponding theory is available here to which all equations refer henceforth. Photo-production cross sections can be split into a "direct" contribution (called "point" in the paper) and a "resolved" contribution (called "hadr" in the paper), see Eq. 2.4 there. Combining Eq. 2.2 and Eq. 2.6 we can write the resolved part conceptually as
where
The way the underlying program works (if I understand correctly) is to first pre-compute
and then convolute that with the partonic matrix elements.
Question
can I use pineappl to directly produce a grid, which takes
For that one would need to support the manipulation of flavour+momentum, in the following sense:
- one would grid the underlying partonic matrix elements (which just collide two QCD partons - as in other colliders), call it
$\Sigma_{kj}$ where$k$ and$j$ are multi-indices denoting both momentum and flavour - one would grid the additional convolution, call it
$F_{ik}$ (with also$i$ multi-index) (F for photon flux) - one would glue them together
$F\Sigma_{ij} = F_{ik} \Sigma_{kj}$
In this specific case
Algorithmically,
Alternatives
If we are not going for the full-fledged solution straight away: could I do at least some subgrid manipulation? i.e. we compute ImportOnlySubgridVX (or something) such that they are plain arrays of weights (and not Lagrange weight or stuff), then do a np.einsum on those and write them back?
As a poor man solution, I can of course
- for grids: do the additional multiplication/convolution outside pineappl and directly feed the grid the correct thing
- for FK tables: add the convolution to the EKO as I know that EKOs are nothing but numpy arrays