-
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
Numerical FONLL #99
Numerical FONLL #99
Conversation
Since these are only for internal use, you can also make a tuple: |
If we just use numbering we still need to coordinate though, I don't see so much the benefit from doing |
I converted it to draft since I opened the PR do discuss about some details first, not to merge immediatly. |
I see it:
|
Ah, I think I misunderstood your proposal. Where would this tuple be stored and read and what would be the All code assumes that theoryIDs are integers, so are you proposing to use |
I guess you understood correctly the first time: id: (400, 1) What I was arguing is that the only one who cares about IDs is Pineko itself. In the pineline, no one else is reading IDs (and in case Pinefarm does, it should just propagate them straight, but we could check). IDs are an NNPDF thing, but it is completely irrelevant outside it. Pineko is preparing theories, so it's aware of IDs. But if you take EKO, they are not even any longer present in current theory layout. And PineAPPL never knew anything of them. |
Ah okay this I didn't realise, but that might make things a lot simpler. The original reason for my question though, was that if it is useful to store not only the final FKtables but also the grids that are produced during the intermediate step I need a unique folder name to not clash with Andrea (and maybe Giacomo), which I don't think your suggestion solves? Since it's only pineko that deals with theoryid's I could even add a more descriptive string or subfolder structure without needing to worry. Note that even with the current system as I suggested we can do more than 9 theories since there is nothing stopping us from creating a theorid of 40011 - we don't read the id from the string using |
In principle, you'd be right, we might want to store the grids we computed. In practice, this is not yet a problem, since only FONLL requires multiple grids, and FONLL is only applied to DIS, for which recomputing is potentially easier than storing. However, even with a more complex structure it would still work, because you could save |
There already exists grids for theoryids 4001 and 4005, not exactly sure why since sv should correspond to different theories for nnpdf as well but regardless, it's not just fonll.
If you agree (also @andreab1997) I'll only save intermediate results locally for now (also the ekos) since it's DIS that shouldn't cause too much trouble if we ever need to reproduce them. What we could do if we do want to save is just add subfolders for fonll-a/b/c with inside the intermediate theorycards and grids. In this way it doesn't matter so much if we use theoryid 4001 or (400,1) since for fonll we won't need more than 9, but I do think (400,1) is a bit cleaner and also immediately signals that it's not a theory that directly corresponds to an fktable or "nnpdf theory". |
I think, creating new "NNPDF theories" could work - of course the naming has to be more complicated than just adding a number for the reason @alecandido said ... so e.g.
mmm CHORUS ekos are (very) expensive ... so we want to save intermediate results EDIT: lowered the theory power from 4 to 2 since they are already O(1e3) |
Sure, but there would still need to be some sort of system to it. Keeping a database might be a bit excessive but we do need to ensure that I'm not occupying the same identifiers (instead of theoryid to remain abstract as to how exactly we'll do this) for fonll as Andrea and Giacomo do for their stuff.
FFN0 is less viable, but I see your point. The rejoining and damping I plan to do at the level of fktables. I haven't thought out the exact details yet, but as long as we know which theory/grids is which I don't foresee any problems at this step, do you? |
This reverts commit 6d38acb.
This reverts commit 7e385a3.
Co-authored-by: Felix Hekhorn <[email protected]>
@@ -17,13 +17,24 @@ | |||
logger = logging.getLogger(__name__) | |||
|
|||
FNS_BASE_PTO = {"FONLL-A": 1, "FONLL-B": 1, "FONLL-C": 2, "FONLL-D": 2, "FONLL-E": 3} | |||
"""Mapping between pertubative orders as in the theory card PTO and the FONLL scheme names. | |||
|
|||
The explict mapping is the following (evolution, massive parts, massless parts): |
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.
Why do you need to distinguish evolution
from massive parts
? From what I understood the resummation (NLL in FONLL) is just labeled by massless parts
, so the other two have to be the same...
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.
I just wanted to be even more clear and pay the price of redundancy here 😄
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.
It's not so much redundancy on its own, it is actually about the meaning. We have both evolution for massive and massless, and they have two different orders.
Why do you need to specify it separately? Which evolution are you referring to? (I guess the massive one, but I wonder why...)
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.
We have both evolution for massive and massless, and they have two different orders.
no - they have both the same order, which indeed coincides with the massless order
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.
Sorry, I guess massless is asy (massless keeps being an ambiguous word, whether it is the massless limit or zero-mass).
But then they all should have the same order (as I argued back then), otherwise you see it's rather inconsistent - you're definitely taking a weird limit...
(you do not subtract the logs of the extra mass, because they are not in the zero-mass, but you subtract the evolution logs of all the other masses, that are also not in the zero-mass - that's quite arbitrary)
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.
please apply @RoyStegeman's comments (they are good)
Co-authored-by: Roy Stegeman <[email protected]>
Co-authored-by: Roy Stegeman <[email protected]>
Co-authored-by: Roy Stegeman <[email protected]>
Based on our discussion added the functionality that if pineko is called to produce opcards for a theory of which the flavor number scheme is FONLL, pineko will produce the necessary new theory cards by appending 1,2,3 to the end of the "input" theory id.
This may create problems with storing the intermediate grids since scale variations uses the same numbering, though I'm not sure how important that really is? Based on https://github.com/NNPDF/theories/tree/main/data/grids you did save them for scale variations, but since this will only be for DIS maybe that's not recommended? Alternatively, I could of course just append different numbers but that requires some awareness/coordination of which are already in use.