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
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)