NNPDF / pinefarm

Generate PineAPPL grids from PineCards
https://pinefarm.readthedocs.io
GNU General Public License v3.0
1 stars 0 forks source link

Improve theory handling #1

Open cschwan opened 2 years ago

cschwan commented 2 years ago

Starting with the Python implementation of the runner we have to specify a theory whenever we want to generate a grid, for instance

./rr run TEST_RUN_SH theories/theory_200.yaml

I think we should reflect this in the filename of the generated grid, so in this instance we should generate

Furthermore, we need to discuss

Further steps breakout:

alecandido commented 2 years ago

I'll start working on these right after NNPDF/runcards#108 will be more or less settled.

alecandido commented 2 years ago

A couple of comments about practical steps

Further steps breakout:

  • [ ] use the theory provided variables (replace the hardcoded ones)

This one it's fairly easy on its own, but most likely we'll need immediately a theory extension, because not all the parameters used are currently available in theory database (e.g. widths are not)

  • [ ] change name to the final grid to include theory dependency

This is really easy as it is, but there is the further complication that adding just the theory ID we'll really become dependent on useless evolution parameters. For example 4.0 most likely required a single set of pineapplgrids, because there was no scan on EW parameters. Nevertheless, 4.0 consists of 10-20 theories, because they change evolution or alphas parameters.

Ideally I would like to depend only on parameters used (so one by one, not even on a subset as a block).

  • [ ] apply a coherent scheme for CLI arguments

The reason for this is that currently the runcard can be specified as a name or as a path, while for theories you always have to specify the path. I like the more flexible option of runcards.

cschwan commented 2 years ago

One problem that I've just noticed is that for Madgraph5_aMC@NLO runs the parameter values aren't extracted from the theory but rather from variables.json. This leads to a potential mismatch between DIS and collider datasets and is dangerous for this exercise: https://github.com/NNPDF/runcards/pull/134.

alecandido commented 2 years ago

Yes, this is well known: it is exactly the content of this issue.

If you remember, before they were hard-coded in the run.sh, so variables.json was the intermediate step to move towards a consistent theory. Problem is the our theories do not contain all the fields of variables.json.

I was waiting for a consistent theory scheme upgrade, but right now a further intermediate step came to mind: we can overwrite variables.json parameters with those contained in the theory.

This is something we don't want to do for theory 400, since it would be another source of discrepancies wrt theory 200 (and 400 is a transition theory anyhow): until now APPLgrids parameters were not always consistent with the specified theory (think about grids we received from someone else). Nevertheless, now that consistency with the old toolchain has been proven, and we're computing our own grids, we can start overwriting known parameters. We'll get rid of variables.json incrementally, while expanding the theory scheme.