npred = evaluator.compute_npred() npred_map = WcsNDMap(geom, npred) fig, ax, cbar = npred_map.sum_over_axes().plot(add_cbar=True) ax.scatter( [lon_0_1, lon_0_2, pointing.galactic.l.degree], [lat_0_1, lat_0_2, pointing.galactic.b.degree], transform=ax.get_transform("galactic"), marker="+", color="cyan", ) # plt.show() plt.clf() rng = get_random_state(42) counts = rng.poisson(npred) counts_map = WcsNDMap(geom, counts) counts_map.sum_over_axes().plot() # plt.show() plt.clf() compound_model.parameters.set_error(2, 0.1 * u.deg) compound_model.parameters.set_error(4, 1e-12 * u.Unit("cm-2 s-1 TeV-1")) compound_model.parameters.set_error(8, 0.1 * u.deg) compound_model.parameters.set_error(10, 1e-12 * u.Unit("cm-2 s-1 TeV-1")) fit = MapFit(model=compound_model, counts=counts_map, exposure=exposure_map) fit.run()
# In[ ]: model = SkyModel( SkyPointSource("0 deg", "0 deg"), PowerLaw(index=2.5, amplitude="1e-11 cm-2 s-1 TeV-1", reference="100 GeV"), ) fit = MapFit( model=model, counts=counts, exposure=exposure, background=background, psf=psf_kernel, ) result = fit.run() # In[ ]: print(result) # ## Exercises # # - Fit the position and spectrum of the source [SNR G0.9+0.1](http://gamma-sky.net/#/cat/tev/110). # - Make maps and fit the position and spectrum of the [Crab nebula](http://gamma-sky.net/#/cat/tev/25). # ## Summary #
npred = evaluator.compute_npred() npred_map = WcsNDMap(geom, npred) fig, ax, cbar = npred_map.sum_over_axes().plot(add_cbar=True) ax.scatter( [lon_0_1, lon_0_2, pointing.galactic.l.degree], [lat_0_1, lat_0_2, pointing.galactic.b.degree], transform=ax.get_transform("galactic"), marker="+", color="cyan", ) # plt.show() plt.clf() rng = get_random_state(42) counts = rng.poisson(npred) counts_map = WcsNDMap(geom, counts) counts_map.sum_over_axes().plot() # plt.show() plt.clf() models.parameters.set_error(2, 0.1 * u.deg) models.parameters.set_error(4, 1e-12 * u.Unit("cm-2 s-1 TeV-1")) models.parameters.set_error(8, 0.1 * u.deg) models.parameters.set_error(10, 1e-12 * u.Unit("cm-2 s-1 TeV-1")) fit = MapFit(model=models, counts=counts_map, exposure=exposure_map) fit.run()