Skip to content

Commit

Permalink
converting relative to absolute before symmeterising
Browse files Browse the repository at this point in the history
  • Loading branch information
jacoterh committed Nov 21, 2024
1 parent a2bddd2 commit f9ff100
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 102 deletions.
35 changes: 18 additions & 17 deletions nnpdf_data/nnpdf_data/commondata/ATLAS_SINGLETOP_7TEV/filter.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ def get_data_values(hepdata: dict, bin_index: list, indx: int = 0) -> list:
return np.array([central[i]["value"] for i in bin_index])


def get_errors(hepdata: dict, bin_index: list) -> dict:
def get_errors(hepdata: dict, data_central: list, bin_index: list) -> dict:
"""
Extract the uncertainties from hepdata and computes the shift of the central value in case of
asymmetric uncertainties
Expand All @@ -119,8 +119,8 @@ def get_errors(hepdata: dict, bin_index: list) -> dict:
# parse the systematics
errors = []
shifts_cv = [] # relevant for asymmetric uncertainties
for i in bin_index:
bin = hepdata["dependent_variables"][i]
for i, j in enumerate(bin_index):
bin = hepdata["dependent_variables"][j]

# loop over sources of uncertainty
error_sources = []
Expand All @@ -129,14 +129,19 @@ def get_errors(hepdata: dict, bin_index: list) -> dict:
if "errors" not in source:
error_sources.append(None)
elif "symerror" in source["errors"][0]:
error_sources.append(source["errors"][0]["symerror"])
# convert to absolute uncertainties
abs_sym = source["errors"][0]["symerror"] * data_central[i]
error_sources.append(abs_sym)
elif "asymerror" in source["errors"][0]:

delta_min = source["errors"][0]["asymerror"]["minus"]
delta_plus = source["errors"][0]["asymerror"]["plus"]
se_delta, se_sigma = se(delta_plus, delta_min)

# shift central value
# convert to absolute uncertainties
delta_min_abs = delta_min * data_central[i] * 1e-2
delta_plus_abs = delta_plus * data_central[i] * 1e-2

# symmeterise uncertainties and shift central value
se_delta, se_sigma = se(delta_plus_abs, delta_min_abs)
shift_cv += se_delta

error_sources.append(se_sigma)
Expand Down Expand Up @@ -250,14 +255,11 @@ def main_filter() -> None:

kinematics = get_kinematics(yaml_content_data, bin_index=range(NB_POINTS - 1), indx=0)
data_central = get_data_values(yaml_content_data, bin_index=range(NB_POINTS - 1), indx=0)
uncertainties = get_errors(yaml_sys_sources, bin_index=range(NB_POINTS - 1))
uncertainties = get_errors(yaml_sys_sources, data_central, bin_index=range(NB_POINTS - 1))

# TODO: do we multiply relative uncertainties by the shifted central value or the unshifted one?
data_central += uncertainties["shifts_cv"] * data_central * 1e-2
uncertainties_absolute = (
uncertainties["errors"] * data_central.reshape(NB_POINTS - 1, -1) * 1e-2
)
uncertainties_absolute = uncertainties_absolute.dropna(
data_central += uncertainties["shifts_cv"]
uncertainties_absolute = uncertainties["errors"].dropna(
axis=1
) # some systematics are empty on hepdata

Expand Down Expand Up @@ -299,11 +301,10 @@ def main_filter() -> None:

data_central = get_data_values(yaml_content_data, bin_index=[0], indx=2)
kinematics = get_kinematics(yaml_content_data)
uncertainties = get_errors(yaml_uncertainties, bin_index=[2])
uncertainties = get_errors(yaml_uncertainties, data_central, bin_index=[2])

uncertainties_absolute = uncertainties["errors"] * data_central.reshape(1, -1) * 1e-2
stat_abs = uncertainties_absolute.iloc[[0], [0]]
sys_abs = uncertainties_absolute.iloc[[0], 1:-2]
stat_abs = uncertainties["errors"].iloc[[0], [0]]
sys_abs = uncertainties["errors"].iloc[[0], 1:-2]
errors = {"statistics": stat_abs, "systematics": sys_abs}

n_sys = sys_abs.shape[1]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,33 +40,33 @@ definitions:
treatment: MULT
type: CORR
bins:
- sys_corr_1: 5.30515497e-02
sys_corr_2: -5.47850893e-03
sys_corr_3: -7.50070638e-04
sys_corr_4: 3.49666450e-02
sys_corr_5: 2.96327500e-03
sys_corr_6: 9.19570648e-03
sys_corr_7: 7.11186000e-03
sys_corr_8: 1.00751350e-02
sys_corr_9: 5.58103563e-02
sys_corr_10: 2.96327500e-03
- sys_corr_1: -6.35831614e-03
sys_corr_2: -1.77801471e-02
sys_corr_3: -3.16382280e-02
sys_corr_4: 2.76336000e-02
sys_corr_5: 2.87850000e-03
sys_corr_6: 1.08927552e-02
sys_corr_7: 2.87850000e-03
sys_corr_8: 1.03626000e-02
sys_corr_9: 1.67151399e-02
sys_corr_10: 2.87850000e-03
- sys_corr_1: -7.11169304e-03
sys_corr_2: -2.49717741e-02
sys_corr_3: 2.26912839e-02
sys_corr_4: 2.25287300e-02
sys_corr_5: 5.05747000e-03
sys_corr_6: 6.67458736e-03
sys_corr_7: 7.35632000e-03
sys_corr_8: 2.29885000e-03
sys_corr_9: 2.29885000e-03
sys_corr_10: 2.29885000e-03
- sys_corr_1: 5.28140740e+00
sys_corr_2: -5.48184643e-01
sys_corr_3: -4.82642618e-02
sys_corr_4: 3.481
sys_corr_5: 0.295
sys_corr_6: 9.15451118e-03
sys_corr_7: 0.708
sys_corr_8: 1.003
sys_corr_9: 5.55603348e-02
sys_corr_10: 0.295
- sys_corr_1: -6.21517163e-01
sys_corr_2: -1.82842573e+00
sys_corr_3: -3.09491192e+00
sys_corr_4: 2.73600000e+00
sys_corr_5: 0.285
sys_corr_6: 1.07849061e-02
sys_corr_7: 0.285
sys_corr_8: 1.026
sys_corr_9: 1.65496435e-02
sys_corr_10: 0.285
- sys_corr_1: -7.18475744e-01
sys_corr_2: -2.44794411e+00
sys_corr_3: 2.32246900e+00
sys_corr_4: 2.25400000e+00
sys_corr_5: 5.06000000e-01
sys_corr_6: 6.67792632e-03
sys_corr_7: 7.36000000e-03
sys_corr_8: 0.23
sys_corr_9: 0.23
sys_corr_10: 0.23
Original file line number Diff line number Diff line change
Expand Up @@ -36,30 +36,30 @@ definitions:
treatment: MULT
type: CORR
bins:
- sys_corr_1: 9.70729067e-02
sys_corr_2: -8.38334543e-03
sys_corr_3: 3.58054634e-03
sys_corr_4: 0.09
sys_corr_5: 0.0255
sys_corr_6: 0.00375
sys_corr_7: 1.20000000e-02
- sys_corr_1: 9.70671334e+00
sys_corr_2: -8.57805914e-01
sys_corr_3: 3.26167250e-01
sys_corr_4: 9.0
sys_corr_5: 2.55
sys_corr_6: 0.375
sys_corr_7: 1.20000000e+00
sys_corr_8: 1.05000000e-02
sys_corr_9: 1.42500000e-02
- sys_corr_1: -7.19419643e-03
sys_corr_2: -4.44720302e-02
sys_corr_3: -3.92645363e-02
sys_corr_4: 7.22370000e-02
sys_corr_5: 1.57608000e-02
sys_corr_6: 1.02158545e-02
sys_corr_7: 6.56700000e-03
sys_corr_8: 5.25688247e-02
sys_corr_9: 3.28350000e-03
- sys_corr_1: -1.34650861e-02
sys_corr_2: -3.66767196e-02
sys_corr_3: 4.67914444e-02
sys_corr_4: 6.65001000e-02
sys_corr_5: 6.09584250e-03
sys_corr_6: 2.77083750e-03
sys_corr_7: 2.77083750e-03
sys_corr_8: 2.30279769e-02
sys_corr_9: 2.77083750e-03
sys_corr_9: 1.42500000e+00
- sys_corr_1: -7.27052324e-01
sys_corr_2: -4.32582320e+00
sys_corr_3: -4.10252173e+00
sys_corr_4: 7.26000000e+00
sys_corr_5: 1.584
sys_corr_6: 1.02671905e-02
sys_corr_7: 0.66
sys_corr_8: 5.28329897e-02
sys_corr_9: 0.33
- sys_corr_1: -1.35053932e+00
sys_corr_2: -3.83652385e+00
sys_corr_3: 4.55281818e+00
sys_corr_4: 6.66
sys_corr_5: 6.10500000e-01
sys_corr_6: 0.2775
sys_corr_7: 0.2775
sys_corr_8: 2.30625707e-02
sys_corr_9: 0.2775
Original file line number Diff line number Diff line change
Expand Up @@ -116,32 +116,32 @@ definitions:
treatment: MULT
type: ATLASLUMI11
bins:
- stat: 0.12648
sys_corr_1: 0.07344
sys_corr_2: 0.03264
sys_corr_3: 0.03876
sys_corr_4: 0.0102
sys_corr_5: 0.0102
sys_corr_6: 0.0102
sys_corr_7: 0.03672
sys_corr_8: 0.0102
sys_corr_9: 0.0102
sys_corr_10: 0.0102
sys_corr_11: 2.44800000e-02
sys_corr_12: 0.0204
sys_corr_13: 0.0102
sys_corr_14: 0.0204
sys_corr_15: 0.0102
sys_corr_16: 0.0102
sys_corr_17: 0.0102
sys_corr_18: 0.0102
sys_corr_19: 0.0102
sys_corr_20: 0.03264
sys_corr_21: 0.0204
sys_corr_22: 0.051
sys_corr_23: 0.0102
sys_corr_24: 0.0102
sys_corr_25: 0.0102
sys_corr_26: 0.03264
sys_corr_27: 0.0204
sys_corr_28: 0.0102
- stat: 1.26480000e+01
sys_corr_1: 7.344
sys_corr_2: 3.26400000e+00
sys_corr_3: 3.876
sys_corr_4: 1.02
sys_corr_5: 1.02
sys_corr_6: 1.02
sys_corr_7: 3.672
sys_corr_8: 1.02
sys_corr_9: 1.02
sys_corr_10: 1.02
sys_corr_11: 2.448
sys_corr_12: 2.04
sys_corr_13: 1.02
sys_corr_14: 2.04
sys_corr_15: 1.02
sys_corr_16: 1.02
sys_corr_17: 1.02
sys_corr_18: 1.02
sys_corr_19: 1.02
sys_corr_20: 3.26400000e+00
sys_corr_21: 2.04
sys_corr_22: 5.1
sys_corr_23: 1.02
sys_corr_24: 1.02
sys_corr_25: 1.02
sys_corr_26: 3.26400000e+00
sys_corr_27: 2.04
sys_corr_28: 1.02

0 comments on commit f9ff100

Please sign in to comment.