Esempio n. 1
0
    def get_roi(name,
                center,
                point_sources,
                diffuse_sources,
                emin=1e2,
                emax=1e5,
                binsperdec=2):

        simdir = path.expand('$SIMDIR/%s' % name)

        if not os.path.exists(simdir):
            os.makedirs(simdir)

        ft1 = '%s/ft1.fits' % simdir
        ft2 = '%s/ft2.fits' % simdir

        ds = DataSpecification(ft1files=ft1,
                               ft2files=ft2,
                               ltcube='%s/ltcube.fits' % simdir,
                               binfile='%s/binfile.fits' % simdir)

        sa = SpectralAnalysisMC(
            ds,
            seed=0,
            emin=emin,
            emax=emax,
            irf='P7SOURCE_V6',
            binsperdec=binsperdec,
            mc_energy=True,
            tstart=0,
            tstop=604800,  # 7 days
            quiet=not PointlikeTest.VERBOSE,
            roi_dir=center,
            maxROI=5,
            minROI=5,
            savedir='%s/gtobssim' % simdir)

        roi = sa.roi(roi_dir=center,
                     point_sources=point_sources,
                     diffuse_sources=diffuse_sources)

        return roi
Esempio n. 2
0
    def __init__(self, **kwargs):
        keyword_options.process(self, kwargs)

        if self.point_sources == [] and self.diffuse_sources == []:
            self.point_sources, self.diffuse_sources = self.get_default_sources(
            )

        ltcube = join(self.tempdir, 'ltcube.fits')
        ds = DataSpecification(ft1files=join(self.tempdir, 'ft1.fits'),
                               ft2files=join(self.tempdir, 'ft2.fits'),
                               ltcube=ltcube,
                               binfile=join(self.tempdir, 'binfile.fits'))

        sa = SpectralAnalysisMC(
            ds,
            seed=self.seed,
            emin=self.emin,
            emax=self.emax,
            binsperdec=self.binsperdec,
            event_class=self.event_class,
            conv_type=self.conv_type,
            roi_dir=self.roi_dir,
            minROI=self.maxROI,
            maxROI=self.maxROI,
            irf=self.irf,
            use_weighted_livetime=True,
            savedir=self.tempdir,
            tstart=0,
            tstop=self.simtime,
            ltfrac=0.9,
        )

        roi = sa.roi(roi_dir=self.roi_dir,
                     point_sources=self.point_sources,
                     diffuse_sources=self.diffuse_sources)

        self.roi = roi

        fix_pointlike_ltcube(ltcube)