{ "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.13?urlpath=lab/tree/first_steps.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", "[first_steps.ipynb](../_static/notebooks/first_steps.ipynb) |\n", "[first_steps.py](../_static/notebooks/first_steps.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Getting started with Gammapy\n", "\n", "## Introduction\n", "\n", "This is a getting started tutorial for [Gammapy](https://docs.gammapy.org/).\n", "\n", "In this tutorial we will use the [Second Fermi-LAT Catalog of High-Energy Sources (3FHL) catalog](http://fermi.gsfc.nasa.gov/ssc/data/access/lat/3FHL/), corresponding event list and images to learn how to work with some of the central Gammapy data structures.\n", "\n", "We will cover the following topics:\n", "\n", "* **Sky maps**\n", " * We will learn how to handle image based data with gammapy using a Fermi-LAT 3FHL example image. We will work with the following classes:\n", " - [gammapy.maps.WcsNDMap](..\/api/gammapy.maps.WcsNDMap.rst)\n", " - [astropy.coordinates.SkyCoord](http://astropy.readthedocs.io/en/latest/coordinates/index.html)\n", " - [numpy.ndarray](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html)\n", "\n", "* **Event lists**\n", " * We will learn how to handle event lists with Gammapy. Important for this are the following classes: \n", " - [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst)\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table)\n", "\n", "* **Source catalogs**\n", " * We will show how to load source catalogs with Gammapy and explore the data using the following classes:\n", " - [gammapy.catalog.SourceCatalog](..\/api/gammapy.catalog.SourceCatalog.rst), specifically [gammapy.catalog.SourceCatalog3FHL](..\/api/gammapy.catalog.SourceCatalog3FHL.rst)\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table)\n", "\n", "* **Spectral models and flux points**\n", " * We will pick an example source and show how to plot its spectral model and flux points. For this we will use the following classes:\n", " - [gammapy.spectrum.SpectralModel](..\/api/gammapy.spectrum.models.SpectralModel.rst), specifically the [PowerLaw2](..\/api/gammapy.spectrum.models.PowerLaw2.rst) model.\n", " - [gammapy.spectrum.FluxPoints](..\/api/gammapy.spectrum.FluxPoints.rst#gammapy.spectrum.FluxPoints)\n", " - [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "**Important**: to run this tutorial the environment variable `GAMMAPY_DATA` must be defined and point to the directory on your machine where the datasets needed are placed. To check whether your setup is correct you can execute the following cell:\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Great your setup is correct!\n" ] } ], "source": [ "import os\n", "\n", "path = os.path.expandvars(\"$GAMMAPY_DATA\")\n", "\n", "if not os.path.exists(path):\n", " raise Exception(\"gammapy-data repository not found!\")\n", "else:\n", " print(\"Great your setup is correct!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case you encounter an error, you can un-comment and execute the following cell to continue. But we recommend to set up your enviroment correctly as decribed [here](..\/getting-started.rst#download-tutorials) after you are done with this notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# os.environ['GAMMAPY_DATA'] = os.path.join(os.getcwd(), '..')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can continue with the usual IPython notebooks and Python imports:" ] }, { "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", "import astropy.units as u\n", "from astropy.coordinates import SkyCoord" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maps\n", "\n", "The [gammapy.maps](https://docs.gammapy.org/dev/maps) package contains classes to work with sky images and cubes.\n", "\n", "In this section, we will use a simple 2D sky image and will learn how to:\n", "\n", "* Read sky images from FITS files\n", "* Smooth images\n", "* Plot images\n", "* Cutout parts from images\n", "* Reproject images to different WCS" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from gammapy.maps import Map\n", "\n", "gc_3fhl = Map.read(\"$GAMMAPY_DATA/fermi-3fhl-gc/fermi-3fhl-gc-counts.fits.gz\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The image is a ``WCSNDMap`` object:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "WcsNDMap\n", "\n", "\tgeom : WcsGeom \n", " \taxes : lon, lat\n", "\tshape : (400, 200)\n", "\tndim : 2\n", "\tunit : '' \n", "\tdtype : >i8 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The shape of the image is 400 x 200 pixel and it is defined using a cartesian projection in galactic coordinates.\n", "\n", "The ``geom`` attribute is a ``WcsGeom`` object:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "WcsGeom\n", "\n", "\taxes : lon, lat\n", "\tshape : (400, 200)\n", "\tndim : 2\n", "\tcoordsys : GAL\n", "\tprojection : CAR\n", "\tcenter : 0.0 deg, 0.0 deg\n", "\twidth : 20.0 deg x 10.0 deg" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl.geom" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a closer look a the `.data` attribute:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " ...,\n", " [0, 0, 0, ..., 0, 0, 1],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 1]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gc_3fhl.data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That looks familiar! It just an *ordinary* 2 dimensional numpy array, which means you can apply any known numpy method to it:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of counts in the image: 32684\n" ] } ], "source": [ "print(\"Total number of counts in the image: {:.0f}\".format(gc_3fhl.data.sum()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To show the image on the screen we can use the ``plot`` method. It basically calls [plt.imshow](http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.imshow), passing the `gc_3fhl.data` attribute but in addition handles axis with world coordinates using [wcsaxes](https://wcsaxes.readthedocs.io/en/latest/) and defines some defaults for nicer plots (e.g. the colormap 'afmhot'):" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gc_3fhl.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make the structures in the image more visible we will smooth the data using a Gausian kernel with a radius of 0.5 deg. Again `smooth()` is a wrapper around existing functionality from the scientific Python libraries. In this case it is Scipy's [gaussian_filter](https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.ndimage.filters.gaussian_filter.html) method. For convenience the kernel shape can be specified with as string and the smoothing radius with a quantity. It returns again a map object, that we can plot directly the same way we did above:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "gc_3fhl_smoothed = gc_3fhl.smooth(kernel=\"gauss\", width=0.2 * u.deg)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gc_3fhl_smoothed.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The smoothed plot already looks much nicer, but still the image is rather large. As we are mostly interested in the inner part of the image, we will cut out a quadratic region of the size 9 deg x 9 deg around Vela. Therefore we use ``Map.cutout`` to make a cutout map:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ0AAAEHCAYAAAC0iRNuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO29a7AtyVUe+OU++5x7+6GWWg8eelnNGI8ME8KAeIoBWXgwD40xAiZkQTOYpz0SGGECEDPhMH4EDAMMDiQGGxksWnJgYymwLctgjCxmeAkkjaQGhDHDlUCgANOi1c97z9m7cn5Urb2/+vZamVnnnnvP3bfri9ixq7KqMldlZa5cr8xMOWfMmDFjRisW503AjBkz9gsz05gxY8Yk3PRMI6V0z3nTcLXY93eY6T9/nOU7pJvdppFSejjnfNt503E12Pd3mOk/f5zlO9z0ksaMGTPOFnsnadx+223d4y5eTDWq0/B//0MP4c7bbx+lJfcJH1n+vTK8vKeUUcN9Dz2EJw3vMBUe3Wf9xWvv+sGroJ/zV7r52+QgvZRfrTw7/uBDD+GJFfpPW9aUvLw8W/LP6N/hTnqHUhkXLl7EA5cv5/vuu88VKvaOaXzEnXfmD7///s15N/wMC/pfAFgOP9Cx/azCD6SM9fCfAayGXzf8czma99GQ1yHREX1Uq/UuuM7vYmhtgJw3578ernH6GmVaSu+h9baQ/6h++R5NKz0DbL/NGsDJ8H8M4AqlH2P3e3mwNmLHS0lPAx2ROF76dlE5wLgute47bN+Rr/MzRhPTaOUwbVpXJ9jWCbcBrYePf97z8CuXL+Ntb3ub2+SWXuKNDiZaO4ZhIT9L82ohahRrKmtN93WUFzONBbYftJVZRA1vgfFHLSFievzuzCS4I1g5/H7XG7Vy9R1qz9g7cR2WytNOrQxD7/e+S+k7KvKQf5b7LA/7nmvsMgsPa+fcBgdgy1xXGLc7qyOg3kcYs01jxowZk7B3kgaP7kAsaQD+KMFgzq0jjf2fYCtFeKN1ontTpTzm/iqG1rDAdoRieKMPp6nUwZKFpeu9RquhpUyms3bvWY1UB9iOxjw6Wxk8knrSgUqjrFapCgB5jvPk8loRGQVU4ljTsZav+ajqweeeiu3l1yJp7B3TAHqiuRF4or7HBFrAYuMCvX1Cxfcl3Xs4HLMtw6v0VlvCgq4fyPWIceizhg7jzpSdeyK1RBlaiVFo2WqXqKkSDHs/7ixeZ9Q0tWVF5ZaYhtHL39F7b4/hdpjWzjx4jC5iFh6sfdm3VqYRMQyts1o5e8k0VFfXytZ7I3DHiAxVpefZmNrKMNZOmocF/I5jjMPoZObi5aGjFjNEw2ntGZ5tQDtaqQO3gN+P6ef8eURmaU8HF8UCWylSB4CSPUOlNWBc1y2I2klrPXnSjjIMZRp8vzJMts3VBoi9YxqqArQYvbyGq1w8YjqRBV3TtcN4zEENUTX1RKUOb3Q9jUtP68o63dWMlGo85HTg6lzQLWqclcPSDTPlSD0xBsGeMFZLPCOzp1po/ZWYVVQX6lpukSz4fz38tK3xsUGZhqrZJVx3ppFSOgDwNgB/kHN+YUrpqQBeC+BBAF+Wc36olkdUmR7jqNkYgLjD1HR3lU6i+/kjeuoJw2MQLHXYuSE7z3ijUNTxrM4O5J7oXabEI3ADLNVlq22nZAewctTbVbJpmHRhI616wpThmSSg6qr3Tb1BRhF5vaK4FA+e9Kr2iygkwd7ZVGujqcYUrlYNOw3+FoD30Pk3AvgGAK8G8OXnQM+MGTMm4LpKGimlpwP4AgD/EMA3D8k2SHZolGI9a36rSBeBR6LIplEy9tl11itB5x16T0wtqMukCk91SnSuNHmGU0s3lEbqqfCkA7UD1IKjpuRfqzdWC9XbpfmxCsMGbJY0PNpZwlig/56Wj5XlSQlTvE8MjeWIoMF8nipsdIKO2QDMRuAbTT35AQDfCuBxlPZKAPcA+BCAl7Rk0hrkohXOlaE6fQkqprZ4BbicLP+Wzh1d8/LUEVZFGOpx0GtKDyNiihFKxj7VjyNjovcc561enxIdkZtbVc7IzlJTT3QA8YygJ5QnqxitLvIIJYahhnVO45+le3Y9ez82fi5Qp/G6MY2U0gsB/HHO+e0ppedbes75fQA+s/LsPQBeBAC3HB422zSiBqcdrzQCe3p55BFQS7aVpdKG0uKVq40tMtSWXH1Z7mtBbZRhqU6hxkOv4wHjuo9sNUxvTcpgxhEZxkuSEU8tANokDabLqxON5qyB7RI1aN0wc+BpD9oePUnjAOP6s+NLly4hpfQwPfKGnPPdwPWVNJ4H4K+klD4fwEUAd6SUXptzrtoxBmLvBoCn3XlnXtDcE6AsxtXi+Pm+0oionpJSufwhPSmDaYnomQod1byO1mLRj+aTaAdskUo8qcO7p2Yc5vJLjMNgndgzjHv08b/l5UlJrJZM9ThEUGbRytx5IDKDJzMLZRqlgZb/7b3vuusu3Hfffe5U+utmCM05vyLn/PSc87MAvBjAm1sYxowZM24s7F2cBuBP4tEovWhUt3NPLI5EfW/U0Snw7L5l8IjgoWWEalVNSvaLkqhqmBKUFUlwnkTRatuwfCMJoWbY9OjzVMhWKcmTIFjnZ2nSpBuv3XEephpHEkarpOHNWPbiUq4FzoVp5JzfAuAtp30+Cq2t+fsj8ZwNby2odfSWwC1vqnMrdD6C1xG8xhOFZtdEVz7msjSuoOQ9KYnwWr6GO3tGvxo07kTzs3Kt47UyF1NjWEWrtQdVHTWugsv0VDTNn5mFxyimMIypbR/YQ0mjNCnsAOMGp1OEtaPwaMQcv6USvUZZ059L1zwpRqGuV06bMjJHLt1SSDrT6pXFzzETKa1b4tGmiBbe4XJa6AZixmMMgF2odn804U6NnzWmXzNwMsNo6fSR7YJpYeYYSarecQ17xzRKUPeT/UccuDRSKyIvQMvoVwrTjkarUidgVcikhkjSiKzykddCny95iDyjKfv8Iy9ElF/JcOmNwKXJe5GaqLNCvZgcG3h4XkoJUTvw3kW9MWoE9piAh4hhcDmeEdeTHqfipmIawOk/QoSW8F+GN6HKRqxoRJwyg5QZhNpmGB6zULGc7+vQN4ba7FIE6ezCa1VPtK6ilbZK368Wo1JqD9pprsCH2nda7FMlL1DNq+M946VFUobmv5BrnHYaXDfvyYwZM24O7L2k4Y0keo3PW9SQlrQIqr+vKs+fhmuXJAZDKU5Dy2cxnaUYT3QvSRlmb7J3Z5tG5OFQW85p6qMUo3JCaXxu5XswicfqxuskaiPichmRVGPSgGfI57ouecAUnjqi11nS4O81pd73jmkoY1BLdOkDRuKZis6RujDVygzEHUHTSqJtq5rgdeyagZSf1U7kpUVgVWSKTcPL34tQtHu97xoxDK2HDrvqGhtADVz2IbZMxN6lZYBqQVQnte9f8nxFNgtt97xmCLA7aJSwd0wD8BtPzSjEx8YkamHhJY+Gp5eqK47preUXhVbzc6XG4517eZUQMQ61GUT1xqMX3xtZ7w2lcGzOHw59JWg7YfsN6FhHfZY0gO208QV2l9RDQDPD67xee1I61ZbF90Y2C/uP2rKVq3NupgyIe8s0FJ47zWMGXogwp7V4MbRTME0lT4nSV5NodPJTqwGtZeJadO/CSdf68wy6KmXYvfx8i6HQ8mJGwvUZMVCtK3uWjat6rs8v5FglEH1nZiA8x4jhtYNWdS1qR6rWKLPw6jtq8yYNch43zIS1s0JJb2TXlxcboPNHavMiIthHizh+FG1a+hi18m3UjBhHNALXRsHIJqJSR2TrgHMeicgRdA7HArsMp3W+i95rDZzdqFMnh3nfldWTE+yqKwrtrJzGWBPNxrhK7+3ZKYDdNu1J1yZpcB4cV1Mqc8aMGTOasXeSBrA7uvPoW1InVGxrWRfDRi2OiaiJb97cgpJqEZWvUorq6PreLfp+iYYWQ2jN0BaVZ3XooTTiR/aMSGdXI7kn7kcqjubpeaC4ztmmUbJveHUT2dGMTrt2iF1po2SvKM2TYunjQO7V9VFL2EumAcQVV7pv6iI61lmjiEu1bURGUDa0Rd6MmgjKjIMbfYlhruGvJGXPeuXUIkVboPSUvD9eFC8/q0ZBVT8VKq5bnrbYjBeFCbqHy+byOD+NtjXaPabt2Rf0WpRm35q30fCgKoeW5wXYsQ3KW/ahhL1lGgx+Uc8v3uJOtWe9jqMjFIdvKzwXa21PUSvbyvOgHaB0r+Wnjd8bOfVdtC49aUOZgZbD9o+S9NM61yJijDXJTw2oXZDmlccdzKD1pvWpEmbLoFSDGik9Wvleo0PviWwaU2YgG/aSabSIagyeolwKk2aJwFCSNhSRimAf3osvsedaocbeqHHqqKjwgpM8VaBUnwyuH69eOYBMYyWikR/wpSu+pojahjGMJbZMPMq3tQMp82ZGXVMVo0FC38+kxZbYoamS4WkXDtpLpgHscthW8dugk5U8cMfRESqaR2L0TAHnVWJOrKYojdH9Wo79e9OvvQ5Zk76A8YjrSSYRPDGfy+B7atDR2PPoKOP2pA/DlElqbEtgZhB5uTyGfRqmcFr18TyfnTFjxmMQeytpMKIFdKeG30bSRzRKlVSMqSPlaVFSbTzvgcKkg9K6Fd4zagfxDKhr+Y/QEi9RgmcA9IzCdo/Gbth1D9F31WNPauI2E9k9DF7b8wycQFldYRpq3/C0qtleMo3oJT3LdlRxahzlgC398CfYnYNgYbiGKPAnQmmq/GkQfewpYdfes1G+yqgP5LxEE6OVqaqBufRcFKzHnizLk5+p1VWLQVI7oqqCnptW89CJgp4RM6LDs5uVmIdn1K99k71kGkAsRXBFdRgzEoNWejSj0/JaomccB865N/K0RAZGEaK1hlDKs5TO61hyB4lsALXRTKF2DTsuoWR38gyC3n12HC05qOBZx5EhlMuNyip5bOy+ks3Gg2fP4vIWkmY0RhHIBrb5tcTi1CS/vWQa3kdQ912HdqaxwDi8mO+LvAgm0tfcuZG4epajMOcfPc/h2fxerZ2tBZHkFBkEFZEb2xDNGPZciVF8Sgkt3hhv1q7XUb25LHqPnkeGzmjeiPdMFCsEjNtrFI+jhloPsyF0xowZk7CXkoYakAwsVZQkDU8MjNyFkfimIiobE0vL2p1WwigZ6iI3bWRzWWA73Zsln0jMn+pCbqU/WrfUG/FL8Q+e6O5FlHbw7Rilb6J1YmlevUSjPs+u9dqTIpopXJqMpuUqTEXxYpYYjwlDqKZPUU/02Ui8V88KN8hIZNS8Iqu+IVJjamg1ppo9Q+cyKP1euj1/WnpKBjmud17vM4pPiJij17E12GqBWHxvjZPwyuJ8NG82npcQGUHtm9Rmx0b5MW1nhb1kGoqzcGuWPoTaIYyBcGPzbByabynGn3VebXxscWe0SACcj9kEbC6D3qf3Gs1RfhFqUkWk13t1WPIU1EZeNUZaJ2Tpw2Pw0TuW5i4Zg/IkG5UuVPLgcvld7NlWG0KtH5w2AlSxt0yjhVFEla2NhUeQUgReFB4N7I7UjANsXbSlUYrRMl+ltIS/ZwhkcbxFEirVH+Crch493pyXKfC+DdPhMTu9xySsJaW1SKAlmkowL41XR8xMGBqWfkDpUdsCdg2wrXunlCTLEvaWadRUDB5lIpGWpwNHH6akKqho7XlaePTgncl1FStvpOSVoa4WkX0DiF2Lpyn7agO1PDWpNG27Ve1jCcuznbSoX1NC9o0psJsbGDMTdoXyezPzWKBMmxeX4V0zeOqWlW/Xa3UxhbnOmDFjxn5KGiWDpd4XjZTMZXXJMy+cN5oQ1xJ3wVKGN2p2GG8JeAXjEceeOY0xS9WUSH+P3r2moml6iwgd5c+jrY12kRdnqq3F7E8suXC5Xp72nNWdPVcKLGTVws5ZFWEJxKQNu9/SWfJTqUPLVESSnldfkYRdkzT2kmlEMfoeIgNaKcLOQykisQQryxiGuTq5fFZzTCXh3b5YF2fxukSvobaSFDfmWqfRZ73tIVsQ2SCijlNSH708o+tRBGpkiwG2C/cYtP657AW2zN86FkfiAmW7kmcIjYLuSgNiCdrmS4FjEfaOadi8j5aRqwRlFJ5RzWCduqQ/ar484hwMaco0Sg1I389zk2q5ilb7QtQh2SNQysvsOco4IqnGygR85s1pB849LVCjIh97jKokIakkETGSA0mrwfOGMS2lWBm2g0Uh43pd39HL/wAxAzXsHdMA2kab0our4a8maVinUckgcltqIzcjHO8vwftOsHpyFNC8QC+F1Dqwoba+iDeacbqiNvnJW0M1aqxR6DpLZWcV3l7yCi0ALBZAGhIOpJB1Byw6oOvGz6m0YfSVGKZds8ED2JUYLR9VYb3RX9ukXqv1EQ0a471dbjpJAyjPQTCUAmG04kqdhhkEdwpvOwGWMlQXZYaySadWeEj56EcxhmHHtYlQXkxEqUF76VEdl5iWNykqilhtUUU4zWjSskpu0xKjAHpmcbDYni+ESGMY62587jEJlRhNMmQbBugau36ZRq53T/JSaKyQ115LEp7mH313pXPGjBkzmrF3koZxxmgOgiEaofg+lS48lYaNWKojeuHHav3X6MZNmSoWr3bLUyywa9soSR1eCD0kTelPzrGOLKqqqBSj8xuiOvJUuVo4ew0q1Wg+Wu8L+kWwayZ15EHaMLXF854cogyTBHS+Eq/T0mII9SSeaE6Pguv/prdpAL7epY2lFkVYU2e8xqB5eWK/inhWTtSJARKRu+3z+nHs4ytdNXVFr0V1V7Kcq6gbzZXx5pIYlIGq4S/qJFEjnuo9MIZhtgtlGMw4um7MLPj6jthPhPA1Duyq7Vdrz2gH1jQGq8mch05F0HZqadGgUMNeMo2oEvjfm+CjDTHSeT1op4viHjTfqJGYbpycArXjsmFMy1TGscnfSWuBN0rrSGb6uBlvW/aZjRh61EkMp50voXkxw2AmEdozFmPGAYzP19322y2AnZfXGA3uoLYiujfoePacFjeolsvfJxrw1K7BZZawl0wD8MU1oG7crE1y0jw9I14LbfqMdWKeU7LsqGM6PY7zsIZmcygsDRivRmXnhikBYcpEo7q09zAR3PYyjRiopXPDrDVYT6WM5nFo2kiiGTJUhlGD+z0W2/SDxdZAuilHnrFZxR5s0SdvIFNpuGQI9WD58vexwSsKJqsNmoyp/WHGjBmPceylpBFxukglqdkuotGNxe6pHFjzUj1zo1Z0u3nzPXxu0sYBXWcRmGMBTgtV73QANZp406Fo20CNPeC8o1GuFO3L0oYFMZWkm+ibedKGJ1lEMInDbCNrDMZRqSz+XmzTYHi2Ju8bcHqVPowN5qWlEE4TB7OXTCMyCgFl2wan6/HUjhYxGqWHwVOW7cOWdFVlDh12jaxmaPMWzO0kjwie7s2NKbJXeFsBWH58bAyDA9uYYUTfygNfL63itQBcT8lpwAZRtnWMVBVsjwGMgsI8lIyhtfRSW+Xv7sVp8H0656qWt+G6Mo2U0jMA/DiAj0D/bv8k5/yPUkpPBfBaAA8C+LKc80OlfEoekU1ZKNstSpXT8kFrc1X0GV45ytI39gzEjcXLS12d3ght6acxhjJ9+p4enZ5+DuxGeGoI/RJlpj6V3hHti11PCf/rcVMZxDC8awxzzy6Gn/d9vDVTIsYNxIMlM0+VOjlfzqPkmbnRXK4rAH875/yOlNLjALw9pfSzAL4CwDcA+CgAXw7gh6MMdKT1GralR6pJhCjWIYLHlKZ20mipuZa89P2MFs9oaGmlzg+MaYnCl3kyll7jPFQ1OaDrzDAixl6DpzqWDJ+Rp8TN+wzu6TpgtULf6oOPqTEvUyTeSJoFxnVylkv9AdeZaeScPwDgA8Pxgyml9wB4GrCJNjYJvAjVcz2duObjBvxw67WTpg2zFnSjKIndZ8F4rEPq4rWcL6sqnM4dOeq8TBOrQurn13dnFcSOgV2GsXneqbyarWHpPMMSxuYdTilpeK7Ylvu7biuVLBZAso+z8iXZkm0D8NtwxAxqA53lXeobJZybTSOl9CwAHw/grQB+G8A9AD4E4CXnRdOMGTPqOBemkVK6HcDrAXxTzvkBAA8A+MzC/fcAeBEA3Hp4WPRlq1Et0gl1Y6WVnPO/HntSQ4lja9g0090qrURrhrKEoapYKZLVU2tKYPuLqoNevIFdZymDlzrk85YQ7hq8ILlISmixSUTpXjnArmQDUMg5XcuBgZSlOU/iK60HC7rH4EkbrQFiAHDp0iWklB6mpDfknO8GzoFppJQO0TOM1+Wc39DyzEDs3QDwzDvvzMv77w/VEJ7iW1qRK2Pb2UrBUN56kq2rIynYHmO0stFuk3/F8u7BVBI7BsYrQ3nqlaXXGuMUUrxgrSjyE9h9d0UuFD6lAxta1BO2i3j5tTId9qDwf3c8HGNaKLdn96gtgWCo2bIUd911F+67777bvGvX23uSAPxTAO/JOX//qfJAv+ZEJFHwxJ8DjCcAWQO1TmnMYviGG0OhNxFL51qU1ixgsESk0ZHGMJbOXPg1hY/WDD3eyG/na7mHy1b6Ir1ZDase04y8N540Zecew9BIS/teO+UVKn89xFBEno4dOit2kRZ7iOc94bzs+nLZ09etxoOMTmArYerizVMkjBZcb0njeeglhntTSu8c0r4j5/ymKZmwUY2ZBYu8trzewRI4HBL5w65WwIKW+7Y+6hmXVDQ0o2LkKvXES28OgjEMnWVpDS5bY+3qFnAWb5UGjzZlugp+N1WNzGJdipPgc+/Yg3VSZRwectfGOGrgeuf8dFIb3zvFC6OT3SxvHaA2dNPxaVZ2t3ZQI61V4vBwvb0nv4CrC1gcqSDAWC0xlQTD/9FR3ymXDtMYddLjLZPhndRGtGMs/tdiOTx1wKSNDd2LbaOMRjugZxrWwFomhdWCejypw7vXK8vzMkWIZrgqWjq3hxbG4aHVTuLNgi0xjKlRpRy/wdlp1GsNWrelbzlFOj7t9RkzZswYYS/DyD2jmkkZ9kIHy62UYZKG6ak2AtnIsFoBaeD66lWojagcv+ChZZZiJGnYCJxV96jAbBA6N6M0A1jVlMieA8TbQ3pSSyTFnDXY7lGSPs4CJQMqSxsWqzHVsM22qZK0UYtK9mI/OK/SdIwSmphGSunPAPjonPN/TCndAmCZc36w5dlrgWjNAQbrpN78g0zHaQEcdONAJ8A3IkbQZf69ZyIaFV64MufZqt95k7+0E5cCz7zFhCO7iWeMbjXAGROP6sO+X0kdcdclabQ5TFVXvPKMMYy8JEMouaav6dxzW/NA5DGOKLRfX4PPlWd5EcPecx6qTCOl9LUAvg7AEwH8NwCejj7M+7Nrz14rRI3RjIsl1Dj+AcaLl7Dn4DRW6NIz60KD5VErkaTRIv1E5XOnjlxwWj1mR4nmMmhaxNCn1t1mBmlFgqgxhilGy8z1PQFZGAXQS68sZTDT2NwP/1sy82DGYYgGzBLzV4YUoeXVWySNlwL4ZPSRm8g5/5eU0oc1PHfd0WH7cdbdsD1A1xucgMFivdjl/goVr1swVRrpgI0f36ND05SBWVrNL8/3cgeORiemz/5rDY3jMDSIi2k5jdbQyhRarkdqYKu0wZ4QdQN78Rir1fgHUNtz8td5VTvvIsfet/S8cNZOvDABz0B6FhPWruScj/sQCyCltMTV7/N7VfA2prEReFOB3fZDGZZLYEUddePaDFyabNlmN1akfrTSvqG728ZjROtUKox5AG07yyvN3KmBcqBQDVw/HPVZYxZ6fiAduwWtEZya3pr/mhhEDZ3TptaStqa2xuB2rBJFxNiZWSxF/Taaue1YZOqKmFUUE9JSPS33/HxK6TsA3JJS+h8A/CSAf9vw3IwZM25CtEga3w7gqwHcC+DrAbwJwKuvJVEtiHTBjVjdbdczUIkD2Oqcdm8tz8gLMEXkZmllU9aqN8qqsZZHCh2dLA8TZ0tL1PO9B3IO7I50i+BcDaAs8dixro9RkzB26K1IAy3h22cxj4UNrp7qEqmTKr3W7GeqXrbafVjCOFiM45B4lq1h09apzS8wXjuUcdXqSc65A/Ajw++GAL9kNFcEwEZ+t4hQZh6sZ3bY9X4Au5O+olBsfq6murAOuQnCIrsLMxA3fFposJW7PH1VjWQlQygb3Th/zdeOveX7OMiuBl4kp2Z3qDGLKKqzhtK8FsaOfSlgIi22qc3z1HlboWuFWDgBM1udw2TpxvxOhja/GIxVrK5syqnQETKNlNK9KKi5OefnVPK+ZuAR20K8Qys0MQrWndntFRn7akYp7ZQMPY/ap9G/6cQDMZHBiunqMDaeaSRoyZPhMRivDMtXw8FZ0tDl+zZ5FCqQGYYXnt3COLwJZS3eM7MvRPNaalBGoLYMhnXYDY2L9hB3BU+HWDpxSGoPM5qWy2HaBNWrLQ6k+9TqsYeSpPHC4f+lw/89w/+XAXikku81B4/YHuMw8esQ2DIOettc4LItMw+9EbsmZXj0Kw21jq33AuUVtKitNgWaeXED3v06/2f0X2l1yjCUWdTmgzCmzAfRzl6b3zIVnkTSdX2n5WuLbnxPKQ++z5iDMQqbJnEwpOuguB7avTGM5NQ1q/GGGkMLmUbO+X0AkFJ6Xs75eXTp21NKvwjg75WznjFjxs2IFkPobSmlzxgmmyGl9OkA3Hn25wFTVVpmorIoWjJSRYvLGLxwbH0+Ui+iWYyap7exjdLH6ytE4qWqKgv4NFs9GZ1mz/DKUppGEleDfYGlDE8n91YObzVwlmIxPNj2A11h9I+g0Z8eTMqoGXdL9hB7J5MoLhz1UoY3IdOkh836pACuHAPLFbA4BlYiaaxW2Fk5/aBikW1hGl8N4EdTSo8fzu8H8FUNz10zTFUHOzpgz0RNOvUMg0oH01IS/9VmEM1YNWbBBkVdwdyeM2ah+45wB29Rn7z9Qzya9VqkPim8dSmYaRhzORQGwv81RIZRD1MXOJpStmGk3jWoW6wqqZ0lLfq6MeZw4WLPOC5ejG0aqxVwPCwUs1z2x4vFNo3VFY1YvWqmkXN+O4CPSyndASDlnD9Ue+ZaI7IbTAlVLnWGlnQeZbns0kge0cEjeof+o2zsMShzjfAAACAASURBVPCZlaG0GBDTUgo1Lk1sKvW/SBLSjqEMwKSLg6XvMoykBUbJo+Eu/efc28o8IgZWyudAGoLH1LxAPp3wxsz14sU+/eioZxy3XNxKHJYfSxlWr8YwgG3dLIa01WIcfgCcAdNIKf0dOQcA5JzPxaZho3Ct09cGKG8UPcB406EoPsPrgFyuMjUeySMXMRsvTbWK6PYQ7TtiKBlASxIF0zYVauxkpmGMQ0fK0p6rXpSjIlqib7SjHXXaUuRnqxenhJJnKPJ2KBMyo6cxjYsX+9+tt25VFGD77ushnCA55SyOsQOWvtdnIWkA4MVFL6L3qryn4blrghYPgN435TvzjEJVPQzR3I1oNOeQXQ0BVxWohB1xt/M7vLe/iScqGzrHxbu5hvG1yDW9wLjTW1lst2ArP7sLuaN7ojbTuSmzG7tPGZ7131bL0hHf0nVqvdpdIpp26iJgPro8g6V7jFDtK8Y0DgeJwhiGMQ+mz6SMEwlojBiS2TU29pNu69qN0KKefB+fp5S+F8C/qT03Y8aMmxOnWYTnVvQ7oZ0bPPUk2nyY0SpaRouTjPRi597SbE5VH3gD5RGNwy+yY7gGPx09HDpMCvBQXL1bRihPslEpQ20XJk3YCKbqid7vvaOGaTNalvWzAKsseS+cylJDLdsDPOOlvb/SZ3l40lckSXl5mKRxYZA0Do+26oqqJ7xlQj7a5msSjEkrlq7HXbeVCCO02DQ4MvQAwFMA/P3ac9cKCeNdtbyINoZ90FHawm98HjwDZ8mmoccs3nuMw9szRCMuN2pW0PGNNs9tGBklW6GRjrnblqXGR1MvPKah6WwE9bwqapuwACRer4LhRWLqedcNHgNKM5eovo8aa6M8rY4sypODpLyoV48xWh4lpmGMA+iZB6t3Rw4j0IhQ+0VzY3hwOAubxgvpeAXgj3LOLbOyrwlSGi/5v+H2js5W6yBRZ/buW8D3FlSlGaaHTq1Mr1wry77dErsjFkN3LGdE7s4izdjVgbl+NQxa9X8e+Q6XY+bB6TrqeqM708ixBxYabfSVVkFTWH1xeLUaSK2+PTew1tFigbD9eXYR7zuuu/57exPdDpa7zNXOeVDggSKq1yi2hAeHxRkwjX9gOysZUkr3aNp1gzAN/VgtocHemgal3ciGYnekDh1pPTBzYYOj/UeGxdH/YlfENXRdW4fxOqjeo/AaWNfR4kaSP0sQwK6x0xPRlSatR6XPvr3OpWiRHDWvNcZtyaBSU41p8DEzEvv3jMB2bSMNYFvP2oYPqQ49OpiGUhi6hpGzGsKDw6IyF6KFaXwsnwyL8Hxiw3PXBAm7jdUasDbkUhTgAtjpsZHbUr0wnvgcYRQDwXQXGrm3gZBry8C44Sk8+4An/pcaoaoFlu6V402gsn1nSgxLbQbeKKll6mjq0ea9106aU6+ehGBljh4t1AnnGUkJSvdGTZK8NqoSPWMTLtcyIdPmnHgM5GABrImha/n2X1NPwiafUnpFSulBAM9JKT0w/B4E8EcA/nU52xkzZtysKE1Y+y4A35VS+q6c8yuuI01VlLgkp0W6uo1cbA9h1YEZNKsi3uhcsgdE1z14ElL0bItNQq+xhKH0e++iqsko+EfKsPxMyjCx1ySMyPgH+IZaT9Kwb+aN6N4iS0Z7k7QBv0xTtUqSmCGKF9H38WwRANz1Ykc2E/k2uXOMwXRd1RxVkxRnYghNKT075/xbAH4ypfQJej3n/I5y1tcIafzi7GLyGlQpTTtGKcrQ62glpuSVP6WzR+8wlQl5or/nsYjK9RpyyZ5xKOoJ2zNKqgTT4nVgO2ZDaNeNt6LQfGt1FX1PZXQtTMNTN6P3ida/YGOo5q9Mxr6DxzCjdFZxsqheo0HhKgyh34x+64Lvc65lAC8oZ31tkNA3zE2Fip6niN6frdSRu8tQasiKyCAWHXsGVG00rY2f4S026436tQ7tRSl678BSha77UGKwXp4effpea+kUkbThwWPePAp7zFWf86QYj7mzhMd5uzRYPds7OkzVyjHGYB4gpUMHQB1EbCNqS7M8Fh2wPC3TyDl/3XD4eTnny3wtpXSxnO01RIoboVmggfhjA7sdmyvZ85Pbf814qCrPDun0TIvYG61grfmpMdZTN7jzcqDVVPVEy7C8PUmDRXHXVVyR7CwPK88zEto1Zia1AUCPWRWx85qk0SrxtaqDwC7d9s4RjHFEA4/3zaw+uS4XxABXK2B5iCJavCe/BEDVEy/tuiAlP5jFg35wb1csy2NVaGyaj9eQap0sykfBNpftjf2fxkdo44s6hP1zR/AWowW2daTSTqlOdOm5mqQRSXY8enuqg3aoVcR4K1KH9y29SFaVEoC6t8wrJ2o7ETPiOufz6LmWJQs9ycbyX63GUsfV2DQ+AsDT0G9d8PHYxjbdgT6UfMaMGY9BlCSNvwzgK9Fvw/j9lP4ggO+4hjRVwYZQNhwBsTUe8Ec8YCtlsI9boXq2InfxCGrP87+meyKpdy2SJjS9ZLzVmaWlkS+S5FTSOFhuw5ttfgPbOTRP+52s2qa4W72spS4iNaG0e52+QxRB6alWJbUk+rbRcU3FYWmgVE4rPZrGRu3NyvxXYwjNOb8GwGtSSl+cc359G5nXHinVp+4CY3FcDVwGth3YGgS6IAnnpx/e8yrwgq5cxtQP7zEP7zhq2NqprB7YyKfv1doYdb8NngPBU7gPRT1RFU63LCwxKH4OiFUTvjcyjqo6psFndk9pbY/oe9a+s6cKbq755IZlR4OYt/IX4IeuL7oxY1qtzmDuSc759SmlL0AfGXqR0v9e7dlrgYTYpsEfhGdWeoY59Z54+26WdEmPadh6ixaZB8TeGwV/z2iEsWueJd4bKTV0W2edenloWR501qoxigs089LS09LJeLXCeliOjpelY4nPA3+zGrPjvVMjlOrPM95GzFvp8a637MeyCROXfL3BoxiRvKjbvwCM1iQZrUZ+Bit3/TB6G8ZfRL+z2pcA+NXac9cMaVfcHV0eKsWYBc8CZCMdMFZPTlbAyfHuZr0Mnfuh3hIT8yIrv4KZzs7UfqcxaPmRwc5zGSoT1fRSqDqfW1mmjgDbadoXLmK7MoxdOLowrjAAWK1wcHwFt1y+Alx+FOvjPt2YSCcM3f7VEBoxNVY3IkMu56FMw1PtvHrxpD6mAZhmODXU2kJJpSxJp9E3ZaksLa4ijJzw6TnnrwDwpznn7wTwaQCe0fDcjBkzbkK0uFwfHf4fSSk9FcB9AO66diSVkRBLGsztzSB3SJKGndsIxJLG8XF/zUY7II7ZYHAeazEq8XXvXFUc732892u1U1jchKVFblHOR8v2/heL8YK2BxeXwK239WvQ3XpLfwwAFy/4ksbxFeCRR4FHHgYeeQQHl68AAG65/Cjy5eORXckMpWwHaYVnRympFVEAVkkC4zw812yrnaiGSKqJJI3o+VIbBgb1+gymxr8xpfQEAP8HgHegjwY9t31dLU4j8k5YZzDxmRu3rXLkSMtYLrerNl8ZdOxSJKQn9upsUL3OjbaFWXgNRdUQtlOo2sLMgb0bnH50NLZzeOtv6H9aLsYr3d56G3D7bcDttwO3P67/B3oGcvGW7cPW4y8/Cjz0EPDQw8ADDwAPPdinP3IB6ZFHcXh8ZWPoOOq2KsvJapd5KXj6uD0DjL1sLbOIWxnGpk5EHanZOIByG9D89d+jL7KDeTRoPA4HfZXUf6DNEGqrdL0+pfRG9MbQZ9eeu2Yo2DR4tGVrvrVtkzR4TQZg3BgZ7BFhsKFTp0fz0vGATBpyvC3eO9i/NgxvfQePQdg5SxpmrDTJyzwcxkg2BsudFnqwS9jRYS9B3HpLn3b77cAdjwfuuAN4whP6f6BnJBdvAdJAxHrgxg891DOK++/v87j/Qp/+wAN9OOLlR4FB+kirExyuVsirrpfinPpxVzNbjDtAixu8xQ7AKEkWJWlAaYxQY2Qe8zO0elDMaGpt80y8J4yc8xUAV1JKPwngmVOePSskxDP11A2oLkCTPFQqsWXd9QOWjJr2wXUVKJtI5cZaMLNx8uNjHb1Y0lDm4EkVxhzZCHzx4tbLsVkr0oyVywOZyeYwC/s/OuyZgUkUdzyuZxZPfCLwxCcBh08YMrc4wGFjhoOeEeDxDwGPv7/Pg9WXhbwoABz3FWvMYzEYTbl+PJVjtRiHqbuSYSAJnMaI2SoNRJJBaQDR/KIFmUb5UFsr7YHbmbeP0tMZLMLjoXWf4/FDKX0ugH+EvhW9Ouf83YOd5LXog8a+LOf8UK3kKE5DJQ378YK2rLtbpVr/8YKMvBHK+8C2ClQpPFq9JVGbVHWDz7mz6FJ6+u4mWQBbV+jFi0C6eNR3WGArNSyXW8bBhGyOD7aZb5jGYLt4wp3Ak58MPOnJAJ4E4MnDQ3cAeBw2TGNjHnsAwK3Akw7GFeNx28WjwPF2wtHBohcPF8ercCS3evK8MJFHbOd1GxhGzVMxUum8jlvJX/OtBeQpEyoxCz6v2e2m0h1BNyqvIqV0AOBVAD4PwMcA+GsppY8B8I0AvgG9O/fLT0nPjBkzrhNCSSOl9G/hM4eEfjiZik8G8Ds5598d8v8JAF+I7TDUoUGCMe9JLWrTm6W4WIhlfLBp2JoMpmLY/QfL/p6a7mkI1xldOKPSKlhecDE2cPK7eAvdsvTEkoZJGRwysZEybr11K2lcvDBWUUrDN9DbHI6GPMx28cQn9j88CcBHYitpPAHA7eibWYftvlu3DGknwBNOehsGAFy+DByf+GG5i7HhKQE4HKSOK9hKi8A2WjSK9/AQSRk6kvNxVEV8rFLGaMk+fjbIt6SSlKSGqM26arNcrwUkltST7z3ltQhPA/D7dP5+AJ+C3itzD4APAXhJLZMkU+NVtNKK9FZr9gxKbC/QiozUFk+U26wyXvgoXLZG7zEdzLy81bujgC02eJr95+gISEfLwY5w1DMLYBuMdXTUM4SoRRqWBwPTuIUMobcB6Q70TOIJAJ443HwntupJBnBh+9I4AfAgkB4mF+2DPV2Xj3rmAQDLVc/QNhiOB3Vp2W0ZB9AzD1ZPeHkB71t4r+nZNwCEa4J6aoqdl+wjbFDXPUsYLdGkTEfLAKfqGtt+ckWPCJlGzvnn60VPgrthec75fQA+s/hgSvcAeBEAPOGWw7A9e+kaLs6WYq9yd1ZsXoz3AeVyoo9jDSCiqUQ32yc828ViES8Ws6R0SzObxsESW7vF0QXyQ5OkcXRYJ3i5HKSSw3EeuIBegrgF20nQtw3HJmlYhV2h+4/6coEt41oejsWm1RqbRR74IyyXSF2HJS3QaMxjsdiG9fNjbNOIRtTQALrY5nEg3zjyzNTA9jVuNyV4NjJLN6jtJso3iry9dOkSUkq8JesbbAeC0xpCT4P3YxxJ+nQAf9jy4EDs3QDwnKffmReL+4uiF7BdrVmDuNz8Cx98sdj9ACXY6KF+cM1XoQa0aEeyaD4Jj2qeMa4/OXDElYNtJ2XOYyhGRYmH5bQmstrQyGvqb14u9+Uvl0hYYTHkcTioaitRKzevUehoNalDyfTUC0Ue2kLkyWjdckPzcI3xIjV4dEeMhv8P1sBdd92F++677zaPnuvJNH4NwEenlO4C8AcAXowGdcSD551QLLqxfUKf18ZQCuJiaSMqLwKLnaXRaCTdLP1p7a1zIhibMluJ9lqVejWWh8DqpP8BfSDWhTX6cf4EWy/Jo+ibmO0sYwPXw8O9j/a/1Xqbz+pk1xjRBfIyMcCD5ZZulipY0vDE9ynfUttMq5TA6dFm3zUJo5RHDt7HO9Y0T01ZnJRpuW5MI+e8Sim9DMDPoG9FP5pz/o3rVf6MGTPOBlWmkVL6WQBfmnO+fzi/E8BP5Jz/8tTCcs5vAvCmyVQ68Fz7wNje4HHXdbe7fgIPpi065VnA9ahgV7rgtGhRoZKU0dEIklYnwOpwPJV3te5H902mPBTluIIXi37+CABcfAS48CB6+8Ut6LfoNpygl9FW2Eoa9w+/B4D1w/0cFKD3nly+0s9NMSlG12GMhtKBroNlBwxBdhrW7y2SfBrjoRVXU5H9TMpqapPkU7FPeMf6nhr4xteXlfk9LZLGk41hAEDO+U9TSh/W8Nw1A3vkeH1Dhul9XbeNfuy63tZmOmKkX0YfThlVpNa0IlIvWiMRd9Sd4d/mW7A9ZrUCDlernkkcXyFD45XeZtB1Y++JFdCtx8agxQJYXRjreBbwddtyoMIIexR9IJelmdpyP4A/AXBfH0p+/9C8HnpwG0J+eVjL+nhQgzbMI+++vPTCg2W3YwBle4aqL5Fh0SsmYjIlO0KUZ81YejUapf4rw9zRAOn48AzUky6l9Myc8+8BQErpz+AUwV1nhZx3mYbXedeLcVg3AKyXfYe6QJO0FJGEMkUCYVfaabDu/AaqTI0lJXXFnjijxWLR4WDx6PhhoK+oowvA8mRrdGQpo1uLTeMKcHxhtwN3HfC4FcaRnxfQa6Mn2Po2HgDyB4EPfhD4kz/ZMo0HHugnsT3y8GbuyZZhOFJPR9q9cOA03Hdg/9hdbZ4lEc+rpsxkp42RFHcaewnz3ej6lHS+5klY3G940FOp48IZSBr/K4BfSCmZC/Yz0e+Hci7I6DuELakXrSLO8Q68wc7RUf+sThv3rORcqR5nntJAInij3AJB3qs+EG2zXH/nz6rsuv5dPQPZhW6Fw+7hMdc9ugAcDQxjpLPl3Ze1Sj2+QCrOaru+wCOPAHc80Kffcht6VWVQT9YDI3joIeCBD22ljAce2KY/8mgvbWyW81pvGVcET2Rzht+EnokYIxkxkRXNv0AsfUQdzRvdPTIiMiODfSmP0jWPvq4bL/vg9Z2uA9aFqgbaZrn+9LDD2qeij7V4ec75T2rPXTPk7QpbwFY9Ke3zwCOwSR9HR8AJpZfUFd1Qt0U1abGslxoFz5blHdJ33MHYpnEgkUpZB8PxegVc7DocrXo7Qjq+Mp57ogTqCL9Y9PddPtpKA8cnvcpjU97v/1CffvHiNsp0tdoGbD3y8HhqvNk0NgzjZMskagt9bv6Fdj0HtnkO75K6Dger1Wj/D2CY9QyfAZREfWX0tc5e9XjR8RTJ1Zukx8sL2D0R0ziuqCehcJRSevbw/wnoZ7T+IXpX6TO9bRpnzJjx2EBJ0rght2XMuZdcjWPqjlqRimLnvJWdrl4VrdPBnNrOW1Gzb3jir9HNg3tpHU/9Xw/3nazGAWK84vp2YaIVlstVHzGqOs7wv7M2gy3CYyrE8XEvITzyaC858AxaFpdsCDNj5yMPb6ULoDd+DgSG2xq4FXDgp+9A1i0YJI+0Wo0eOVgAq+Bbezvxee2vZXc8Vi+9NuVN7bfj6BU9GwzTZvmxlMHOhFzRBIFyGPkNuS2jMQ1WT1TsYugWfxHT4PkdCmVGEROYsv6CJxYC24/uuVzXwjSiiVCsyqyJYdp7Hx9vQ9FtEZ7+/g6JXK7cYLnc5bLDcnkZh8Y0Ll/eMo0jCgtfLvsObYbUDZMxdWZwrw7pxtQ8xr9Y9GJxAlWU3gRsDbmh7J+Abri2Amwvz8Wicxm4/qtYb+lq5/CeZ3LN9VoL1Cqpwl6Qn6faMHPw0iL7TIQWQ+gNtS1jxphp6BqSHkfWaMtDYRq2DODJYjznY1Ru5cPpyBHB4/7a2Lyl4+xf+4Kdn2C3HynDNKbBIepXghB1g4Y/G/NZLoGDYUGcC0eXcXj5MnD0yHjeiBlWzTZybB6RFfLxaiMxmlFbmQWXZ/+7K09ZKHvafTAEc+h1720Jlo/nNqWjM0sV3j7AHtPgQYFJ0We47FJH9gYXr3z1vGnbYwPpqQ2hN+q2jJGk4VWu1+AXC2B9NBbdjYHwHI8WqAphI8do+nPnMzWTjrzGtnlWGkNpxqTHTNQNy1PrT0gC0bB1L1/txLzoz8mxzaw9xmJxPLqXOxyrlLwxlbcwDkuB9t91Msks6i0ed2U4lc2DwrqL98FhunUBak9y9IreYRxyXTt7ZOQHduciec6jrouZmqdqnXqWK8bbMn4ftkzjAZzztowzZsw4P5RsGjfktowqaURi/ohbs+4/jFjL5Vbft3OTMkZ7xRYMTq66gK0RzcAiLW/EpEZcptvK0PKA8ftEtAG76slisauCRTusRWWHa5Ie+/l4787ivWe/UIN0q+RXhSfSDcTwpTVJEmtKt3cwCbEkadR2dvPeS5/1XP383Kaul+M8WMLj/FTK4HRVW0posWl8Ykrp52Tuyd/OOf9vDc+ePYRpROI/4It0Xbcb3KVMw7MheB3Km6au91r+KtLyOX/A2mbWXv4euJNbed6qYNE/v5/HNDQ47krARPkdNUZAwYxIVZx11zfWzTYEtQpQ+Z8biM2qHaJNbYtI3h7S2pgyO7PBeOpJ5O1QZFE3rU44LyXZG0w2zNXqdTGeQs95K+PxyrDzqw7uQu892agjw9yTzwdwLkwj535fkrV8MD22cwV3bv5QnqRRWl5tY8OQxh3pqbzJtKWxflyTNMxz0rqKk9Fv5fEobgyE7/PKZMnB6iyyi0S0ZXlPYLxTvEpD5gpmxmzRraPvOaq0BbBduGBMgDYIm6AHAMfHWB93G4bhMY0So/ekRq9YhkoBSmpk02BYnVnQ32gt6Eq+LM14g+1qdXU2DcNBSunCsH0BUkq3YLtu23VHzsDJyXikisTCaO8H++hc2SaGLhbAQjqaHXM+3oxTjtxklNSTEtMwcOeNVAhPqtJo0YOAxsgAaoyADZOLRa/WMZPQuoje22Pu3OgPiWFw6L/X6A9GLf0EowWBFhmbSXgbYoZJS6tt41GGYZtk8Z6+9p2MbpaaeNBRV3GJaXgoSSuqlqDrpQqWIjevXvkOlpe6jj1VJUIL03gtgJ9LKf0Yeo/nVwF4TcNz1wTmclWOCdRf1ipbXYvGQHT2a0mENxendsrSR+MGyKNV9A6cj6dS1KCMwZNWSjYbLtfO2dMSqXGe6Ou5Vu05ky6MHmaudrxcbr0am3tBHHDBmQYh5ENmRsejl3sGoZKGShn6Ph6jV6YxWlawwNx10pvHeGwwU+bBYQOjV3WELaZd30W/zVVLGjnn70kp3Qvgs9Grkn8/5/wztedmzJhxc6JF0kDO+d8D+PfXmJYmmPdkw4Ux/vcwGky7/nwNbAxIbI9QOwXgx0d40kckHgK7nJ5F35pNg+nzArDC9w7o5fTS3CRWUXRGsEoXpYA4zwYAbNUefWeemczGSE+CWyz6aM5N+UocVWxedVitxmrI5cu+esJ0e9KAfrMoIhkYe9N07VhPKvMk5shexvapKNaG1R61qbFh1/Jbr3bzYFSZRkrpUwH8IIA/j36F+AMAD+ec76g9e02Q+49g9bpGvLhHZGHvul6aZSu2p1ooY+AOptdKeUSNyzOEemItGyMXiy3dNUzZxdyziXDZpRnBLYzSY4ymcmg+B8uxvs4d3ZYCZVVyzMB6JuLRYgbO0ZSZy9t/ZlRe4J3HLAA/AGvHDrG5sFs/mne0qFQEu7Tqysxb1RPPE7RabZ1LEVokjVeiXwT4JwE8F8BXAPizDc9dE2T0nZffy5MyFvRvjDMNz9nuTDwlmtepiLwJO2U4HafmSWCO7urNdD/vr2kjsmecDWmk0UljR3ZuDa6rdNNilOU8ubEqQ1ytxvYMe8+T434LVy5P6dzYOZz65hGXO7a5VmuShmeg1ry8OSKleizVjZ2Xoj+ZIWhsTfQdSlKMGuJHIQxn4D1Bzvl3UkoHOec1gB9LKf1Sy3PXCmuMR31+x0T3RPtaZLn3AAMD6Uh1QbvBEdgd9bwO7Ym061XPKOx9vHc56IDuOF6lPJISrJwStLFH6pEel6QYNQhqXIYxPzXicQyJ1t9mFKaAMvYE8f06DwcYB2ZdsZUEhWmoSuS5O716msow+H08acUzZC4W24Fw7VyLyuBjNbgzw2AJ5CziNB5JKR0BeGdK6XsAfAD9LjjnApM0rHPpd+L6W2NcwcZEOrnXtidIcl/RUKLldlsXpzcya8PafDD0PyuqI5qNjjykHa52JaKIObWqISoSRxPnIhsOsGV4HtOIdPWI2XlMgGlU2wpPtlNa9T099YR/1nFUz49sDKVzTm8ZfKIARQ8L7EoejGijJB20PEl3taozjZax9G707fdl6JeTfgaAL254bsaMGTchWlyu7xsOHwXwndeWnDps1PV0/wNKX2CXI0ZG4ZGaQvnx8zWhwySVg6431nmhwgAtgtL1ea7op+WYNLVGv9JmBjZGXCCWOoDyaOWpD13nvKOJzhgbfK08Q02qiaIaS5KGjognq37BW4tCZYMsqzolo6yJ4bwMiCdpsD2jReXQ+gTaPFye0TMypmr6YoGNzSpaMKikQrGtSQ2hteX+SlPj70XsmEDO+TnlrK8dWIQHxp1LVRB9LoIxC1ZTIrh2h+HZjSphH5w/HNFgqpOpWitK92wuGduPZendwKDUUAbEjdbb8NfoiqTSjc1neIlNXVU6Bht3d9RIYqzec56KY3OGgN39bY2WaGkDj2lE6knJk6HLHjCYMUaeDMBXzaxc/td0Dy2MwstbVyhn1ezUK3cBeGH50fND5Ga1Dlt6zu4Ddm0bOzYN1KUNu56H5w/QV6oxa86L6e6w9QKxN6hk07Brh5J+MHRkDooseUtYqmAmlp13XKBnaFw33ZAe6vF0rHVuSHajI/5pY7fOboslAdtQ9miSoTIOzsc6iDIM7jjRMn1Rvbp1ETB0wGfepXwjaaOVabiDBUkbvNZJhWcUp8a/L7p2nsgYN0CuswXGo/TOUmrYHe2BXSbhNfBaLAhLGpYPsEurJ2mwN4g7rqonloelL6lMY1gAMQ+htXOOlVlo2zUGYXkZAwn3JHWej5itqVuduTq7cWMGxh19tdrOTzkMmIaupeqNrMYcbOKjMQ2dkr5Dc0GyqhlC1UAPxIzJy7PFGMtp3hwsjxl3nWwJgqtgGoYbLrhrQKR+eJ2Vr9tozdd5vbeG4AAAIABJREFUsOPOZ4g6H6ez+qAjs4HLtY/TImks6JoyoQPsMix7h6hN6vt7jNTg5eP1nYghAf63YBrtvkMnoEoZySa9Imns0OeI4sqQWD3hf2ZANfuNZ6fZycuRErx3bLGnMKLJmmrH4GNjGNYHWphGi/fklQD+GoD/gn6jzq9Bz0RmzJjxGMReBneVUGLOLGXUxGZDSRTXALIVthWq4rynGrWqJ5FhNtF9CeNtl71nPbWuJhXouy+wW2+lPCK1h9Uqft+uA3Acj7I2mpohVKf6R8ZHnQcDFKJyG0Z4T1KIno0klJqkwe/bikgV8bwnLGVMkTT2LrgLKDOG0n3KMKLKUfWjJI5pHsYkVLWwfNm1agyD1Q6PmS3gTywzg+uh3MPGSg+cf2QctnKtY5/GwBypPJbGhl5L64YHzc4xorvbhp3nbrw4dIsnx7whuveHTkxjHBBz0IAzzduOW+AZMD2PzZQ9hDXfyM0K0NwaXBumcTf69vMyAC/HDRjcVdLdAV9/jzwwXoVF+atNw0Z7jvVQ1zB3KDtfY7ej6TEzAo4jMWZhdg2mxUOrNMASBbuhubOX3s0rS/Nn24+lKRbkImXY6L1etRko+X8UMt35o7OBY2Fayjjtxt8eU5tq0/Do0fwtLXe9V+cE48HsTJgGeVEu4wYI7lJEo1lNFPeu88jKeXqdxM7V86IdWCUNpkHVEM6Xy+V7Okpnuj01Qjul13lL0oDlw1JL5JXi/ErMQsvl+zwGsuiAJCoIsGUarR4N7tCe29HDRrIQojx1I5IQah2Qy/ZW/2pVlaI8+ZxpNLe7TcuwR67KEJpS+sKU0kvp/K0ppd8dfl9Se5EZM2bcnChJGt+Kfkq84QKAT0Jvz/gxAP/qGtJVRaSX10bR2uinrkvNX+GN8NG0/bUc86g8RRJlG0BUbglcLufH0Lz5XjbAcp6nlKY3z40Cx+iaxVewLSEvfbXBczXysY7enijPtgtdR9bSoxgKVS2MxNCYTtJPyeVaihtpkUZYLdmUjbGaDOy2DQ8lpnGUc/59Ov+FnPN9AO5LKd0whlCNsoz0aX1O9WsPUUCX9ywbQD0PjGck9KIwWzt+CacxWnqI1J7KcgtuPi0MxftWawwRld12DQ1gPNWe4dkw9FrN0MizlLlMm8kM7KoE0VoYNebhqUqld/DyZpTiSPi9uR1OHbxKTONOPsk5v4xOn9KQ9zWBhopHXLIU5XgaRAyH7QrWydjWoTYNQ831qyjNh2EaOH8PXpl8rxfY5jEOD8ocmFmWolNLdkZ7nl2mwK59Q49L08M9Ghg2L8aYBXfexUCwukVL22uO8qZjL9iq5HKteVJa9hPelIdxX5oyEJSYxltTSl+bc/6REWEpfT2AX51QxplDG7EyC0uriVpsUORQaYXHfCIvi+WjUaZMm+Z5NdIFMyhmHlFErJap9xndapRsZRzA2HDsMbscPB8uz4gtw/Bm2WrHihiDSqFMD5d9gH4ioEkZI6ax8BmS1+Ejg6l3HrlcLf/RvQgwMLXaDGvnsQ3WKOQ/oMQ0Xg7gp1JKLwHwjiHtE9HbNv5qJd9rCn0pb9SO1BP2Anj5RiOidm6vs7FnIVo1jGmO8vLoiybobWa8Vsqze0oxFfzu6tr18oJznaWNA/gMsbo7mpS9tjK6bVkr6ZxKV4lBhBIGPWPlrTts5vJYp95pIw2qRWv4eSkUPGL6yvB4Gcud8ugda/UQoTRh7Y8BfHpK6QUAPnZI/nc55zdX8pwxY8ZNjJY4jTcDuGpGkVL6MgDfNpw+BOBv5pzfNVx7MXpvzY/nnH+gSA/8xXRUHanZNHgkZanAuzeSMkqje2mUrj2r9EVGNE0vrSVi99VsGl7+LIV471V6l0jaKKHDboxKxxed+733qc24jWw5GpuyeT6wWZQkDb5nk/9i97q33KL3rNHttW+WykpRyaDntY5qEjLQOPfkjHAJwGcNe8F+HoB/AuBThmsvRu/OfV1K6fac80OljJhpsDisnhT+B51H4nakmtTCpCH3tSL6QNpoWdxXlJYC8O5T5mrXeKV2Rs2lbGlMZ/TsFGhdq3Vfy6wx9dJ9mm7nC/Qivhdw5blddcX1yDNzmjBxZXj8HTVEwJv17OV3Wlw3ppFz5kluvwLg6XSuc6/ifDCOdCzZBrRzKGo+dL5WCpPmsiNJRRkSG0ujF/ZGd4/WFjeo6sN6vxf7EZWpacZsPNqmWOWZ8bW+O1D+Dh7jr0mezJDUMKnxIsDYgFkNAS/01sjuYdPpVUowT51iZ30V+APlaXE9JQ3GV2O8Y9sbALwNwGtzzg+WHjSmsQkzpmvKiT0x1RuRF0E6P+uJti1rUmjZnsfGCyPX9U7X2P34lkfrqOExDH6WaYkCx4w2pYWlv1p/KblsrQz+vtyZNS7G0OKZioL/rA7122yOzUhpaY5q4a2zqnXrQV2wU7bNYOZhYEZRGgz1OavLluKvO9NIKf1F9EzjMywt5/waFDaVTindA+BFAHDL4eHOIjcl/dobUSMG0Wp/iNQgL1hLO0ppngXT6DE2a8xsw4jULYWnpnn31GI9vFgUheexAHzpEPAZqXa41u9VYxiRTUOZtz2/wJZJLDBeus9bZ9XLOwK/p+uClnIYnvdD202LJG336T2XLl1CSulhSnpDzvnuiNYzQ0rppSmldw6/p6aUngPg1QC+cIgubULO+e6c820559vuvO1cg1FnzHhM4K677oL1ueF3t127ppJGzvlVAF4FACmlZ6JXQ+7OOf/2qfOEb81XcLpy5FYOzPDsI6qS8GgWGWBbjbDeqKEqSmm0ryEyXurIp1IF01oKIPPy9srnfFj6arGtROBya1MMPKnT6nlHauy28RtcjrYBhZYRGsCDoCxFSU2OpNSraSuK66me/B0ATwLwQyklAFjlnJ97moxs+jnQv8CUCvH0TA7MasknMqZ1iJlGiyfEKwfYNuJWdaR2PWrcDCvHs3GozYWvR/YSjz5dj7XFzazeIq8eS0ZPr5NZOjNDZgSqDnrlwCkL2NahMsTW9pqJQV2NN8rK9dDh7MLIzxQ5569Bv77o1eeFXeNYy4fQkYFHVa+R6qLAXn5RTADf4+munqdH4Rk9I+g19cjY3ikGrr8phn5mtHqfZ2iNaGK3INunbBAw2Ln3fSMPVORyjYzAytBVqtG2UXLpeqi5PxXR/rGnhbWdqI7YPtJS1Hl5T04NGwU8cbkFJW5rzMNbpWpKkFKkmvA1b1SN8tHrkbSindKDqjgnDm0lWrx7VDWLvFZs2We3oL6fMg6jVz0mXvBSRLdnvC49U6sTz9AKhz5vsODQ/5r3hI2sTP/UmcZM4yZvbDfrMjrPajXyGTNmzNhg7yQNwOHQ8CWBlklsnG5gnZvBszcjsT4akT1RuGbcU/cnG0P1Pk/01zy4Hiz9EOJeDOhmeGJ6h36U8urbaGLJijd64hXcPWOvleEZi4GyhHU1dgDPdmPpNduNqsyegVmnL7B7l9NVhVC0RkZG6tq1WFj4hgZbupv0xeFfvQDes95mRQzt9C36YC2PCDUR3DZN4nsjZsLMgW0TzEy8jmJQMZ/3o2XDIXcUtV0A24WYmQZeYd2e9XZ1U6OwGrUV3Mlb41q8b1MK9jO6uBxVQdm+UPvuqlopM9Zv5G3QpXlpnivsMo1gfaMN9p5pALuWfk5vlQa4IWngldfIPPdr6bhkcNTyDfbx7CNFRlXANw4rw1gPafqunhG4Ri/XrYY18zYNnN+S7rf3YgaxlnSj26sbljLUdjBF556y2Tewa7fRe9gwGxl7jU5IPh4TiWxFp7GNah4r+Ezjppc0DKVK9CrbYxgq+mvnU3XBo6GknlyNp2KJXU/Bgq4BvihcYxysNvBxi6FNpSxriFwHLA0wE2QG4b27t8Wl0Wh51yTFiHlEaqch+lZRx/XaUskDY6qJp2ZqfpEhVxlXDczggV2GcdMzDa1szwvhVbZea0EKjiNvSocx8zBYI/RojGjy7BIqKZh4H33IKN6Br5dsNPpsiZloJ9J/z57DblPvHTz1A9iN02h5T3uOEXmZPNUDaPMSWb7qJTI6PE8Q0xLZ5pi2iLknuY/BdhE7NsmQmUatf8zekxkzZkzC3kka3jJ40ZJ3JbuDpvOIpqOXjgCR6BqpJiV4z+jIXOPsbFiMwCOtJ1qr+BrZg7xybZRa0M/geT0sPYqwZDo8mwXo2PN8sdejVHe1CXe1ILGSeqJxKPo+fK+Wq1ADaBRvYuV4gXCRxG33qwRSwt4xjQhRhbcGwXiNuAVTVJ/ISKeNUm0BC/id2NyV9uF5A2hrELXZwNwBNDKw1b5hKpP9a8eO4M1A9phA5BGx6zXGwelcJ5FnBPDrwe65WvVkSnQo519TZzn/GgNiZpEl/THBNEruVl5GX+GNXsBYopgyp8WTNhbOr0RLh928gPGH8vRSj2FY+cBuHUUxFifOdc4HwXkWGvSdPAOzvYPm6zV4vb/0XdhmMmWldpV6tA48KUPzNpxG0oigkkYLosFJ3bVTB0ngJmEaNbC3oaaicAPnxqf3lj5g1ElaJA0710bsMROTMvgfGDd2DoMvSRpRjIUHT21ijwirc15cjEEnrDE892/kvYo8FTzimtQRGaM974SWEwULMk1RnIaX5qkRmp+W7cHzzHjgweRqsLdMQ7m7jqTeZDP2PGiHtIbJblc71sbOIp33IT3xvMQ0ajYSprd1ZFB1S93JBmYWNZHbaNU0Dhpjr5K5U6NO1jrickevifbKPLKT3qpueN+3prK1SE5ch1FshsH77l6Qm+UbSWr6XImB1L7H7D2ZMWPGJOytpGGoWciB2P+t+QDjUX+B7dodnL6Wf82DUbNpdJLuic52zwrtXF5VFVUFNDKQpQ2Pfi8WJlrLgiNY2Q5w2hFsiiQSedK8erVjffeaNFFTE1rRkj/Xn16PjMSRtBGpOCyBJyc/xd4xDX1x1XdVpwTdf4B4zxQ+1rkQrOsrDZHaEKko3geuqRysi3MEpW7loA3F5nYw3ZwfsGvT8IKFDjGuV53SrrYNNRxGaorXaUrzJzzooMEuR7VP8b/RwWrZFHtOa3oJnpE+Msh6qpIOOJquKKmK3H9uOqYB+MbKEiI7hteQPN3R+yheB2uhoQamqWYg1WPPFsNzOLwG43Uahtd5jWEcFO6xvI1h8Lod+j0iW0cNkXeEr3k2CWaeOtkO8BmnYgqTUAbrRRl7bUkZRq2eSnFECNIUJQ+fYS+ZBhCrE55LThtnJB2YlMGVErlzlft7eRlNUxF98JK7lmnxgqFYjFVJyXMv8rOWp6UZw+AlF4HdDqAMQ8tskbI8aYYRMfYSmA6euOV9S+5Etf1pPCkyeqYl+EoZhl6PmIjXVjwp77Rq1l4yjZIqULqP0yLpAogjHHWE9CZnecyC1QtGdp4rqTtXw4DYk9Aqfhtz0I5j6cwsvAlYyhxM6mEpiPNuGQkNbKvxRG2vs2rHYymrJLpzvjU3aQSuP66rlnf2YkNOwySjwYHRku/sPZkxY8Yk7J2kYRw34tSs00bPRqN7BCvPs4lEkob3rEobHi0RPZ4HJvLI6NoaTIcHi63gxYd5RLRVtuxeDhsHfGmE6VN93NTAQ7l2mhGsFA3cAlNRmA6VRlq9N0pLh7pUwnl7bXaK9FV6Lsq7xQOo2DumYfBsGgzvQ5s6ocvSRRVljUE9NJGxMlKHPKbjPR/loQxDmQYwrcN593r0sXpinWGJXUPogu7xdHVlbBFjr7k6EdDoMUkPkfcsKscbmNhupgMAq4BrOZ+CKeHiSkcJrbasGuPYS6ahH7SmH3rSwNUaMVttEYDPHGrXteyIadTo9KDRnDpPhe9TBjEFzBwW2Lp/2ZMSeQ0YNSZSev8ptgNvrgkzCc6v1rHNZnOIsbRSqsdo8uPVhn57btvIlevF6ij2kmkAdUnD45ytTCMaYUodu0RPiWkog4oMnh7TmAI1DrYswMtShhpCp0AXLFI1qJTfGuVJh9cankppdRKFcxtYQq11RPbsqXpk6WcB9Z6oxNFS1mwInTFjxiTsraRhUE6uI3dkvIxGf5UuUDj37o3E5ZKUwvSXJA2PhqmYMi07osUT20FpGnDF1y2dXbeRjQB0vSZtTFm2r0Xs91RUVVN0q0UPms7h/fpOuj5nq3TBtHL9e1KFF9imfeGmXI3c82QoPNUjUkm4o5dUAzj3cEfwtiqswd6FF9LVsOuajSW6rh6NEsNo1f3N6Mh5W+CYt3YEP1czWLOY3EqPdl4t92pRGkRKYfBRmDZ/X2WSHNIPxHaHiB5DNFuX7RUaCVua2avYS6YBxJLElGPNy/sv2RqUeXFnbx3JNR/OozZPRvNpMeDWjLveuRn1gN6wZ+c6z8dbpaqUf4lGvjeSRvSZ0nXugCxxTPVUcLCaV5Znj2DwnBiPqTJNa9RpjJgTMB50bJoAL7LEkbDc1k5Qxt4yDYVyyJI3QxExBjtfBte44dRUH8/z4TENZhgsfZQYXwuzKMET4RWWN8/6jZa54w5e2rioRUUs0WTltizk44noXN7VuDkj1clbdk8ZK0MjPzsnzcpuodee4TyMTt2+QMssYe+YhunCNW9EiVl4o5J2Yk7zvBb24WsLmaitgvPmhsOjsz3D4eyWV4sq1qFNxzeU4iNshNI1Lj1PjDVmVYlKNp7a7OGW2I0I6hEwZqwieqsEBOzO9uXjVsahtCmNni1C7ytJVJFNg9WTEtOoSRqz92TGjBmTsHeShqLFB8732n9NyuB0+3mithcyzaODJ7XYc9EkrxV2aaqpJyUvhyESO6OoQC6f9WylO1oa0FSVhXPNe5brrTYbszTaldYN4TQegT0pR1EzsLZIG9GUfaXR6PBmtzItGeNObN9K69WkqhNKs7amkkZNqtt7phGh5O0oGTxL9zNKaxlEjIwZj84S5Q/FK19pnpHdppPzmnHUyycK69b1IFRl8ew3QLxqWERLxCiiTlxSe+xY87TOY9drnST6/h5K+ahr1VtHw1PNIhWF98Et7VBn+alNQ+1vUzx/e8c0pq4DMEWq8PJobTCqR9o56//ccZaIjYfAOFKy5oXwmIYaU6M6K0UDLugeOOm8RWJJ2vBsHQxP2lBbhz3nrRnhSVDRqM16fU3CaGlPp4XXjlWy0I7NNNi35Q20o+05vajSKO/HlKRR6vRTmUNLo4jWVZgyq5Hv99YxrdFdkjR002hg3LlbRnIum5maqj3R4jDWuD2m6b2HPVtiYsyUI8bhqSc8SbFmaGSodOhhqpE2qnuPiUUd276tbqDtrRnqGUKvBjcF04hGBPufwhBadGXAn3vQWsZURLYN7XjcQaxRRbTUmIYyKX2/mn1C8zUGYvA2brJntCNx+TXpJ7IHsGqiksVUm4kxq9POh/HU12jqusc0gN331Py9fCJamJ7o25bynzFjxowi9lLSUPEY2B0ZI0nDni/l3QLVzyN1pYQo+Ccqr6ZPezpri7FQy9Fz3Sxp6dxnebHtQsXsFqkn8hZE81yiPIB6SHY0Aiv9ut5sZOjmZw0tEhmn19QlpUPzq6k+EaZI43vJNICxOFXyiHj6neeJOC2YeUSMwyun1olaXY1R3qaaRNej5y1/ZQxL+jcjbrTgjtoRDFHQUMu0bGUSUZrlV7Jf1JgG58/0sbu0RUSP6qgWoHharINjIGZI3kBUG/z2kmnoR1tgl3l4xiu2InvGJc5vKg32XOtsxygN8EfEFrr4Pm9093T4FhsJ74WxxJhxMBbYXR3LGEdkqPToV7TamTgfz6bhMQ3+VwnDo6MWZm8ozcGZGrLuleXViXnqPGNyyY6j+d1wNo2U0iellNYppS+htBenlN6RUvqmqfkp87AdoniJfQ/cgFbO+cpJ1593n6kc/Fs56SfOfXy/V7a9Y/SL3k0nJml69L5cr1afzDQuyO8ievefMhYesXXEZ1q8Oi7BU8emSpBeHnqdf/YO/L00H4Y3sPA6q62ofXOD0Vb69h7DsJ8t51jCdZU0UkoHAP53AD8jl14M4JMAvC6ldHvO+aEoj9pcDy+t1BAAvyL5Xi+fqdy2JNm03M9QRhndG6V5I0+Ur16zhsW7rtk1nkEJbMV5z6vSoiK1IJJWajp8a56RGsE0sloaLbbs5c35lKQPj/FEjKMkUUV5ax41pnC9JY1vAPB6AH8s6Rwgd5bLIcyYMeOMcd0kjZTS0wB8EYAXoJcqGG8A8DYAr805P1jLKzJE1RaasWdL+p2etxgTmSZPVdByvedr6UZLq72lJmV4dHmGTy2XJQ21H+mztZWoSiO4Z9COZsxqXlNG7YgOT8rieora4GmlG7MFtXzfknoCjNU+O+dn+Z/zY1pKuJ7qyQ8A+Lac8zqlcTPLOb8GwGuiB1NK9wB4EQBcPDzER2Dc6KOGoB1eP6jXuaPrmncJkToE578lP/2oreJhKV+mQ6fgA7t2BoO3DymHzB9gvJNaVGbErOzc0tg2NYVheJ33NB6LaADRY3Y1Mx1T4E14i9RuZtiesde+n6UblnKsDMgY9KVLl5BSephuf0PO+W7N48yRUnopgK8dTh8P4CcGhvFkAJ+fUlrlnH+qls9A7N0A8OF33plx//3+fdgNMwZ2P2D0IUq69WmkD073jHQ1xlFjFKURz6PBs80wXco0PLpPM5KaAVHLVLAxrmYbsHwMnnemFadlJiV7RTSZD5gWMxFd95i3lRdJkyX7DDOhAwB33XUX7rvvvtu88q8p08g5vwrAqzQ9pfTPALyxhWF48CrEzr05HAoV0VrF5paG5X2cGtOYIuVMkTpKI6PSrEsLsuWd5yzwe2hdd9hVR6J3996HGcYhpQHxJDctcwrD4O9fMvyWno1ggWVTVy5jySEqw5voqOC8vRms9r4mbSiTLuF6G0JnzJix5ziX4K6c81eeZX4sfnlTtDmtNoKU1IdIMjkNSlJGK3Sk1GuabhJFyVVnsAlvNpLbaGVrhOoaG51zL8cxaFnee9iIp0bWFukxChiL1LqWez2jrPdv8OgrqVWRetXiPmRjZTRRsCTVXk3728uIUAaLlrVGoIa76IOyXcSCkTzxtWTXuBoG4xmnInq99Mh2AcTL56uKcgzgiP6VEfBiNjz/5kTu5WAj7/voe+resbqOqkb16nRyRUv911ST6N/r3Mo4vLqO7m3FabbItLIjRjIlz71kGlO9GupOsobqfXTTqy0/bph8T8mwVKLFy8O7pp3JO0bhWGlgxuDl16FnEMxcNFoUwz32rE5b54hWLrPFIwC0bdGotgxdI0Lr1OuwLTakiGm3BhGV5oEAZdtLrYwas6nZ7CyNfxFj87C3TENF49K93rM8IYsrlyUNflZdalcLZjoRjdqxa+KzoqSaeM/wBDOTLpRp8LE1HjWEsgHOG8FZGmutU5UomGF4I+jVDCxMmzIKb9V4pVNRWmfEo0MluBJqs6KB3cWYjAbPSF3bXc3y2yvYaFQbTTxwqC/nEVmOI987z5S9GkbCz5cYxCJI5+eizZ2ZAdZo5cbDjUmZxjHGzEHr35vNWirb+34qzfAan5ZemiujkmALY/Xq3AsYjEZyFvM1XqRkX4joa21bmg9Ly1F5dq5MQlcC83CWg+eMGTMeA9g7SQNokzJaRhlvuX29v0VcU9padUTvPTypovTf6l/3xFNFSWVjSUPFZpVsdHQt2Sr4O+liN3ydbRhGR0nS0O8QqYH6DJ9r6LpKdRxPUbJxeeqTN+q30NwClRZUevRo43tuuoWFjy5cwJ//hE9ovl+jC212JqfrepVWaTalXcU4vscDfxgL8vGWkGdwg1xglwkk7DZaFp29jsnlWZDWCXr14nhIvzIcX8GYIVxAb9c4omOgrz9ziZbK5nc0DwrXWbSXR2nLQrY38cbFyhA9WwSfe8xB7zc69N0iO4N+V37nLOmdnHO+0YCo0HdTaFtTgz4zZa7zJYBnPPvZ+OV3vjMse++YxiOrFX4zRZ9uF5cuXcJdd911DSm69jiPd7hyhnnt+zfYd/qBae/w7ne+E5cuXQrHxZTzaefl7QdSSg/nnN0Y+n3Bvr/DTP/54yzfYTaEzpgxYxJmpjFjxoxJeCwwjTecNwFngH1/h5n+88eZvcNNb9OYMWPG2eKxIGnMmDHjDDEzjRkzZkzCTck0UkoHKaX/N6X0xuH8qSmlN6eU/nVK6fbzpq+ElNIzUkr/KaX0npTSb6SU/taQvk/v8Lkppf+cUvqdlNK3D2k3FP0ppYsppV9NKb1rqOfvHNL/bkrpD1JK7xx+nz+kH6aUXpNSunf4Nq+gvJ6fUnpbSul7blT6h2vPSSn98nD/vSmli6eiP+d80/0AfDOAf45+SUEA+G4AHwvgfwTwN86bvgrtHwngE4bjxwH4bQAfsy/vgD648P8D8FHoA0nfdSPSjz4Q8vbh+BDAWwF8KoC/C+BbnPtfAuAnhuNbAbwXwLOG838B4BYA3wfg2Tco/UsA7wbwccP5kwAcnIb+m07SSCk9HcAXAHg1Jds6wx1u8H1Vcs4fyDm/Yzh+EMB7ADwN+/MOnwzgd3LOv5tzPgbwEwC+EDcY/bmHbcpl0fElr0AGcFtKaYm+gx0DeGC4ZjPar9u7nYL+zwHw7pzzu4bn78s583SrZvpvOqaBfquEb8V4escrAfxjAH8DwGvPg6jTIKX0LAAfj34U2Zd3eBqA36fz9w9pNxz9gxr7TvSbd/1szvmtw6WXpZTenVL60ZTSnUPavwLwMIAPAPg9AN+bc/7gcO3VAH4JwCLn/J4blP4/ByCnlH5m2AL1WymrafSft5h4xiLbCwH80HD8fAzqyT7+ANwO4O0AXnTetEyk+0sBvJrO7wbwg+dNV4XmJwD4TwD+OwAfju18wX8I4EeHe54H4HXoR/QPA/CfAXzUedM+gf5vAXAJ/fYhtwL4ZQCffZrybjZJ43kA/kpK6b3oxeIXpJRuiFFtClJKh+i3r3xdznnfAoveD+AZdP50AH94TrTOYen6AAAFXElEQVQ0Ied8P4C3APjcnPMf5ZzXOecOwI+gV7eA3qbx0znnk5zzHwP4RQDPPReCBY30vx/Az+ec/yTn/AiANwFony5OuKmYRs75FTnnp+ecn4V+U+k355y//JzJmoTU7yb1TwG8J+f8/edNzynwawA+OqV0V0rpCP13+DfnTNMOUkpPSSk9YTi+BcBfAvBbKaWPpNu+CMCvD8e/h34QSiml29AbHX/retLMOAX9PwPgOSmlWwe7zGcB+M3TlL13U+MfA3geepH+3kFfBYDvyDm/6RxpakbOeZVSehn6RnqAXjz+jXMmy8NHAnhNSslE+X+Zc35jSumelNJfQG8YfC+Arx/ufxWAH0PfCROAH8s5v/v6k73BJPpzzn+aUvp+9Ew9A3hTzvnfnabgOYx8xowZk3BTqSczZsy49piZxowZMyZhZhozZsyYhJlpzJgxYxJmpjFjxoxJmJnGjBkzJmFmGnuElNKHp5T+eUrpd1NKbx+mOX9R5ZlnpZR+vXRP4dmvTCk9lc5fnVL6mMZnn29LE1wrpJR+afh/VkrpJad4/itTSq88e8pubsxMY08wRIr+FID/O+f8UTnnT0Qfbfn0a1jsVwLYMI2c89fknE8VRXgtkHP+9OHwWejDvGdcB8xMY3/wAgDHOecftoSc8/tyzj8IbEbb/2eYwfiOlNKnawale1JK3zoszPKulNJ3p5S+BP3citcNi7ncklJ6S0rpucP9nzvk8a6U0s+1vkRK6bNTv0DSvcMszAtD+ntTSt855HlvSunZQ/pTUko/O6T/45TS+1JKTx6u2dTw7wbw3w90vlwliJTSG1NKzx+O/3pK6bdTSj+PPvoWVM7rU0q/Nvw212YIznuG3vxrnsn4jQD+z8L1WwFcHI4/GsDbhuNnAfj1yj2fh35q9K3D+ROH/7cAeC6V8Rb0jOQp6Ke/38X3Cz3Ph8wyBnBxeO7PDec/DuCbhuP3AviG4fh/wTBTFv2U+lcMx5+LPgT6ycP5Q15Z6CWkV9L5G4d7PhL9HJKnoF8g6BftPvSLNn3GcPxM9HN/zv2734i/ee7JniKl9CoAn4Fe+vgk9FO2XznMO1ijXz9BEd3zl9DPpXgEAPJ2nYgIn4peTbrUeL/hvwVwKef828P5awC8FP0aKMB2mf23A3jRcPwZ6CdeIef80ymlP20sy8OnAHhLzvm/AkBK6V9gXAcfk7Zbft6RUnpc7hdCmkGYmcb+4DcAfLGd5JxfOojpbxuSXg7gjwB8HHq187KTR3RPQn2zcMbU+/m5EmwL2TW2bfM0K2GtMFa9L9JxRPcCwKflnB89RXmPKcw2jf3BmwFcTCn9TUq7lY4fD+ADuV9H4W74m69H9/wHAF+VUroVAFJKTxzSH0S/TqnilwF8VkrpLrm/ht8C8KyU0p8dzu8G8POVZ34BwP80lPM5AO507lE63wvgL6SUFimlZ2C7psRbATw/pfSkYc2SL6Vn/gOAl9nJII3NcDAzjT1B7pXtv4q+s15KKf0qevH+24ZbfgjA/5xS+hX0IvfDTjbuPTnnn0a/5sXbhun43zLc/88A/LAZQomW/wrg6wC8IaX0LvQL03r47JTS++2HfunCvw7gJ1NK96JfkvGHg2cN3wngc1JK70Bve/kAeibBeDeA1WCUfTl6W8UlAPcC+F4AtubqB9AvvPvLAP6jpQ/4RgDPTf0yeb+JflnCGQ7mqfEzbmgM3pV17tfp+DQA/1fOeZYCzhGzTWPGjY5nAviXKaUF+hXAv/ac6XnMY5Y0ZsyYMQmzTWPGjBmTMDONGTNmTMLMNGbMmDEJM9OYMWPGJMxMY8aMGZPw/wOHJ+syWxGvBQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# define center and size of the cutout region\n", "center = SkyCoord(0, 0, unit=\"deg\", frame=\"galactic\")\n", "gc_3fhl_cutout = gc_3fhl_smoothed.cutout(center, 9 * u.deg)\n", "gc_3fhl_cutout.plot(stretch=\"sqrt\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a more detailed introdcution to `ganmmapy.maps`, take a look a the [intro_maps.ipynb](intro_maps.ipynb) notebook.\n", "\n", "### Exercises\n", "\n", "* Add a marker and circle at the position of `Sag A*` (you can find examples in the WCSAxes [documentation](https://wcsaxes.readthedocs.io/en/latest/overlays.html))." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Event lists\n", "\n", "Almost any high-level gamma-ray data analysis starts with the raw measured counts data, which is stored in event lists. In Gammapy event lists are represented by the [gammapy.data.EventList](..\/api/gammapy.data.EventList.rst) class. \n", "\n", "In this section we will learn how to:\n", "\n", "* Read event lists from FITS files\n", "* Access and work with the `EventList` attributes such as `.table` and `.energy` \n", "* Filter events lists using convenience methods\n", "\n", "Let's start with the import from the [gammapy.data](..\/data/index.rst) submodule:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from gammapy.data import EventList" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Very similar to the sky map class an event list can be created, by passing a filename to the `.read()` method:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "events_3fhl = EventList.read(\n", " \"$GAMMAPY_DATA/fermi-3fhl-gc/fermi-3fhl-gc-events.fits.gz\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This time the actual data is stored as an [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table) object. It can be accessed with `.table` attribute: " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=32843\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
ENERGYRADECLBTHETAPHIZENITH_ANGLEEARTH_AZIMUTH_ANGLETIMEEVENT_IDRUN_IDRECON_VERSIONCALIB_VERSION [3]EVENT_CLASS [32]EVENT_TYPE [32]CONVERSION_TYPELIVETIMEDIFRSP0DIFRSP1DIFRSP2DIFRSP3DIFRSP4
MeVdegdegdegdegdegdegdegdegss
float32float32float32float32float32float32float32float32float32float64int32int32int16int16boolboolint16float64float32float32float32float32float32
12186.642260.45935-33.553337353.362731.753867671.977325125.5069459.22307231.79672239572401.29222104182304023957167000 .. 0False .. TrueFalse .. True0238.578372389078140.00.00.00.00.0
25496.598261.37506-34.395004353.096070.652065242.49406278.4934741.092773227.89838239577842.1621734255083323957766300 .. 0False .. TrueFalse .. False1176.168507546186450.00.00.00.00.0
15621.498259.56973-33.409416353.056732.445068464.32412234.2219466.526794232.75734239578244.7997108135317523957766300 .. 0False .. TrueFalse .. False19.3920756578445430.00.00.00.00.0
12816.32273.95883-25.3403916.45856-4.054887343.292503142.8739213.232716108.02273239605914.66160735963624123960127600 .. 0False .. TrueFalse .. False14.0347865521907810.00.00.00.00.0
18988.387260.8568-36.355804351.23734-0.10191239426.916113290.3933723.8726212.91147239611913.144604151123318823960687100 .. 0False .. TrueFalse .. True0131.601328969001770.00.00.00.00.0
11610.23266.15518-26.2244362.19860271.603481935.77363274.5338723.537594232.64166239623554.554147331415681123961832900 .. 0False .. TrueFalse .. False174.981109380722050.00.00.00.00.0
13960.802271.44742-29.6153161.6267247-4.143115525.917883238.036815.037035123.32094239634549.17487261414056923962978800 .. 0False .. TrueFalse .. False1106.373368173837660.00.00.00.00.0
10477.372266.3981-28.96814359.97003-0.01174817739.091587275.545733.02354229.59308239635161.879829821568839323962978800 .. 0False .. TrueFalse .. True0214.628174066543580.00.00.00.00.0
13030.88271.70428-20.6326279.593480.02624146852.622505161.320539.35084591.9986239639873.2076075173648223963943600 .. 0False .. TrueFalse .. True094.687530636787410.00.00.00.00.0
.....................................................................
387834.72270.3779-21.567118.1717490.6453147556.755512221.8471524.35845486.67913460185260.7970139759562646018126000 .. 0False .. TrueFalse .. True034.2146940231323240.00.00.00.00.0
20559.74268.5538-26.3456923.200638-0.3032898649.523575233.6728512.370642250.35716460185803.2027966878559046018126000 .. 0False .. TrueFalse .. True0103.176299691200260.00.00.00.00.0
27209.146266.59344-30.52607358.72775-0.9671817462.1856140.2743432.686306109.74662460190778.6372646727445346018697600 .. 0False .. TrueFalse .. True043.223347127437590.00.00.00.00.0
13911.061269.30997-27.2394392.7684028-1.336530165.15399224.5210153.017742242.62904460197889.26526911204988746019219800 .. 0False .. TrueFalse .. True095.463564038276670.00.00.00.00.0
13226.425265.16287-27.3442380.77969421.768017859.38332126.701932.12299246.97205460203215.108161451171688846019823500 .. 0False .. TrueFalse .. False13.7330975532531740.00.00.00.00.0
17445.463266.63342-28.8072010.21464892-0.103970555.48627135.5915514.227151106.7812460225372.9842249167908246022493300 .. 0False .. TrueFalse .. False180.522352814674380.00.00.00.00.0
13133.864270.42474-22.6510587.2511850.07135820448.704975134.731022.489122294.48605460225688.52486295287933546022493300 .. 0False .. TrueFalse .. False1117.881733417510990.00.00.00.00.0
32095.705266.0002-29.77206359.1034-0.1361523145.013103236.724986.92107212.86594460231367.1387127111370646023108400 .. 0False .. TrueFalse .. True0108.929764926433560.00.00.00.00.0
18465.783266.39728-29.105953359.85202-0.0829405855.97552135.8778718.909636112.137924459939497.057684768983145993557200 .. 0False .. TrueFalse .. True070.726386845111850.00.00.00.00.0
14457.25262.72217-34.388405353.7184-0.2690681245.683174237.7416225.728264240.87035459945845.47984051004968045994130200 .. 0False .. TrueFalse .. True0147.42747879028320.00.00.00.00.0
" ], "text/plain": [ "\n", " ENERGY RA DEC L ... DIFRSP1 DIFRSP2 DIFRSP3 DIFRSP4\n", " MeV deg deg deg ... \n", " float32 float32 float32 float32 ... float32 float32 float32 float32\n", "--------- --------- ---------- ---------- ... ------- ------- ------- -------\n", "12186.642 260.45935 -33.553337 353.36273 ... 0.0 0.0 0.0 0.0\n", "25496.598 261.37506 -34.395004 353.09607 ... 0.0 0.0 0.0 0.0\n", "15621.498 259.56973 -33.409416 353.05673 ... 0.0 0.0 0.0 0.0\n", " 12816.32 273.95883 -25.340391 6.45856 ... 0.0 0.0 0.0 0.0\n", "18988.387 260.8568 -36.355804 351.23734 ... 0.0 0.0 0.0 0.0\n", " 11610.23 266.15518 -26.224436 2.1986027 ... 0.0 0.0 0.0 0.0\n", "13960.802 271.44742 -29.615316 1.6267247 ... 0.0 0.0 0.0 0.0\n", "10477.372 266.3981 -28.96814 359.97003 ... 0.0 0.0 0.0 0.0\n", " 13030.88 271.70428 -20.632627 9.59348 ... 0.0 0.0 0.0 0.0\n", " ... ... ... ... ... ... ... ... ...\n", "387834.72 270.3779 -21.56711 8.171749 ... 0.0 0.0 0.0 0.0\n", " 20559.74 268.5538 -26.345692 3.200638 ... 0.0 0.0 0.0 0.0\n", "27209.146 266.59344 -30.52607 358.72775 ... 0.0 0.0 0.0 0.0\n", "13911.061 269.30997 -27.239439 2.7684028 ... 0.0 0.0 0.0 0.0\n", "13226.425 265.16287 -27.344238 0.7796942 ... 0.0 0.0 0.0 0.0\n", "17445.463 266.63342 -28.807201 0.21464892 ... 0.0 0.0 0.0 0.0\n", "13133.864 270.42474 -22.651058 7.251185 ... 0.0 0.0 0.0 0.0\n", "32095.705 266.0002 -29.77206 359.1034 ... 0.0 0.0 0.0 0.0\n", "18465.783 266.39728 -29.105953 359.85202 ... 0.0 0.0 0.0 0.0\n", " 14457.25 262.72217 -34.388405 353.7184 ... 0.0 0.0 0.0 0.0" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can do *len* over event_3fhl.table to find the total number of events." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total number of events: 32843\n" ] } ], "source": [ "print(\"Total number of events: {}\".format(len(events_3fhl.table)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can access any other attribute of the `Table` object as well:" ] }, { "cell_type": "code", "execution_count": 18, "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": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.table.colnames" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For convenience we can access the most important event parameters as properties on the `EventList` objects. The attributes will return corresponding Astropy objects to represent the data, such as [astropy.units.Quantity](http://docs.astropy.org/en/stable/api/astropy.units.Quantity.html#astropy.units.Quantity), [astropy.coordinates.SkyCoord](http://docs.astropy.org/en/stable/api/astropy.coordinates.SkyCoord.html) or [astropy.time.Time](http://docs.astropy.org/en/stable/api/astropy.time.Time.html#astropy.time.Time) objects:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$[12.186643,~25.496599,~15.621499,~\\dots,~32.095707,~18.465784,~14.457251] \\; \\mathrm{GeV}$$" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.energy.to(\"GeV\")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "events_3fhl.galactic\n", "# events_3fhl.radec" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Source_NameRAJ2000DEJ2000GLONGLATConf_95_SemiMajorConf_95_SemiMinorConf_95_PosAngROI_numSignif_AvgPivot_EnergyFlux_DensityUnc_Flux_DensityFluxUnc_FluxEnergy_FluxUnc_Energy_FluxSignif_CurveSpectrumTypeSpectral_IndexUnc_Spectral_IndexbetaUnc_betaPowerLaw_IndexUnc_PowerLaw_IndexFlux_Band [5]Unc_Flux_Band [5,2]nuFnu [5]Sqrt_TS_Band [5]NpredHEP_EnergyHEP_ProbVariability_BayesBlocksExtended_Source_NameASSOC_GAMTEVCAT_FLAGASSOC_TEVCLASSASSOC1ASSOC2ASSOC_PROB_BAYASSOC_PROB_LRRedshiftNuPeak_obs
degdegdegdegdegdegdegGeV1 / (cm2 GeV s)1 / (cm2 GeV s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)erg / (cm2 s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)GeVHz
bytes18float32float32float32float32float32float32float32int16float32float32float32float32float32float32float32float32float32bytes11float32float32float32float32float32float32float32float32float32float32float32float32float32int16bytes18bytes18bytes1bytes21bytes7bytes26bytes26float32float32float32float32
3FHL J0001.2-07480.3107-7.807589.0094-67.31180.04240.0424nan645.36223.735.3174e-132.0975e-132.9593e-111.1704e-111.6752e-121.0743e-121.02PowerLaw1.67240.82740.59160.71292.22260.48081.1127661e-11 .. 1.1422301e-22-6.0763976e-12 .. 6.529277e-123.533989e-13 .. 1.1789072e-223.1458344 .. 0.07.6386.9750.996413FGL J0001.2-0748NbllPMN J0001-07460.99740.9721nan306196370000000.0
3FHL J0001.9-41550.4849-41.9303334.1216-72.06970.10180.1018nan4295.63828.425.4253e-131.6839e-134.3230e-111.3428e-113.4900e-121.8276e-120.45PowerLaw1.78190.49410.11870.27981.94180.31002.1003905e-11 .. 1.9287885e-18-8.032091e-12 .. 5.8594097e-126.7452245e-13 .. 2.078675e-184.899907 .. 0.012.51266.6250.962213FGL J0002.2-4152Nbcu1RXS J000135.5-4155190.99600.0000nan6309576500000000.0
3FHL J0002.1-67280.5283-67.4825310.0868-48.95490.03570.0357nan3868.47020.821.2062e-123.2106e-135.0093e-111.3349e-112.3058e-129.5580e-131.53PowerLaw1.81090.62600.79330.59562.42850.37102.4550664e-11 .. 1.9009976e-21-8.634195e-12 .. 4.8021903e-127.7340695e-13 .. 1.9026535e-215.900217 .. 0.017.1152.1520.998813FGL J0002.0-6722NbcuSUMSS J000215-6726530.00000.9395nan4466832000000000.0
3FHL J0003.3-52480.8300-52.8150318.9245-62.79360.04250.0425nan1457.22923.667.5065e-132.3102e-134.1560e-111.2839e-112.2874e-121.1145e-121.70PowerLaw1.60100.56440.99720.17212.24810.37322.0886386e-11 .. 7.5867555e-23-8.143967e-12 .. 5.31299e-126.6265456e-13 .. 7.800202e-235.298393 .. 0.013.0267.3100.963613FGL J0003.2-5246NbcuRBS 00060.99960.9716nan7.079464e+16
3FHL J0007.0+73031.764773.0560119.662510.46660.01010.0101nan27775.26512.801.7436e-107.5950e-121.5308e-096.1341e-113.6785e-111.5973e-123.24LogParabola3.17510.21030.90210.26593.83150.11411.3514667e-09 .. 3.839895e-18-5.7581186e-11 .. 4.060418e-124.109739e-11 .. 2.9231144e-1871.33829 .. 0.0654.1560.2920.997213FGL J0007.0+7302ECTA 1PSRLAT PSR J0007+73031.00000.0000nannan
3FHL J0007.9+47111.993147.1920115.3093-15.03540.01960.0196nan30217.77417.195.9778e-128.7683e-131.5131e-102.2181e-115.1444e-121.0540e-120.56PowerLaw2.67830.41960.16960.32822.85880.26851.0582407e-10 .. 1.9819723e-16-1.7538379e-11 .. 4.823511e-123.278615e-12 .. 1.8668298e-1615.209969 .. 0.050.9568.1520.975913FGL J0008.0+4713NbllMG4 J000800+47121.00000.98730.28002511884200000000.0
3FHL J0008.4-23392.1243-23.651450.2908-79.70210.03660.0366nan5179.67916.963.0610e-127.3475e-137.4602e-111.7896e-112.4733e-128.1716e-130.34PowerLaw2.73880.71450.17370.56182.90700.45205.804992e-11 .. 1.1117311e-20-1.4419374e-11 .. 6.10661e-121.7951775e-12 .. 1.0403958e-209.133706 .. 0.019.8371.1220.996813FGL J0008.6-2340NbllRBS 00160.99960.96730.1470524807800000000.0
3FHL J0009.1+06282.28746.4814104.4637-54.86690.03850.0385nan4026.28218.921.2691e-124.3696e-134.1597e-111.4317e-111.6903e-128.9372e-130.10PowerLaw2.55290.83630.01220.44772.58000.53912.4161059e-11 .. 6.6482124e-19-9.546595e-12 .. 6.287476e-127.566492e-13 .. 6.5095056e-194.678369 .. 0.010.9512.2560.972113FGL J0009.1+0630NbllCRATES J000903.95+062821.50.99930.9878nan663742400000000.0
3FHL J0009.4+50302.350450.5049116.1257-11.81050.01760.0176nan30222.40217.049.8252e-121.3192e-122.2191e-102.6212e-118.7336e-121.2488e-123.15LogParabola1.43050.35050.79650.30722.36100.16111.16274e-10 .. 9.252794e-17-1.8225135e-11 .. 4.417993e-123.8564165e-12 .. 7.0436765e-1715.780677 .. 0.078.5072.7620.995023FGL J0009.3+5030CbllNVSS J000922+5030281.00000.9698nan1412536400000000.0
....................................................................................................................................
3FHL J2347.9-1630356.9978-16.510665.5355-71.87660.02880.0288nan4509.29716.283.1279e-128.0896e-136.7585e-111.7478e-112.0267e-126.5608e-130.07PowerLaw3.12590.77810.01040.57563.13240.52595.2519888e-11 .. 1.0747592e-20-1.4230782e-11 .. 6.211813e-121.6103665e-12 .. 9.768252e-218.333468 .. 0.017.5550.2150.986933FGL J2348.0-1630NfsrqPKS 2345-160.99940.99990.57609332549000000.0
3FHL J2350.5-3006357.6354-30.107016.7759-76.31940.04910.0491nan706.49721.201.0879e-123.2997e-134.7039e-111.4274e-112.2909e-121.1390e-120.63PowerLaw2.10120.61730.28800.48702.36780.42342.1939225e-11 .. 4.5892933e-16-8.926376e-12 .. 6.097474e-126.927891e-13 .. 4.63469e-164.0536985 .. 0.012.8449.2860.964413FGL J2350.4-3004NbllNVSS J235034-3006030.99980.92180.22373981075200000000.0
3FHL J2351.5-7559357.8926-75.9890307.6546-40.58550.06500.0650nan556.06726.824.9826e-131.6350e-133.5689e-111.1769e-112.3897e-121.2622e-120.61PowerLaw1.84740.58020.20030.36612.08160.35322.3730832e-11 .. 6.9375605e-17-8.570627e-12 .. 4.7928705e-127.578736e-13 .. 7.316245e-175.2754674 .. 0.012.41134.7210.989213FGL J2351.9-7601NbllSUMSS J235115-7600120.00000.9625nannan
3FHL J2352.1+1753358.041517.8865103.5764-42.74660.08380.0838nan1854.11716.979.9227e-134.3475e-132.4254e-111.0640e-117.6327e-134.2356e-130.02PowerLaw3.01751.21640.01000.85243.01660.82701.5997077e-11 .. 2.9107688e-20-7.581037e-12 .. 5.821708e-124.926488e-13 .. 2.6849966e-203.5496242 .. 0.06.7343.1070.966813FGL J2352.0+1752NbllCLASS J2352+17490.99260.0000nan1737799900000000.0
3FHL J2356.2+4035359.074640.5985111.7521-21.07320.02980.0298nan3127.62529.015.2427e-131.5104e-134.3400e-111.2511e-113.6677e-121.8547e-120.35PowerLaw2.02330.4242-0.07060.19261.90950.29752.5777725e-11 .. 3.110794e-16-8.514681e-12 .. 5.4134618e-128.2889175e-13 .. 3.3694582e-166.2127647 .. 0.013.81417.8610.911913FGL J2356.0+4037NbllNVSS J235612+4036480.99980.91990.13106309576500000000.0
3FHL J2357.4-1717359.3690-17.299668.4009-74.12850.03270.0327nan4506.96129.525.4394e-131.7370e-134.6654e-111.4945e-113.7598e-121.9583e-121.11PowerLaw1.57620.51870.35130.37711.94300.31161.9003682e-11 .. 2.714288e-20-8.131149e-12 .. 6.4742196e-126.1025685e-13 .. 2.92465e-204.552822 .. 0.012.30146.7570.983813FGL J2357.4-1716NbllRBS 20660.99990.9631nan8.912525e+16
3FHL J2358.4-1808359.6205-18.140866.5520-74.85010.05110.0511nan4506.49318.231.6335e-124.9686e-134.8680e-111.4811e-111.7825e-127.6480e-131.83PowerLaw2.05320.66730.99990.01342.73120.50242.6735683e-11 .. 6.0349635e-21-9.960717e-12 .. 6.2551535e-128.323882e-13 .. 5.7844478e-214.3616037 .. 0.012.7428.3040.984513FGL J2358.6-1809N0.00000.0000nannan
3FHL J2358.5+3829359.626638.4963111.6905-23.21730.05840.0584nan3125.79718.241.4104e-124.4534e-134.2106e-111.3321e-111.7404e-129.8271e-130.44PowerLaw2.74660.6917-0.13290.30132.55760.57812.824428e-11 .. 9.750687e-17-9.458818e-12 .. 5.2791343e-128.852925e-13 .. 9.5778846e-175.7128677 .. 0.013.1357.3010.978213FGL J2358.5+3827NbcuB3 2355+3820.00000.9254nannan
3FHL J2359.1-3038359.7760-30.639712.7909-78.02680.02310.0231nan7011.55121.211.8903e-124.1965e-138.1774e-111.8149e-114.2849e-121.6806e-120.08PowerLaw2.28650.46320.01010.24342.29440.30925.5015617e-11 .. 6.037456e-17-1.3604539e-11 .. 8.488618e-121.7422797e-12 .. 6.164239e-179.39347 .. 0.022.41111.3660.960713FGL J2359.3-3038PH 2356-309bllH 2356-3090.99990.99750.16502.818388e+17
3FHL J2359.3-2049359.8293-20.825658.0522-76.54110.07220.0722nan5804.63819.029.1911e-133.6043e-133.0559e-111.1979e-111.2593e-127.4704e-130.32PowerLaw2.34020.94450.18510.66002.56150.58382.3253791e-11 .. 8.3778735e-21-8.939083e-12 .. 6.2386546e-127.2875863e-13 .. 8.224765e-214.8207045 .. 0.08.0664.1770.985913FGL J2359.5-2052NbllTXS 2356-2100.98940.99060.09604073799600000000.0
" ], "text/plain": [ "\n", " Source_Name RAJ2000 DEJ2000 ... Redshift NuPeak_obs \n", " deg deg ... Hz \n", " bytes18 float32 float32 ... float32 float32 \n", "------------------ -------- -------- ... -------- ------------------\n", "3FHL J0001.2-0748 0.3107 -7.8075 ... nan 306196370000000.0\n", "3FHL J0001.9-4155 0.4849 -41.9303 ... nan 6309576500000000.0\n", "3FHL J0002.1-6728 0.5283 -67.4825 ... nan 4466832000000000.0\n", "3FHL J0003.3-5248 0.8300 -52.8150 ... nan 7.079464e+16\n", "3FHL J0007.0+7303 1.7647 73.0560 ... nan nan\n", "3FHL J0007.9+4711 1.9931 47.1920 ... 0.2800 2511884200000000.0\n", "3FHL J0008.4-2339 2.1243 -23.6514 ... 0.1470 524807800000000.0\n", "3FHL J0009.1+0628 2.2874 6.4814 ... nan 663742400000000.0\n", "3FHL J0009.4+5030 2.3504 50.5049 ... nan 1412536400000000.0\n", " ... ... ... ... ... ...\n", "3FHL J2347.9-1630 356.9978 -16.5106 ... 0.5760 9332549000000.0\n", "3FHL J2350.5-3006 357.6354 -30.1070 ... 0.2237 3981075200000000.0\n", "3FHL J2351.5-7559 357.8926 -75.9890 ... nan nan\n", "3FHL J2352.1+1753 358.0415 17.8865 ... nan 1737799900000000.0\n", "3FHL J2356.2+4035 359.0746 40.5985 ... 0.1310 6309576500000000.0\n", "3FHL J2357.4-1717 359.3690 -17.2996 ... nan 8.912525e+16\n", "3FHL J2358.4-1808 359.6205 -18.1408 ... nan nan\n", "3FHL J2358.5+3829 359.6266 38.4963 ... nan nan\n", "3FHL J2359.1-3038 359.7760 -30.6397 ... 0.1650 2.818388e+17\n", "3FHL J2359.3-2049 359.8293 -20.8256 ... 0.0960 4073799600000000.0" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fermi_3fhl = SourceCatalog3FHL()\n", "fermi_3fhl.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This looks very familiar again. The data is just stored as an [astropy.table.Table](http://docs.astropy.org/en/stable/api/astropy.table.Table.html#astropy.table.Table) object. We have all the methods and attributes of the `Table` object available. E.g. we can sort the underlying table by `Signif_Avg` to find the top 5 most significant sources:\n", "\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table masked=True length=5\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Source_NameASSOC1ASSOC2CLASSSignif_Avg
bytes18bytes26bytes26bytes7float32
3FHL J0534.5+2201Crab NebulaPWN168.641
3FHL J1104.4+3812Mkn 421BLL144.406
3FHL J0835.3-4510PSR J0835-4510Vela X fieldPSR138.801
3FHL J0633.9+1746PSR J0633+1746PSR99.734
3FHL J1555.7+1111PG 1553+113BLL94.411
" ], "text/plain": [ "\n", " Source_Name ASSOC1 ... CLASS Signif_Avg\n", " bytes18 bytes26 ... bytes7 float32 \n", "------------------ -------------------------- ... ------- ----------\n", "3FHL J0534.5+2201 Crab Nebula ... PWN 168.641\n", "3FHL J1104.4+3812 Mkn 421 ... BLL 144.406\n", "3FHL J0835.3-4510 PSR J0835-4510 ... PSR 138.801\n", "3FHL J0633.9+1746 PSR J0633+1746 ... PSR 99.734\n", "3FHL J1555.7+1111 PG 1553+113 ... BLL 94.411" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# sort table by significance\n", "fermi_3fhl.table.sort(\"Signif_Avg\")\n", "\n", "# invert the order to find the highest values and take the top 5\n", "top_five_TS_3fhl = fermi_3fhl.table[::-1][:5]\n", "\n", "# print the top five significant sources with association and source class\n", "top_five_TS_3fhl[[\"Source_Name\", \"ASSOC1\", \"ASSOC2\", \"CLASS\", \"Signif_Avg\"]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are interested in the data of an individual source you can access the information from catalog using the name of the source or any alias source name that is defined in the catalog:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "144.40611\n" ] } ], "source": [ "mkn_421_3fhl = fermi_3fhl[\"3FHL J1104.4+3812\"]\n", "\n", "# or use any alias source name that is defined in the catalog\n", "mkn_421_3fhl = fermi_3fhl[\"Mkn 421\"]\n", "print(mkn_421_3fhl.data[\"Signif_Avg\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "\n", "* Try to load the Fermi-LAT 2FHL catalog and check the total number of sources it contains.\n", "* Select all the sources from the 2FHL catalog which are contained in the Galactic Center region. The methods [`WcsGeom.contains()`](..\/api/gammapy.maps.WcsGeom.rst#gammapy.maps.WcsGeom.contains) and [`SourceCatalog.positions`](..\/api/gammapy.catalog.SourceCatalog.rst#gammapy.catalog.SourceCatalog.positions) might be helpful for this. Add markers for all these sources and try to add labels with the source names. The function [ax.text()](http://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.text.html#matplotlib.axes.Axes.text) might be also helpful.\n", "* Try to find the source class of the object at position ra=68.6803, dec=9.3331\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectral models and flux points\n", "\n", "In the previous section we learned how access basic data from individual sources in the catalog. Now we will go one step further and explore the full spectral information of sources. We will learn how to:\n", "\n", "* Plot spectral models\n", "* Compute integral and energy fluxes\n", "* Read and plot flux points\n", "\n", "As a first example we will start with the Crab Nebula:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PowerLaw\n", "\n", "Parameters: \n", "\n", "\t name value error unit min max frozen\n", "\t--------- --------- --------- -------------- --- --- ------\n", "\t index 2.220e+00 2.498e-02 nan nan False\n", "\tamplitude 1.713e-10 3.389e-12 cm-2 GeV-1 s-1 nan nan False\n", "\treference 2.273e+01 0.000e+00 GeV nan nan True\n", "\n", "Covariance: \n", "\n", "\t name index amplitude reference\n", "\t--------- --------- --------- ---------\n", "\t index 6.241e-04 0.000e+00 0.000e+00\n", "\tamplitude 0.000e+00 1.148e-23 0.000e+00\n", "\treference 0.000e+00 0.000e+00 0.000e+00\n" ] } ], "source": [ "crab_3fhl = fermi_3fhl[\"Crab Nebula\"]\n", "print(crab_3fhl.spectral_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `crab_3fhl.spectral_model` is an instance of the [gammapy.spectrum.models.PowerLaw2](..\/api/gammapy.spectrum.models.PowerLaw2.rst#gammapy.spectrum.models.PowerLaw2) model, with the parameter values and errors taken from the 3FHL catalog. \n", "\n", "Let's plot the spectral model in the energy range between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax_crab_3fhl = crab_3fhl.spectral_model.plot(\n", " energy_range=[10, 2000] * u.GeV, energy_power=0\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We assign the return axes object to variable called `ax_crab_3fhl`, because we will re-use it later to plot the flux points on top.\n", "\n", "To compute the differential flux at 100 GeV we can simply call the model like normal Python function and convert to the desired units:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$6.3848913 \\times 10^{-12} \\; \\mathrm{\\frac{1}{GeV\\,s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.spectral_model(100 * u.GeV).to(\"cm-2 s-1 GeV-1\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we can compute the integral flux of the Crab between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$8.6745734 \\times 10^{-9} \\; \\mathrm{\\frac{1}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.spectral_model.integral(emin=10 * u.GeV, emax=2000 * u.GeV).to(\n", " \"cm-2 s-1\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can easily convince ourself, that it corresponds to the value given in the Fermi-LAT 3FHL catalog:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$8.6589091 \\times 10^{-9} \\; \\mathrm{\\frac{1}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.data[\"Flux\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In addition we can compute the energy flux between 10 GeV and 2000 GeV:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$5.3114891 \\times 10^{-10} \\; \\mathrm{\\frac{erg}{s\\,cm^{2}}}$$" ], "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.spectral_model.energy_flux(emin=10 * u.GeV, emax=2000 * u.GeV).to(\n", " \"erg cm-2 s-1\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we will access the flux points data of the Crab:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FluxPoints(sed_type=\"flux\", n_points=5)\n" ] } ], "source": [ "print(crab_3fhl.flux_points)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to learn more about the different flux point formats you can read the specification [here](https://gamma-astro-data-formats.readthedocs.io/en/latest/spectra/flux_points/index.html).\n", "\n", "No we can check again the underlying astropy data structure by accessing the `.table` attribute:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=5\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
e_mine_maxfluxflux_errnflux_errpe2dndee2dnde_errne2dnde_errpis_ulflux_ule2dnde_ulsqrt_ts
GeVGeV1 / (cm2 s)1 / (cm2 s)1 / (cm2 s)erg / (cm2 s)erg / (cm2 s)erg / (cm2 s)1 / (cm2 s)erg / (cm2 s)
float64float64float32float32float32float32float32float32boolfloat64float64float32
10.020.05.1698894e-091.3338798e-101.3338798e-101.6420408e-104.236619e-124.236619e-12Falsenannan125.15745
20.050.02.2450237e-098.671894e-118.671894e-111.1808442e-104.561268e-124.561268e-12Falsenannan88.71535
50.0150.09.2431746e-105.497474e-115.497474e-111.08686914e-106.464267e-126.464267e-12Falsenannan59.087498
150.0500.02.7589558e-102.9164688e-113.1360175e-119.2301645e-119.757128e-121.0491635e-11Falsenannan33.076164
500.02000.06.6840214e-111.4629655e-111.6916293e-116.9011685e-111.5104936e-111.746586e-11Falsenannan15.573053
" ], "text/plain": [ "\n", " e_min e_max flux ... flux_ul e2dnde_ul sqrt_ts \n", " GeV GeV 1 / (cm2 s) ... 1 / (cm2 s) erg / (cm2 s) \n", "float64 float64 float32 ... float64 float64 float32 \n", "------- ------- ------------- ... ----------- ------------- ---------\n", " 10.0 20.0 5.1698894e-09 ... nan nan 125.15745\n", " 20.0 50.0 2.2450237e-09 ... nan nan 88.71535\n", " 50.0 150.0 9.2431746e-10 ... nan nan 59.087498\n", " 150.0 500.0 2.7589558e-10 ... nan nan 33.076164\n", " 500.0 2000.0 6.6840214e-11 ... nan nan 15.573053" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "crab_3fhl.flux_points.table" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally let's combine spectral model and flux points in a single plot and scale with `energy_power=2` to obtain the spectral energy distribution:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax = crab_3fhl.spectral_model.plot(\n", " energy_range=[10, 2000] * u.GeV, energy_power=2\n", ")\n", "crab_3fhl.flux_points.to_sed_type(\"dnde\").plot(ax=ax, energy_power=2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercises\n", "\n", "* Plot the spectral model and flux points for PKS 2155-304 for the 3FGL and 2FHL catalogs. Try to plot the error of the model (aka \"Butterfly\") as well. Note this requires the [uncertainties package](https://pythonhosted.org/uncertainties/) to be installed on your machine.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What next?\n", "\n", "This was a quick introduction to some of the high-level classes in Astropy and Gammapy.\n", "\n", "* To learn more about those classes, go to the API docs (links are in the introduction at the top).\n", "* To learn more about other parts of Gammapy (e.g. Fermi-LAT and TeV data analysis), check out the other tutorial notebooks.\n", "* To see what's available in Gammapy, browse the [Gammapy docs](https://docs.gammapy.org/) or use the full-text search.\n", "* If you have any questions, ask on the mailing list." ] } ], "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.7.0" }, "nbsphinx": { "orphan": true } }, "nbformat": 4, "nbformat_minor": 2 }