|
7 | 7 | from tqdm import tqdm |
8 | 8 | import numpy as np |
9 | 9 | import scipy.stats as stats |
10 | | -from blueice.likelihood import LogAncillaryLikelihood, LogLikelihoodSum |
| 10 | +from blueice.likelihood import LogAncillaryLikelihood, LogLikelihoodSum, BinnedLogLikelihood |
11 | 11 | from inference_interface import dict_to_structured_array, structured_array_to_dict |
12 | 12 |
|
13 | 13 | from alea.model import StatisticalModel |
@@ -350,11 +350,18 @@ def _build_ll_from_config( |
350 | 350 | # Iterate through each likelihood term in the configuration |
351 | 351 | for config in likelihood_config["likelihood_terms"]: |
352 | 352 | blueice_config = self._process_blueice_config(config, template_folder_list) |
353 | | - blueice_config["source_wise_interpolation"] = config.get( |
354 | | - "source_wise_interpolation", True |
355 | | - ) |
356 | 353 |
|
357 | 354 | likelihood_class = cast(Callable, locate(config["likelihood_type"])) |
| 355 | + |
| 356 | + # Auto set source_wise_interpolation to False for binned likelihoods |
| 357 | + if likelihood_class is BinnedLogLikelihood: |
| 358 | + if config.get("source_wise_interpolation", False): |
| 359 | + raise NotImplementedError( |
| 360 | + "Source-wise interpolation not implemented for binned likelihoods" |
| 361 | + ) |
| 362 | + else: |
| 363 | + blueice_config["source_wise_interpolation"] = False |
| 364 | + |
358 | 365 | if likelihood_class is None: |
359 | 366 | raise ValueError(f"Could not find {config['likelihood_type']}!") |
360 | 367 | ll = likelihood_class(**blueice_config) |
|
0 commit comments