-
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
kfactor
maintenance and documentation
#161
Conversation
Should I review this immediately or wait until at least the tests pass? |
Feel free to comment, I'll try to fix tests in the meantime. |
@andreab1997 the benchmark is not passing because |
I do not remember by hearth. Did you change the grids being tested? EDIT: Which are exactly the orders in the grid? |
No I did not...
|
Okay then yes, of course in this case the benchmark was meant to compute an additional order, the (4,000). Instead you are using it to update (3,000) which however is already there, so it fails. So yes, you should update the (4,0,0,0). I think now that the name |
I left 2 todos which I don't know if or how we want to solve: pineko/src/pineko/scale_variations.py Line 180 in 64e252d
Lines 346 to 349 in 64e252d
But apart from that the rest should be a bit nicer now, if you want please review. |
Ok thanks for this, I will review this ASAP. Regarding the two TODOs:
This has already been simplified a lot in the past (it was even worst). Personally I would not know how to further simplify it, other than dividing it in unit functions (which is still not trivial).
This might be a good idea but the problem is that, while for QCD kfactor it is rather trivial to know what they do, other kfactors can be defined in an arbitrary way which makes particulary difficult to generalize the equations that we implement here. We can try to assume a general behaviour and put some options for the rest but I believe that it easily become ugly |
This part is just creating an empty grid like the other, replacing orders: pineko/src/pineko/scale_variations.py Lines 181 to 192 in 64e252d
and here you're iterating to filter the subgrids to export: pineko/src/pineko/scale_variations.py Lines 193 to 203 in 64e252d
This could be possible with a single iteration, by making a clever usage of the IndexedIter .
Moreover, constructing grids from filtering existing ones could be a feature for PineAPPL itself (if you filter with indices, instead of callables, there is no problem of exposing in the non-Rust APIs). This is just a function of pineko/src/pineko/scale_variations.py Lines 204 to 215 in 64e252d
This is also a separate piece: pineko/src/pineko/scale_variations.py Lines 218 to 220 in 64e252d
In any case, this function altogether is just the filtering one that I mentioned, and then taking care of propagating additional pieces of information. If you could delete subgrids, just a full copy and then drop would be simpler. However, most of these improvements would require to do something inside PineAPPL itself. |
Co-authored-by: Felix Hekhorn <[email protected]>
please go ahead @andreab1997 and start looking and also committing if you see things that you can be improved |
Given #159 I'd remove the |
Since we need to burn kfactors, and we need to do it for the STAR W asymmetry, |
Can we close this, before we forget what we have done ? |
I opened #191 and let's not close the discussions here. Then let's merge (now) - this is getting really old |
@andreab1997 are u okay? |
yes, please go on merging this |
Address #160.
I'd like to:
simplify the code, also making use of the new pineappl functions