Closed LucaMantani closed 4 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
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?
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?