-
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
Fix alpha value scheme C #53
Conversation
Question: Do you know how pineappl is doing scheme C? (in the right or wrong way?) Because of course that would affect |
PineAPPL itself is not doing scheme C, since it does not do any scheme at all: grids are providing separately the orders and the logs, so values of alphas in particular are provided to PineAPPL from the outside. |
src/pineko/theory.py
Outdated
@@ -394,7 +394,9 @@ def fk(self, name, grid_path, tcard, pdf): | |||
q2_grid = operators["Q2grid"].keys() | |||
# PineAPPL wants alpha_s = 4*pi*a_s | |||
# remember that we already accounted for xif in the opcard generation | |||
alphas_values = [4.0 * np.pi * astrong.a_s(xir * xir * Q2) for Q2 in q2_grid] | |||
alphas_values = [ | |||
4.0 * np.pi * astrong.a_s(xir * xir * Q2 / xif / xif) for Q2 in q2_grid |
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.
Change:
Q2
tomuf2
q2_grid
tomuf2_grid
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.
now it is already done - but as said yesterday, instead I would rather have kept Q2
and adjust the q2_grid
definition with the division by xif
... this way it would be even more natural I think ...
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.
The problem is that, since this works for both scheme B and scheme C and since the q2_grid is really a muf2 grid only in the scheme C case, whatever we may write would be inconsistent (or not clear) with either one or the other scheme.
As it is now (so as @alecandido suggested) is coherent with scheme C but not with scheme B (because in scheme B case operators["Q2grid"].keys()
is really Q2 not muf2. Instead what @felixhekhorn suggests would be perfectly coherent with both but less clear for scheme B because we would have q2_grid = operators["Q2grid"].keys() / xif /xif
with xif=1.0 (and so making no difference). Personally I prefer the @felixhekhorn suggestion but I believe it is just a matter of taste.
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.
now it is already done - but as said yesterday, instead I would rather have kept
Q2
and adjust theq2_grid
definition with the division byxif
... this way it would be even more natural I think ...
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.
Q2 does not exist, it is defined only for DIS (ok, and basic DY). It is always the central factorization scale, so let's start give it the proper name, and avoid confusion.
Yes of course but we are not actually providing the values of alpha_s to pineappl, rather we are providing the function to get the alpha_s values. Fro example, in |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #53 +/- ##
===========================================
- Coverage 88.51% 46.79% -41.73%
===========================================
Files 16 16
Lines 592 592
===========================================
- Hits 524 277 -247
- Misses 68 315 +247
Flags with carried forward coverage won't be shown. Click here to find out more.
|
@andreab1997 The strong coupling is always evaluated with the renormalization scale, and the renormalization scale is usually, but not always, the same as the factorization scale before the grids are evolved. |
@alecandido Why are we failing for pylint? pineko/.github/workflows/bench.yml Line 47 in fc965e5
and so also test Lines 48 to 52 in fc965e5
|
Don't worry for this. I have solved this is #52. We just need to merge |
Ok so, just to be sure, if I do |
Not the optional ones, of course (unless explicitly specified). Lines 45 to 48 in fc965e5
|
@andreab1997 Neither of those two options, it will be evaluated at |
Ok, of course when you say Moreover I believe that this [NNPDF/pineappl#25 (comment)] is actually included in the Q2grid inside the operator card, right? So that if you don't set mur=muf for a certain grid but you do something different (if you add ptjet^2 for example), then the Q2 grid in the operator card will be just different taking that into account. |
this is an additional "bug" - i.e. so far we were relying on the simplification muf=mur. If you wish to fix it here, you should change the definition of now-called (@alecandido this is the case we were discussing yesterday) |
Good to know! And yes, essentially @andreab1997 there are two central scales: For example, if you are not fully inclusive, you might measure the pt or rapidity of particles, at that point you have more options for "the process scale", not only The unambiguous nomenclature is |
Yes I was asking exactly because I am aware of this "issue" :) |
Ok I am merging, thanks for this! |
After several discussions we agreed on the fact that for the scheme C of scale variations we need to evaluate alpha_s at the process scale and not at the factorization scale (assuming no renormalization scale variations of course).
This reverts a previous commit 6568293