NNPDF / pineappl

PineAPPL is not an extension of APPLgrid
https://nnpdf.github.io/pineappl/
GNU General Public License v3.0
12 stars 3 forks source link

recognizing collinear distribution type #265

Closed t7phy closed 4 months ago

t7phy commented 4 months ago

When producing grids with a FF instead of a PDF, we need to trick PineAPPL faking DIS to make it produce actual result. Specifically:

  1. we have to trick the meta data by making the initial states 211 (pion pid) and 11, instead of the real 11 and -11.
  2. we have to trick the subgrids by setting x2 as 1.0 (as in the DIS case) to make pineappl make only single convolution (instead of 2).

this problem will also persist for "higher collinear distribution dimension":

sincerely, @felixhekhorn

PS: the relevant line at which we crashed is https://github.com/NNPDF/pineappl/blob/b1036ae911742b7a88c5588c02386aafa4e43170/pineappl/src/grid.rs#L559

alecandido commented 4 months ago

More than automated recognition, I'd say we need to explicitly specify the number of distributions involved in the PineAPPL grid explicitly.

Do we really need to make PineAPPL aware of the kind of the distribution? It should not matter whether they are two PDFs or one PDF and one FF (or two FFs). For the sake of interpolation, only the number of distributions should be relevant. Correct? @felixhekhorn @cschwan

(of course you could always store the type in metadata, but this would be a convention on PineAPPL usage, no need to make PineAPPL aware and hardcoded)

cschwan commented 4 months ago

For these applications the metadata isn't properly named, so think of initial_state_1 and initial_state_2 not as the initial states, but rather the type of particle that is described by the function with which a convolution is performed. For proton PDFs you obviously have to have it set to 2212 and in general it must match the Particle field of the function's .info file in LHAPDF.

See also #135.

t7phy commented 4 months ago

@cschwan how about also adding a final_state_1 key? This could also make it clear whether the convolution is with a PDF or FF and ultimately the 3 convolutions (2 pdfs and 1 ffs) would also benefit from it.

alecandido commented 4 months ago

I'd rather name them hadron_1, hadron_2, ... otherwise you will have to support identical combinations. Whether it is used for initial or final state should be up to the user (and you could describe with further metadata).

felixhekhorn commented 4 months ago
  1. Should we close this as duplicate of #135?
  2. indeed the way to go would be something along the lines of: initial_state_1: 2212 -> particle_1: {pid: 2212, polarized: False, timelike: False} - if you wish "timelike" can be replaced by "is_outgoing" or similar ... this would have to be repeated eventually up to 3 times
cschwan commented 4 months ago

Closed in favor of #135.