Exemplo n.º 1
0
    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)