From 866406bf87a583f911b2a490ad784239c5c17d5f Mon Sep 17 00:00:00 2001 From: Alexander Held <45009355+alexander-held@users.noreply.github.com> Date: Thu, 27 Feb 2025 23:35:08 +0100 Subject: [PATCH] feat: improve error message when CLs bracketing fails (#509) * add POI name to error message to better distinguish between POI and CLs values --- src/cabinetry/fit/__init__.py | 5 +++-- tests/fit/test_fit.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/cabinetry/fit/__init__.py b/src/cabinetry/fit/__init__.py index 499bd6e9..ed894436 100644 --- a/src/cabinetry/fit/__init__.py +++ b/src/cabinetry/fit/__init__.py @@ -995,8 +995,9 @@ def _cls_minus_threshold( except ValueError: # invalid starting bracket is most common issue log.error( - f"CLs values at {bracket[0]:.4f} and {bracket[1]:.4f} do not bracket " - f"CLs={cls_target:.4f}, try a different starting bracket" + f"CLs values for {model.config.poi_name}={bracket[0]:.4f} and " + f"{bracket[1]:.4f} do not bracket CLs={cls_target:.4f}, try a " + "different starting bracket" ) # set POI in model back to original value model.config.set_poi(original_model_poi_name) diff --git a/tests/fit/test_fit.py b/tests/fit/test_fit.py index 93bb6e89..715fbf37 100644 --- a/tests/fit/test_fit.py +++ b/tests/fit/test_fit.py @@ -818,8 +818,8 @@ def test_limit(example_spec_with_background, caplog): poi_name="Signal strength", ) assert ( - "CLs values at 1.0000 and 2.0000 do not bracket CLs=0.1000, try a different " - "starting bracket" in [rec.message for rec in caplog.records] + "CLs values for Signal strength=1.0000 and 2.0000 do not bracket CLs=0.1000, " + "try a different starting bracket" in [rec.message for rec in caplog.records] ) caplog.clear()