NNPDF / pinefarm

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

NNLOJET runner #65

Open scarlehoff opened 6 months ago

scarlehoff commented 6 months ago

This is very much work in progress.

For now I've added:

  1. Autogeneration of a pinecard given an NNPDF dataset (using the new reader).
pinefarm autogen LHCB_Z0_7TEV_MUON_Y

Still todo:

  1. Autogeneration of NNLOJET runcards at run-time.
    pinefarm run NNLOJET_LHCB_Z0_7TEV_MUON_Y theories/200.yaml

    This command autogenerates the runcards and tries to run them... if you have NNLOJET installed. Otherwise it will just exit and tell you where the runcards are.

I think this is the minimal think we should require everyone running Matrix. At least to get to the point where the code is installed and the runcards prepared.

Still todo:

  1. ????

  2. profit: (still not pushed, but done) autogeneration of results and pineappl grids from the results product

You'll notice that 3. is missing, that's where the difficulty lies (and the part that will be shared with Matrix anyway). At the moment pinefarm hopes to be able to run the program by just doing run <dataset> <theory>.

It will be necessary to add at least two sets of options: --warmup/production (and then --cores, --iterations, --events, --jobs). And --channel which would allow the user to run LO, NNLO, RR, RR_collinear_region etc, regardless of the PTO. I also have a rough draft for that but at the moment is NNLOJET-only, it would be good to do it in a way that can be easily used by other tools.

Note: I'll revert some of the changes to pre-commit / pyproject when I'm done, pinefarm should be much more slim in terms of dependencies so I'll see how I fix that as well, I'll separate those commits. Same for the ignoring and the warning and the autogeneration of theories. I do think someone installing the code should just be able to run it with some minimal default configuration, I think it might motivate people to actually use it ("oh, so cool, I just have to do pip install pinefarm and I can create a grid with no errors or warnings!!")