-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed target DIS DW datasets as variant #2176
Conversation
I noticed that:
These 2 parameters are also different in the DW data and standard one:
|
I'm not sure if this is what you mean, but BCDMS has a different fktable for each beam energy because there is a degeneracy in Q2,x between them so pineappl cannot distinguish the measurements of a given kinematic point at different energies. |
I've noticed that this has not been updated, because we usually use the DW version:
|
Ah that's your point. Yes you're right. I think you can just update the FKtables in the metadata? Because the difference is just in the uncertainties yaml. I would assume that in new theories the old fktables don't even exist |
Nop... this became a problem quite quickly @RoyStegeman :___ I'd say use the nuclear/deuteron type which should be more inclusive in what correlations are allowed (right @enocera ?)
Here even if they used to be different, they can probably be made into the same one because the data is the same. |
The 2 remaining tests: |
Because that's making the random numbers change? (the seed takes the experiment name) If so... I don't really see a way of fixing it without having two separate datasets, but if it is only the random numbers we can accept that it changed (this tag will not be random-seed-equivalent with the previous one anyway) although maybe we will need to redo some of the fits in the tests. |
So I gave a try to add |
Why do you care about PlottingOptions? ... I'm wondering whether it wouldn't be better just to have them as separate datasets. The fact that two "variants" of the same dataset can come from a different experiment is... silly. We are just trying to get around a mistake of times past. However, send me the runcard and I'll give it a go . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine? At least at the level of the tests. Let's see whether the fitbot works fine as well.
Greetings from your nice fit 🤖 !
Check the report carefully, and please buy me a ☕ , or better, a GPU 😉! |
I think the runcards with DW are not understood correctly by vp :/ |
PDFs are identical, but yes the chi2 tables are weird 😅 |
No, the problem is here The easy fix is to add:
Btw, you need to add to this PR also the fixed target DY which also have DW variants. |
I see, Shall I go for it?
Yes, but these are trivial as they only have a DW legacy (as EMC), so it's just renaming but no duplication. |
Yes, let's try... |
Greetings from your nice fit 🤖 !
Check the report carefully, and please buy me a ☕ , or better, a GPU 😉! |
Ok, this works now in terms of vp, however looking through the datafiles, they are actually not always the same, so you need to copy them as well for some of the datasets. For instance, these two in master are not equal: https://github.com/NNPDF/nnpdf/blob/master/nnpdf_data/nnpdf_data/commondata/NUTEV_CC_NOTFIXED_FE/data_legacy_NB-SIGMARED.yaml The differences left in the fitbot are coming from there, but the fitbot does not include all datasets, so you should check. These can be added to the variant so it should just be a question of copying them over. A quick check would be running this runcard for one replica for one epoch and then looking at the resulting |
okay let me double check this. |
Okay so somehow only Nutev had different central values. import yaml
import pathlib
import rich
import numpy as np
COMMONDATA_PATH = pathlib.Path(__file__).parent / "nnpdf_data/nnpdf_data/commondata"
def check_central(dataset, data_file):
with open(COMMONDATA_PATH / f"{dataset}_DW" / data_file, encoding="utf-8") as f:
central_dw = yaml.safe_load(f)['data_central']
with open(COMMONDATA_PATH / dataset / data_file, encoding="utf-8") as f:
central = yaml.safe_load(f)['data_central']
try:
np.testing.assert_allclose(central_dw, central)
except AssertionError:
rich.print(f"[red] {dataset}_DW has a different central value")
return
if __name__ == "__main__":
DATA_LIST = [
"BCDMS_NC_NOTFIXED_D",
"BCDMS_NC_NOTFIXED_P",
"CHORUS_CC_NOTFIXED_PB",
"NMC_NC_NOTFIXED",
"NUTEV_CC_NOTFIXED_FE",
"SLAC_NC_NOTFIXED_D",
"SLAC_NC_NOTFIXED_P",
]
for dataset in DATA_LIST:
try:
data_file = "data_legacy_EM-F2.yaml"
check_central(dataset, data_file)
except FileNotFoundError:
data_file = "data_legacy_NB-SIGMARED.yaml"
check_central(dataset, data_file)
data_file = "data_legacy_NU-SIGMARED.yaml"
check_central(dataset, data_file) And the outcome of the test you suggested with the nutev data fixed. Fit on master: Fit on this branch: |
Greetings from your nice fit 🤖 !
Check the report carefully, and please buy me a ☕ , or better, a GPU 😉! |
Co-authored-by: Juan M. Cruz-Martinez <[email protected]>
Co-authored-by: Juan M. Cruz-Martinez <[email protected]>
15174ca
to
d6ce694
Compare
Move the DW fixed target DIS to be a variant.