def test_extended_binlh_ww_w2(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level=0, extended=True) assert_almost_equal(minuit.values['mean'], 5., delta=minuit.errors['mean']) assert_almost_equal(minuit.values['sigma'], 2., delta=minuit.errors['sigma']) assert_almost_equal(minuit.values['N'], 2000, delta=minuit.errors['N']) assert(minuit.migrad_ok()) _, minuit2 = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level= -1, extended=True, use_w2=True) assert_almost_equal(minuit2.values['mean'], 5., delta=2 * minuit2.errors['mean']) assert_almost_equal(minuit2.values['sigma'], 2., delta=2 * minuit2.errors['sigma']) assert_almost_equal(minuit2.values['N'], 2000., delta=2 * minuit2.errors['N']) assert(minuit2.migrad_ok()) minuit.minos() minuit2.minos() # now error should scale correctly assert_almost_equal(minuit.errors['mean'] / sqrt(10), minuit2.errors['mean'], delta=minuit.errors['mean'] / sqrt(10) / 100.) assert_almost_equal(minuit.errors['sigma'] / sqrt(10), minuit2.errors['sigma'], delta=minuit.errors['sigma'] / sqrt(10) / 100.) assert_almost_equal(minuit.errors['N'] / sqrt(10), minuit2.errors['N'], delta=minuit.errors['N'] / sqrt(10) / 100.)
def test_extended_binlh_ww_w2(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level=0, extended=True) assert_allclose(minuit.values['mean'], 5., atol=minuit.errors['mean']) assert_allclose(minuit.values['sigma'], 2., atol=minuit.errors['sigma']) assert_allclose(minuit.values['N'], 2000, atol=minuit.errors['N']) assert minuit.migrad_ok() _, minuit2 = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level=-1, extended=True, use_w2=True) assert_allclose(minuit2.values['mean'], 5., atol=2 * minuit2.errors['mean']) assert_allclose(minuit2.values['sigma'], 2., atol=2 * minuit2.errors['sigma']) assert_allclose(minuit2.values['N'], 2000., atol=2 * minuit2.errors['N']) assert minuit2.migrad_ok() minuit.minos() minuit2.minos() # now error should scale correctly assert_allclose(minuit.errors['mean'] / sqrt(10), minuit2.errors['mean'], atol=minuit.errors['mean'] / sqrt(10) / 100.) assert_allclose(minuit.errors['sigma'] / sqrt(10), minuit2.errors['sigma'], atol=minuit.errors['sigma'] / sqrt(10) / 100.) assert_allclose(minuit.errors['N'] / sqrt(10), minuit2.errors['N'], atol=minuit.errors['N'] / sqrt(10) / 100.)
def test_binlh(self): ngauss = Normalized(gaussian, (1., 9.)) _, minuit = fit_binlh(ngauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1.5, print_level=0) assert(minuit.migrad_ok()) assert_almost_equal(minuit.values['mean'], 5., delta=3 * minuit.errors['mean']) assert_almost_equal(minuit.values['sigma'], 2., delta=3 * minuit.errors['sigma'])
def test_binlh(self): ngauss = Normalized(gaussian, (1., 9.)) _, minuit = fit_binlh(ngauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1.5, print_level=0) assert minuit.migrad_ok() assert_allclose(minuit.values['mean'], 5., atol=3 * minuit.errors['mean']) assert_allclose(minuit.values['sigma'], 2., atol=3 * minuit.errors['sigma'])
def test_extended_binlh_ww(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level=0, extended=True) assert(minuit.migrad_ok()) assert_almost_equal(minuit.values['mean'], 5., delta=minuit.errors['mean']) assert_almost_equal(minuit.values['sigma'], 2., delta=minuit.errors['sigma']) assert_almost_equal(minuit.values['N'], 2000, delta=minuit.errors['N'])
def test_extended_binlh_ww(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=1000., weights=self.wdown, print_level=0, extended=True) assert minuit.migrad_ok() assert_allclose(minuit.values['mean'], 5., atol=minuit.errors['mean']) assert_allclose(minuit.values['sigma'], 2., atol=minuit.errors['sigma']) assert_allclose(minuit.values['N'], 2000, atol=minuit.errors['N'])
def test_extended_binlh(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=10000., print_level=0, extended=True) assert minuit.migrad_ok() assert_allclose(minuit.values['mean'], 5., atol=3 * minuit.errors['mean']) assert_allclose(minuit.values['sigma'], 2., atol=3 * minuit.errors['sigma']) assert_allclose(minuit.values['N'], 20000, atol=3 * minuit.errors['N'])
def test_binlh(self): ngauss = Normalized(gaussian, (1.0, 9.0)) _, minuit = fit_binlh( ngauss, self.data, bins=100, bound=(1.0, 9.0), quiet=True, mean=4.0, sigma=1.5, print_level=0, ) assert minuit.migrad_ok() assert_allclose(minuit.values["mean"], 5.0, atol=3 * minuit.errors["mean"]) assert_allclose(minuit.values["sigma"], 2.0, atol=3 * minuit.errors["sigma"])
def test_extended_binlh_ww(self): egauss = Extended(gaussian) _, minuit = fit_binlh( egauss, self.data, bins=100, bound=(1.0, 9.0), quiet=True, mean=4.0, sigma=1.0, N=1000.0, weights=self.wdown, print_level=0, extended=True, ) assert minuit.migrad_ok() assert_allclose(minuit.values["mean"], 5.0, atol=minuit.errors["mean"]) assert_allclose(minuit.values["sigma"], 2.0, atol=minuit.errors["sigma"]) assert_allclose(minuit.values["N"], 2000, atol=minuit.errors["N"])
def test_extended_binlh(self): egauss = Extended(gaussian) _, minuit = fit_binlh(egauss, self.data, bins=100, bound=(1., 9.), quiet=True, mean=4., sigma=1., N=10000., print_level=0, extended=True) assert (minuit.migrad_ok()) assert_almost_equal(minuit.values['mean'], 5., delta=3 * minuit.errors['mean']) assert_almost_equal(minuit.values['sigma'], 2., delta=3 * minuit.errors['sigma']) assert_almost_equal(minuit.values['N'], 20000, delta=3 * minuit.errors['N'])