{ "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/spectrum_pipe.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", "[spectrum_pipe.ipynb](../_static/notebooks/spectrum_pipe.ipynb) |\n", "[spectrum_pipe.py](../_static/notebooks/spectrum_pipe.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Spectrum analysis with Gammapy (run pipeline)\n", "\n", "In this tutorial we will learn how to perform a 1d spectral analysis.\n", "\n", "We will use a \"pipeline\" or \"workflow\" class to run a standard analysis. If you're interested in implementation detail of the analysis in order to create a custom analysis class, you should read ([spectrum_analysis.ipynb](spectrum_analysis.ipynb)) that executes the analysis using lower-level classes and methods in Gammapy. \n", "\n", "In this tutorial we will use the folling Gammapy classes:\n", "\n", "- [gammapy.data.DataStore](..\/api/gammapy.data.DataStore.rst) to load the data to \n", "- [gammapy.scripts.SpectrumAnalysisIACT](..\/api/gammapy.scripts.SpectrumAnalysisIACT.rst) to run the analysis\n", "\n", "We use 4 Crab observations from H.E.S.S. for testing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "As usual, we'll start with some setup for the notebook, and import the functionality we need." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import astropy.units as u\n", "from astropy.coordinates import SkyCoord\n", "from regions import CircleSkyRegion\n", "\n", "from gammapy.utils.energy import EnergyBounds\n", "from gammapy.data import DataStore\n", "from gammapy.scripts import SpectrumAnalysisIACT\n", "from gammapy.catalog import SourceCatalogGammaCat\n", "from gammapy.maps import Map\n", "from gammapy.spectrum.models import LogParabola\n", "from gammapy.spectrum import CrabSpectrum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Select data\n", "\n", "First, we select and load some H.E.S.S. data (simulated events for now). In real life you would do something fancy here, or just use the list of observations someone send you (and hope they have done something fancy before). We'll just use the standard gammapy 4 crab runs." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[23523 23526 23559 23592]\n" ] } ], "source": [ "data_store = DataStore.from_dir(\"$GAMMAPY_DATA/hess-dl3-dr1/\")\n", "mask = data_store.obs_table[\"TARGET_NAME\"] == \"Crab\"\n", "obs_ids = data_store.obs_table[\"OBS_ID\"][mask].data\n", "observations = data_store.obs_list(obs_ids)\n", "print(obs_ids)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Configure the analysis\n", "\n", "Now we'll define the input for the spectrum analysis. It will be done the python way, i.e. by creating a config dict containing python objects. We plan to add also the convenience to configure the analysis using a plain text config file." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "crab_pos = SkyCoord.from_name(\"crab\")\n", "on_region = CircleSkyRegion(crab_pos, 0.15 * u.deg)\n", "\n", "model = LogParabola(\n", " alpha=2.3,\n", " beta=0.01,\n", " amplitude=1e-11 * u.Unit(\"cm-2 s-1 TeV-1\"),\n", " reference=1 * u.TeV,\n", ")\n", "\n", "flux_point_binning = EnergyBounds.equal_log_spacing(0.7, 30, 5, u.TeV)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "exclusion_mask = Map.create(skydir=crab_pos, width=(10, 10), binsz=0.02)\n", "\n", "gammacat = SourceCatalogGammaCat()\n", "\n", "regions = []\n", "for source in gammacat:\n", " if not exclusion_mask.geom.contains(source.position):\n", " continue\n", " region = CircleSkyRegion(source.position, 0.15 * u.deg)\n", " regions.append(region)\n", "\n", "exclusion_mask.data = exclusion_mask.geom.region_mask(regions, inside=False)\n", "exclusion_mask.plot();" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "config = dict(\n", " outdir=\".\",\n", " background=dict(\n", " on_region=on_region,\n", " exclusion_mask=exclusion_mask,\n", " min_distance=0.1 * u.rad,\n", " ),\n", " extraction=dict(containment_correction=False),\n", " fit=dict(\n", " model=model,\n", " stat=\"wstat\",\n", " forward_folded=True,\n", " fit_range=flux_point_binning[[0, -1]],\n", " ),\n", " fp_binning=flux_point_binning,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run the analysis\n", "\n", "TODO: Clean up the log (partly done, get rid of remaining useless warnings)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
FCN = 108.83548502896386TOTAL NCALL = 118NCALLS = 118
EDM = 2.6101091011340668e-06GOAL EDM = 1e-05\n", " UP = 1.0
\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", " \n", " \n", " \n", " \n", " \n", "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", "
+NameValueHesse ErrorMinos Error-Minos Error+Limit-Limit+Fixed?
0par_000_amplitude3.329310.222011No
1par_001_reference11Yes
2par_002_alpha2.323270.193054No
3par_003_beta18.66029.95332No
\n", "
\n",
       "\n",
       "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "analysis = SpectrumAnalysisIACT(observations=observations, config=config)\n", "analysis.run(optimize_opts={\"print_level\": 1})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Results\n", "\n", "Let's look at the results, and also compare with a previously published Crab nebula spectrum for reference." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Fit result info \n", "--------------- \n", "Model: LogParabola\n", "\n", "Parameters: \n", "\n", "\t name value error unit min max\n", "\t--------- --------- --------- --------------- --- ---\n", "\tamplitude 3.329e-11 2.220e-12 1 / (cm2 s TeV) nan nan\n", "\treference 1.000e+00 0.000e+00 TeV nan nan\n", "\t alpha 2.323e+00 1.931e-01 nan nan\n", "\t beta 1.866e-01 9.953e-02 nan nan\n", "\n", "Covariance: \n", "\n", "\t name amplitude reference alpha beta \n", "\t--------- ---------- --------- ---------- ----------\n", "\tamplitude 4.929e-24 0.000e+00 2.248e-13 -6.322e-14\n", "\treference 0.000e+00 0.000e+00 0.000e+00 0.000e+00\n", "\t alpha 2.248e-13 0.000e+00 3.727e-02 -1.744e-02\n", "\t beta -6.322e-14 0.000e+00 -1.744e-02 9.907e-03 \n", "\n", "Statistic: 39.258 (wstat)\n", "Fit Range: [ 0.87992254 27.82559402] TeV\n", "\n" ] } ], "source": [ "print(analysis.fit.result[0])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAADhCAYAAADiQzMhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xd4XPd14P3vmV7QKwECBAiQBIsqSYmgqGq5SFEkOZbjEjsbO5K12cTJvsnrvGttmuO8G2c3bWPHdqLYVprXNW6yJcuSLcuWREoiRYpiJwU2FKIMep129o8ZQBCEPjMYADyf55kHM3fuvb8z0BBHvy6qijHGGLNYjmwHYIwxZmWzRGKMMSYllkiMMcakxBKJMcaYlFgiMcYYkxJLJMYYY1JiicQYY0xKLJEYY4xJiSUSY4wxKXFlO4ClUFJSorW1tdkOwxhjVpQDBw50qWrpXOet6kQiIncDd2/YsIH9+/dnOxxjjFlRROT8fM5b1U1bqvqoqj6Yn5+f7VCMMWbVWtWJxBhjTOat6kQiIneLyMN9fX3ZDsUYY1atVZ1I0tW01TfWxzdPfJOXml+ib9SSkjHGTLaqO9vT5WjoKH/6wp9OvC5wFVAVqKI2p5b1+eupL6hnU/Em1uStwe12ZzFSY4xZejMmEhE5PI/rO1X19jTGsyxdv+Z6HtnzCIcuHqJtrI2WsRbaxtp46tJTjLaOTpyX48xhrW8t6wLrqM2tpS6/jk1FiQTj9XrxeDyISBY/iTHGpN9sNRIn8AuzvC/A99IbTnpNHv6bimOtg/zWV7vxOasJuteR43FQ7HGwzgMudz8xVzujjnYGaaM30sbPQ8/yZOeTE9fnOnOp9FZS5auiJqeG+rx6NhRuoCSnBK/XO/F4U5J5+lNw20MpxW6MMZkmM221KyI3quqzs148j3OWg507d2oq80jOdAzyt4+/SkffEEPhOIMRTfwMK2Ox6X5/irgGCAba8QU7cXovoe52ws5LxGRs4qxcRwGV3ipqAlXU+KpZn7ue9fnryQvk4fV6Kf/8Jkb+2yW8Xi8Ox6ruzjLGLEMickBVd8513ow1kvkkiJWQRFL2yF1sAP4mPEZYwuAl8UgaUye9cT+9cT89scDrz+MBumN+unuL6I5V0R0P0BULMOgcw+Ftx+ltJ+K7RK/3EieGTiCOaOKGKgQjuZREg3wf+OzD7+cqjXGFY4QCVwyHOBCH4HA4Eg9xpL+57MM/SO/9jDGr2qyd7SKyG/ggcBNQAYwAR4AfAP+uqpf9ECavxCh3DlLuHIR59LNH1EEoHiQUC9A1mkPncAPtsWs4L9DiHuXe6IvcP3Zk4vyP9TwNwOfyiviceyuBcCHFkVyqol42qoN1jiEqnQNUe/ooc43gcrwx0YgIgvXLGGMyZ7amrceBVuC7wH6gA/ABm4DbgLuBv1HVZd1PAqk3bQEMDQ0xODiY+MOcfMxk/HeqqhOPeDw+8XPqIxaLveERj8eJxJXGH9zO/9zxWc4NX6Q13ExXtJlBaSGebB5TFTRcTGysgvhoJYQrKJQqyv2FrAm6KM9xsSbHSXWBn3XFAYpyA2/ok7EmM2PMbObbtDVbIilR1a45CpnznGya1Nn+kdOnT2c7nHlTVaLRKO7/UcLgx1qIRqNEo1EikQiRSISWwRbO9J3hZN8ZTvefpXnsIv3x1/8zSCxIfKyCyEglsdFK4qMVxMOl5HldVOQ4WZPjpCIn8XxdoY/akiCFOf43JBifz4fT6czib8EYk20pJ5JJNwoCI6oaF5FNwGbgcVWNpCfUzEtHjSQr5jlqKxqN0j3UzYmuExwPHedU7yleG3iN80PniWqi78WJG1+8Ehlby8jQGvoHKoiPrQFNtMcV+RxU5LpYm+tkba6LtXkuagq9rC0MEPD7J5KLz+ezmowxl4l0JpIDJPpICoF9JJq5hlX1A+kIdCms2ESSokg8wtm+sxztPMqxzmMc7z7Omf4zDEWHAHDgoMBRQVCrYGwtw4MVdPWUMxj2TNzD6xQqc51U57moSj6q81xUF/oJBvwTycXvTzx3uVKc42pDno1ZNtKZSF5W1e0i8tuAX1X/l4gcVNVr0xVspl2uiWQ6qkrzYDMnuhO1l2NdiQTTPdYNgCCUedZQ5KjGF6smPlrJQH8FLf0uuobjE/fxOGBtnot1+S7W5btZl+eiJt9FWa6HQCDwhuTi9/vnn2A+kQ+fuOzHcBizLKQ8/PeN95LdwAeA+xdwnVmGRITq3Gqqc6t5W83bJo53DHdwovsEx0LHOHbwSxyjg3Z5MTEttRCq8x3sjropjuTjGl3D8EgN50cqON5fyjPncyfukycjbHR30uDuoCH5s97dhd8Rw+Fw4HQ4cTgdr48qm25E2SN3LcFvYgob8mzMos0nIfxX4CHg26p6VETqgKczG5ZZamWBMsoCZdxcdTO8/CgAIY1xjHDiIWGOucNc8nRAsAM4TE3cyc1RJzUxH/7REsZGqzkbruB0tJRvD1/FiCaayJzEWe8K0eDuYLO7g83udrZ4LpHvGMbhcOAZvoR7qO31YM4npyflV0NBzRL/JowxCzVn09ZKtlJHbS1noZEQx0LHOBo6OvGzY7gDSPS5VAWqqPXVss5bQx7rCA+v4WIfnO2Ncq43Qmjk9eaxsqCTugIXdYVu6grd1Be6ue1Hb+XV+54lEAhMPILBYOp9L8aYBUtbH8lqYH0kmdU53MnR0FGOho5ypOsIx0LH6B5N9Lm4xEVtsJYabw21vlpKnbWMDJdwrjdGU0+Upp4Il4ZiE/c65/sV3l/yH2wodLOhKJFc/G4HHo9nIqkEg0ECgYANTzYmwyyRTGKJZGmpKm1DbRzpOsKR0BGOdiVqL4ORQQD8Tj91wTpqvDWs961njauWnsFcmnqiXN387/yv8H10JJOLkOjU31jknnjU5LtwOgSfzzeRWILBIH6/31ZXNiaNLJFMYokk++Ia51z/OY52HeVw52GOho5yovsEkXhiOlKhp5D6QD013hrq/HWUOGpo7XdzujvC6VCEM91h+sOJ76rXKWwocrGxyMOmYjcNxW4KfE4cDscbEktOTo41iRmTgrQkEhF5B1AF/FhVz006/uuq+qV0BLoULJEsT+FYmJPdJzkSOsKrna/yaternOs/N/F+lb+KOn8dtb5a6n31uGJraOqJc7o7wqlQhLM9EaLJr2950ElDsZuGEg+bi91U57twyuu1lpycHHJycvD5fNn5sMasQOlYIuXPgRuBl0msq/W/VfUzyfdeVtXtaYw3oyyRrBx9Y32JWkvXYY50HeFw52F6xnoA8Dq81AXrWO9dT52/jmpvHT2DOZwKRTgRCnMyFKF3NNGZH3AJDSVuNpd42FLiYUORG69TcLlcE0klNzfXmsOMmUU6EsmrwLWqGhWRAuD/ACdV9XdtQqJZKuMTKMdrLIc7D3O8+/hEk1ixp5h6fz11/jrq/HX4Y9W81gMnu8Ic74pwsT+xRIzLAfWFbraWetha4mFziZuA24HT6SQYDJKbm0tubi6BQMASizFJ6Ugkx1V1y6TXTuBhIA/Yqqrb0hVsptjw39UpHAtzovsEhzsPJx5dh2kZbAESo8Rq/Il+lnp/PRXuOtp7czkRinK8M8xrPRFiCg5gfaGLraUetiWTS9CTmCQ5XluxxGIud+lIJN8H/lJVn5ly/P8H/ruqrphV+6xGsvp1jXTxSucrHO48zCudr3Ck6whjscRy+4XuQur99dQH6lnnqSc8UsnJLuVYZ5hToQiReGJ02PoCF1eUebiiLNEcNl5jmZpYjLlcpCOR+AFUdWSa99aqakvKUS4RSySXn0g8wume07zS+QqvdL7CofZDtAxNqrX4atgQ2ECtbwOOsRrOhwIc6RzjZChCNA4OgQ2Fbq4o83BVuYeGYg+eZB/LeFLJy0tsiWzMapXW4b8ichVQy6QlVVT1W6kEuJQskRh4vdbySscrHOw4yLHQMcLxMAAl7pKJxOIK19DeU8rRjhinuyPEFdwO2FySSCpXl3tZX+DCIYLH4yEvL4+8vDxyc3NtuLFZVdK5+u+XgKuAo8D4+haqqr+ecpRLxBKJmU4kFuFE9wkOdhzkYPtBDnUcomsssUGYz+FLDj2uxxWuJdRTxbEOJxf6Ep33OR7hyjIv15R7uHqNl9JAYpZ9IBCYSCw5OTnWv2JWtHQmkmOqujVtkWWBJRIzH+Mz8g91HGJ/234Odhykqb+JOHEEYa13Leu8G3CFa+nuqebEpRx6RhP/ftbmOrm63Mu1a7xsK/XgdQkOh2OiCSwvL8/msJgVJ52J5IvAX6vqsXQFt9QskZjFGooMcbjjMC+2vsjL7S9zvPc4I7FEt2GBq4Aq9wac4VpC3et47VIx4bgTtwO2lnq4dk0isazNdSKTmsHy8/PJzc21tcLMspfORHIz8ChwCRgjMcBFVfWqdAS6FCyRmHSJxWOcCJ3ghYsv8HL7yxzpOUIoEgLA6/BR7lyPY6yWztA6LoXWgnooDTjYXuFl+xovV5R58LkciAjBYJD8/Hzy8vJsNJhZltKZSM4Avwe8yut9JKjq+VSDXCqWSEwmnQudY9/FfRxoP8Cx3mNcHL2IoomtjKUaHU0kltHBGlyawxVlHrZXeNlZ4aUsmOicd7vdE7WVvLw8q62YZSGdieQnqvqWtEWWBZZIzFKJx+O0hlp5sTnRFHZi4ARNI01ENDET369lRIZqGeivITZcy1p/GddV+thZ4WVjsRunyBtqK/n5+fj9/ix/KnO5Smci+RxQQKJ5a2z8uA3/NWZuIyMjdPZ0crDlIIdDhzk5fJLTQ6cZjg8D4Izl8UDnGH/HHfgi69levI7rKwNcvcaD35WY8zu5byUvLw+HY8XMBTYrXDoTySPTHF4Rw39tiRSznEQiEfr6+ujp7eF4x3FODJ7g1PApvnDoG1y5fh0AGvMTG65BR9ez3ruJPeX1NK4NUuhLNHWJCLm5uRO1FZsQaTLJ9iOZxGokZk6P3LWkxSlKLBojGo3ia9/PyZIreMUV5aAzxosOpcOVmCipcTexkXWUjhWzOxbnvc4uNrr6Ju7jcDhwOV04XU6cTifCAuatfPgH6f5YZpWZbyKZcxquiPwL8F9VtTf5upDEcOBlXyMxZrmS3gu4+i5O/ANs6DpCA/BOfzljgTV0i59Djig/dbg44O6kJ/Aajwn8QJ14RsvZGAnyDh3hztggOfE4REAQnC4nLpcLl9NlkyHNkpnPeg5XjScRAFXtEZEVs4S8MfOSzf87/0Q+fCJRy/AA4cFBHD09rO/poSoS4YPAUGyIAz0nea7zOGddpzjqe41jEudvVcilmi05Dewq2sLmnAaCziAAOTk51mFvlsR8EolDRApVtQdARIrmeZ0xZhHGN96qrq5mcHCQnp4eenp6uLlkOzeXJPaT6xgZ4Ynm47zce5wuPcML+jQvDj0JKpS513Jl3mY2Bxto6G0gz5VYXHI8qeTm5lptxaTVfBLCXwPPi8g3AQXeA/yPjEZlzOXklo/P+NbkpDIwMEB3dze9vb2U+f386sbt/CrbGQrH2dc6yDOXTvHa6Ela/WfpCD/Dj7ufAqDSW8nm4GYagg00BBoo9hVPjALLz89f+oUmn/4U3PbQ0pZpMmq+q/9uBd5CYlb7j1facinW2W5WE1Wlv7+fUChEX18f8fjEPGFGInH2t43xfPMgr/Q0of6z+HLO4vCfIyaJ0ftrPGvYHNzM5uBmtuRsYW3BWgoKCigoKFiaUWCTmvLM8paO/UhyVHVwjkLmPGc5sERiVqtYLEZvby+hUIiBgYE3vDeRVC6OcvDSMDFPK3n5Z8kvPMego4mwjgKwLubg2piLa6NudqiHCqcnMRIsU7Przz8LNTdm5t5zsZFqC5KORPJj4BDwXeCAqg4lj9cBt5Fo4vonVf1m2qLOEEsk5nIQDofp7u4mFAoxOjr6hveGI3FebE0klUOXxohpjLWBE9Tl74fAeU67hxlKdpuMJ5YdMTfX4WONy7vwocVT9Z6HvotvPp5fDQU1i7/vQlkiWZC0zCMRkV8APgDsAYqACHAS+AHwRVW9lJ5wM8sSibncDA0NEQqF6O7uJhaLveG9gXCcF5pHefbiKEc6wihQW+DgiqoucvPPcTFyklNDpxiJJ1Y5rvBWsCW4he2l29mzbg+1ZbWp9atY09aKYRMSJ7FEYi5X8Xic3t5eurq63tT0BdAzEuO55lGevTDK6e4IAmwtdbOn2kNVaQfnx05yYigxA380nqjlVHoruargKnZV7uKm9TdRnlu+sKAskawYlkgmsURiDIyNjdHV1UUoFCISibzp/bbBKD+/MMrPz4/QOhjD5YAdFV5uqfFzdbmL1vAFjg8d5/jQcU4Pn2Ysnui8r/HXsL10OzdU38Du6t3ke/NnD8RGba0YlkgmsURizOtUlb6+Pjo7O+nv75/2/dd6ovzswgjPXhilbyxOjkfYU+3jlho/m4rcxIhxduQsxwePc2LoBKeHTxPRCIJQn1vPropd7Knew47yHQTcttfKSmWJZBJLJMZMb7yW0tXVRTQafdP7sbjySnuYZ86P8GLrKOEYVOQ4ubXGz801von9VCLxCE0jTYkay+BxXht5jahGcYqTLYVbaFzbyK6KXVxTeg0+l205vFKkY9TWfuA54HHgp6o6Ou2JK4AlEmNmp6r09PTQ0dHB0NDQtOcMR+LsaxnlmXOjHOlMLCq5rdTDbbV+Gqu8E8veA4TjYc4Mn5lILE0jTcSJ43a4uab0Gq6vuJ7Gika2lWzD7XAvyWc0C5eOROICbgTuIDHcNwQ8ATyuqqfSGOvsASaGG/8BkK+q757p2GwskRgzf8PDw3R0dNDT0/OGyY6TdQzF+Nn5EZ4+N8KloRg+p7C72sdttX62lrjftATLSGyEU8OnOD6Y6GO5MHoBRfG7/Owo38GuNbu4vuJ6NhdtxiG238pykfamLRGpAO4kkVg2APtU9TfnuOZLwC8CHap6xaTjdwB/BziBL6jqX8yj/G9OTRrTHZuOJRJjFi4ajdLV1UVnZyfhcHjac1SVE6EIT58b4bmLo4xGlTVBJ7et93NbjZ/iwPSTGgejg5wYOsHx4eOcHD5J80gzAPnefK4rv45dFbvYVbGL2rxaWxcsizLaRyIiDmC3qj43x3k3A4PAv44nEhFxAqeAtwHNwEvA+0kklU9NucWvq2pH8jpLJMZkwXyavQBGo3H2tYzxk7MjHO0M4wCuXuPh9vUBdlZ6cTtmTgg9kR5ODJ/g9NhpjvQfoWO0A4CyQBm71uyaSCxrgmvS/fHMLJZNZ7uI1ALfn5RIdgOfUNV3JF8/BKCqU5PI1PssKJGIyIPAgwDr1q3bcf78+RQ/iTFmaGiI9vZ2ent7me1vx6XBKD85N8JPz40QGomT5xFurvHz1roA1XmzT2ZUVbqiXTRFmzg+fJxD3YfoHUvsZFGbV8uuil00VjRy3Zrr5h5qbFKynBPJu4E7VPWB5OtfBXap6kdnuL6YxGrDbyPRDPap6Y7NFoPVSIxJr7GxMTo6Oujq6pqxHwUgpsorl8L8+Oww+1vHiCo0FLt563o/N1T78Lnm0R8i0OPs4XT4NId7D3Og4wAj0REc4mBL0RYaKxpprGzk2rJr8Tpt6+F0Ws6J5JeBd0xJJNer6m9nKgZLJMZkRjQapbOzk87OzmknOU7WNxrjp+dHeersMK0DMQIu4aYaH2+rC7C+YH4jtxwOB4HcAO3Szqv9r/LipRc53HmYqEbxOr1cU3YNjRWN7K7YzeaizTgdGVp48jKRtkQiIp+e5nAfsF9VvzuPQGpJQ9PWYojI3cDdGzZs+Mjp06fTfXtjTFI8HicUCtHe3s7Y2Nis56oqx7oiPNU0zN7mUSJx2Fjk5m11fvbMt5YCOJ1O8vPz8eX6ODVyihcuvcC+tn2c7kn8W8/z5CX6VtbsYnflbqpzq63jfoHSmUgeBjYD30geug84ClQDTar6/8xxfS1vTCQuEp3ttwMtJDrbf0VVj84V7GJZjcSYpTHeMX/p0iVGRkbmPH8gHOeZ8yM8+dowzclayi21ft5e52dd/vznl7hcLgoKCigqKmLMNcaLbS+yr20fe9v2cmkosbZsZbCSxspEbWVXxS4KfYWL/pyXi3Qmkp8Ab1fVaPK1C/gRif6JV1V16yzXfgW4FSgB2oE/UdUvJlcV/t8kRmp9SVUzuuOiJRJjll5fXx9tbW2zjvQap6oc74rwZNMwzzePEo3DlhI376gP0LjWh9s5/5qE2+2msLCQoqIiAoEA5/vPJ5JK615euvQSA5HE4pVbirbQWNlIY0Uj28u224z7aaQzkZwk0YfRl3ydD7ygqptF5KCqXpuWiDPAmraMyb6BgQHa2tqmXX14Ov1jcZ4+N8KPmoa5NBgjz+vgLbV+3lHvn1iSZb68Xi9FRUUUFRXh8/mIxqMcCx1jb+te9rXt41DnIaLxRP/KtWXXsrtyNzdU3sCmwk3pnRi5QheqTGciuR/4Q+CnJLbavRn4c+ArJPo6fj/laDPMaiTGZN/g4CBtbW3TLhQ5nbgqr3aE+eGZxIgvBbZXeLlzQ4Cryz04FtjfEQgEJpKK251oNhuODLO/ff9EYjnTewaAIl8Ruyp2sbtiN7srd6c+f2WFLp2fro2tBKgCosD1JBLJi6ramq5Al4IlEmOWj4UmFICu4RhPNg3zVNMIvWNx1uQ4eUd9gLfU+snxzL/msOn53wUSHfVutxuXy/WGnR87iLKPUfbKKHsZJSSJoc116uIG/OxWHzvxEmCBtZUVur1wOmskB1R1x6IjWQYskRiz/AwODtLa2jrvJi+ASFx5oXmUx88McyIUwesUbq7xceeGADXz6JwfTySTuVwu3G73m7YTVpRTRNibTCwHGGNMFJfCdrzsVh834GczbhzTbUO8CrYXTmci+Szwz6r60qKjyRLrIzFm+RsYGKC1tZXBwcEFXXe2N8LjZ4b5+fkRwvHESsR3bQyws8KLc5blWGbicrkoKiqiuLiYQODNe6iMxcZ4uf1lnm99nr2teznZcxKAQm8hjZWN3FB5A7srdlMenLJj5CN3JWokl2vTVvJGx4AG4BwwRKJ5S1X1qjTEuSSsRmLM8tff309LSwvDw8MLum5gLM6Pzw7z+GvDdA3HKQk4uLM+wO11AXIX0Ow1md/vn0gq4/0pU3WNdLG3dS97W/fyfOvzhEZDAGwo2MANlTdwQ+UN7Cjfge/f7rNEIiLT1sFUdcUsXmWJxJiVo6enh9bWVkZHF7YFUiyu7G8b4wenhznaGcbrFG6p8XHXxiBVc6zvNRMRITc3l+LiYgoKCnA4pk9MqsqpnlM83/o8z7c+z8vtLxOOh/E6veyICv+lp5ecDz1OfUH9ipoUmdYlUkTkRmCjqj4iIqVAjqqeTUOcS8ISiTEri6oSCoVoa2ubcQn72ZzrjfCD08P8/MIIkThcu8bDXRuDXFPuWfQfcqfTSWFhIcXFxeTk5Mx67kh0hAPtB3iu5TmeP/ZVmiSx+2R5oJwbKm9gz9o9NFY0LvtFJ9NZI/kTYCfQoKqbRKQS+Iaq7klPqJljfSTGrGzxeJzOzk7a2tqIxWILvr5vLM6TryWavXpH41TlOvnFTUFurvHjXcAkx6l8Ph/FxcWzNn1NeOQu2ojy3J6P8Hzr8+xr3cdAZACHOLii5ApurLyRPWv3sK1427JbGyydieQQcC3w8vjkQxE5bH0kxpilEovFaGtro6OjY9bl62cSiSvPXRzl+6eGONsbJc8jvL0+wJ0bAhT4Fv/HW0TIy8ubaPqatrbzyF2Jn8nRU9F4lCNdR3iu9Tmeb3meV7teRVHyvfnsrtjNnrV72FO5h9JA6aLjSpd0JpIXVfV6EXlZVbeLSBDYa4nEGLPUwuEwLS0tdHd3L+r68QUjHz01xP7WMZwOuHmdn7s3BRa0ttd0xkd9lZSU4Pf7X39jSiKZqne0l71te3mu5Tmea32OrpEuABoKG7hxbaK2ck3ZNVnZ2z6dieRjwEYSa2t9Cvh14P+o6mfSEehSsERizOoyPDzMxYsXFzxkeLLWgSiPnhrip+cSw4e3r/FyT0OAK0oX348yLhgMUlxcTFFREc5/vSdxcB7zOeIa51TPqYmkcrD9IFGNEnQHaaxoZM/aPdy09qYl2yky3Z3tbwPeTmLo7xOq+mTqIS4dSyTGrE69vb00NzfPuXT9bPrH4jzx2jCPnRmmfyxOXYGLexuC7K7yLWo+ymQOh4Mt+z6WmPD4wA8XfP1geJAXLr3Acy3P8WzLs7QNtQGJIcbjtZXtZdvxOD0pxTmTZbOxVTZZZ7sxq5+q0tHRsegO+XFjMeWZ8yM8enKI1sEYpQEHd28Kcvt6/7z3SJnO+Gz6C2/5PCUlJRQXF+NyLXw4sqrS1NfEsy3P8vOWn3Og/QDReBS/y09jRSM3rr2Rm9beREVOxaJjnSrlRCIi31fVX5yjkDnPWQ6sRmLM6heNRmlpaaGrqyul+8RV2d86xndPDnEiFCHHI9y5IcCdG4LkexeeUMYTyakb/hZIdNAXFhZSUlJCbm7uouMcjgzzQtsLPNvyLM+2PEvrUGIJxL+65a94R+07Fn3fydKRSHqBn812LbBNVesWF+LSsURizOUjHf0n4050hfnOySFeah3D44Tb1we4Z1NgQcvZT00kk/l8vpRqKeMm11buqruLEn/Jou812XwTyWyR3zuPchY+U8gYYzIoEAjQ0NBAKBSipaVlzr3kZ7O5xMPHSzw090f57skhnnxtmCdeG+bGah+/tDmY8kiv0dFRmpubaWlpobCwkNLS0jknO05HRKgvqKe+oD6leBZrxkSiqs8sZSDGGJNO43M7Upl/Mq4qz8VvXZfP+7bl8OjpIZ58bYSfXRhlR4WX+7YEaShOrbNbVenu7qa7uxu/3z9RS3E6l9cExZksvi5ljDHLnNPppKqqiuLiYi5cuJByc1dxwMmHrs7jvi05PH5mmMdOD/HffzLGtlIP920JclVZ6kOHR0ZGuHjxIi0tLRQVFVFaWjrtasTLyapOJJNGbWU7FGNMFvn9/onmrubmZqLRaEr3y/U4eM/WHO7ZFOCpphG+e2qIT/6sh/pCF/dtyeG6Su+Cd3CcKh4p42FNAAAWC0lEQVSP09XVRVdXF8FgkNLSUoqKipbloo/zmZBYpqodU441qOrJjEaWRtbZbowZl67RXZNFYspPz4/wnRNDXBqKsS7Pxbu2BLmh2seWvb8HTN/ZvlAul4uSkhJKS0vxeDIzd2SydM5sPwn8kap+Pfn6/wXuV9WtaYl0CVgiMcZMNTg4yIULFxgZGUnbPWNx5fnmUf7j+BAfGv4SQZdQXVpATYEbh4AzMggIzVf8VsplFRQUUFpaSl5eXuqBzyAdo7bG3Qo8LCK/DJQDx0ns326MMStWTk4OW7Zsob29nba2NuLxeMr3dDqEm9b52VPtg/2FXHHpP/B3hqEz8X7M6aW9/r0plwOJWf29vb34fD5KS0spKSmZcb+UTJuzVFVtA34I7AZqgX9V1dQHaBtjTJaJCGvWrGHr1q0pTQ6cyiGCc/uv4fS+cShvd8zPP8u9hGPpW1FkdHSUixcvcvjwYUKhUNruuxBzJhIReRLYBVwB/ALwtyLyV5kOzBhjlorX62XTpk3U1NSkbcitOj2cv/r3iTl9AEQcXj7t+00efmWM33ysk++fHmIsjQklFoultZluIeZTD/qsqv4nVe1V1SPADcDK23zYGGPmUFJSwrZt2ygoKEjL/frLdzFYuA3FwXDxldz71tv5xC2FVOY6eeTQQEYSSjbYoo3GGDONnp4eLly4kPJQYc/wJeoOfJKmHX9MOPD68u9HO8N8/eggRzrDFPgc/FJDkLfVB1LaubG8vJyqqqqU4p0snaO2BoDxkzyAGxhU1eW92fAkNmrLGLMY0WiUCxcu0NPTk7EyJieUQp+Dd20O8ta6AJ5FJJRsJZI5R22p6ht6oETkndioLWPMZcDlclFXV5e22sl0tpV6+NNbizjaGeZrRwf44qEBvn1yiPu25HB7rR93CjWUpbLgsWKq+h3gLRmIxRhjlqXCwsK09p1MZ1uph0/eWswnbimkLODkn17u56M/7OTJpmGi8eXdBTFnjURE3jXppQPYyetNXcYYc1lwuVzU19cTCoW4ePFiSptozebKMi9X3ObhcEeYrxwZ5B8O9PPtE0O8Z2sON9X4cC7DJVLmMyHx7knPo8A55rfEvDHGrDrFxcXk5uZy7tw5BgYGMlKGiHB1uZeryjwcaBvjq0cH+cxLfXzrxCDv25ZLY1Xqa3ml03z6SD68FIEYY8xK4fF42LRpE+3t7bS0tKS0RP1sRISdlT52VHh5oWWMrxwd5K/39bK+wMX7r8hh+xrvsljEccZEIiKfYZYmLFX9nYxEZIwxK0R5eTl5eXk0NTUxOjqasXJEhMYqH9et9fLchVG+dnSQP3+2l4ZiN79yRQ5XlHkzVvZ8zFYjsfGyxhgzB7/fz5YtW2hpaaGjo2PuC1LgFOHmGj83VPv4ybkRvnF0kD95poeryz184MpcysszWvyMZtuz3aWq6R/rlgU2j8QYsxT6+vo4d+5cRoYJT2cspjxxZphvnRhkIKzcWp/PJ37pWmpLgmm5/3znkcw2/PfFSTf7TFqiMsaYVSw/Pz/tC0DOxusU7mkI8rlfKOU9W4O8cGGA9v7MNbHNZLZEMrkHZ0+mA8kEEblbRB7u67OlwYwxS8PtdrNp0yYqKyuXrCM84Hbw3m25fPtDW9lVV7wkZU42WyJZ8XNFVPVRVX0wP3/FrOZijFklKioq2LhxI263e8nKzPGmZ+XihZqts32ziBwmUTOpTz4n+VpV9aqMR2eMMStYbm4uW7du5ezZs/T392c7nIyZLZFsWbIojDFmlXK5XGzcuJG2tjZaW1uzHU5GzJhIVPX8UgZijDGrWUVFBTk5OTQ1NS3ZqK6lkp0Nfo0x5jKUm5vLli1bCAbTMzx3ubBEYowxS8jj8dDQ0EBpaWm2Q0mbWROJiFyV/Hnl0oRjjDGrn4iwbt06amtrl8VaWamaq0by6yKyEbh/KYIxxpjLSXFxMQ0NDXg8nmyHkpIZE4mI/Eny/X2AQ0T+eMmiMsaYy0QwGGTLli3k5ORkO5RFm23U1p+KyD3Jc55S1e8tXVjGGHP5cLlcbNq0iQsXLtDV1ZXtcBZsrqatXar6m8B1SxGMMcZcrkSEmpoaqqurV1y/yayJRFX/IPnzj5YmHGOMubyVlZWxYcMGnM7sLHeyGDb81xhjlpm8vDw2b96M15vdDavmyxKJMcYsQz6fj82bN6+IyYvLPpGISJ2IfFFEvjnp2DtF5J9E5Lsi8vZsxmeMMZky3glfWFiY7VBmNdvwX6eI/GcR+TMR2TPlvT+cz81F5Esi0iEiR6Ycv0NETorIGRH5+Gz3UNUmVb1/yrHvqOpHgA8B751PLMYYsxI5HA7q6uooz9Y+uvMwW43kH4FbgBDwaRH5m0nvvWue9/9n4I7JB0TECXwWuBPYCrxfRLaKyJUi8v0pj7I57v+HyXsZY8yqVlVVRXV1dbbDmNZsy8hfP77niIj8PfA5EfkW8H7euHvijFT1ZyJSO/W+wBlVbUre+6vAvar6KeAX53NfSYyN+wvgcVV9eYZzHgQeBFi3bt18bmuMMctaWVkZbrebs2fPorp89h6crUYyMWdfVaOq+iBwCPgJkMoUzLXAxUmvm5PHpiUixSLyD8C1IvJQ8vBvA28F3i0ivzHddar6sKruVNWdq2lxNGPM5a2wsJBNmzYtq+HBs9VI9ovIHar6w/EDqvpJEWkFPp9CmdPVZmZMraoaAn5jyrFPA59OIQZjjFmxcnJyaGho4PTp00QikWyHM3ONRFU/ODmJTDr+BVVNZRPiZmByQ18VkJFtw0TkbhF5uK+vLxO3N8aYrPH7/TQ0NCyLuSazjdr6/yY9/+Up7/15CmW+BGwUkfUi4gHeB2RkHS9VfVRVH8zPz8/E7Y0xJqu8Xi8NDQ34/f6sxjFbH8n7Jj1/aMp7dzAPIvIVYC/QICLNInK/qkaBjwJPAMeBr6vq0QXEbIwxJsntdrNp0yYCgUDWYpitj0RmeD7d62mp6vtnOP4Y8Nh87pEKEbkbuHvDhg2ZLsoYY7JmfOJif39/VsqfrUaiMzyf7vWyZE1bxpjLhdPpzNoM+NlqJFeLSD+J2oc/+Zzka1/GIzPGGLMizLax1fIZpGyMMWbZWvaLNqbChv8aY0zmrepEYn0kxhiTeas6kRhjjMk8WU4Lf2WKiHQC56cczgcW2uY132vmc958zikBuuZR3kq0mN//Sik/HfdO5R4LvXYh56fju23f65UTQ42qzr1Yoapelg/g4UxdM5/z5nnO/mz/npbT73+llJ+Oe6dyj4Veu5Dz0/Hdtu/16ovhcm7aejSD18znvMWUv5pk+/Nnsvx03DuVeyz02oWcb9/t2S2Hz77kMWSsaSu5q+IhVR0SkQ8C24G/U9WpTUxmBiKyX1V3ZjsOY9LJvterTyYTyWHgauAq4N+ALwLvUtVbMlLgLEpKSrS2tnapizXGTDEcjjE4FiXH6yLgsalqy92BAwe6dB59JLPNbE9VVFVVRO4lURP5ooj8WgbLm1FtbS379+/PRtHGmKQD53v4wBf24YrGibsc/OMDjeyoyc6SHmZ+RGReLUiZ7CMZSO5o+EHgB8m92ufcx0RE7hCRkyJyRkQ+Ps37HxKRThE5lHw8kIHYjTFptq8pRDgaJ64QicbZ1xTKdkgmTTKZSN4LjAH3q+olEtvp/uVsFySTzWeBO4GtwPtFZOs0p35NVa9JPr6Q5riNMRnQWFeMx+XAKeB2OWisK852SCZNMta0lUwefzPp9QXgX+e47HrgjKo2AYjIV4F7gWOZitMYszR21BTy5Qca2dcUorGu2Jq1VpG0JxIRGWD6ZeYFUFXNm+XytcDFSa+bgV3TnHefiNwMnAJ+V1UvTj1BRB4EHgRYt27dPKM3xmTSjppCSyCrUNqbtlQ1V1XzpnnkzpFEYPoNs6YmpUeBWlW9CngK+JcZ4nhYVXeq6s7S0rknZhpjjFmcjE9IFJEyEVk3/pjj9GagetLrKqB18gmqGlLVseTLfwJ2pC9aY4wxC5WxRCIi94jIaeAs8AxwDnh8jsteAjaKyHoR8ZDYN/57U+5bMenlPST2fTfGGJMlmayR/BnQCJxS1fXA7cBzs12gqlHgo8ATJBLE11X1qIh8UkTuSZ72OyJyVEReAX4H+FCmPoAxxpi5ZXJCYkRVQyLiEBGHqj4tIv9zrotU9THgsSnH/njS84eAh9IfrjHGmMXIZCLpFZEc4GfAl0WkA4hmsDxjjDFZkMmmrXuBEeB3gR8CrwF3Z7A8Y4wxWZDJCYlDk15OO0TXGGPMypexRDJlYqKHxDpbQ/OYS2KMMWYFyWSNJHfyaxF5J4klUIwxxqwiS7ZDoqp+B3jLUpVnjDFmaWSyaetdk146gJ1MvwaXMcaYFSyTw38nj9CKkpjZfm8GyzPGGJMFmewj+XCm7m2MMWb5yMQy8p9hliYsVf2ddJdpjDEmezLR2b4fOAD4gO3A6eTjGiCWgfKMMcZkUdprJKr6L5DYWx24TVUjydf/APwo3eUZY4zJrkwO/60EJs8lyUkeM8YYs4pkctTWXwAHReTp5OtbgE9ksDyzwh0432P7eRuzAmVy1NYjIvI4r++5/nFVvZSp8szKduB8Dx/4wj7C0Tgel4MvP9BoycSYFSLtTVsisjn5czuJpqyLyUdl8pgxb7KvKUQ4GieuEInG2dcUynZIxph5ykSN5PeAB4G/nuY9xZZJMdNorCvG43IQicZxuxw01hVnOyRjzDxlYtTWg8mft6X73mb12lFTyJcfaLQ+EmNWoIyN2hKRXxaR3OTzPxSRb4nItfO47g4ROSkiZ0Tk49O87xWRryXff0FEatMfffYdON/DZ58+w4HzPdkOZcnsqCnkt27bYEnEmBUmk8N//0hVB0TkRuAdJDa3+ofZLhARJ/BZ4E5gK/B+Edk65bT7gR5V3QD8LTDnPvArzXjH81//6CQf+MK+yyqZGGNWnkwO/x2fxX4X8HlV/a6IfGKOa64HzqhqE4CIfJXEQo/HJp1zL68PI/4m8PciIqo647IsJ0+e5NZbb13wB8iW3spdjFbfCOJgNBzh/of+goLWF7IdljHGTCuTNZIWEflH4D3AYyLinUd5a0mM8BrXnDw27TmqGgX6gDf1zIrIgyKyX0T2RyKRRX6E7PD1X0TiMdAYEo/j678490XGGJMlmayRvAe4A/grVe0VkQrg9+e4RqY5NrWmMZ9zUNWHgYcBdu7cqT/96U/nDHg5eePkvHdmOxxjzGVIZLo/t2+WyQmJwyLSAdxIYtHGaPLnbJqB6kmvq4DWGc5pFhEXkA90pyXoZWRHTaF1OhtjVoRMjtr6E+C/AQ8lD7mBf5/jspeAjSKyXkQ8wPuA700553vAryWfvxv4yWz9I8YYYzIrk01bvwRcC7wMoKqt48OBZ6KqURH5KPAE4AS+pKpHReSTwH5V/R7wReDfROQMiZrI+zL4GYzJKFtfzKwGmUwkYVVVEVEAEQnO5yJVfQx4bMqxP570fBT45XQGakw22PpiZrXI5KitrydHbRWIyEeAp4AvZLA8Y1YUW1/MrBaZ7Gz/KxF5G9APNAB/rKpPZqo8Y1YaW1/MrBayVP3UyVnr71PVLy9JgW8suxM4P+VwPok5KAsx32vmc958zikBuuZR3kq0mN//Sil/3vcWjz/o8ARy4+HhAQ2PDC3mHqmUv4jz0/Hdtu/1yomhRlVL5zxLVdP6APJIjNT6e+DtJOZ9fJTEH/Lvpru8FOJ8OFPXzOe8eZ6zP9u/p+X0+18p5afj3qncY6HXLuT8dHy37Xu9+mLIRNPWvwE9wF7gARKTED3Avap6KAPlLdajGbxmPuctpvzVJNufP5Plp+Peqdxjodcu5Hz7bs9uOXz2JY8h7U1bIvKqql6ZfO4kUYVdp6oDaS3oMiAi+1V1Z7bjMCad7Hu9+mRi1NbEwlaqGgPOWhJZtIezHYAxGWDf61UmEzWSGDDeaSiAHxhOPldVzUtrgcYYY7JqyUZtGWOMWZ0yOSHRGGPMZcASiTHGmJRYIjHGGJMSSyQrhIgEReRfROSfROQD2Y7HmHQRkToR+aKIfDPbsZjFsUSSRSLyJRHpEJEjU47fISInReSMiHw8efhdwDdV9SPAPUserDELsJDvtqo2qer92YnUpIMlkuz6ZxLbEU9ITuL8LHAnsBV4v4hsJbFb5Pjm7bEljNGYxfhn5v/dNiucJZIsUtWf8eZtgq8HziT/Ly0MfBW4l8QWw1XJc+y/m1nWFvjdNiuc/UFaftbyes0DEglkLfAt4D4R+TzLYz0fYxZq2u+2iBSLyD8A14rIQ9NfapazTO6QaBZHpjmmqjoEfHipgzEmjWb6boeA31jqYEz6WI1k+WkGqie9rgJasxSLMelk3+1VyhLJ8vMSsFFE1ouIB3gf8L0sx2RMOth3e5WyRJJFIvIVEvu2NIhIs4jcr6pREhuBPQEcB76uqkezGacxC2Xf7cuLLdpojDEmJVYjMcYYkxJLJMYYY1JiicQYY0xKLJEYY4xJiSUSY4wxKbFEYowxJiWWSMxlT0RiInJo0uPjc1+VeSJyTkReFZGdIvLtZGxnRKRvUqw3zHDtAyLyb1OOlSeXdneLyNdEpFtE3rk0n8asZjaPxFz2RGRQVXPSfE9XcgJeKvc4B+xU1a5Jx24FPqaqvzjHtYXAaaBKVUeTxz4KXKmq/zn5+t9J7HHznVTiNMZqJMbMIFkj+FMReTlZM9icPB5Mbtz0kogcFJF7k8c/JCLfEJFHgR+JiENEPiciR0Xk+yLymIi8W0RuF5FvTyrnbSLyrRTivE5EnhGRAyLyuIiUq2oP8Dxw16RT3wd8ZbHlGDMTSyTGgH9K09Z7J73Xparbgc8DH0se+wPgJ6p6HXAb8JciEky+txv4NVV9C4ldLWuBK4EHku8B/ATYIiKlydcfBh5ZTOAi4gX+DrhPVXcA/w78WfLtr5BIHohIdTKWny2mHGNmY8vIGwMjqnrNDO+N1xQOkEgMAG8H7hGR8cTiA9Ylnz+pquMbOt0IfENV48AlEXkaEuumJ/svPigij5BIMP9pkbFvAbYBT4kIgJPEKruQWBDx0yKSA7yXxNpW8UWWY8yMLJEYM7ux5M8Yr/97ERI1gJOTTxSRXcDQ5EOz3PcREhuUjZJINovtTxHgsKreNPUNVR0SkadI7EL4PuC/LLIMY2ZlTVvGLNwTwG9LsgogItfOcN6zJHa1dIhIOXDr+Buq2kpiL44/JLG/+WIdI7HL4PXJWDwism3S+18Bfh8oUNWXUijHmBlZIjHmzX0kfzHH+X8GuIHDInKE1/skpvoPEs1MR4B/BF4A+ia9/2XgoqoeW2zgqjoGvBv4GxF5BTgI7Jp0yg9JNLt9dbFlGDMXG/5rTAaJSI6qDopIMfAisEdVLyXf+3vgoKp+cYZrzzFl+G+aY7PhvyYtrEZiTGZ9X0QOAT8H/mxSEjkAXEVilNVMOoEfi8jOdAclIl8D9pDoozEmJVYjMcYYkxKrkRhjjEmJJRJjjDEpsURijDEmJZZIjDHGpMQSiTHGmJT8X7mHTAIdfWX9AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "opts = {\n", " \"energy_range\": analysis.fit.fit_range,\n", " \"energy_power\": 2,\n", " \"flux_unit\": \"erg-1 cm-2 s-1\",\n", "}\n", "axes = analysis.spectrum_result.plot(**opts)\n", "CrabSpectrum().model.plot(ax=axes[0], **opts)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "Rerun the analysis, changing some aspects of the analysis as you like:\n", "\n", "* only use one or two observations\n", "* a different spectral model\n", "* different config options for the spectral analysis\n", "* different energy binning for the spectral point computation\n", "\n", "Observe how the measured spectrum changes." ] }, { "cell_type": "code", "execution_count": 9, "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 } }, "nbformat": 4, "nbformat_minor": 2 }