From 7029e63ee1d57472871aeb1900ec8ffab4e315cf Mon Sep 17 00:00:00 2001 From: Robert Hammann <53221264+hammannr@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:50:12 +0100 Subject: [PATCH 1/6] Source-wise interpolation (#228) * get instead of pop * default to source-wise interpolation --- alea/models/blueice_extended_model.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/alea/models/blueice_extended_model.py b/alea/models/blueice_extended_model.py index ff36c03..e6fd5d5 100644 --- a/alea/models/blueice_extended_model.py +++ b/alea/models/blueice_extended_model.py @@ -4,6 +4,7 @@ import itertools from copy import deepcopy +from tqdm import tqdm import numpy as np import scipy.stats as stats from blueice.likelihood import LogAncillaryLikelihood, LogLikelihoodSum @@ -334,6 +335,7 @@ 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: @@ -399,7 +401,7 @@ def _build_data_generators(self) -> list: """ # last one is AncillaryLikelihood data_generators = [] - for ll_term in self.likelihood_list[:-1]: + for ll_term in tqdm(self.likelihood_list[:-1], desc="building data generators"): methods = [s.config["pdf_interpolation_method"] for s in ll_term.base_model.sources] # make sure that all sources have the same pdf_interpolation_method if len(set(methods)) != 1: From adc7a61b33ed76b9d3fd1fbe410849461e4863bb Mon Sep 17 00:00:00 2001 From: Dacheng Xu Date: Tue, 26 Nov 2024 18:26:04 -0500 Subject: [PATCH 2/6] Fix bug, only add tarball when git installed (#233) --- alea/submitters/htcondor.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alea/submitters/htcondor.py b/alea/submitters/htcondor.py index 68fd816..4511faf 100644 --- a/alea/submitters/htcondor.py +++ b/alea/submitters/htcondor.py @@ -407,8 +407,8 @@ def make_tarballs(self): logger.warning( f"Using tarball of user installed package {package_name} at {tarball_path}." ) - tarballs.append(tarball) - tarball_paths.append(tarball_path) + tarballs.append(tarball) + tarball_paths.append(tarball_path) return tarballs, tarball_paths def _initialize_job( From aed79c80755e1c5d441a27ece7593e95aa3fb6be Mon Sep 17 00:00:00 2001 From: Dacheng Xu Date: Tue, 26 Nov 2024 18:33:27 -0500 Subject: [PATCH 3/6] Switch to master for docformatter (#234) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cfdf5f1..ea78b02 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,7 +19,7 @@ repos: language_version: python3.9 - repo: https://github.com/pycqa/docformatter - rev: v1.7.5 + rev: master hooks: - id: docformatter additional_dependencies: [tomli] From 3e03934378b2e651efae47d3feb44f706ea991df Mon Sep 17 00:00:00 2001 From: Robert Hammann Date: Wed, 11 Dec 2024 16:15:20 +0100 Subject: [PATCH 4/6] fix source wise for indexmorpher --- .../unbinned_wimp_statistical_model_index_fitting.yaml | 1 + alea/models/blueice_extended_model.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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 96a6979..769bdc0 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 e6fd5d5..e550863 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: From 5b2b684f661f108bd8dbd7b4cb930730343d8d4e Mon Sep 17 00:00:00 2001 From: Robert Hammann Date: Wed, 11 Dec 2024 16:21:11 +0100 Subject: [PATCH 5/6] Revert "fix source wise for indexmorpher" This reverts commit 3e03934378b2e651efae47d3feb44f706ea991df. --- .../unbinned_wimp_statistical_model_index_fitting.yaml | 1 - alea/models/blueice_extended_model.py | 8 +------- 2 files changed, 1 insertion(+), 8 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 769bdc0..96a6979 100644 --- a/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml +++ b/alea/examples/configs/unbinned_wimp_statistical_model_index_fitting.yaml @@ -54,7 +54,6 @@ 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 e550863..e6fd5d5 100644 --- a/alea/models/blueice_extended_model.py +++ b/alea/models/blueice_extended_model.py @@ -296,16 +296,9 @@ 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 @@ -342,6 +335,7 @@ 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: 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 6/6] 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 96a6979..769bdc0 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 e6fd5d5..e550863 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 7e7a1e1..9c9407c 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"