Hardcode theories needed for scale variations
Created by: voisey
Aims to close https://github.com/NNPDF/nnpdf/issues/454.
This is still a WIP because among other things the docs need to be updated, but I'll do this once we have settled on the code.
A runcard that worked with the old set up is this:
default_theory:
- theoryid: 163
theoryids:
- 163
- 180
- 173
fit: 190315_ern_nlo_central_163_global
use_cuts: "fromfit"
pdf:
from_: fit
experiments:
- experiment: NMC
datasets:
- dataset: NMCPD
- dataset: NMC
- experiment: SLAC
datasets:
- dataset: SLACP
- dataset: SLACD
template_text: |
{@with default_theory@}
{@chi2_impact_custom@}
{@endwith@}
actions_:
- report(main=true)
whereas now we can have something like this:
default_theory:
- theoryid: 163
theoryid: 163
point_prescription: '3 point'
theoryids:
from_: scale_variation_theories
fit: 190315_ern_nlo_central_163_global
use_cuts: "fromfit"
pdf:
from_: fit
experiments:
- experiment: NMC
datasets:
- dataset: NMCPD
- dataset: NMC
- experiment: SLAC
datasets:
- dataset: SLACP
- dataset: SLACD
template_text: |
{@with default_theory@}
{@chi2_impact_custom@}
{@endwith@}
actions_:
- report(main=true)
where you get an error if you try to use a point_prescription without 163 as the theoryid
and there are five allowed point_prescriptions: '3 point', '5 point', '5bar point', '7 point', '7 point (original)' and '9 point'. Also, note that the first runcard will still work with the new set up.
Let me know what you think. I was also wondering whether it would it be sensible for us to change it so the user no longer has to explicitly define what the default_theory
is, but rather this is hardcoded too?