def test_fit_range(self): """Test fit range without complication of thresholds""" dataset = SpectrumDatasetOnOff(counts=self.src, mask_safe=np.ones(self.src.energy.nbin, dtype=bool)) dataset.models = self.source_model assert np.sum(dataset.mask_safe) == self.nbins e_min, e_max = dataset.energy_range assert_allclose(e_max.value, 10) assert_allclose(e_min.value, 0.1)
def test_wstat(self): """WStat with on source and background spectrum""" on_vector = self.src.copy() on_vector.data += self.bkg.data dataset = SpectrumDatasetOnOff( counts=on_vector, counts_off=self.off, aeff=self.aeff, livetime=self.src.livetime, acceptance=1, acceptance_off=1 / self.alpha, ) dataset.models = self.source_model self.source_model.parameters.index = 1.12 fit = Fit([dataset]) result = fit.run() pars = self.source_model.parameters assert_allclose(pars["index"].value, 1.997342, rtol=1e-3) assert_allclose(pars["amplitude"].value, 100245.187067, rtol=1e-3) assert_allclose(result.total_stat, 30.022316, rtol=1e-3)