{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "
\n", "**This is a fixed-text formatted version of a Jupyter notebook.**\n", "\n", "- Try online [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/v0.8?urlpath=lab/tree/fermi_lat.ipynb)\n", "- You can contribute with your own notebooks in this\n", "[GitHub repository](https://github.com/gammapy/gammapy/tree/master/tutorials).\n", "- **Source files:**\n", "[fermi_lat.ipynb](../_static/notebooks/fermi_lat.ipynb) |\n", "[fermi_lat.py](../_static/notebooks/fermi_lat.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fermi-LAT data with Gammapy\n", "\n", "## Introduction\n", "\n", "This tutorial will show you how to work with Fermi-LAT data with Gammapy. As an example, we will look at the Galactic center region using the high-energy dataset that was used for the 3FHL catalog, in the energy range 10 GeV to 2 TeV.\n", "\n", "We note that support for Fermi-LAT data analysis in Gammapy is very limited. For most tasks, we recommend you use \n", "[Fermipy](http://fermipy.readthedocs.io/), which is based on the [Fermi Science Tools](https://fermi.gsfc.nasa.gov/ssc/data/analysis/software/) (Fermi ST).\n", "\n", "Using Gammapy with Fermi-LAT data could be an option for you if you want to do an analysis that is not easily possible with Fermipy and the Fermi Science Tools. For example a joint likelihood fit of Fermi-LAT data with data e.g. from H.E.S.S., MAGIC, VERITAS or some other instrument, or analysis of Fermi-LAT data with a complex spatial or spectral model that is not available in Fermipy or the Fermi ST.\n", "\n", "Besides Gammapy, you might want to look at are [Sherpa](http://cxc.harvard.edu/sherpa/) or [3ML](https://threeml.readthedocs.io/). Or just using Python to roll your own analyis using several existing analysis packages. E.g. it it possible to use Fermipy and the Fermi ST to evaluate the likelihood on Fermi-LAT data, and Gammapy to evaluate it e.g. for IACT data, and to do a joint likelihood fit using e.g. [iminuit](http://iminuit.readthedocs.io/) or [emcee](http://dfm.io/emcee).\n", "\n", "To use Fermi-LAT data with Gammapy, you first have to use the Fermi ST to prepare an event list (using ``gtselect`` and ``gtmktime``, exposure cube (using ``gtexpcube2`` and PSF (using ``gtpsf``). You can then use [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst), [gammapy.maps](..\/maps/index.rst) and the [gammapy.irf.EnergyDependentTablePSF](..\/api/gammapy.irf.EnergyDependentTablePSF.rst) to read the Fermi-LAT maps and PSF, i.e. support for these high-level analysis products from the Fermi ST is built in. To do a 3D map analyis, you can use [MapFit](..\/api/gammapy.cube.MapFit.rst) for Fermi-LAT data in the same way that it's use for IACT data. This is illustrated in this notebook. A 1D region-based spectral analysis is also possible, this will be illustrated in a future tutorial. There you have to extract 1D counts, exposure and background vectors and then pass them to [SpectrumFit](..\/api/gammapy.spectrum.SpectrumFit.rst).\n", "\n", "## Setup\n", "\n", "**IMPORTANT**: For this notebook you have to get the prepared ``3fhl`` dataset provided in the [gammapy-fermi-lat-data](https://github.com/gammapy/gammapy-fermi-lat-data) repository. Please follow the instructions [here](https://github.com/gammapy/gammapy-fermi-lat-data#get-the-data) to download the data and setup your environment.\n", "\n", "Note that the ``3fhl`` dataset is high-energy only, ranging from 10 GeV to 2 TeV." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "README.md\r\n", "gll_iem_v06_cutout.fits\r\n", "iso_P8R2_SOURCE_V6_v06.txt\r\n", "make.py\r\n" ] } ], "source": [ "# Check that you have the prepared Fermi-LAT dataset\n", "!ls -1 $GAMMAPY_DATA/fermi_3fhl" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "README.md\r\n", "gll_iem_v06_cutout.fits\r\n", "iso_P8R2_SOURCE_V6_v06.txt\r\n", "make.py\r\n" ] } ], "source": [ "# We will use diffuse models from here\n", "!ls -1 $GAMMAPY_DATA/fermi_3fhl" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from astropy import units as u\n", "from astropy.coordinates import SkyCoord\n", "from astropy.table import Table\n", "from astropy.visualization import simple_norm\n", "from gammapy.data import EventList\n", "from gammapy.irf import EnergyDependentTablePSF\n", "from gammapy.maps import Map, MapAxis, WcsNDMap, WcsGeom\n", "from gammapy.spectrum.models import TableModel, PowerLaw, ConstantModel\n", "from gammapy.image.models import SkyPointSource, SkyDiffuseConstant\n", "from gammapy.cube.models import SkyModel, SkyDiffuseCube\n", "from gammapy.cube import MapEvaluator, MapFit, PSFKernel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Events\n", "\n", "To load up the Fermi-LAT event list, use the [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst) class:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EventList info:\n", "- Number of events: 697317\n", "- Median energy: 1.59e+04 MeV\n", "\n" ] } ], "source": [ "events = EventList.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_events_selected.fits.gz\"\n", ")\n", "print(events)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The event data is stored in a [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html) object. In case of the Fermi-LAT event list this contains all the additional information on positon, zenith angle, earth azimuth angle, event class, event type etc." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['ENERGY',\n", " 'RA',\n", " 'DEC',\n", " 'L',\n", " 'B',\n", " 'THETA',\n", " 'PHI',\n", " 'ZENITH_ANGLE',\n", " 'EARTH_AZIMUTH_ANGLE',\n", " 'TIME',\n", " 'EVENT_ID',\n", " 'RUN_ID',\n", " 'RECON_VERSION',\n", " 'CALIB_VERSION',\n", " 'EVENT_CLASS',\n", " 'EVENT_TYPE',\n", " 'CONVERSION_TYPE',\n", " 'LIVETIME',\n", " 'DIFRSP0',\n", " 'DIFRSP1',\n", " 'DIFRSP2',\n", " 'DIFRSP3',\n", " 'DIFRSP4']" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table.colnames" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ENERGYRADEC
MeVdegdeg
float32float32float32
12856.5139.644-9.93702
14773.3177.04560.5527
23273.5110.21337.002
41866.1334.85317.5774
42463.1316.86748.1525
" ], "text/plain": [ "\n", " ENERGY RA DEC \n", " MeV deg deg \n", "float32 float32 float32 \n", "------- ------- --------\n", "12856.5 139.644 -9.93702\n", "14773.3 177.045 60.5527\n", "23273.5 110.213 37.002\n", "41866.1 334.853 17.5774\n", "42463.1 316.867 48.1525" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events.table[:5][[\"ENERGY\", \"RA\", \"DEC\"]]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2008-08-04 15:49:26.782\n", "2015-07-30 11:00:41.226\n" ] } ], "source": [ "print(events.time[0].iso)\n", "print(events.time[-1].iso)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mean = 28905.451171875 MeV\n", "std = 61051.7421875 MeV\n", "min = 10000.03125 MeV\n", "max = 1998482.75 MeV\n", "n_bad = 0\n", "length = 697317\n" ] } ], "source": [ "energy = events.energy\n", "energy.info(\"stats\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a short analysis example we will count the number of events above a certain minimum energy: " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Events above 10 GeV: 697317\n", "Events above 100 GeV: 23628\n", "Events above 1000 GeV: 544\n" ] } ], "source": [ "for e_min in [10, 100, 1000] * u.GeV:\n", " n = (events.energy > e_min).sum()\n", " print(\"Events above {0:4.0f}: {1:5.0f}\".format(e_min, n))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Counts\n", "\n", "Let us start to prepare things for an 3D map analysis of the Galactic center region with Gammapy. The first thing we do is to define the map geometry. We chose a TAN projection centered on position ``(glon, glat) = (0, 0)`` with pixel size 0.1 deg, and four energy bins." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "gc_pos = SkyCoord(0, 0, unit=\"deg\", frame=\"galactic\")\n", "energy_axis = MapAxis.from_edges(\n", " [10, 30, 100, 300, 2000], name=\"energy\", unit=\"GeV\", interp=\"log\"\n", ")\n", "counts = Map.create(\n", " skydir=gc_pos,\n", " npix=(100, 80),\n", " proj=\"TAN\",\n", " coordsys=\"GAL\",\n", " binsz=0.1,\n", " axes=[energy_axis],\n", ")\n", "# We put this call into the same Jupyter cell as the Map.create\n", "# because otherwise we could accidentally fill the counts\n", "# multiple times when executing the ``fill_by_coord`` multiple times.\n", "counts.fill_by_coord(\n", " {\n", " \"skycoord\": events.radec,\n", " # The coord-based interface doesn't use Quantity,\n", " # so we need to pass energy in the same unit as\n", " # used for the map axis\n", " \"energy\": events.energy,\n", " }\n", ")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : edges \n", "\tedges min : 1.0e+01 GeV\n", "\tedges max : 2.0e+03 GeV\n", "\tinterp : log " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "counts.geom.axes[0]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "counts.sum_over_axes().smooth(2).plot(stretch=\"sqrt\", vmax=30);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exposure\n", "\n", "The Fermi-LAT datatset contains the energy-dependent exposure for the whole sky as a HEALPix map computed with ``gtexpcube2``. This format is supported by ``gammapy.maps`` directly.\n", "\n", "Interpolating the exposure cube from the Fermi ST to get an exposure cube matching the spatial geometry and energy axis defined above with Gammapy is easy. The only point to watch out for is how exactly you want the energy axis and binning handled.\n", "\n", "Below we just use the default behaviour, which is linear interpolation in energy on the original exposure cube. Probably log interpolation would be better, but it doesn't matter much here, because the energy binning is fine. Finally, we just copy the counts map geometry, which contains an energy axis with `node_type=\"edges\"`. This is non-ideal for exposure cubes, but again, acceptable because exposure doesn't vary much from bin to bin, so the exact way interpolation occurs in later use of that exposure cube doesn't matter a lot. Of course you could define any energy axis for your exposure cube that you like." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "HpxGeom\n", "\n", "\taxes : skycoord, energy\n", "\tshape : (49152, 18)\n", "\tndim : 3\n", "\tnside : 64\n", "\tnested : False\n", "\tcoordsys : CEL\n", "\tprojection : HPX\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : '' \n", "\tnbins : 18 \n", "\tnode type : center \n", "\tcenter min : 1.0e+04 \n", "\tcenter max : 2.0e+06 \n", "\tinterp : log \n", "\n" ] } ], "source": [ "exposure_hpx = Map.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_exposure_cube_hpx.fits.gz\"\n", ")\n", "# Unit is not stored in the file, set it manually\n", "exposure_hpx.unit = \"cm2 s\"\n", "print(exposure_hpx.geom)\n", "print(exposure_hpx.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "exposure_hpx.plot();" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (100, 80, 4)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : TAN\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 10.0 x 8.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : center \n", "\tcenter min : 1.7e+01 GeV\n", "\tcenter max : 7.7e+02 GeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "# For exposure, we choose a geometry with node_type='center',\n", "# whereas for counts it was node_type='edge'\n", "axis = MapAxis.from_nodes(\n", " counts.geom.axes[0].center, name=\"energy\", unit=\"GeV\", interp=\"log\"\n", ")\n", "geom = WcsGeom(wcs=counts.geom.wcs, npix=counts.geom.npix, axes=[axis])\n", "\n", "coord = counts.geom.get_coord()\n", "data = exposure_hpx.interp_by_coord(coord)\n", "exposure = WcsNDMap(geom, data, unit=exposure_hpx.unit)\n", "print(exposure.geom)\n", "print(exposure.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEPCAYAAABCyrPIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJztvXm4ZVdd5/353iEDRCSaqJEQIk3bEEJIoGgCqMFQauEQB0BoSHyBIA7gQLrbZvAJnSCtJKKvLSgpEChRXiWQaIwEyAsJQ0MSKvMADcgQaWlC1DQkgUBV/fqPvc+tfU6tddZaezjDvb/P85zn7rOmvfY+59y112+UmeE4juM4K/OegOM4jrMY+ILgOI7jAL4gOI7jODW+IDiO4ziALwiO4zhOjS8IjuM4DuALguM4WwBJb5Z0h6RbMtr+kKTrJO2R9PSJuvdIukvSpcPNdn74guA4zlbgrcCOzLa3A88F3h6oOx84o58pLR6+IDiOs+kxsw8B/9Isk/Rv6if+ayV9WNLD67afN7ObgH2Bcd4PfG0mk54Da/OegOM4zpzYCfyymX1a0uOBPwFOnfOc5oovCI7jbDkkHQY8EbhQ0qj44PnNaDHwBcFxnK3ICnCXmZ0474ksEq5DcBxny2FmXwU+J+kZAKp49JynNXfk0U4dx9nsSPr/gCcDRwBfBl4JfAD4U+AoYB34KzM7V9LjgIuBw4FvAP/bzB5Zj/Nh4OHAYcA/A2ea2XtnezXD4QuC4ziOA7jIyHEcx6nxBSGApLfNew5DsBmvazNeE/h1OfPBRUYBJN1jZvef9zz6ZjNe12a8JvDrWgR27Nhhd955Z1bba6+99r1mlusJvbAsjdmppJ+lUuZsbGuakw8dp+oPitQD64+UXtasjx2v138PTrRdb5StB+pjcx21XY3Uj46bW721xpu1usHKCqzA+msO1cvW1g6sP+igA8uax6GyyePRGCuB85eMlaofm6tY/4cz9LJmeexaUvWra4HCseP60zhofXo97L8Ja6sHljWPQ2VVt3UuPP5l4zezMdbGzTj4wLLmHMfKDg7Ux65l9GFE5r8WGD+j7drayjp7zx6/Lo3GaH7Lm9/o0Ryb3/zVRP3zf5eO3HnnnezefU1WW2n1iK7nWwSWZocgaTkm6jjOQmBmSreKs23bY2337quz2krr15rZti7nWwSWZofQZOgdwkGB+s2wQ5gsax4v7Q6hYAewTDsEVlYPLNsEO4Rg/QA7BOlM+uGAcEabmqVeEFYCZbOsh/1fS2W0nVYf6x8qCz32jNUX/N8Z/ROM/l9aOXDM2P/Ljf+Bkd99aC4lc1VmfZOS+uAFjP3DDPyTXkn8w4+dLHixgbFCi0BzXrEFY6N/YP7R8zePFRg/sOClvjixtmMfxugbHfplNctLfrF94QuC4ziOg+ELwgIz+RzQxxN+bn1Xms87od3AaqTt6kS7yfqNa20+9Wc+nDbbph7u1hNP/RB+gg/tFmJzTe5mBqgfe1DdmEBbMU/iCTs4VuJc0d1KSr6WENOERFJtrnVF4frQbmLsZoe+xTHBaGgfndpB9IEBe3oec7FZqgXBcRxntvgOwXEcx3GR0dYgJVIKlaWOUyKh2GY5pE4LzSFmP7dRHxkge+ffUpFbIrIZSS9CiuTYXGJtS8ui9cmbERCJRMU8obaxi02IbIIK7MDNjFr2jKwFIiKdrtdaomDfMN/qKuQtqe+LfhYESYcAH6IySFwD3mlmr5xocxbwAio51VeA55vZF+q61wA/UTd9lZn9dS8Tm2CIO+g4jrNJ2Jf5SnIfcKqZPRo4Edgh6eSJNtcD28zsBOCdwHkAkn4CeEzd7/HAf5b0gG7XFcYXBMdxnCAjpXLOKzFSxd312/X6ZRNtrjCze+u3VwFH18fHAR80sz1mdg9wIzBImIylEhlNbgzbbjCnlZX0j7UN2UrEXG5yrYhC54S0yCQkGUhZ/jSP1xN+Cm38CNYTfgwlVkhN2tyLdpY1GfKzkJVQys8gKBKKOI618hMo8UPIrA+dc/I46W2zHigL/SKaLp0h98zmL6cP+tUhSFoFrgUeBrzezKa5QZ8JXFYf3wi8UtIfAPcDfhi4rbeJNViqBcFxHGe2ZC8IR0ja3Xi/08x2NhuY2V7gREkPBC6WdLyZ3TI5kKTTgW3AKXW/99VJez5KpVv4GAPZw26ZBaGNiiqGAsepsWJ+BqMPIOWpnNo1hJ6km8dtnUhzfQNK2qbm0lXpnKoP+h5AQ9GbsK1PKWLHJlOglA3tJpJK5cgTekopnfIjCJ4/oTRvzj/oiRwLPbESqA/5HMR+ZSnTjC5kLwh35sYyMrO7JF1JJfYZWxAkbQdeAZxiZvc1+rwaeHXd5u3Ap3MnVsIQd9BxHGcTMBIZdVcqSzqy3hkg6VBgO/DJiTYnARcAp5nZHY3yVUnfWR+fAJwAvK/jxQXZMjsEx3GccnrTIRwF7Kr1CCvAO8zsUknnArvN7BLgfKpczRdKArjdzE6jUp58uC77KnC6mbnIaFLUkxLTpBTBJWUxpe+IVHC7VP+YOiwVvzfXT6BEDJMSA/Up0gkdl4i/UmE6gmOlxDAxRe20SeVMNhlcLhDILhVNNHn+jmE4ovUBkVKvoSnWA/Ulgtk+6C90hZndBJwUKD+7cbw90vcbVJZGg7NUC4LjOM5scU9lx3Ecx0NXLDYpUdC0drliopLxIS0+CvUJ2Uekzh8zjAnRRgzTVaQUaxuKkhqbfyz8Ri7ZbgJR3wAF6gssc8Ymk2nlk7Ljb2sFNG3MZtukn0JB6IvotzzXz6BECJwKENMXviA4juM4vkNwHMdx9uMLwtJQIhJKtW0zfrO8rZVQavzQZnqsPiEmCVkhjZ23J5EShA1jUkY8oXnlGPG0metGecyZamOCfSTIaSFyKYkp0sYKqLOVUeC+BB3QIPzrCVkWNY9j7pcpIXDqV9IWT5DjOI7jbOA7hIVl8jmhZAdQ8rwR6p8KLdEkZQ3d/IrlKqXH6lO6veb4LXYQJUrpULSCkofO5rWE5hoitVuJzTW8xUiEYwi1TSmSs8ZKPcEPoPRtk9sh9mFv5DiI+RaEAtGFnuqbx6lfZIm3Tx+4DsFxHMfZwBcEx3EcB/AFYUlpIxIqqS85f5+kxu2qe2wjUoopjdtEM10NjJtSJLeN7BoUk6RorVTO9AlIafu7Kn27KpVjfhLJoCwppXGobckvMtW/D1yp7DiO4wCuQ3Acx3Ea+IKwsEyzMprWLqe+ZINaYnHUFyHRTLM8ZrkzK5ESpP0QRm37TOaTEm8Fk+EUOTckwlTErHSCYyVEVTkhMaaOH7pZLUNfhJIBBX0OUmktm21jIqWQFVLoXKlfbK7XTwm+IDiO4zguMlpspu0QUk/4JfXT+uSQattmVxGzvQ+VzWMHUdI2paCO9U/tQIJ+DEVbkExlc44iuavSODSnrkrrrvVBn4PUUz2Eg9uFvJZj/UflJZ7MfeELguM4juNWRo7jOM5+fIewsPQlMprWJ9a2SUjBHOuTa/Ee25gH5x3Y2Q+dIjNVH2sbEu+k0g2sNiMkBMYqknIEFakJ5WPyBAlFcqw8JR4KtW07lzahL0I+B+Na+cbxaKy1QBmEU2DGgtulQlek6kNK6z5wHYLjOI6zgS8IjuM4ju8QFpu+REa5tgh9WjXHxgptckMSj5Tt/tApMkskIzGSVkhrB54/lK4gVNYcK+h7EJtsiRgnRSs/hZSfw0BWTLnyu9Y5CkIWRSnBaEjMFDvXLEJXgC8IjuM4Dm5ltOD0vUPouoNoS2j82A6iTY6B0ENjNEfAxHli9akdRPM45L0cm2tIgZx6aE1mb8tV2MbKu+YYiLUNnitWH9g7BhXkqQ8upXSO1Cv1VD+qV6Q+9IuK5U4IKY1DCuhYjICQn0Nf+A7BcRzHcR2C4ziOsx9fEBaWvkRGi0RKdddXCsxU/dic2ohpGsfrEZHPSBTU1c8gJbIao0SkkuqTK6bJGneIfAkFCupk8omQh00q3EQsuF3IZyGkQI6Jpybbxfr3/e9s6+0QFvX/pOM4zgKwJ/M1HUmHSLpG0o2SbpV0TqDNWZJuk3STpPdLekij7ry63yck/XdJQ4R29QXBcRwnzGiHkPNKch9wqpk9GjgR2CHp5Ik21wPbzOwE4J3AeQCSngg8CTgBOB54HHBKlyuLsWVERtPG6YOY/UNIJJRa2ktEPqsJyYAS9W3EMLH6NiKfkminoWsJEgvXEKpPlQc/jMgn2Mb8qyS0RMmHkRQpBcRfComEYr4BoXwIKYukWNuQxVJorLa/+C70IzIyMwPurt+u1y+baHNF4+1VwOmjKuAQ4CCqm7QOfLmXiU3gOwTHcZwgve4QkLQq6QbgDuByM7t6SvMzgcsAzOxjwBXAl+rXe83sEy0uKMmm3CFM65tTH3qqj9E1nFboWlJP9aHy1A4i1j+klA6Nn7ODCM0l5WncZjfUegcRDPgWeIJOPbWPjdlxN1L0hN9iLiU3O/iEHvuVjZ72Y4rkVNvQDiD2a8qVCcw1Y9oRknY33u80s53NBma2FzhR0gOBiyUdb2a3TA4k6XRgG7VYSNLDgEcAR9dNLpf0Q2b2obJrSTPTBUHSg4E/B76H6k7vNLM/kvS9wF8AXwOeY2Z3TxnGcRxnRmQvCHea2bachmZ2l6QrgR3A2IIgaTvwCuAUM7uvLv5Z4KrR/0VJlwEnA70vCLMWGe0B/qOZPYLqgl4k6Tjg14FfA97EfrmZ4zjOHBmFrujFyujIemeApEOB7cAnJ9qcBFwAnGZmdzSqbgdOkbQmaZ1q57D8IiMzG8nAMLOvSfoE8CCqveJIGBfd9/WtVC6hRDwV6hdTt+UqmGOikVbm6gW6yVR9aC5NKUUojEWJlKTkWpOTzVYaJ06Q5YeQUuqO6kvyGYTmmlBwp0JrBBXJEA4HkUqhGcuHsJaozxXopn7xfdOrH8JRwC5Jq1QTfoeZXSrpXGC3mV0CnA8cBlxYW5XebmanUVkcnQrcXE/qPWb2d31NrMncdAiSjgVOAq4GPgW8Dfg/wLPnNSfHcZxxerMyuonq/91k+dmN4+2RvnuBX+plIgnmsiBIOgx4F/CbZvZV4KvAD81jLo7jOHG2lqfyzBeEWgb2LuAvzeyiRNt7ptWXbCBTZalNZ59+BiHGNt4JiURJCszQOG38GHL6b1gkNb5V6wEro5SURQXzGxsrWz5WYq2TEONkTWxKfVIkFBMpBfqHUmCm6pPf7JhIKPTND4mJmm1i9SFyf8Xx+ub/DzO7f6JzgK0XumLWVkYC/gz4hJn9Qap980OUZNPaOo7jNGm3CEywzxeEIXkScAZwc+2gAfByM3t3TueUsrgvQmG9YjuAXKVxbDey4YNZoGhNPXymdhihfrF2Kdv/1LxSnshNRjuDlM9DdDe0sQVpPlUnsoylFL0p2mZEKzlH8Ly5SudI/caNCymSm+WxHAZrU8omx0r5IaRI7RYGCesDZrDHE+QMhpl9hME+PcdxnB4xYK/vEBzHcRzMRUZbgdzNakrMA/nbnZTqLpVvICcfQYiuSudc34DmcUgRHCOkQC4RSRVFx8utb9JGflfSNim+ajE/gLVR8LqYSCsVMC4UTiIkpkmlzYQqJttkWQmhfqFf3gDCZPMFwXEcxzHfITiO4zhQR65wpfLC0veGMDbeaBMcE/OkxoqJl6aRsqxJ1cfEOCXnGlEyVgmjh62URVRKoqO1WINEistkfaYVUow2Pgud51rgpzAmKxwdx0JIhKyQSupDoqSuX6aYgDZkEdUHvkNwHMdxwK2MHMdxnBG+Q1gK2lgJlbQtEQ+lxEuhzWyJKCqVwGZjHgVSkBAl4SxK0m02f09dxU/7fakSE1hLiVE6usKkxDSTx9P6paKRFlkhBVJkrsWcwXJFPiUio9g3O/RPNfnNT9Q3+4cis/bEFlsQsu6gpIfUiRuQdKikbxt2Wo7jOHPGqMxOc16bhOQOQdIvAi8EvgP4N1Rp3N4APGXYqc2W0PNIzlN9m2eSMXVbR3PzNk/dbfwYZkl0fsGbFXrqLqnvqnSOPKFP658z1xBjfgbreeOPKZKb8wvtAFJBWVL9Y1+WfYH65j/RUXnJriB03LfAY+uFrsj5ub+IKgbRVwHM7NPAdw05KcdxnLkz8kPIeW0ScpbU+8zsm3UGHyStUW2mHMdxNjeb6J99DjkLwgclvRw4VNKPAL8KDJK+rZS2SuNU/9BmOWXhXBINtU9S+QqCkgMOrB9KdNRmLk3GTeczRTZt5WtJRW9CpBQcqyBFZrB/W/FVSmmc+4voKiBtEhIT5RBqO4SfwwTGllsQcu7gS4GvUOXz/CXg3cBvDzkpx3Gc+WOVH0LOa5OQ3CGY2T7gjfXLcRxna2AGe7eWUjm6IEi6mSm6AjM7YZAZzYDUBjRl69BngpySFJV90VU81Kd4Kekz0SZcQ/QECZFSV9qIdFLXUuJTERyrJEUmPda3FQ9NIxVmY4BUK1tMZDRth/CT9d8X1X/fVv99DnDvYDNyHMdZBDza6X7M7AsAkp5kZk9qVL1U0v8Azh16ciW0eQYpUbENpRRuQ1GMtfo4tdMoUfSW1IfalgTqa+e9GzEB6OynkHn+5rg5bbPPVTDXYIrM0H0J+RbEmOWvILWbKdntdGCLLQg5d/D+kn5g9EbSE4Huyasdx3EWHfdDOIAzgTdL+vb6/V3A84ebkuM4zgJgtqksiHLIsTK6Fni0pAcAMrP/M/y0upEr/ompoNr4HLQVL4XSRrahDz+BrqRSc4bKwlKOmMimY2iJrmTb/hfMJVa/lrrW+pu3th6u7ywEbVPf/OfZZ26CVJiMUDrPHrCtF7oiJ5bR2RPvATCzhdIhOI7j9M4mClyXQ87j0z2N117gqcCxA87JcRxnMehJhyDpEEnXSLpR0q2Szgm0OUvSbZJukvR+SQ+py39Y0g2N1zck/cwAV5slMnrtxKR/H7hkiMmkKLUlSFlQp8pK8hbEaJWOM1P0AuncBSk/hyGIjZ8rUmodeiLYJ5VDINC2JAJpzhyC9S1SZDZzGyRFUiFhZnAikePJcWK0FROl5roAVkb9mp3eB5xqZndLWgc+IukyM7uq0eZ6YJuZ3SvpV4DzgGea2RXAiQCSvgP4DPC+vibWpM0dvB/w0L4n4jiOs3D0tEOwirvrt+v1yybaXGFmIx+vq6hSDUzydOCyRrteydEhND2WV4EjgVcNMZlSuqrQYs8zJc9Ufaf1PuBcLRS1Q6DYg2iCormmbO83yhK2/23J9kMoOH+fGdFCc20SdCYJBYGbPA6eIFEfynHQltATfip4XSo3Qw/07JgmaRW4FngY8Hozu3pK8zOBywLlzwL+oLdJTZBjdvqTjeM9wJfNbGup3h3H2XoY8K3sf3VHSNrdeL/TzHaODWe2FzhR0gOBiyUdb2a3TA4k6XRgG3DKRPlRwKOA9+ZfRBk5C8LvmNkZzQJJb5sscxzH2VwU7RDuNLNtWaOa3SXpSmAHMLYg1KmKXwGcYmb3TXT9eeBiM/tW7qRKyVkQHtl8UyfIeeww0+mHNpvhVArNFKkQYqG0mSWUSA6ahPwcUqEt2oqEUj4VnQP1tQotkVDUtrnY1n4IXdN5BgLZRX0Pcq8rJlIagtT4KfFWn4lsM+nJ7FTSkcC36sXgUGA78JqJNicBFwA7zOyOwDD/AXhZLxOKMC3a6cuAUWKcr46KgW8CO2P9HMdxNgX96hCOAnbVeoQV4B1mdqmkc4HdZnYJcD5wGHBh7e91u5mdBiDpWODBwAf7mlCIacHtfhf4XUm/a2aDrkqO4zgLSU8LgpndBJwUKD+7cbx9Sv/PAw/qZTJTmLZDeLiZfZJqtXrMZL2ZXTfozAKUbgxLrJBS9OGTECJlTBKcS4GUpCu5EUpT/ZvHwXAVsQZ90iZaajLcREGKzCKLpRbisfFJTvydPB4gd0CvlNgIDuiH4KErNjgLeCHw2kCdAacOMiPHcZxFwYPbVZjZC+vDp5rZN5p1kg4ZdFYJUs8+qeeE1LNRyXNGSGnclVhugi6kAsr1ES8uuQNoQ4knceqpu9U5I7uJZNvEbiM7+F3iWsZucMk3O/dX1Czr9VteMJc2nsw9sAUT5OTcwY9mljmO42wuPB9ChaTvoVJiHFqbQ42W6QdQha9wHMfZ3GyxaKfTdAg/BjyXKp5G01X6a1TmqEtFiQV0qE8fPglt6Evp3OaczbFyAtYNrRPOpsi2v4WGPOcCuwbSC4qPUv4ToW9saq5t7fnn8SGnfCYGyIewZE//ku4PfN3M9kn6fuDhVLGPspzZpukQdlHZzT7NzN7Vz3Qdx3GWhOW0MvoQ8IOSDgfeD+wGngk8J6dzTvjrd0n6CSqP5UMa5ee2mq7jOM6ysGQ7BKqslvdKOhP4YzM7T9L1uZ1zop2+gUpn8MPAm6jCr17TdrZ90MY+ooSUrUYbkdCYzUTH3XYqB0JyLo22qdAWqXOF/BNK6nu1zOlsUZQQKSX7J745XcNkhBsW1IcihMboK59CTttUiszUL34tUNYDxlIuCJKeQLUjOLMuywlRBOTdwSea2S8A/2pm5wBPoHKhdhzH2cRY5YeQ81ocfoMq3tHFZnarpIcCV+R2zlk5vl7/vVfS9wL/DHxf8TR7oG81Vtdnr1jborxRAytic8fvGi8u5xyD0NU7uNU5Mz7hYPC5Zn2mH0KoT7Rt6mm95Kk7OIFEfZ9zKcl3kLubKWQJdwhm9iEqPcLo/WeBX8/tn7MgXFrH7z4fuI7qNr2xcJ6O4zhLhrnZ6SRmNsqO9i5Jl1Iplh8+6Kwcx3HmjbGMVkadyFY2ANQJG+6TdCFwzDBTijO5sWyrgkr5HEw7d6x/jDbCiZLcBKH6VN6BlO9ASOkdq09FUwhJOYIB7WKTSQWfC5EMbVEiHysIg9GnzCwk/mqycRNj37CUaUWfyupc2oTWaB6HFMnN8r4T2i6fH0JX2n6DWwthJe2Q9D8lfUbSS+uyR0r6mKRd0hCRfBzHcVqwRKErJP2YpDPr3AnN8ufnjtH2n6+16VQnh3g98FTgOOA/SDqOKrLqaVROFD/ack6O4zj9YctjZSTpv1Gl3nwU8H5Jv9aofnHuONNiGf0d4X/8Ar4z9wQT/HvgM7XmG0l/Bfw01V7PgH3MMFB77ERDiITGRE4dzeVL6lNWRm18B9rmRujMEH4IXel6zpJ0ntnhKpqkfA+63rOUyCp2jpIwFCkrpJR4rAML8vSfwU8BJ5nZHkn/FXi7pIea2Uso+J86TYfw+y3rpvEg4B8b778IPB74I+DvgU8Db2g5tuM4Tn+Ywd6lUSqvmdkegDpv808BO2t970HZg8QqzGyI3J2hlcrM7HqqhcFxHGdxWJ4dwj9IOmX0f9vM9gJnSvod4Gm5gxRZGfXAFxn3cj4a+KdYY0lvA35u9L6LlVEq3ESorCRERYl7z1i/TMexUJ9Yv1RZMpxEYn6d59o2GmnwBCErpNj4iQijubQVE7VJ3BOdX66zV0l96Hmt5P6k2qauucRiKiQqGx9f0j2NtxeZ2RmJCYxjYPtaqUvnwTNChWb225L+NHeQWS8IHwf+raTvA/4X8Czg2bHG9Qd4BoCkpflkHMeZP2Z2/65jLMsGwcxGESWQdAJwLOP/3y/KGWemC0Kt8Hgx8F6qZf3NZnbrLOcAaavlPi2w21hGt3kAjRnrpnYLufU544+O2yjNxweNJZ5PhIOYbJfTdqzfAErr1ruJzK1f5xCPJX4KbT/YNnMo2me36JPGDPbt7XXIwZH0ZuAE4FYqIx2oDHb6WRAkXQ48w8zuqt8fDvyVmf1Ymwmb2buBd7fp6ziOM0uWR2K0wclmdlzbzjk7hCNGiwGAmf2rpO9qe0LHcZxlwAz2ZOUZWyg+Juk4M7utTeecBWGfpGPM7HYASQ+hpWPakKQ2y7nR35vkiHtyRUJ9KGXb9AmJfNrUl8wp1n/jHG1FMl1FOkP7KcxUvJSbtSNm75/r09BWJNWn4HVEn8lp81gWHUKDXVSLwv8G7qO6aWZmJ+R0zlkQXgF8RNLIDPWHgBe2manjOM6yYLaUIqM3Uxni3Mx+HUI2OdFO3yPpMcDJVKvNS8zsztITOY7jLBtLuEO43cwuadt5WuiKh5vZJ+vFAPb7CxxTi5Cua3vSvmi7aUyl08i10I7Vt/FDSNFn2s1UhNSSCKqpKKnJTiXRSDfKYlZIof6BT26IqKTF/RIOIJPtWlNi+19i7RO67tmIceLn7dnKiP4WBEmHUCWuOZjq/+47zeyVE23OAl4A7AG+AjzfzL5Q1x1DlcL4wfXUftzMPh841SclvR34OyqRUXUtZp2tjM6iEg29NlBnwKk5J3Acx1lK+jU7vQ841czulrROJYa/zMyuarS5HthmZvdK+hXgPOCZdd2fA682s8slHUZcHHRofa5mkNDuZqdmNtITPNXMvtGsq1e7hWcoFVQbC+k+6fUBN/Gg2qdSOdvrOLWDiJ5sRl7HOX26unj3RvP/RiiHQGqfnFJEt1VaTztnTnnfuQ8OxAz29LQgmJkBd9dv1+uXTbRp5j6+CjgdoI4IvWZml9ft7iaCmT2vyzxzvqEfzSxzHMfZVOzbm/fKQdKqpBuAO4DLzezqKc3PBC6rj78fuEvSRZKul3R+nUogdI5ddcrj0fvDa2e1LKbpEL6HKjrpoZJOYv8D9wOA++WewHEcZxmxsoRpR0ja3Xi/08x2jo9ne4ET63/YF0s63sxumRxI0unANuCUumgN+EHgJOB24K+B5wJ/FpjHCQG/sZNyL2KaDuHH6pMeTaVHGC0IXwVennuCIShx4M+lbaT43HOlFK595olL6lkTiuBQfY5IKRmyoo0YJXUxqT7B87cUN4T6lYis2radGakcBW1zEMwqxUn/5ykwO73TzLblNKzDU18J7ADGFgRJ26lM/U+pUxZDFRT0+kYemb+hsvoMLQgrkg43s3+t234HBSGKpukQdgG7JD3NzN6VO6DjOM5moGcroyOBb9WLwaHAduA1E21OAi4AdpjZHY2qjwOHSzrSzL5CZdDT3I00eS3wUUnvrC/h54FX584zZ3l/bEAm9Tu5J3Acx1lK6tAVOa8MjgKukHQT1T/4y83sUknnSjqtbnM+cBhwoaRTJ9lpAAAZXElEQVQbJF0CG6Km/0SVGvNmqq3QG4NTNvtzqvwHX6YyXf05M3tb7iXnbCWeamYbIqJaJvXjwG/nnqQvJlevtpvqcPT0vD459amN6xDSgK4RRttEQI21KfJNKBEJBa2QOk68a3KJGBvXkvg2tP4y5MoyUn4EMWHrMLb9YXItkkqskLpj9OepbGY3UekAJsvPbhxvn9L/cqoopjnnug0YLJbRqqSDR/KsertzcJuTOY7jLA1lSuVNQc6C8BdUW5W3UC2az6cKoDQ3cpXKKRVZW0pUV23O22fwu5BSOKQIjo0T2nmUKKXDO4CUQrXA9yDYP5GZLLXFWYucf4gdyFjboZWvbfwIYt48bc0wptE2O9wwGMuXD6ErObGMzqvlVk+h+na8yszeO/jMHMdx5onvEMKY2WXsd5JwHMfZEixhtNNO5GRMOxn4Y+ARwEFU+7p7zOwBA88tytDqrlTwuzZz6ZxWsoCuSuuS/qmgeEXB59r4F5Sky0z5EYTKgsH3IqKdrmEqmv99Ro+mRY+oKaVw7Hha2VAkrQ166tMeM9izp9chF56cHcLrgGcBF1J5z/0C8LAhJ+U4jjNvljGncldyRUafkbRa28O+RZLHMnIcZ9PjIqMDuVfSQcANks4DvgTcf9hpzZ4+N6MlgRH68klIWQmlTPf7DMvfOQxHn6koSyx/RtZFJTcrJrIawmKoKT5aPeBggpS3zag8FAF11pRkGwkx3Ly3mlI5506eQfXtejFwD1WChqcNOSnHcZx5MxIZ9RXtdBnIMTv9Qn34deCcYaeTR1+Lduy5o0+v5KFp41yrggfwXr2qVzKfwJPjxPoHPJlD/VJK7dRTf585DpqPoEVj5WYsi/kOpHYQIdOKkM9C271zrjdRSf9+MfrLh7AsTAt/fTNT/OPNLMuN2nEcZylxP4QxfnJms3Acx1lAfEGoaYiKFpaSz6pNOs0+QlSkpACjL9xqoCx6rhbRGJqkfCJSSuGSc3WmxE8h2D/kR1AwTir0RpvgeDGaH/y++rrHBNShn2tKaRwrW5vSrm+6mmyk6kffkX7Tam5Fs9Pkt0HSyZI+LuluSd+UtFfSV2cxOcdxnHmyz/JemwV3THMcxwnQZ4KcZcEd02pKNq29Gt5kDhYT8ySjjWaeZy4ZGycJWSFNazfZNpWiM9cnoU1az2lt2hB67FxJfQtLUlzm9k9FQ43NKWWR1MbKaKhfYQTLTn6zaXDHNMdxnAC2ycRBOeQsCGdQLccvBl7CAjimhXZxfe7sunolJ3cbHR9uuiqVQwSdYPug69Yk+YRf4kewEu/T7Nc6+N4AXimp3BHJp+bmnMZMF6b0aUtqt9AsC82rZDfTpV0+LjKaoGFt9A0WxDHNcRxnaLaiDiG6pEr6aUkvary/WtJn69fTZzM9x3GcOeGhK8b4LSrrohEHA4+j0h+8BXjngPMK0vdinQpB0WeIiq6m7zFCyuaUH8Hexo3MsiqYYG5PTX0pfYuC16VESgMpN0OB9hQSyXRV5KaI9Q+NH/P2Sc0lNVZIpDQbBbPrEPZzkJn9Y+P9R8zsn4F/luRKZcdxNjXmVkZjHN58Y2Yvbrw9cpjpOI7jLAbmsYzGuFrSL5rZG5uFkn4JuGbYaQ3LEI70MZFSbhiIWCrKlBRjWtm08mnY0D+ClDVO59ASsZsRilZakoKzq3lYIoxG8lpS0UpTYpgScm3N2vohxMaYVhYjZaXUHhcZ7eclwN9IejZwXV32WCpdws8MPTHHcZx5shWtjKYFt7sDeKKkU4FH1sV/b2YfmMnMHMdx5omLjA6kXgAWfhFos+nsWt+WEsMXpaQggfKm+GmIL3RSctJWftUmQc5YeYsUmMFxEs5oOfNsE1l1rSFmWVuv/q7GUlyOylOWPUNR8usZHcec5HLFWzErpGHYikrlob81juM4S0tf0U4lHSLpGkk3SrpV0gFOvpLOknSbpJskvV/SQxp1eyXdUL8u6fcq99PGDH0pKUmLWULuziT2oBjaATSPVxP1qfFTpHYQg2+Zh1DkNie9lvhkkxr8gm9Gq3wNid3M2LdpvdkxUF/yBJ39zU3Ul2QaKdnBtNnt9Pt8a/TqdHYfcKqZ3S1pHfiIpMvM7KpGm+uBbWZ2r6RfAc4DnlnXfd3MTuxtNhF8h+A4jhOi1iHkvJJDVdxdv12vXzbR5gozu7d+exVwdI9Xk4UvCI7jOBH6WhAAJK1KugG4A7jczK6e0vxM4LLG+0Mk7ZZ0laTBrDyXSmS0L/J38jhFG3VUSZiLsfIexTsb50+Ij0IMFs00RZ/yrTY0BbxrI5FQj3cg6VORiLwaUiRDQ5mcykcQEiOVEJt/rkgn5XtQMlbbpLXDfJ+MIj+EIyTtbrzfaWY7x8ar8smcKOmBwMWSjjezWyYHknQ6VTKyUxrFx5jZP0l6KPABSTeb2T8UXE4WM/tlSnpOrSy5SdJHJT26UfcsSddJ+s1ZzcdxHGcaIyujnBdwp5lta7x2xse1u4ArgR2TdZK2A68ATjOz+xp9/qn++9m670k9XuoGsxQZfQ44xcxOAF4FNG/Ys6gC550s6bAZzslxHCdMjzoESUfWOwMkHQpsBz450eYk4AKqxeCORvnhkg6uj48AngTc1tdlNpmZyMjMmmk3JxUmo72iMQsD45rYath247pRViAlSVkRtTFnb0Nba6K5pN4cm2xH8U8sGU6qbcm40+qj5mO5VkR9fgCpdE9dzx8TKeUy+y9bj6ErjgJ2SVqlupB3mNmlks4FdpvZJcD5wGHAhZIAbjez04BHABdI2lf3/T0zW+4FYYJJhclFwG7gL8zsa/OZkuM4zn7M+jM7NbObCIh5zOzsxvH2SN+PAo/qZybTmfmCIOmHqRaEHxiVmdkuYFeg7T3N930plXNpazU9Vl7gldyGUP+u+Q5S43dmKOeGjV9vx6tu6xtR8mFv5DuIBdcbPYGXJLnvk1w/hVh9V6/irruJ8f8fZtYqZL+HruiROuPaL9Zvfxw4AngT8NQ6t8JUmh+ipC0Wd9BxnC60XQQ2+uMLQq+Y2euB1wNIOoZKNHSGmX1qyPM6juP0wZ55T2DGzFJkdDbwncCf1AqTPWa2bYgTtVnU26rGQpvhUA6EaCbERH1I9zh08LqZMvfYGQlaJ6IIKGiDfgiNn2AyRWbM5n9IosLQGZ5rPhjDiKIXmVlaGb0AeMGszuc4jtMVXxAcx3Ec3yEsC0N/SKPNeFt/hFg6zEVhqBSZna+1q/goKKYp8C3IzscQGTMlUmqGqQjlbkhaEZVEFu2L5j0PnXOmgVAiDHcvfEFwHMdxMFypvNBMrtax1XtodVeJai+Z973FZPv0M8idR+un/zZK4T49kUMkL7aHHAgpT+TRsWI7gFDi+AXcbvbC4l6X7xAcx3Ec1yE4juM4+/EFYQsQUhp33bT2GY6iDXPLd1DCaJL7Cm5QiaI5Fbqia4rLZNtAGIqmAjoapmKjMHI8D0b3dZahMdoy3Fx9QXAcx3FcZOQ4juNUuJXRgtNltZ7lBjwl5Qil1SwZs0QkNETkh1DojdaUiHxCfdoIyEpyIHQlaV6WEhOlbnbKT6CEZqzn3LHa9FkefIfgOI7jAL4gLAWpDylV39mhtnE8ej6KPYmHykv8COYR263XHUAbhvZDGNuVNHcLiX5dM6YF+7dNct8Xs4wqP+8vVhmuQ3Acx3E28AXBcRzH8R3CMlPywY3aDmWvHxIJxZTCIZFQSfC5NiKloURCo7kM5geRe7FjIiELl3chFY4i1rZJ8EMoMhcYnaCgT5/M+/yzwa2MHMdxHN8hOI7jOPvxBWGByY12GqoPWQatRepzzj2tPiUScnqkjUhoFh9KyL8hGa5ilrQR+bS1/ppH7obu+A7BcRzH2cAXhE1A6ENs+lOmLjrTXxYIW3GnlMKh+nntJAbLg9AX+wJ3eF/BpzmmYE7d+I7q8KBSuU8V+8D+GUtFaP/f75fVQ1c4juM4G/gOwXEcx9mSOoR5CwRasY+wgnmyfG/jNW2cyVeK0Lip/vv27X+FylM0+1vjlWJlZQ5in9jFzvK8szr/yur+11h56savkPfzK/lmDj3WCvnzLmmbS5/3ovyM014pJB0i6RpJN0q6VdI5gTZnSbpN0k2S3i/pIRP1D5D0vyS9rut1xVjKBcFxHGdoRjuEPhYE4D7gVDN7NHAisEPSyRNtrge2mdkJwDuB8ybqXwV8sMWlZOMLguM4ToS+FgSruLt+u16/bKLNFWZ2b/32KuDoUZ2kxwLfDbyv9cVksNQ6hKh4JlBmgfqQbwI0wk1ExlyNlAfn0sKiKGUYMwS9ipWGklENbSUUIpQ7oe31FfXLtZyJfUtXAmV93p/R+KuBsr5J3Yu9ifp29G1lJGkVuBZ4GPB6M7t6SvMzgcvqfivAa4EzgKf0OKUDWOoFwXEcZ0gKnseOkLS78X6nme1sNjCzvcCJkh4IXCzpeDO7ZXIgSacD24BT6qJfBd5tZv8oDZvQyRcEx3GcAIVWRnea2bascc3uknQlsAMYWxAkbQdeAZxiZvfVxU8AflDSrwKHAQdJutvMXpo/vTw2zYKQKybqg1RKka5iohQhkVKzLGR9NHcHsz5JZSNqOq6lbmxJhNISWsn6StJRDiMmWRxC9yIkEhuWvv5vSDoS+Fa9GBwKbAdeM9HmJOACYIeZ3TEqN7PnNNo8l0rx3PtiAJtoQXAcx+mbHh8kjwJ21XqEFeAdZnappHOB3WZ2CXA+1Q7gwlo0dLuZndbfFNIs5YKQVORm1jefQdYTfVLBEkpCY4z12ze9z97ADqCE0A4ipVpcnVu8tcBkx44D8tMSpXJqB7GS+haE5pT45GPnWh0dN68pdOOHfioeViZdRuxaQ0rlZlsFyrrTp1LZzG4CTgqUn9043p4xzluBt/Y0rQNYygXBcRxnaLaip7IvCI7jOBF8QVhgJj+cmAV2yM8g9cGm/BTaWnCHREIh8U1MShI6b7N+74y+sTl61la62DGRTeYAMZHNvrVAfUttfbC+/pbEpjl23kCjsWutjxUTg7TxQyihawrPPhldQ8zDZzVQFpp/LEhNe3xBcBzHcVxk5DiO4+zHF4QlIFckFPswRxvLTJuSrLkMtdke+RRsqlScY6KTwJ0bEwOtHHjc2uTKDuyfcupoI9IaO2efcUhCljVDpbJcJP+GkM/F8D4JniDHcRzH2WAzPYflsFQLwuTOoCS4XcjnoK0nc4kfREhp3CQ3nWZRJsgETT+DhfJgHl1EyaRKnvBD9WNj1d+IPd/aX9acy0Z/HVgWPVfEzn9Uvxp66ofwU/E8PqyhA9Y1z5GMAZAo73ef7joEx3EcZwNfEBzHcRzfISw600RFJUrl3I1p23AUKUpEQn0pk7uKhkpCX8QH2XvgZPY1Po1g5IbQzehRNJAS84TER/sCYiQIK8PH2gbqVxr9gz4JMdOJ3HuwSDLBFCVhNJYruN2ysFQLguM4zqxwKyPHcRxnA98hLBElVkYhMVFJaIsUMTFUyo9gVN4MQREKc9E2RMXcrYhCdvwp2/6kn0IqxERMjBOyQkqJeVJWTBkWR7n1ToLYl3k4P4St9ikt9YLgOI4zJL4gLAErE39jlOwgmoyeGcee1CPHobYpQg+Kq5H6FCE/hti5contVlLsN62P7AA2/AwiCtE2fgih/jGF68YTvh1YNlYf2QGMFMxj1xTZTQTLErud1UTbMVJ73mllkP8rWgRC96I57zZe23n4guA4juO4UnnRedRjHgPs9zRuxiJqXkio/qBA/cGR/qPjUJ/YeWP1I6/gtcbDy2rgeK3Rqdl2ff3A+oMPOrD+oIPD9aN+oT7N+uY5mw/wo/rmnJuJxdR8KBvdjGbZWMf6ZqyuRep1YFmo7WrgBjXbrjf6NI836ten14c+INh/k9YOOrAMxl3AR23Grq9xLoVuVuhb2CxbDRyvR+pH5c0n6dA3OuYJHZpf0yx0daJdbH6xtqGxUueKzXV03G/2t62oQ5BZyip/MZC0HBN1HGchMLNOK4QkyxWo7YNrzWxbl/MtAkuzQ+j64ZYg6R4zu/+szjcrNuN1bcZrAr+uBeG9++CIzLZ3DjqTGbE0C4LjOM4sMbMd857DrFkGEwPHcRxnBviCEOaieU9gIDbjdW3GawK/LmcO+IJQI2lV0vWSLjWzMyQ9UtLHJO2StHT3SdKDJV0h6ROSbpX0G/V1fa+kD0j6W0mHzXuepUjaIel/SvqMpJcu02cl6RBJ10i6sf5MzqnL3yrpc5JuqF8n1tf17ZL+rtH+eY2xXiLpOknPnN8VlV0TQH1dT67LbpX0wcZYz6qv6TfndT1bHjPzV2VpdRbwduDS+v2fAUcCvwbsmPf8WlzPUcBj6uNvAz4FHAf8HvBI4KeAX573PAuvaRX4B+ChVDaUN9bXtBSfFZVd5GH18TpwNXAy8Fbg6YH2LwdeUx8fCfxLfd2H1d/VNeBvl+yaHgjcBhxTv/+uRt3f1J/xX43G9NdsXwv7NDVLJB0N/ATwpkbxKvtNkWdm4dQXZvYlM7uuPv4a8AngQVTXtY/lvK5/D3zGzD5rZt+k+sfx0yzJZ2UVd9dv1+vXNHNqA75NkqgWgX+h8pVSo36utLimZwMXmdntdf87GnXN61rYz3Ez4wtCxf8L/Bbjfih/BPw98ATgffOYVF9IOhY4ierp7XXABcAvA38xv1m14kHAPzbef7EuW5rPqhZN3gDcAVxuZlfXVa+WdJOkP5Q0cjN8HfAI4J+Am4HfMLN99QJ/M7Ab+OsZX8IBFF7T9wOHS7pS0rWSfqEx1EVU17S7vkZn1sx7izLvF/CTwJ/Ux0+mFhltlhfVk+W1wM/Ney49XMszgDc13p8B/PG859XyWh4IXAEcTyXeE5Xz/C7g7LrN04E/rOseBnwOeMC8597xml4HXAXcn8rG/9PA98977v6qXr5DgCcBp0n6PJUI4lRJy/bkHETSOvAu4C/NbDNYd3wReHDj/dFUT89Lh5ndBVxJpfP4klXcB7yFSjQG8Dwq8YqZ2WeoFoSHz2XCGWRe0xeB95jZPWZ2J/Ah4NFzmbBzAFt+QTCzl5nZ0WZ2LPAs4ANmdvqcp9WZWu78Z8AnzOwP5j2fnvg48G8lfZ+kg6g+r0vmPKdsJB0p6YH18aHAduCTko6qywT8DHBL3eV24Cl13XcD/w747KznPY0W1/S3wA9KWpN0P+DxVPotZwFwT+XNy5OoRCo31/JdgJeb2bvnOKdOmNkeSS8G3kulSH6zmd0652mVcBSwS9Iq1cPYO8zs0toM+EgqEcsNVPodgFcBb5V0c133X+qn6kWi6JrM7BOS3gPcRKWze5OZ3RIZ25kxSxPcznEcxxmWLS8ychzHcSp8QXAcx3EAXxAcx3GcGl8QHMdxHMAXBMdxHKfGFwTHcRwH8AXBqZH03ZLeLumzdYyZj0n62USfYyW1siGX9FxJ39t4/yZJx2X2fbKkS9ucNxdJH63/Hivp2S36P1fS6/qfmeMMhy8Izsib9G+AD5nZQ83ssVRewEcPeNrnAhsLgpm9wMxuG/B8RZjZE+vDY6kidDrOpscXBAfgVOCbZvaGUYGZfcHM/hg2npI/XCcvuU7SEycHmNZG0m9JurlOovJ7kp4ObAP+sk6Ucmgd/XJb3X5HPcaNkt6fexGSnqIqydHNkt48irAp6fOSzqnHvFnSw+vyIyVdXpdfIOkLko6o60YhnX+PKtTCDaqS0ow9+Uu6VNKT6+PnSfpUnfTlSY02R0p6l6SP16+NOsdZJHxBcKBKmHPdlPo7gB8xs8cAzwT+e24bSU+limXzeDN7NHCemb2TKszxc8zsRDP7+miQOtzBG4Gn1e2fkXMBkg6hSsryTDN7FFVYll9pNLmzntufAv+pLnslVeyqxwAXA8cEhn4p8OF6nn845fxHAedQLQQ/QpW4Z8QfAX9oZo8DnsZ43g3HWRg8lpFzAJJeD/wA1a7hcVRJT16nKg3iXqqY9pPE2mwH3mJm9wKY2b8kTn8ylejqc5ntR/w74HNm9qn6/S7gRVS5LmB/Lt9rgZ+rj38A+Nn6PO+R9K+Z5wrxeOBKM/sKgKS/ZvweHFdJ5gB4gKRvM4/57ywYviA4ALdSPbkCYGYvqkUnu+uilwBfpgpTvAJ8IzBGrI0oy+xV2r7Zbxr31X/3sv973yYr1x7Gd9aHNI5j814BntDcCTnOIuIiIwfgA8Ahkpoilvs1jr8d+JKZ7aOKoLoaGCPW5n3A8+tQx0j6jrr8a1S5nif5GHCKpO+baJ/ik8Cxkh5Wvz8D+OCU9gAfAX6+Ps+PAocH2kzO8/PAiZJWJD2Y/XH+rwaeLOk7VeWhaIq63ge8ePSm3kU5zsLhC4KDVSFvf4bqH/HnJF1DJXL5L3WTPwH+H0lXUYlB7gkME2xjZu+hylmwuw7DPZLfvxV4w0ip3JjLV4AXAhdJupF4isinSPri6EWVIvR5wIV1uOh9wBsifUecA/yopOuApwJfoloAmtwE7KkV3C8B/gdVopqbgd+n1r2Y2ZeA/0q1oP3/jOtkfh3Ypiqd5G3sD2/tOAuFh792tiy1FdLeOs/CE4A/NTN/ene2LK5DcLYyxwDvkLQCfBP4xTnPx3Hmiu8QHMdxHMB1CI7jOE6NLwiO4zgO4AuC4ziOU+MLguM4jgP4guA4juPU+ILgOI7jAPB/AYs875TArab+AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Exposure is almost constant accross the field of view\n", "exposure.slice_by_idx({\"energy\": 0}).plot(add_cbar=True);" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 3.26723811e+11, 3.26671386e+11, 3.26469134e+11])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Exposure varies very little with energy at these high energies\n", "energy = [10, 100, 1000] * u.GeV\n", "exposure.get_by_coord({\"skycoord\": gc_pos, \"energy\": energy})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Galactic diffuse background" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Fermi-LAT collaboration provides a galactic diffuse emission model, that can be used as a background model for\n", "Fermi-LAT source analysis.\n", "\n", "Diffuse model maps are very large (100s of MB), so as an example here, we just load one that represents a small cutout for the Galactic center region." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (88, 48, 30)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : CAR\n", "\tcenter : 0.0 deg, -0.1 deg\n", "\twidth : 11.0 x 6.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'MeV' \n", "\tnbins : 30 \n", "\tnode type : center \n", "\tcenter min : 5.8e+01 MeV\n", "\tcenter max : 5.1e+05 MeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "diffuse_galactic_fermi = Map.read(\n", " \"$GAMMAPY_EXTRA/datasets/fermi_3fhl/gll_iem_v06_cutout.fits\"\n", ")\n", "# Unit is not stored in the file, set it manually\n", "diffuse_galactic_fermi.unit = \"cm-2 s-1 MeV-1 sr-1\"\n", "print(diffuse_galactic_fermi.geom)\n", "print(diffuse_galactic_fermi.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WcsGeom\n", "\n", "\taxes : lon, lat, energy\n", "\tshape : (100, 80, 4)\n", "\tndim : 3\n", "\tcoordsys : GAL\n", "\tprojection : TAN\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 10.0 x 8.0 deg\n", "\n", "MapAxis\n", "\n", "\tname : energy \n", "\tunit : 'GeV' \n", "\tnbins : 4 \n", "\tnode type : center \n", "\tcenter min : 1.7e+01 GeV\n", "\tcenter max : 7.7e+02 GeV\n", "\tinterp : log \n", "\n" ] } ], "source": [ "# Interpolate the diffuse emission model onto the counts geometry\n", "# The resolution of `diffuse_galactic_fermi` is low: bin size = 0.5 deg\n", "# We use ``interp=3`` which means cubic spline interpolation\n", "coord = counts.geom.get_coord()\n", "\n", "data = diffuse_galactic_fermi.interp_by_coord(\n", " {\n", " \"skycoord\": coord.skycoord,\n", " \"energy\": coord[\"energy\"]\n", " * counts.geom.get_axis_by_name(\"energy\").unit,\n", " },\n", " interp=3,\n", ")\n", "diffuse_galactic = WcsNDMap(\n", " exposure.geom, data, unit=diffuse_galactic_fermi.unit\n", ")\n", "\n", "print(diffuse_galactic.geom)\n", "print(diffuse_galactic.geom.axes[0])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "diffuse_galactic.slice_by_idx({\"energy\": 0}).plot();" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0,0.5,'Flux (cm-2 s-1 MeV-1 sr-1)')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Exposure varies very little with energy at these high energies\n", "energy = np.logspace(1, 3, 10) * u.GeV\n", "dnde = diffuse_galactic.interp_by_coord(\n", " {\"skycoord\": gc_pos, \"energy\": energy}, interp=\"linear\", fill_value=None\n", ")\n", "plt.plot(energy.value, dnde, \"*\")\n", "plt.loglog()\n", "plt.xlabel(\"Energy (GeV)\")\n", "plt.ylabel(\"Flux (cm-2 s-1 MeV-1 sr-1)\")" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# TODO: show how one can fix the extrapolate to high energy\n", "# by computing and padding an extra plane e.g. at 1e3 TeV\n", "# that corresponds to a linear extrapolation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Isotropic diffuse background\n", "\n", "To load the isotropic diffuse model with Gammapy, use the [gammapy.spectrum.models.TableModel](..\/api/gammapy.spectrum.models.TableModel.rst). We are using `'fill_value': 'extrapolate'` to extrapolate the model above 500 GeV:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "filename = \"$GAMMAPY_FERMI_LAT_DATA/isodiff/iso_P8R2_SOURCE_V6_v06.txt\"\n", "interp_kwargs = {\"fill_value\": \"extrapolate\", \"kind\": \"cubic\"}\n", "diffuse_iso = TableModel.read_fermi_isotropic_model(\n", " filename=filename, interp_kwargs=interp_kwargs\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the model in the energy range between 50 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "erange = [50, 2000] * u.GeV\n", "diffuse_iso.plot(erange, flux_unit=\"1 / (cm2 MeV s sr)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PSF\n", "\n", "Next we will tke a look at the PSF. It was computed using ``gtpsf``, in this case for the Galactic center position. Note that generally for Fermi-LAT, the PSF only varies little within a given regions of the sky, especially at high energies like what we have here. We use the [gammapy.irf.EnergyDependentTablePSF](..\/api/gammapy.irf.EnergyDependentTablePSF.rst) class to load the PSF and use some of it's methods to get some information about it." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EnergyDependentTablePSF\n", "-----------------------\n", "\n", "Axis info:\n", " rad : size = 300, min = 0.000 deg, max = 9.933 deg\n", " energy : size = 17, min = 10.000 GeV, max = 2000.000 GeV\n", "\n", "Containment info:\n", " 68.0% containment radius at 10 GeV: 0.16 deg\n", " 68.0% containment radius at 100 GeV: 0.10 deg\n", " 95.0% containment radius at 10 GeV: 0.71 deg\n", " 95.0% containment radius at 100 GeV: 0.43 deg\n", "\n" ] } ], "source": [ "psf = EnergyDependentTablePSF.read(\n", " \"$GAMMAPY_FERMI_LAT_DATA/3fhl/allsky/fermi_3fhl_psf_gc.fits.gz\"\n", ")\n", "print(psf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get an idea of the size of the PSF we check how the containment radii of the Fermi-LAT PSF vari with energy and different containment fractions:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 5))\n", "psf.plot_containment_vs_energy(linewidth=2, fractions=[0.68, 0.95])\n", "plt.xlim(50, 2000)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition we can check how the actual shape of the PSF varies with energy and compare it against the mean PSF between 50 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 5))\n", "\n", "for energy in [100, 300, 1000] * u.GeV:\n", " psf_at_energy = psf.table_psf_at_energy(energy)\n", " psf_at_energy.plot_psf_vs_rad(label=\"PSF @ {:.0f}\".format(energy), lw=2)\n", "\n", "erange = [50, 2000] * u.GeV\n", "psf_mean = psf.table_psf_in_energy_band(energy_band=erange, spectral_index=2.3)\n", "psf_mean.plot_psf_vs_rad(label=\"PSF Mean\", lw=4, c=\"k\", ls=\"--\")\n", "\n", "plt.xlim(1e-3, 0.3)\n", "plt.ylim(1e3, 1e6)\n", "plt.legend();" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Let's compute a PSF kernel matching the pixel size of our map\n", "psf_kernel = PSFKernel.from_table_psf(psf, counts.geom, max_radius=\"0.5 deg\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "psf_kernel.psf_kernel_map.sum_over_axes().plot(stretch=\"log\", add_cbar=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Background\n", "\n", "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](..\/api/gammapy.cube.MapEvaluator.rst) to multiply with the exposure and apply the PSF. The Fermi-LAT energy dispersion at high energies is small, we neglect it here." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from Galactic diffuse: 13359.0\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model = SkyDiffuseCube(diffuse_galactic)\n", "\n", "evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel)\n", "\n", "background_gal = counts.copy(data=evaluator.compute_npred())\n", "background_gal.sum_over_axes().plot()\n", "print(\"Background counts from Galactic diffuse: \", background_gal.data.sum())" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Background counts from isotropic diffuse: 412.002\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model = SkyModel(SkyDiffuseConstant(), diffuse_iso)\n", "\n", "evaluator = MapEvaluator(model=model, exposure=exposure, psf=psf_kernel)\n", "\n", "background_iso = counts.copy(data=evaluator.compute_npred())\n", "background_iso.sum_over_axes().plot()\n", "print(\"Background counts from isotropic diffuse: \", background_iso.data.sum())" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "background = background_gal.copy()\n", "background.data += background_iso.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Excess and flux\n", "\n", "Let's compute an excess and flux image, by subtracting the background, and summing over the energy axis." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Excess counts: 1845.03\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "excess = counts.copy()\n", "excess.data -= background.data\n", "excess.sum_over_axes().smooth(2).plot(\n", " cmap=\"coolwarm\", vmin=-5, vmax=5, add_cbar=True\n", ")\n", "print(\"Excess counts: \", excess.data.sum())" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "flux = excess.copy()\n", "flux.data /= exposure.data\n", "flux.unit = excess.unit / exposure.unit\n", "flux.sum_over_axes().smooth(2).plot(stretch=\"sqrt\", add_cbar=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fit\n", "\n", "Finally, the big finale: let's do a 3D map fit for the source at the Galactic center, to measure it's position and spectrum." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "model = SkyModel(\n", " SkyPointSource(\"0 deg\", \"0 deg\"),\n", " PowerLaw(index=2.5, amplitude=\"1e-11 cm-2 s-1 TeV-1\", reference=\"100 GeV\"),\n", ")\n", "fit = MapFit(\n", " model=model,\n", " counts=counts,\n", " exposure=exposure,\n", " background=background,\n", " psf=psf_kernel,\n", ")\n", "result = fit.run()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FitResult\n", "\n", "\tbackend : minuit\n", "\tmethod : minuit\n", "\tsuccess : True\n", "\tnfev : 318\n", "\ttotal stat : 20257.15\n", "\tmessage : Optimization terminated successfully.\n", "\n" ] } ], "source": [ "print(result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "- Fit the position and spectrum of the source [SNR G0.9+0.1](http://gamma-sky.net/#/cat/tev/110).\n", "- Make maps and fit the position and spectrum of the [Crab nebula](http://gamma-sky.net/#/cat/tev/25)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "In this tutorial you have seen how to work with Fermi-LAT data with Gammapy. You have to use the Fermi ST to prepare the exposure cube and PSF, and then you can use Gammapy for any event or map analysis using the same methods that are used to analyse IACT data.\n", "\n", "This works very well at high energies (here above 10 GeV), where the exposure and PSF is almost constant spatially and only varies a little with energy. It is not expected to give good results for low-energy data, where the Fermi-LAT PSF is very large. If you are interested to help us validate down to what energy Fermi-LAT analysis with Gammapy works well (e.g. by re-computing results from 3FHL or other published analysis results), or to extend the Gammapy capabilities (e.g. to work with energy-dependent multi-resolution maps and PSF), that would be very welcome!" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" }, "nbsphinx": { "orphan": true }, "toc": { "base_numbering": 1, "nav_menu": { "height": "237px", "width": "253px" }, "number_sections": false, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }