From abd4a08593895443542d1df681de4f2a0ebdc633 Mon Sep 17 00:00:00 2001 From: Robert Hammann <53221264+hammannr@users.noreply.github.com> Date: Wed, 11 Dec 2024 16:37:28 +0100 Subject: [PATCH] Update blueice dependence (#236) * Update blueice dependence * fix source wise for indexmorpher --- .../unbinned_wimp_statistical_model_index_fitting.yaml | 1 + alea/models/blueice_extended_model.py | 8 +++++++- pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml b/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml index 96a69796..769bdc0b 100644 --- a/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml +++ b/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml @@ -54,6 +54,7 @@ likelihood_config: - name: science_run default_source_class: alea.template_source.TemplateSource likelihood_type: blueice.likelihood.UnbinnedLogLikelihood + source_wise_interpolation: false likelihood_config: {"morpher": "IndexMorpher"} analysis_space: - cs1: np.arange(0, 102, 2) diff --git a/alea/models/blueice_extended_model.py b/alea/models/blueice_extended_model.py index e6fd5d54..e5508631 100644 --- a/alea/models/blueice_extended_model.py +++ b/alea/models/blueice_extended_model.py @@ -296,9 +296,16 @@ def _process_blueice_config(self, config, template_folder_list): # get blueice likelihood_config if it's given likelihood_config = config.get("likelihood_config", None) + source_wise_interpolation = config.get("source_wise_interpolation", True) + + if source_wise_interpolation and likelihood_config: + if likelihood_config.get("morpher") == "IndexMorpher": + raise ValueError("Source-wise interpolation is not yet supported for IndexMorpher.") + blueice_config = { "pdf_base_config": pdf_base_config, "likelihood_config": likelihood_config, + "source_wise_interpolation": source_wise_interpolation, } return blueice_config @@ -335,7 +342,6 @@ def _build_ll_from_config( # Iterate through each likelihood term in the configuration for config in likelihood_config["likelihood_terms"]: blueice_config = self._process_blueice_config(config, template_folder_list) - blueice_config.setdefault("source_wise_interpolation", True) likelihood_class = cast(Callable, locate(config["likelihood_type"])) if likelihood_class is None: diff --git a/pyproject.toml b/pyproject.toml index 7e7a1e1a..9c9407c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ alea_submission = "alea.scripts.alea_submission:main" [tool.poetry.dependencies] python = ">=3.8,<3.13" atomicwrites = "*" -blueice = "*" +blueice = ">=1.2.1" h5py = "*" inference-interface = "*" iminuit = ">=2.21.0"