def compute(self): roi = self.roi which = self.which roi.modify(which=which, model=self.model0, keep_old_flux=False) if not self.quiet: print 'fit source %s with model0 (%s)' % (which, self.model0.name) self.ll_0 = self.fit() if not self.quiet: print roi sed = PointlikeSED(roi, name=which) self.sed_points = sed.todict() # TODO, get SED points emin, emax = get_full_energy_range(roi) flux = self.model0.i_flux(emin=emin, emax=emax) self.model1.set_flux(flux, emin=emin, emax=emax) self.comprehensive_model = ComprehensiveModel(self.model0.copy(), self.model1.copy()) self.comprehensive_model.theta = 0.5 self.comprehensive_model_start = self.comprehensive_model.copy() if not self.quiet: print 'fit source %s with model1 (%s)' % (which, self.model1.name) roi.modify(which=self.which, model=self.comprehensive_model, keep_old_flux=False) self.ll_1 = self.fit() if not self.quiet: print roi self.TS_comp = 2 * (self.ll_1 - self.ll_0)