diff --git a/titrate/plotting.py b/titrate/plotting.py index b53f62a..c7606e4 100644 --- a/titrate/plotting.py +++ b/titrate/plotting.py @@ -244,7 +244,6 @@ def plot( statistic_bkg, axs, ): - print(self.poi_val) axs["diff"].hist( toys_ts_diff, bins=bins_diff, diff --git a/titrate/tests/test_validation.py b/titrate/tests/test_validation.py index b0d92c8..cb2fd3e 100644 --- a/titrate/tests/test_validation.py +++ b/titrate/tests/test_validation.py @@ -40,7 +40,7 @@ def validation_file(measurement_dataset, tmp_path_factory): @pytest.mark.parametrize("statistic", ["qmu", "qtildemu"]) -def test_AsmyptoticValidator(measurement_dataset, statistic, validation_file): +def test_AsymptoticValidator(measurement_dataset, statistic, validation_file): from titrate.validation import AsymptoticValidator validator = AsymptoticValidator( diff --git a/titrate/upperlimits.py b/titrate/upperlimits.py index a1e63fc..0069ad7 100644 --- a/titrate/upperlimits.py +++ b/titrate/upperlimits.py @@ -4,8 +4,7 @@ import numpy as np from astropy.table import QTable from gammapy.astro.darkmatter import DarkMatterAnnihilationSpectralModel -from gammapy.modeling import Covariance, Fit -from gammapy.modeling.fit import OptimizeResult +from gammapy.modeling import Fit from gammapy.modeling.models import ( FoVBackgroundModel, Models, @@ -84,11 +83,9 @@ def compute(self): poi_ul = 1e-2 else: poi_ul = poi_best - prev_pval = 0 while ( (pval := self.pvalue(poi_ul, cl_type=self.cl_type)) > 1 - self.cl ) or np.isnan(pval): - prev_pval = pval poi_ul *= 2 interp_ul_points = np.linspace(poi_ul / 2, poi_ul, 5) @@ -105,7 +102,6 @@ def compute(self): poi_ul = brentq(interpolation, poi_ul / 2, poi_ul) - print("FOUND:", poi_ul) self.poi_ul = poi_ul return poi_ul @@ -139,7 +135,7 @@ def expected_uls(self): target_ts = norm.ppf(1 - 0.5 * (1 - self.cl)) ** 2 poi_ul = 1e-2 - while (ts := self.no_signal_statistic.evaluate(poi_ul)) < target_ts: + while self.no_signal_statistic.evaluate(poi_ul) < target_ts: poi_ul *= 2 interp_ul_points = np.linspace(poi_ul / 2, poi_ul, 10) diff --git a/titrate/utils.py b/titrate/utils.py index c9f1712..788e9ed 100644 --- a/titrate/utils.py +++ b/titrate/utils.py @@ -1,15 +1,17 @@ from gammapy.datasets import Datasets -def CopyModelError(AttributeError): +class CopyModelError(AttributeError): """Something went wrong during copying a model.""" + pass def calc_ts_toyMC(dataset, test_statistic, poi_val, poi_true_val, poi_name): """Evaluates given test statistic for toy MCs. - The given dataset will be copied and a new measurement will be simulated. - The test statistic is evaluated for this dataset. + The `poi_true_val` is used to set the parameter of interest in the model + before simulating the new measurement from which the test statistic is + evaluated. """ toy_dataset = copy_dataset_with_models(dataset) toy_dataset.models.parameters[poi_name].value = poi_true_val diff --git a/titrate/validation.py b/titrate/validation.py index 97a2133..10b0ecb 100644 --- a/titrate/validation.py +++ b/titrate/validation.py @@ -10,7 +10,7 @@ from gammapy.modeling.models import SkyModel from titrate.datasets import AsimovMapDataset, AsimovSpectralDataset -from titrate.statistics import QMuTestStatistic, QTildeMuTestStatistic, kstest +from titrate.statistics import QMuTestStatistic, QTildeMuTestStatistic from titrate.utils import calc_ts_toyMC, copy_dataset_with_models STATISTICS = {"qmu": QMuTestStatistic, "qtildemu": QTildeMuTestStatistic} @@ -109,7 +109,6 @@ def validate(self, n_toys=1000): poi_val=self.poi_val, ts_val=x ), ).pvalue - print(ks_diff, ks_same) valid = ks_diff > 0.05 and ks_same > 0.05