nnpdf
nnpdf copied to clipboard
Load positivity datasets with cuts
We always skip the cuts when loading positivity datasets. I'm not entirely sure why (it has always been done like that, maybe some parts of the code needs the positivity not to be cut)
https://github.com/NNPDF/nnpdf/blob/f1a0eb09f1d451663234ee5d47972334aa5ef5ee/validphys2/src/validphys/core.py#L590
However, now the positivity sets and fktables should be in the same footing as the others, so in principle we could also cut (in x for instance). Maybe removing this method (so that it goes to the parent, which applies the cut) is enough, but it should be tested.
However, now the positivity sets and fktables should be in the same footing as the others
Why? Positivity is quite special. I don't think we should e.g. not include positivity if we change the Q2 cut to above 5Gev2 if we want to test the stability for example
I don't think cuts would apply for positivity by default (and if they do, they should be process type POS and not DIS) but we should be able to add them if needed.
Okay, as long as it's not by default I don't see any problem
Hi @scarlehoff, just to make sure I understand this correctly.
Would you like to have some rules in cuts/filter.yml that impose cuts in x for the positivity datasets?
Another options would be that of creating a new kinematics file eg for XGL -> NNPDF_POS_2P24GEV_XGL_highX where we simply remove the kinematic points that are below a certain treshold
Would you like to have some rules in cuts/filter.yml that impose cuts in x for the positivity datasets?
No. There should be no changes to cuts/filter.yml but you can add filter rules in the runcard:
added_filter_rules:
- dataset: NNPDF_POS_2P24GEV_XGL
rule: "x > 0.1"
And then positivity will be cut below x = 0.1. However cuts are not applied to positivity sets. That way running with different values of this cuts is as simple as changing that in the runcard (as opposed to having to create an fktable specifically for the requested range of x)
Another options would be that of creating a new kinematics file eg for XGL -> NNPDF_POS_2P24GEV_XGL_highX where we simply remove the kinematic points that are below a certain treshold
This is what has been done for the FLL 19PTS and what I would like to avoid (with the associated fktable)
Ok, I see.
Then I think that it's probably not enough to just remove the load_commondata from LagrangeSetSpec, it seems that positivity datasets are assigned a Cuts class whereas DataSetSpecs are assigned an InternalCutsWrapper which is the one aware of the rules.