def testE(self): "Test GaussianRestraint(3) score" gr = GaussianRestraint(*self.all) for i in range(100): map(self.change_value, self.all) map(self.change_sign, self.locations) e = gr.evaluate(False) self.assertAlmostEqual(e, self.normal_e(*self.all))
def testSanityPE(self): "Test if GaussianRestraint(13) prob is exp(-score)" gr = GaussianRestraint(*self.all) for i in range(100): map(self.change_value, self.all) map(self.change_sign, self.locations) self.assertAlmostEqual(gr.get_probability(), exp(-gr.evaluate(False)), delta=0.001)
def testdx(self): "Test GaussianRestraint(3) x derivative" gr = GaussianRestraint(*self.all) for i in range(100): map(self.change_value, self.all) map(self.change_sign, self.locations) gr.evaluate(True) self.assertAlmostEqual(Nuisance(self.x).get_nuisance_derivative(), self.deriv_x(*self.all))
def testdmu(self): "Test GaussianRestraint(3) mu derivative" gr = GaussianRestraint(*self.all) for i in range(100): map(self.change_value, self.all) map(self.change_sign, self.locations) gr.evaluate(True) self.assertAlmostEqual( Nuisance(self.mu).get_nuisance_derivative(), self.deriv_mu(*self.all))
def testSanityEP(self): "Test if GaussianRestraint(13) score is -log(prob)" gr = GaussianRestraint(*self.all) for i in range(100): map(self.change_value, self.all) map(self.change_sign, self.locations) expected = gr.get_probability() if expected == 0: continue self.assertAlmostEqual(-log(expected), gr.evaluate(False), delta=0.7)
def testdx(self): "Test GaussianRestraint(3) x derivative" gr = GaussianRestraint(*self.all) self.m.add_restraint(gr) for i in xrange(100): map(self.change_value, self.all) map(self.change_sign, self.locations) self.m.evaluate(True) self.assertAlmostEqual( Nuisance(self.x).get_nuisance_derivative(), self.deriv_x(*self.all))