Skip to content
Snippets Groups Projects
Commit e68e0ba3 authored by Felix Metzner's avatar Felix Metzner
Browse files

Working on sys evaluation methods.

parent 95cf8ce3
Branches
No related tags found
No related merge requests found
......@@ -576,11 +576,22 @@ class SysResultItem:
sys_names: Tuple[str, ...],
this_result: RDStarFitResultContainer,
base_result: RDStarFitResultContainer,
ignore_check: bool = False,
) -> "SysResultItem":
assert np.all(np.isclose(this_result.param_values[:2], base_result.param_values[:2], rtol=1e-5, atol=1.e-4)), (
tuple(this_result.param_values[:2]),
tuple(base_result.param_values[:2]),
)
if ignore_check:
if not np.all(np.isclose(this_result.param_values[:2], base_result.param_values[:2], rtol=1e-5, atol=1.e-4)):
logger.warning(
f"Values for ignored check:\n"
f"\t This result: {tuple(this_result.param_values[:2])},\n"
f"\t Base result: {tuple(base_result.param_values[:2])}"
)
else:
assert np.all(
np.isclose(this_result.param_values[:2], base_result.param_values[:2], rtol=1e-5, atol=1.e-4)), (
tuple(this_result.param_values[:2]),
tuple(base_result.param_values[:2]),
)
errors: np.ndarray = base_result.errors[:2] - this_result.errors[:2]
relative_errors: np.ndarray = errors / base_result.param_values[:2]
......@@ -641,6 +652,7 @@ class SysResultContainer(MutableMapping):
sys_names: Tuple[str, ...],
this_result: RDStarFitResultContainer,
base_result: RDStarFitResultContainer,
ignore_check: bool = False,
) -> str:
_name: str = self.get_name_from(sys_names=sys_names)
sys_res_item: SysResultItem = SysResultItem.create_from(
......@@ -648,6 +660,7 @@ class SysResultContainer(MutableMapping):
sys_names=sys_names,
this_result=this_result,
base_result=base_result,
ignore_check=ignore_check,
)
self[sys_res_item.name] = sys_res_item
return sys_res_item.name
......@@ -942,6 +955,7 @@ class RDStarFitEvaluator:
base_name: str,
fit_type_info: FitTypeInfo,
use_b2015_as_nominal: bool,
ignore_check: bool = False,
) -> SysResultContainer:
_fit_sys_container = SysResultContainer(name=container_name)
......@@ -976,13 +990,15 @@ class RDStarFitEvaluator:
sys_names=sys_names,
this_result=this_fit_status.fit_result,
base_result=base_fit_status.fit_result,
ignore_check=ignore_check,
)
_this_result = _fit_sys_container[_fit_sys_container.get_name_from(sys_names=sys_names)]
_r: SysResultItem = _fit_sys_container[_fit_sys_container.get_name_from(sys_names=sys_names)]
logger.info(
f"\tResults for sys_name = {sys_name}\n"
f"\t\t the results are\n"
f"\t\t\t sigma R(D) = {_this_result.rd_error} ({_this_result.rd_relative_error})"
f"\t\t\t sigma R(D*) = {_this_result.rd_star_error} ({_this_result.rd_star_relative_error})"
f"\t\t\t sigma R(D) = {_r.rd_error} (absolut) or {_r.rd_relative_error} (relative)"
f"\t\t\t sigma R(D*) = {_r.rd_star_error} (absolut) or {_r.rd_star_relative_error} (relative)"
)
# TODO: Loop also over background setups!
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment