def diffuse_model(): axis = MapAxis.from_nodes([0.1, 100], name="energy", unit="TeV", interp="log") m = Map.create(npix=(4, 3), binsz=2, axes=[axis], unit="cm-2 s-1 MeV-1 sr-1", coordsys="GAL") m.data += 42 return SkyDiffuseCube(m)
# In[ ]: psf_kernel.psf_kernel_map.sum_over_axes().plot(stretch="log", add_cbar=True); # ## Background # # Let's compute a background cube, with predicted number of background events per pixel from the diffuse Galactic and isotropic model components. For this, we use the use the [gammapy.cube.MapEvaluator](http://docs.gammapy.org/dev/api/gammapy.cube.MapEvaluator.html) to multiply with the exposure and apply the PSF. The Fermi-LAT energy dispersion at high energies is small, we neglect it here. # In[ ]: model = SkyDiffuseCube(diffuse_galactic) evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel) background_gal = counts.copy(data=evaluator.compute_npred()) background_gal.sum_over_axes().plot() print("Background counts from Galactic diffuse: ", background_gal.data.sum()) # In[ ]: model = SkyModel(SkyDiffuseConstant(), diffuse_iso) evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel)