LHCfitNikhef / smefit_release

SMEFiT a Standard Model Effective Field Theory fitter
GNU General Public License v3.0
6 stars 1 forks source link

Definition of ADD and MULT uncertainties #63

Closed LucaMantani closed 4 months ago

LucaMantani commented 9 months ago

It is not clear to me how are multiplicative and additive uncertainties treated in the code.

This line seems to suggest that the MULT ones are computed as a function of the additive ones?

Could we clarify how they are defined and what is going on in the code?

tgiani commented 9 months ago

Hi @LucaMantani. Let me try to explain. The only difference between mult and add systematics is the way in which they enter the covariance matrix used to build the chi2. For mult systematics, their absolute value should be substituted by a value computed using the SM values. A part from this there are no differences.

Looking at the code: Here we read all the systematics, and we save them in the varibale sys_add https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L145 Here we save in the variable sys_mult all the systematics expressed as percentage values https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L153 Here we look for which of these systematics are add and mult https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L158-L159 Here we create a new variable sys_t0 containing the values of the systematics to be used in the fitting covmat in case we want to use the t0 prescription. For add systematics this variable is just the same as te original one saved insys_add, while for mult systematics we have to pick values constructed from the SM predictions https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L160-L166 Here we store all the systematics to be used in case we don t want to use the t0 prescription https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L169 and finally here we create dataframes containing sys to be used without and with t0 https://github.com/LHCfitNikhef/smefit_release/blob/7fdcee09b765779ad05c854db7b69813abaec581/src/smefit/loader.py#L181-L182

Do you think it makes sense? I agree that the name of the variables is somewhat confusing and doesn t help to easily read the code

LucaMantani commented 9 months ago

Ok, it is much clearer. However, I do not understand what is the difference between the numbers in the commondata. When do we have to write MULT? both ADD and MULT are expressed as absolute errors, right?