Skip to content
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

L0 projections from command line #92

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

L0 projections from command line #92

wants to merge 3 commits into from

Conversation

jacoterh
Copy link
Collaborator

This PR adds support for specifying the noise level (L0/L1) added to the projections directly from the command line.

Creating projections

Fits with projections follow a two-step process. First, one creates projected datasets (typically with reduced statistical
and systematic uncertainties) as .yaml files in the standard SMEFiT format with the following command,

smefit PROJ --lumi <luminosity> --noise <noise level> /path/to/projection_runcard.yaml

where <luminosity> specifies the luminosity of the projection in :math:{\rm fb}^{-1}. The noise level <luminosity>
can be either L0 are L1 corresponding to either level 0 or level 1 projections respectively. In level 0 projections,
the experimental central value coincides exactly with the theory prediction, while the experimental central values are fluctuated around the theory prediction according to the experimental uncertainties in case of level 1. If <noise level> is not specified, level 0 is assumed. If <luminosity> is not specified, the original luminosities are kept and the uncertainties are not rescaled. The projection_runcard specifies which datasets need to be extrapolated, by which factor to reduce the systematics, and sets the necessary paths:

@jacoterh
Copy link
Collaborator Author

@arossia94 this you could use for the updated projections in ZH

Comment on lines +224 to +228
"--noise",
type=str,
default="L0",
required=False,
help="Noise level for the projection, choose between L0 or L1. Assumes L0 by default.",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"--noise",
type=str,
default="L0",
required=False,
help="Noise level for the projection, choose between L0 or L1. Assumes L0 by default.",
"--noise",
type=click.Choice(["L0", "L1"], case_sensitive=True),
default="L0",
required=False,
help="Noise level for the projection, choose between L0 or L1. Assumes L0 by default.",

This should enforce that only L1 and L0 are recognised otherwise gives error, would be good to test it.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the current implementation, I believe that if one gives --noise l1 with l lowercase, one would get L0 data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants