-
Notifications
You must be signed in to change notification settings - Fork 0
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
Move the parsing of fktables to pineko #17
Conversation
Just to tell it: I'm not a fan of linearizing dimensions. We have the luck of to have a simple and powerful framework at hand, that is able to deal with N-dimensional tensors in a fast and expressive way. FkTables are genuinely 4 dimensional objects (bin, lumi, x1, x2), so we should use 4 dimensional data structures, not try to fit it into a 2 dimensional one. If you want labels, concatenation and other excel-like swag, giving up on part of the simplicity, than you should consider to use |
And you haven't seen the terrible crap in the other side to get the pandas df and recover exactly the 4rank tensor that I had at the beginning :__ Sadly vp uses the df everywhere (most notably, for the old tables). I can move the tensor to df part to the vp parser so that this side is clean. I think that makes sense. |
😞 |
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.
First batch, I still have to review the main API pineappl_to_fktable
Wait for that one though, I'm going to remove the df part and move it back to vp. |
I will run through the yaml db to standarize how the apfelcomb flags are added since many were added manually anyway. That way I can fix most issues at once without adding checks for it in here. |
So that instead of relying on things being by chance in the same order or whatever, the behavior is explicit for each subfktable. This is for If you guys agree I'll go ahead. In this case for instance only the |
If things decouple, perfect! |
Meh, there's no good solution for this. The apfelcomb flags basically set up the dataframe for vp so either everything is in vp or everything is in here. |
Fine, then I'd immediately open a separate issue for apfelcomb flags total disruption: as soon as we completed theory uncertainties and we have new commondata, we are stable enough and we drop backward compatibility (the last faints of it). |
I'm still no big fan of this:
|
I'm currently reducing the amount of stuff here but
Indeed
That's what will happen (but for now there is no such thing) The (my) idea is that only the apfelcomb flags will remain here. I am very interested on this being the case because that way nobody can rely on them in vp (since they are coming from some external package). |
for sure we can intermediate stuff here, since everything is still under heavy development - but I believe the correct place for this should be NNPDF/pinefarm#3 as I consider this under correct grid generation and not FK generation |
But this is not only for converted grids, these flags sometimes are necessary because of a mismatch between cfactors / cuts etc and what pineappl grids have. tbh, it can be anywhere but it needs to be something vp can import and be somewhere the people writing vp cannot touch. |
Okay I take your point - still it should belong to |
This is basically what it would be required to have vp depend on pineko.
Cons:
- It is a bit of a complication for something that is only depending on vp (that is, the format of the dataframe)
Pros:
- Gives us a bit more freedom on how to do anything since the only limitation is that at the end we have to have a dataframe as defined in
pineappl_to_fktable
. How do we get there is up to us. Vp doesn't need to know how the initial state were define, or what the luminosity means or anything.