Swap libNNPDF LHAPDFSet for a python PDF object#1501
Conversation
|
The test that fails (effective exponent) is due to how sensitive NNPDF to precision when the PDF is close to 0 which triggers this: In the test itself this has an effect only for T3 (alpha from -0.4 to -0.6) which is the only negative exponent that we have. fwiw I think this version is better than master in that the precision is a bit better (which in turns might mean a PDF that before was 0 now it's just 1e-8 or whatever). |
|
#1504 might be too complicated to be done at the same time as this one so I would prefer if this is reviewed and merged as soon as possible tbh so at least this part is completed. |
|
Greetings from your nice fit 🤖 !
Check the report carefully, and please buy me a ☕ , or better, a GPU 😉! |
|
@scarlehoff Should I start with this one then? |
Yes, this one should be ready. |
|
@tgiani some help with the remaining cpp methods, particularly MakeClosure would be appreciated here. Should not be too hard to do in python with all the pseudodata machinery in place. |
|
Note that the positivity one for instance won't be needed any longer (in the other PR that convolution is done with python) |
| return len(self.members) | ||
|
|
||
| @property | ||
| def members(self): |
There was a problem hiding this comment.
I take it changing this is the other PR.
There was a problem hiding this comment.
You mean members being 101 instead of 100?
|
This looks fine to me, given that it is not doing much dangerous stuff on its own. |
|
Greetings from your nice fit 🤖 !
Check the report carefully, and please buy me a ☕ , or better, a GPU 😉! |
Final step of #1472, with the previous changes this is just a drop-in replacement. At least from the point of view of the tests nothing changes (the test will fail because the effective exponent for
smallxfort3changed).The only thing missing from here in order to close fully #1472 is how to avoid having to run the convolution twice to get the central value for observable predictions (which is a factor of x2 every time one tries to get a prediction). See issue #1502 for more on this.
Note that a
legacy_loadis still left there because thefilter.pyuses a PDF forMakeClosure.