{ "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://static.mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/master?urlpath=lab/tree/spectrum_analysis.ipynb)\n", "- You can contribute with your own notebooks in this\n", "[GitHub repository](https://github.com/gammapy/gammapy/tree/master/docs/tutorials).\n", "- **Source files:**\n", "[spectrum_analysis.ipynb](../_static/notebooks/spectrum_analysis.ipynb) |\n", "[spectrum_analysis.py](../_static/notebooks/spectrum_analysis.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Spectral analysis with Gammapy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prerequisites \n", "\n", "- Understanding how spectral extraction is performed in Cherenkov astronomy, in particular regarding OFF background measurements. \n", "- Understanding the basics data reduction and modeling/fitting process with the gammapy library API as shown in the [first gammapy analysis with the gammapy library API tutorial](analysis_2.ipynb)\n", "\n", "## Context\n", "\n", "While 3D analysis allows in principle to deal with complex situations such as overlapping sources, in many cases, it is not required to extract the spectrum of a source. Spectral analysis, where all data inside a ON region are binned into 1D datasets, provides a nice alternative. \n", "\n", "In classical Cherenkov astronomy, it is used with a specific background estimation technique that relies on OFF measurements taken in the field-of-view in regions where the background\n", "rate is assumed to be equal to the one in the ON region. \n", "\n", "This allows to use a specific fit statistics for ON-OFF measurements, the wstat (see `~gammapy.stats.fit_statistics`), where no background model is assumed. Background is treated as a set of nuisance parameters. This removes some systematic effects connected\n", "to the choice or the quality of the background model. But this comes at the expense of larger statistical uncertainties on the fitted model parameters.\n", "\n", "**Objective: perform a full region based spectral analysis of 4 Crab observations of H.E.S.S. data release 1 and fit the resulting datasets.**\n", "\n", "## Introduction\n", "\n", "Here, as usual, we use the `~gammapy.data.DataStore` to retrieve a list of selected observations (`~gammapy.data.Observations`). Then, we define the ON region containing the source and the geometry of the `~gammapy.datasets.SpectrumDataset` object we want to produce. We then create the corresponding dataset Maker. \n", "\n", "We have to define the Maker object that will extract the OFF counts from reflected regions in the field-of-view. To ensure we use data in an energy range where the quality of the IRFs is good enough we also create a safe range Maker.\n", "\n", "We can then proceed with data reduction with a loop over all selected observations to produce datasets in the relevant geometry.\n", "\n", "We can then explore the resulting datasets and look at the cumulative signal and significance of our source. We finally proceed with model fitting. \n", "\n", "In practice, we have to:\n", "- Create a `~gammapy.data.DataStore` poiting to the relevant data \n", "- Apply an observation selection to produce a list of observations, a `~gammapy.data.Observations` object.\n", "- Define a geometry of the spectrum we want to produce:\n", " - Create a `~regions.CircleSkyRegion` for the ON extraction region\n", " - Create a `~gammapy.maps.MapAxis` for the energy binnings: one for the reconstructed (i.e. measured) energy, the other for the true energy (i.e. the one used by IRFs and models)\n", "- Create the necessary makers : \n", " - the spectrum dataset maker : `~gammapy.makers.SpectrumDatasetMaker`\n", " - the OFF background maker, here a `~gammapy.makers.ReflectedRegionsBackgroundMaker`\n", " - and the safe range maker : `~gammapy.makers.SafeRangeMaker`\n", "- Perform the data reduction loop. And for every observation:\n", " - Apply the makers sequentially to produce a `~gammapy.datasets.SpectrumDatasetOnOff`\n", " - Append it to list of datasets\n", "- Define the `~gammapy.modeling.models.SkyModel` to apply to the dataset.\n", "- Create a `~gammapy.modeling.Fit` object and run it to fit the model parameters\n", "- Apply a `~gammapy.estimators.FluxPointsEstimator` to compute flux points for the spectral part of the fit.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "As usual, we'll start with some setup ..." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "gammapy: 0.18.2\n", "numpy: 1.18.5\n", "astropy 4.0.1.post1\n", "regions 0.4\n" ] } ], "source": [ "# Check package versions\n", "import gammapy\n", "import numpy as np\n", "import astropy\n", "import regions\n", "\n", "print(\"gammapy:\", gammapy.__version__)\n", "print(\"numpy:\", np.__version__)\n", "print(\"astropy\", astropy.__version__)\n", "print(\"regions\", regions.__version__)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from pathlib import Path\n", "import astropy.units as u\n", "from astropy.coordinates import SkyCoord, Angle\n", "from regions import CircleSkyRegion\n", "from gammapy.maps import Map, MapAxis\n", "from gammapy.modeling import Fit\n", "from gammapy.data import DataStore\n", "from gammapy.datasets import (\n", " Datasets,\n", " SpectrumDataset,\n", " SpectrumDatasetOnOff,\n", " FluxPointsDataset,\n", ")\n", "from gammapy.modeling.models import (\n", " PowerLawSpectralModel,\n", " create_crab_spectral_model,\n", " SkyModel,\n", ")\n", "from gammapy.makers import (\n", " SafeMaskMaker,\n", " SpectrumDatasetMaker,\n", " ReflectedRegionsBackgroundMaker,\n", ")\n", "from gammapy.estimators import FluxPointsEstimator\n", "from gammapy.visualization import plot_spectrum_datasets_off_regions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load Data\n", "\n", "First, we select and load some H.E.S.S. observations of the Crab nebula (simulated events for now).\n", "\n", "We will access the events, effective area, energy dispersion, livetime and PSF for containement correction." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "datastore = DataStore.from_dir(\"$GAMMAPY_DATA/hess-dl3-dr1/\")\n", "obs_ids = [23523, 23526, 23559, 23592]\n", "observations = datastore.get_observations(obs_ids)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define Target Region\n", "\n", "The next step is to define a signal extraction region, also known as on region. In the simplest case this is just a [CircleSkyRegion](http://astropy-regions.readthedocs.io/en/latest/api/regions.CircleSkyRegion.html), but here we will use the ``Target`` class in gammapy that is useful for book-keeping if you run several analysis in a script." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "target_position = SkyCoord(ra=83.63, dec=22.01, unit=\"deg\", frame=\"icrs\")\n", "on_region_radius = Angle(\"0.11 deg\")\n", "on_region = CircleSkyRegion(center=target_position, radius=on_region_radius)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create exclusion mask\n", "\n", "We will use the reflected regions method to place off regions to estimate the background level in the on region.\n", "To make sure the off regions don't contain gamma-ray emission, we create an exclusion mask.\n", "\n", "Using http://gamma-sky.net/ we find that there's only one known gamma-ray source near the Crab nebula: the AGN called [RGB J0521+212](http://gamma-sky.net/#/cat/tev/23) at GLON = 183.604 deg and GLAT = -8.708 deg." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQ8AAAEHCAYAAACwfMNTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAASsklEQVR4nO3dfbBcdX3H8ffHJEAeQAgBxZB6r7QYIlVJY6HGCeIDQwGRAWSqQkHUtjYiKD4VHavjw6ipKHWqowMiLSiPAR/GB5CmaKxkGkJIiEGp3GCFjMaLkAQjEPn2j/NbsrnZu3vu7+7Zh3s/r5mdPXvO2bPf3bv3s7/z9DuKCMzMxuoZ3S7AzPqTw2MESep2DaPp5dp6Wa9/br1cX7PaHB57eqzbBTSxvdsFjEaSP7d8vVzfqLU5PPbkjUBmJTg8zCyL+nlvy5w5c2JgYKCtyxwaGmJwcLCty2wX15anl2uD3q5vaGgIIIaHh/doaEztfDntMzAwwOrVq7tdhtmEtmjRooYbTb3aYmZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5m1lTqEGgPDg8za+qRRx5pON7hYWZZHB5m1tRo/Rw7PMysqYULFzYc7/AwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPL4vAwsywODzPLUml4SJonaYWkjZI2SLpgxPR3SwpJc+rGLZO0WtKxVdZmZuNTdctjJ3BRRBwBHAMslbQAimABXg38sjazpPlpcAmwtOLazGwcKg2PiNgcEWvS8DZgIzA3Tf4s8F6g/kKYU4Cn0jhVWZuZjU/HtnlIGgCOAlZJOgV4MCLurp8nIjYAM4CVwBc7VZuZlSPp6R/1qR16wVnAjcCFFKsyHwCObzRvRJzfZDkCttcez549u72FmtkehoaGkPRY7bGkWRERlbc8JE2jCI6rI2I5cBgwCNwtaRNwKLBG0rNbLSsKM2u3wcHBKks3M2BwcJD6/7uICKi45ZFaCpcDGyPiEoCIWA8cXDfPJmBRRPy2ylrMrL2qbnksBs4GXiFpbbqdWPFrmlkHVNryiIiVtNhrEhEDVdZgZtXwEaZmlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlsXhYWZZHB5mlmVqmZkkLQY+DDw3PUdARMTzqivNzHpZqfAALgfeCdwJ/LG6csysX5QNj0cj4ruVVmJmfaVseKyQtAxYDjxeGxkRayqpysx6XtnwODrdL6obF8Ar2luOmfWLUuEREcdVXYiZ9ZdSu2olPVPSJZJWp9tnJD2z6uLMrHeVPc7jK8A24Mx02wpcUVVRZtb7ym7zOCwiTq97/BFJa6soyMz6Q9mWxw5JL6s9SAeN7aimJDPrB2VbHm8DrkzbOQQ8DJxbVVFm1vvK7m1ZC7xI0n7p8dZKqzKzntc0PCSdFRFXSXrXiPEARMQlFdZmZj2sVctjZrrft8G0aHMtZtZHmoZHRHwpDf4gIn5cPy1tNDWzSars3pbPlxxnZpNEq20efwW8FDhoxHaP/YApVRZmZr2t1TaPvYBZab767R5bgTOqKsrMel+rbR63A7dL+mpEPNChmsysD5Q9SOz3qT+PFwD71EZGhE/JN5ukym4wvRq4FxgEPgJsAv6n1ZMkzZO0QtJGSRskXZDGL5N0r6R1km6StH/dc5alM3ePHfO7MbOOKRseB0bE5cCTEXF7RJwHHFPieTuBiyLiiDT/UkkLgFuBIyPihcDPgX8CkDQ/PW8JsHQM78PMOqzsasuT6X6zpJOAh4BDWz0pIjYDm9PwNkkbgbkRcUvdbHewa+PrFOApigPQVLI2M+uCsuHxsXRS3EUUx3fsR9GbemmSBoCjgFUjJp0HXAsQERskzQBWAu8Zy/LNrLMUUf1R5pJmAbcDH4+I5XXjP0DRL+ppUaIQFSfVbK89nj179ozh4eEKKjazmgMPPJCHH37493WjZkVElL3o00HAW4EB6loradtHq+dOA24Erh4RHOcAJwOvLBMc6fWCXefbsGjRIp9fY1axwcFBhoeHZ44cX3a15RvAj4AfMIaLPqWWwuXAxvozcCWdALwPODYifj/a882sd5UNjxkR8b6M5S8GzgbW13VbeDHwr8DewK3p9P47IuIfMpZvZl1SNjy+LenEiPjOWBYeEStpvNdkTMsxs95T9jiPCygCZIekrZK2SXJvYmaTWNluCBt1BmRmk1irU/LnR8S9khY2mu5r1ZpNXq1aHhdR7KL9TINpvlatWRfV+hJupBPHb7U6Jf+t6d7XqjWz3bRabTmt2fT6g77MrHrNWhujzVdVK6TVastrmkwLwOFhVrGygVHm+e0MklarLW9q2yuZ2YRS6jgPSZ8Y0WHPAZI+Vl1ZZgbjb3VUubyyB4n9dUQ8UnsQEb8DTmxbFWa2G0ltD452L7tseEyRtHfdi0+nODfFzCapsue2XAXcJukKig2l5wFXVlaVmfW8soenf1rSOuBVFCe6fTQivl9pZWaTVFWrK41eZzx7X8q2PAA2Ajsj4geSZkjaNyK2Zb+ymfW1sntb3grcANQufD0XuLmqosys95XdYLqUomOfrQARcR9wcFVFmVnvKxsej0fEE7UHkqZSbDg1s0mqbHjcLuliYLqkVwPXA9+qriwz63Vlw+P9wBZgPfD3FN0IfrCqoswmoyoPDKviNcvuqn1K0s3AzRGxJeuVzKyp2m7TTgbIeHbVNm15qPBhSb+luND1zyRtkfSh7Fc0swmh1WrLhRR7WV4SEQdGxGzgaGCxpDFdbtLMJpZW4fG3wOsjYqg2IiLuB85K08xskmoVHtMi4rcjR6btHtOqKcnM+kGr8Hgic5qZTXCt9ra8aJSLOwnYp4J6zCa9iOjIHpfxdknYqhvCKeNauplNWGM5q9bMOqTKYz7a1Qly2SNMzawL2n3ZhHYuz+Fh1uPa8Q8fEW0PIoeHmWVxeJj1gfG0HLp1xTgz6yGduIB1WW55mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZak0PCTNk7RC0kZJGyRdkMbPlnSrpPvS/QF1z1kmabWkY6uszczGp+qWx07goog4AjgGWCppAfB+4LaI+DPgtvQYSfPT85YASyuuzczGodLwiIjNEbEmDW8DNgJzgdcCV6bZrgROTcNTgKeAoLgqnZn1qI5t85A0ABwFrAKeFRGboQgY4OA0vAGYAawEvtip2sxs7DrSAbKkWcCNwIURsbXZVbAi4vwmyxGwvfZ49uzZ7SzTzBoYGhpC0mN1o2ZFRFTe8pA0jSI4ro6I5Wn0ryUdkqYfAvymzLKiMLN2GxwcrKZoM3va4OAg9f93kbpwr3pvi4DLgY0RcUndpG8C56Thc4BvVFmHmbVf1asti4GzgfWS1qZxFwOfBK6T9Gbgl8DrKq7DzNqs0vCIiJWMvtfklVW+tplVy0eYmlkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWh4eZZXF4mFkWRUS3a8g2Z86cGBgYyH7+0NAQg4OD7SuoAv1QI/RHna4xz9DQUAwPD+/R0Ojr8BgvSY9FxMxu19FMP9QI/VGna2wvr7aYWRaHh00m6nYBJfRDjYBXWxQ9/gH0Q439oh8+y36osWZSh4eZ5Zuwqy2SzpV0crfrMJuopna7gHaQtAnYBvwR2BkRi9KkMyWdAPw6Ij5aN/8UYDXwYEScnMa9E3gLEMB64E0R8QdJ5wLHATuAzcA04EjgzIh4ok3171aPpHnAvwPPBp4CvhwRl3ailga17QP8ENib4vtyQ0T8c5q2P3BZqiGA84Dn91iNJwCXAlOAyyLik934HFMtDf+uddNHfg+6UmdpEdH3N2ATMGfEuHOBN6bha0dMexfwNeDb6fFcYAiYnh5fB5xbt5w3pOHb0v3FwFFtrH9kPYcAC9PwvsDPgQWdqKVBbQJmpeFpwCrgmPT4SuAtaXgvYP9eqpEiMH4BPC/Vd3e3Psdmf9cm34Ou1Fn2NmFXW5JH0/3TG3YkHQqcRPGLWW8qMF3SVGAG8FDdtK3pfku6f4LiV27cGtUTEZsjYk0a3gZspAi4SmtpJArb08Np6RaS9gOWAJen+Z6IiEd6qUbgL4H/jYj7o/ilvgZ4bTdqTHWO+ndt8r3seJ1lTZTwCOAWSXdK+rsW834OeC9Fs7F4csSDwL8Av6RoHj4aEbdUVWyreupJGgCOovg17QpJUyStBX4D3BoRqyh+zbcAV0i6S9Jlkrp2cNMoNc4F/q9utl+xK4S7qsHften3oCd1u+nTpubgc9L9wRRN0yWjzHcy8IU0/HJ2NQ8PAP4TOIjiV+tm4KwO1N2wnrrps4A7gdO6/RmnevYHVlCsdy8CdgJHp2mXAh/tsRpfR7GdozbtbODzPVDjbn/XVt+DXr1NiJZHRDyU7n8D3ETRXG1kMXBK2sB6DfAKSVcBrwKGImJLRDwJLAdeWnnho9eDpGnAjcDVEbG8A7W0FMVqyX8BJ1D8iv8qil94gBuAhV0q7WkNapxXN/lQdl8d7bhR/q6jfg96WrfTqw0pPhPYt274v4ETSjzv5exqeRwNbKDY1iGKDYHnd/h91Ncjiq3yn+uBz/cgYP80PB34EXByevwj4Plp+MPAsl6qkWI71v3AILs2mL6gi59ly78rfdTymAi7ap8F3CQJii/L1yLie2NZQESsknQDsIaiKX4X8OV2FzoGiyma2OvTejzAxRHxnS7UcghwZdqN+Azguoj4dpp2PnC1pL0o/knf1IX6mtYo6e3A9yn2vHwlIjZ0qUborb/ruPkIUzPLMiG2eZhZ5zk8zCyLw8PMsjg8zCyLw8PMsjg8zCyLw8PMsjg8JiBJf5S0VtI9kr6V+t1A0nPSwXCtnr99lPGnSlrQ4rl3S/p6XuXtUfZ92vg4PCamHRHx4og4EngYWArFOUARccY4lnsqRX8YDUk6guI7taSbZ9i24X1aCQ6Pie8n7OozYkDSPWl4hqTrJK2TdK2kVZJqPbAh6eOpFXGHpGdJeilwCrAstWoOa/BabwD+A7glzVtb1jsk/TS91jVp3CxJV0han8afnsYfL+knktZIul7SrDR+k6SPpPHrJc1P449N9axNXQPsO+J97lP3OndJOi6NP1fScknfk3SfpE+3+XOf+Lp9co1v7b8B29P9FOB60omCwABwTxp+N/ClNHwkxTk9i9LjAF6Thj8NfDANfxU4o8nr/hx4LnA88M268Q8Be6fh2glsn6LuBDGKbhHmUHQnODONex/woTS8iXSyIvCPpFPtgW8Bi9PwLIrzm+rf50XAFWl4PkWfLftQ9NJ1P/DM9PgBYF63/3b9dHPLY2Kank68GgZmA7c2mOdlFKd/ExH3AOvqpj0B1E5+u5Pin7EpSS8BtkTEA8BtwEJJB6TJ6yhOoDuLIqSg6Abh32rPj4jfUXQduAD4car/HIowqqmdwl5f04+BSyS9gyKYdrK7l1G0hoiIeylC4vA07baIeDQi/gD8dMRrWQsOj4lpR0S8mOKfYS/SNo8Rml1c6MlIP9UUnUqXOfv69cD81CfFL4D9gNPTtJMoguIvgDtTV4+irnvIuppujWJ7zYsjYkFEvLlu+uMja4qIT1J0XD0duKO2OlPyfT5eN1z2fVri8JjAIuJR4B3Au1MnNPVWAmcCpD0of15ikdsoOu7djaRnUPTa9cKIGIiIAYq+Ql+fps2LiBUU3eztT7F6cQvw9rplHADcASyW9Kdp3AxJh9OEpMMiYn1EfIqi5/GR4fFD4I1p3sOBPwF+VuK9WgsOjwkuIu6i6ATnb0ZM+gJwkKR1FNsW1rGrw+jRXAO8J214rN9guoTicgEP1o37IcUqyFzgKknrKfpJ+WwUvX19DDgg7U6+GzguIrZQbIv4eqrrDvYMg5EurFvGDuC7Dd7nlPT611L0iv/4yIXY2Lk/j0kqdZwzLYpr0xxGsZ3i8OiF64FYX/A63uQ1A1iRVmcEvM3BYWPhloeZZfE2DzPL4vAwsywODzPL4vAwsywODzPL8v9RjMCNrrGEkwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "exclusion_region = CircleSkyRegion(\n", " center=SkyCoord(183.604, -8.708, unit=\"deg\", frame=\"galactic\"),\n", " radius=0.5 * u.deg,\n", ")\n", "\n", "skydir = target_position.galactic\n", "exclusion_mask = Map.create(\n", " npix=(150, 150), binsz=0.05, skydir=skydir, proj=\"TAN\", frame=\"icrs\"\n", ")\n", "\n", "mask = exclusion_mask.geom.region_mask([exclusion_region], inside=False)\n", "exclusion_mask.data = mask\n", "exclusion_mask.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run data reduction chain\n", "\n", "We begin with the configuration of the maker classes:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "e_reco = MapAxis.from_energy_bounds(0.1, 40, 40, unit=\"TeV\", name=\"energy\")\n", "e_true = MapAxis.from_energy_bounds(\n", " 0.05, 100, 200, unit=\"TeV\", name=\"energy_true\"\n", ")\n", "dataset_empty = SpectrumDataset.create(\n", " e_reco=e_reco, e_true=e_true, region=on_region\n", ")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "dataset_maker = SpectrumDatasetMaker(\n", " containment_correction=False, selection=[\"counts\", \"exposure\", \"edisp\"]\n", ")\n", "bkg_maker = ReflectedRegionsBackgroundMaker(exclusion_mask=exclusion_mask)\n", "safe_mask_masker = SafeMaskMaker(methods=[\"aeff-max\"], aeff_percent=10)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 3.02 s, sys: 115 ms, total: 3.14 s\n", "Wall time: 2.94 s\n" ] } ], "source": [ "%%time\n", "datasets = Datasets()\n", "\n", "for obs_id, observation in zip(obs_ids, observations):\n", " dataset = dataset_maker.run(\n", " dataset_empty.copy(name=str(obs_id)), observation\n", " )\n", " dataset_on_off = bkg_maker.run(dataset, observation)\n", " dataset_on_off = safe_mask_masker.run(dataset_on_off, observation)\n", " datasets.append(dataset_on_off)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot off regions" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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EYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShFNIiIiIOpZAWERFxKIW0iIiIQymkRUREHEohLSIi4lAKaREREYdSSIuIiDiUQlpERMShjLX2ZLfhT6tRo4Zt1KjRSXntzZs3k5ycfFJe+1Sjvjx+1JfHj/ry+FFflm/z5s123759pR40V+mQPpmMMXnW2siT3Y5Tgfry+FFfHj/qy+NHffnn6XS3iIiIQymkRURKZ052A04h6ss/Sae7/yRjjLHqvONCfSlOpM/l8aO+/PN0JF0KY8wwY0yf8sroA3f8qC/FifS5PH7Ul39e8MluwMlmjNkC5AAewG2t7eDfdY0x5jJgt7X2yRLlg4BlwHZrbR//tnuB4YAFVgI3WmsLjDHDgB7AAWAnEAK0Aq6x1hadgLfnGEf2mzGmPvAhUBvwAm9ba8eqz8pmjKkGLAbC8H13p1prH/XviwP+ja+vLHAT0Az15VEq6MfLgLFAEPBva+1z+kyWrazvcYn9R37vh6G+PCY6kvbpYa09p0RAA8yz1t6F7wNU0j3A6oP/YYypC9wNdLDWtsL35b72iHpuA7pZa/8G/BdoWRlvwuEO6zfADYy21rYAOgF3GmPO8u9Tn5WuELjIWns2cA5wmTGmk3/fWGCutbY5cDb/62v15dFK7Ud/oIwHegFnASn6TFaovO8xHP29B/XlMVFIly3L/++h0zTGmHpAb3xHLCUFA+HGmGAgAthRYl+2/990/79F+P6CP22U1m/W2p3W2uX+n3PwfZHr+nef9n1WGuuT6//PEP/DGmNigG7AO/5yRdbaTH859eURyupH4Fxgg7V2k/+obiLQz19O/ViK8r7H5fy+VF8eA4W078s53xjzszHm1grKvgo8gO+0ju/J1m4HXgK24Tt9k2WtnV9Zja2ijuq3kowxjYC2wNIT16SqyRgTZIz5BdgDLLDWLgUa4/uF954xZoUx5t/GGN2TWo4y+rEukFqiWBr/+8NRKlDK97jc770EyFp7Wj+AJP+/icCv+E7BlFauD/CG/+cLgc/8P8cDC4Ga+P4inwlcd7Lfl1MeZfVbif1RwM/AlSe7rVXpAcQBi/BdjumA77Tjef59Y4EnT3Ybq8LjiH68Gt916IP7hgKvn+w2VoXHkd/jir73egT+OO2PpK21O/z/7gFm4DvlVZquwBX+gWYTgYuMMR8DFwObrbXp1tpiYDrQpdIbXnWU1W8YY0KAacAn1trpJ6+JVY/1nc7+BrgM3xFfmvUdDQJMBdqdpKZVKaX0Y/0Su+tx+KUrKUUZ3+Myv/dybE7rkDbGRBpjog/+DFwC/F5aWWvtQ9baetbaRvgGhi201l6H7zR3J2NMhDHGAD05eqDEaausfvP31TvAamvtyye1kVWEMaamfxQ3xphwfH8grrHW7gJSjTHN/EV7An+cpGY6Xln9CPwEnGGMSTbGhOL7vM4+eS11vrK+x+X8vpRjdLrfglULmOH7nBEMfGqtnXssFVhrlxpjpgLL8Z1yXAG8fbwbegrqiu904kr/tUGAh621X5zENjldHeAD/yhkFzDZWvuZf99I4BN/uGwCbjxJbawKyuxHY8xdwDx8d2m8a61ddfKaWSXoe1zJNOOYiIiIQ53Wp7tFREScTCEtIiLiUAppERERh1JIi4iIOJRCWkRExKEU0iIiIg6lkBYREXEohbTISWaM8RhjfjHG/G6MmVNiNqwk/0Q5FT0/t4zt/Y9YNrC0Mr8aYyb8uZYfH4G+T5HTkUJa5OQ7YH3rmbcC9gN3gm9eeWvtVf+HevvjWxe5VMaYFvh+B3Q7matmHYf3KXLKUkiLOMuP/G893kbGmN/9P0cYYyYbY34zxkwyxiw1xnQ4+CRjzNP+o+IlxphaxpguwBXAi/6j9CalvNZg4CNgvr/swbruNsb84X+tif5tUcaY94wxK/3bB/q3X2KM+dEYs9wYM8UYE+XfvsUY87h/+0pjTHP/9u7+9vziX1Yz+oj3Wa3E66wwxvTwbx9mjJlujJlrjFlvjHnhOPe7iCMppEUcwj+XdE9KX9ThDiDDWtsGeBJoX2JfJLDEWns2sBi4xVr7g7+e+/1H6RtLqXMQMAmYAKSU2P4g0Nb/Wrf5tz2Cb6301v7tC40xNYC/ARdba9sBy4D7StSz17/9TWCMf9sY4E5r7TnABcCBI9p08CxCa3+bPjDGVPPvO8ff5tbAIGNMfUROcQppkZMv3L84wT4gAVhQSpnz8S35h7X2d+C3EvuKgIMLbfwMNKroBY0xHYF0a+1W4GugnTEm3r/7N3yLdVyHb9EY8K0UNf7g8621GUAnfKfTv/e3/wagYYmXObhsYck2fQ+8bIy5G4iz1ro53Pn4ju6x1q4BtgJn+vd9ba3NstYW4FvlqyEipziFtMjJd8B/ZNkQCMV/NHkEU87zi+3/VsrxENjqdilAc/96vxuBGGCgf19vfIHcHvjZGBPsf/0jV+MxwAL/kfo51tqzrLU3l9hfeGSbrLXPAcOBcGDJwdPgAb7PwhI/B/o+Rao0hbSIQ1hrs4C7gTHGmJAjdn8HXAPgH7HdOoAqc4DoIzcaY1zA1UAba20j/5q//YAU/7761tpFwANAHBCF77r1XSXqiAeWAF2NMU392yKMMWdSDmNME2vtSmvt8/hOjx8Z0ouBIf6yZwINgLUBvFeRU5JCWsRBrLUrgF+Ba4/Y9QZQ0xjzG/BXfKeksyqobiJwv38AVsmBY92A7dba7SW2LcZ36rou8LExZiW+tdFfsdZmAk8B8f7bxH4Felhr04FhwAR/u5ZwdOgeaVSJOg4AX5byPoP8rz8JGGatLTyyEpHThdaTFqkC/IPKQqy1Bf7A/Ro401pbdJKbJiKVSNd0RKqGCGCR/zS4AW5XQIuc+nQkLSIi4lC6Ji0iIuJQCmkRERGHUkiLiIg4lEJaRETEoRTSIiIiDqWQFhERcaj/D7ZiO3X8i71mAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 8))\n", "_, ax, _ = exclusion_mask.plot()\n", "on_region.to_pixel(ax.wcs).plot(ax=ax, edgecolor=\"k\")\n", "plot_spectrum_datasets_off_regions(ax=ax, datasets=datasets)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Source statistic\n", "\n", "Next we're going to look at the overall source statistics in our signal region." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "info_table = datasets.info_table(cumulative=True)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=4\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
namecountsbackgroundexcesssqrt_tsnprednpred_backgroundnpred_signalexposure_minexposure_maxlivetimeontimecounts_ratebackground_rateexcess_raten_binsn_fit_binsstat_typestat_sumcounts_offacceptanceacceptance_offalpha
m2 sm2 sss1 / s1 / s1 / s
str5float32float64float64float64float64float64float64float64float64float64float64float64float64float64int64int64str5float64float32float64float64float64
23523177.014.916666666666666162.0833333333333421.05083859004172527.38461538461538727.384615384615387nan1808360.592085191099528528.59148361581.73675841093061687.00.111902311847276360.009430562062458790.102471749784817594028wstat485.0079493226156179.028.0336.00.08333333333333336
23523353.031.249998092651367321.7529.36543808674574856.0000004422735256.00000044227352nan7707104.9537750722036737418.89439773154.42348241806033370.00.111906344207596280.0099067225015381610.101999621101399734029wstat903.6963227647335375.029.0348.00003051757810.083333320915699
23523503.041.884151458740234461.115844726562536.9425974235915165.5324188799758165.53241887997581nan11107774.9448550232786019506.45211844732.5469999313355056.00.106285262461693050.0088502346536332190.097435027002003964029wstat1425.8449748709932811.029.0561.52502441406250.05006258562207222
23523632.053.3841552734375578.615844726562541.67900601157544677.98236496288677.982364962886nan12189605.0520722443625950388.2934746313.8116406202326742.00.10009801305030950.008455139036772620.091642874013536884029wstat1826.80503290988851225.029.0665.45965576171880.04139557480812073
" ], "text/plain": [ "\n", " name counts background ... acceptance_off alpha \n", " ... \n", " str5 float32 float64 ... float64 float64 \n", "----- ------- ------------------ ... ----------------- -------------------\n", "23523 177.0 14.916666666666666 ... 336.0 0.08333333333333336\n", "23523 353.0 31.249998092651367 ... 348.0000305175781 0.083333320915699\n", "23523 503.0 41.884151458740234 ... 561.5250244140625 0.05006258562207222\n", "23523 632.0 53.3841552734375 ... 665.4596557617188 0.04139557480812073" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info_table" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(\n", " info_table[\"livetime\"].to(\"h\"), info_table[\"excess\"], marker=\"o\", ls=\"none\"\n", ")\n", "plt.xlabel(\"Livetime [h]\")\n", "plt.ylabel(\"Excess\");" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(\n", " info_table[\"livetime\"].to(\"h\"),\n", " info_table[\"sqrt_ts\"],\n", " marker=\"o\",\n", " ls=\"none\",\n", ")\n", "plt.xlabel(\"Livetime [h]\")\n", "plt.ylabel(\"Sqrt(TS)\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally you can write the extrated datasets to disk using the OGIP format (PHA, ARF, RMF, BKG, see [here](https://gamma-astro-data-formats.readthedocs.io/en/latest/spectra/ogip/index.html) for details):" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "path = Path(\"spectrum_analysis\")\n", "path.mkdir(exist_ok=True)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "for dataset in datasets:\n", " dataset.to_ogip_files(outdir=path, overwrite=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to read back the datasets from disk you can use:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "datasets = Datasets()\n", "for obs_id in obs_ids:\n", " filename = path / f\"pha_obs{obs_id}.fits\"\n", " datasets.append(SpectrumDatasetOnOff.from_ogip_files(filename))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fit spectrum\n", "\n", "Now we'll fit a global model to the spectrum. First we do a joint likelihood fit to all observations. If you want to stack the observations see below. We will also produce a debug plot in order to show how the global fit matches one of the individual observations." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "spectral_model = PowerLawSpectralModel(\n", " index=2, amplitude=2e-11 * u.Unit(\"cm-2 s-1 TeV-1\"), reference=1 * u.TeV\n", ")\n", "model = SkyModel(spectral_model=spectral_model, name=\"crab\")\n", "\n", "for dataset in datasets:\n", " dataset.models = model\n", "\n", "fit_joint = Fit(datasets)\n", "result_joint = fit_joint.run()\n", "\n", "# we make a copy here to compare it later\n", "model_best_joint = model.copy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fit quality and model residuals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can access the results dictionary to see if the fit converged:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OptimizeResult\n", "\n", "\tbackend : minuit\n", "\tmethod : minuit\n", "\tsuccess : True\n", "\tmessage : Optimization terminated successfully.\n", "\tnfev : 47\n", "\ttotal stat : 124.41\n", "\n" ] } ], "source": [ "print(result_joint)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A simple way to inspect the model residuals is using the function `~SpectrumDataset.plot_fit()`" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.1, 40)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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eOEFbrjhBmbNmsU3vvGNxH6jRo1it91249VXX020JFx22WVs3ryZiooKfvOb39C1a1dmzpzJk08+yaZNm3j33Xc59dRT+dnPfgbAr3/9a/7zP/+TvfbaiwMPPJDWrVtz1113sX79ei688EI+/PBDAG677Tb69u0bye9HpBSFXd8oERAJYNGiRUDT/0GPPvroRs+dfvrpXHTRRWzatIkTTzyx0eujRo1i1KhRbNiwgeHDh9d7ranhQ3fffTd/+MMfeP755+nYsSMzZ85MxHnSSScxZMiQRsess2rVKubNm0eLFi349NNPWbhwIS1btmTevHlcddVVzJo1C6gZ0/zqq6/SunVrunbtyiWXXEKLFi24/vrreeWVV2jXrh3HHHMMhxxyCACXXnop48eP59vf/jYffvghxx9/PO+8807G9yEiXwla3+SLEgGRAK666iogvHG9Yfjud79LixYtAKiuruacc85h9erVmBlbt25NlBswYADt29f0k3br1o0PPviADRs20L9/f3bbbbfEsVatWgXAvHnzePvttxP7f/rpp3z22We0a9curLcmUtLCrm+UCIjkUab/uG3bts34eseOHUNNNHbeeefEz9deey3f+c53ePzxx1mzZk29lo3WrVsnfm7RogXbtm3D3dMed8eOHSxevJiKioqCxC0i+aV5BETKVLt27fjss88Cla2urmbvvfcGSHQvZHL44Yfzwgsv8Mknn7Bt27ZENwLAcccdx1133ZV4rKmZRYqbEgGRMnXmmWdyyy230KtXL959992MZX/84x9z5ZVX0rdvX7Zv397ksffee2+uuuoqjjjiCI499li6deuW6D644447WLp0KT169KBbt27cfffdeXk/IlIYlqmJr1xVVVX50qVLow5DCm1Se5hUnZdD1TWVN2y6f+eddzjooIPyco5S8/nnn7PLLruwbds2Tj31VEaPHs2pp54adVhlJcrPV+WEOayZPDiSc+dTzu9jSneo/rDpcnmceChdfZMLM1vm7lWpXtM9AiIB3HbbbVGHUHQmTZrEvHnz2LJlC8cddxynnHJK1CFJBlOeXcXt81cnHl864EDGD+wSYUQlIujFPY8TD4Vd3ygREAmgZ8+eUYdQdG699daoQ5BmGD+wC+MHdimbb/rlLOz6RvcIiAQwb9485s2bF3UYIhIDYdc3ahEQCeCGG24A4Nhjj404EhEpd2HXN2oREBERiTElAiIiIjGmRECkxLVo0YKePXty8MEH893vfpdNmzZlfaxRo0bx2GOPAXD++efXmyq4oQULFiTmRG+OyspKNmzYEKjsT3/604L0lTYnhnyaOXMmf/nLX0I/r0gmukdAJJ+CjjkOKsDY5IqKisTsfSNHjuTuu+/mhz/8YeL17du3J9YUaI5777034+sLFixgl112KejCKP/xH/9RsGNHYebMmRx88MHstddeUYcSmnwPW4xyGGTZDsF099hswFBg+gEHHOASAxN3zduhVqxY4StWrGj0/Ntvv12wcwY93s4775z4edq0aT5u3Dh//vnn/eijj/YRI0b4QQcd5Nu2bfMrrrjCq6qqvHv37n733Xe7u/uOHTv84osv9oMOOshPPPFEP+GEE/zRRx91d/f+/fv7kiVL3N197ty53qtXL+/Ro4cfc8wx/v777/u//uu/+l577eWHHHKIL1y40D/++GM/7bTTvKqqyquqqvzFF190d/cNGzb4wIEDvWfPnj527Fjfd999ff369fXew7Zt2/ycc87xb33rW37wwQf7L37xC3d3P+eccxLxzJkzx7t27ep9+/b1Sy65xAcPHlzzK5o40c8991zv37+/d+7c2W+//fbEcU8++WQ/9NBDvVu3bv6rX/0q8fx+++3XKIZU79PdfePGjX7yySd79+7d/YgjjvDXXnstcd5bbrklse+3vvUtf//99/3999/3b37zm37++ed7t27dfODAgb5p0yZ/9NFHfeedd/YuXbr4IYcc4ps2bfKf/OQnftBBB3n37t398ssvbxRPo89XHuz3k6fyWi7f58338fJ93rTHDKG+yQWw1NNcG2PVIuDus4HZVVVVY6KORUpL165dow6hSdu2bWPu3LkMGjQIgJdffpk333yTzp07M336dNq3b8+SJUv45z//Sd++fTnuuON49dVXWblyJW+88QZ/+9vf6NatG6NHj6533PXr1zNmzBgWLlxI586d+fvf/85uu+3GhRdeyC677MIVV1wBwFlnnZVy+eHrrruOb3/72/z0pz9lzpw5TJ8+vVHsy5cv56OPPuLNN98E4B//+Ee917ds2cIFF1yQiGHEiBH1Xl+xYgXPP/88n332GV27dmXcuHG0atWKGTNmsNtuu7F582Z69+7NsGHD2H333VP+/lK9T4CJEyfSq1cvnnjiCZ577jm+//3vN7l+wurVq3nwwQe55557OP3005k1axbf+973uOuuu7j11lupqqri73//O48//jgrVqzAzBq9Zykx7fcNNqlQgFa+sOubWCUCItmaPXs2AEOHDo04ksY2b96cmIDk3//93znvvPNYtGgRhx9+OJ07dwbgj3/8I6+//nqi/7+6uprVq1ezcOFCRowYQYsWLdhrr7045phjGh3/pZdeol+/folj1S093FC65YcXLlzIf//3fwMwePBgOnTo0Gjf/fffn/fee49LLrmEwYMHc9xxx9V7fcWKFey///6JGEaMGFEvoaFc4AMAACAASURBVBg8eDCtW7emdevW7Lnnnvztb3+jU6dO3HHHHTz++OMArF27ltWrV6dNBNK9zxdffDGxqNIxxxzDxo0bqa7OPHV1586dE3+Tww47jDVr1jQqs+uuu9KmTRvOP/98Bg8ezJAhQzIeU4pcHmcgDLu+USIgEsDPf/5zoDgTgeR7BJIlLzPs7tx5550cf/zx9co8/fTTmFnG47t7k2Ug8/LDTe3foUMHXnvtNZ555hl++ctf8sgjjzBjxox6MWSSaqnkBQsWMG/ePBYvXkzbtm05+uij2bJlS9pjpHufqc5tZrRs2ZIdO3Yknks+dsN4Nm/e3OgYLVu25OWXX2b+/Pk89NBD3HXXXTz33HMZ36fEQ9j1jUYNiMTA8ccfz7Rp09i6dSsAq1at4osvvqBfv3489NBDbN++nb/+9a88//zzjfY96qijeOGFF3j//fcBEk3mDZc5Trf8cL9+/XjggQcAmDt3Lp988kmjc2zYsIEdO3YwbNgwrr/+el555ZV6r3/zm9/kvffeS3yzfvjhh5t8z9XV1XTo0IG2bduyYsUKXnrppYzl073P5PgXLFhAx44d2XXXXamsrEzE+corryT2yyT5d/b5559TXV3NiSeeyG233ablmiUyahEQiYHzzz+fNWvWcOihh+Lu7LHHHjzxxBOceuqpPPfcc3Tv3p0uXbrQv3//RvvuscceTJ8+ndNOO40dO3aw55578uyzzzJ06FCGDx/O73//e+68807uuOMOLr74Ynr06MG2bdvo168fd999NxMnTmTEiBEceuih9O/fn3333bfROT766CPOPffcxDfsm2++ud7rFRUVTJ06lUGDBtGxY0cOP/zwJt/zoEGDuPvuu+nRowddu3blyCOPzFg+3fucNGkS5557Lj169KBt27bcd999AAwbNoz777+fnj170rt3b7p0afru8VGjRnHhhRdSUVHB3LlzOfnkk9myZQvuzpQpU5rcX6QQtAyxlK8oliGOYPhgXNQte+zuXHzxxRx44IGMHz8+6rAKqhDLEAdddCjfixNFdbxCLLKU0zED1EtahliklOmiXTD33HMP9913H19++SW9evXiggsuiDokkbKgREAkgN/+9rdRhxB748ePL/sWABEIv75RIiASwD777BN1CCISE2HXNxo1IBLAww8/HOhOdRGRXIVd36hFQCSAadOmAXDGGWdEHImIlLuw6xslAiIhKttFS0SkZKlrQCRE4wd2SQw7WjN5cF6SgLpliOu2yZMn53zMYvfEE09kXCJZRIJTi4CUnqBj9ds3nrimHKWbYricPfHEEwwZMoRu3bpFHYpI8wRZnGjNF9CydeYyeaQWASk91R/WTMjR1FYkY/qnPLuq3uNlH3xS79905XJRXV1N165dWblyJVCzSM8999wDwP3330+PHj045JBDOPvss4GalfeGDRtG79696d27N3/6058AeOGFFxItDb169eKzzz7jr3/9K/369aNnz54cfPDB/M///E+j8y9ZsoQ+ffpwyCGHcPjhh/PZZ5+xZcsWzj33XLp3706vXr0S0xnPnDmTH/zgB4l9hwwZkphIZZddduHqq6/mkEMO4cgjj+Rvf/sbixYt4sknn+RHP/oRPXv25N133+WOO+6gW7du9OjRgzPPPDNvv0eRvBv/RtN1V+W3Yds/QwtJLQIiAdSt2peN2+evTnQBLPvgE0beWzPn/ch7X+KB84/ksP06NCrXHMmrDwJceeWVnHHGGdx1112MGjWKSy+9lE8++YQxY8bw1ltvceONN/KnP/2Jjh07JubTv/TSS1MuIXzrrbfyy1/+kr59+/L555/Tpk0bpk+fzvHHH8/VV1/N9u3b2bRpU714vvzyS8444wwefvhhevfuzaeffkpFRQW33347AG+88QYrVqzguOOOY9WqzMnPF198wZFHHsmNN97Ij3/8Y+655x6uueYaTjrpJIYMGcLw4cMBmDx5Mu+//z6tW7fWcr5S8h577DH4WefQzqdEQCSAjh075rR/5YQ5jZ7bsnUHw6Ytyum4kL5rYODAgTz66KNcfPHFvPbaawA899xzDB8+PPF+6pbaTbeEcN++ffnhD3/IyJEjOe200+jUqRO9e/dm9OjRbN26lVNOOaVeEgKwcuVKvv71r9O7d2+gZrldqFnO95JLLgFqFhHab7/9mkwEvva1ryWW5z3ssMN49tlnU5br0aMHI0eO5JRTTuGUU07J/AsTKXIdO3aEtuE12KtrQCSAmTNnMnPmzKz3XzN5MGsmD2bWuD60aVXz365Nq52YNa5P4rV827FjB++88w4VFRWJb/7pltqtW0J4+fLlLF++nI8++oh27doxYcIE7r33XjZv3syRRx7JihUr6NevHwsXLmTvvffm7LPP5v777693rOYs5wtkXM63VatWiWPVLS+cypw5c7j44otZtmwZhx12WNpyIqVg5syZzFz+ZWjnUyIgEkAuicClAw5M/HzYfh144PyaVfCSuwUalsuHKVOmcNBBB/Hggw8mvsEPGDCARx55hI0bNwJfLbWbbgnhd999l+7du/OTn/yEqqoqVqxYwQcffMCee+7JmDFjOO+881IuGfyXv/yFJUuWAPDZZ58lViOsW8531apVfPjhh3Tt2pXKykqWL1/Ojh07WLt2LS+//HKT7y15Od+6/b7zne/ws5/9jH/84x98/vnnOf72RKJTkwhsDe186hoQKbCG/f51F//kJCBVuaAa3iMwaNAgRo8ezb333svLL79Mu3bt6NevHzfccAPXXXcdV199Nf3796dFixb06tWLmTNnpl1C+LbbbuP555+nRYsWdOvWjRNOOIGHHnqIW265hVatWrHLLrs0ahH42te+xsMPP8wll1zC5s2bqaioYN68eVx00UVceOGFdO/enZYtWzJz5kxat25N37596dy5M927d+fggw/m0EMPbfI9n3nmmYwZM4Y77riDhx56iPPOO4/q6mrcnfHjx/Mv//IvWf0uReJIiYBIidu+fXvK5995553Ez7/4xS8SP59zzjmcc8459cp27Ngx5ZSmd955Z6PnUu3fUO/evXnppZcaPZ+qVcXMEi0FDSV/sx8+fHji5sC+ffvWu6fhxRdfzBiPiKSnrgGREE15dlXixsHKCXPyOmRQRCQbahEQCdH4gV00pbCIFBUlAiIBPP3001GHICIx8fTTT8ON/xba+ZQIiATQtm3btK+lGy4nkot0wy2l/LVt2xZahVen6B4BkQCmTp3K1KlTGz3fpk0bNm7cqEpb8srd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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ax_spectrum, ax_residuals = datasets[0].plot_fit()\n", "ax_spectrum.set_ylim(0.1, 40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For more ways of assessing fit quality, please refer to the dedicated [modeling and fitting tutorial](modeling.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compute Flux Points\n", "\n", "To round up our analysis we can compute flux points by fitting the norm of the global model in energy bands. We'll use a fixed energy binning for now:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "e_min, e_max = 0.7, 30\n", "energy_edges = np.logspace(np.log10(e_min), np.log10(e_max), 11) * u.TeV" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we create an instance of the `~gammapy.estimators.FluxPointsEstimator`, by passing the dataset and the energy binning:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "fpe = FluxPointsEstimator(energy_edges=energy_edges, source=\"crab\")\n", "flux_points = fpe.run(datasets=datasets)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is a the table of the resulting flux points:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=10\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
counts [4]e_refe_mine_maxref_dnderef_fluxref_efluxref_e2dndenormstatsuccessnorm_errtsnorm_errpnorm_errnnorm_ulnorm_scan [11]stat_scan [11]sqrt_tsdndednde_uldnde_errdnde_errpdnde_errn
TeVTeVTeV1 / (cm2 s TeV)1 / (cm2 s)TeV / (cm2 s)TeV / (cm2 s)1 / (cm2 s TeV)1 / (cm2 s TeV)1 / (cm2 s TeV)1 / (cm2 s TeV)1 / (cm2 s TeV)
int64float64float64float64float64float64float64float64float64float64boolfloat64float64float64float64float64float64float64float64float64float64float64float64float64
61 .. 420.8770.7011.0993.772e-111.519e-111.309e-112.905e-110.96616.146True0.074584.9920.0750.0721.1210.200 .. 5.000248.571 .. 934.42424.1873.645e-114.227e-112.780e-122.845e-122.715e-12
20 .. 251.2761.0991.4821.432e-115.524e-126.992e-122.331e-110.99010.939True0.115264.7970.1200.1111.2380.200 .. 5.000114.916 .. 385.55716.2731.418e-111.772e-111.651e-121.711e-121.592e-12
36 .. 201.8561.4822.3235.432e-124.626e-128.430e-121.871e-111.2137.844True0.125350.3760.1290.1211.4780.200 .. 5.000167.003 .. 342.94218.7186.587e-128.029e-126.768e-136.988e-136.551e-13
11 .. 122.6992.3233.1352.061e-121.682e-124.503e-121.501e-111.1959.790True0.183157.6680.1920.1741.5960.200 .. 5.00080.721 .. 165.44712.5572.464e-123.291e-123.765e-133.948e-133.587e-13
14 .. 83.9243.1354.9137.823e-131.409e-125.429e-121.205e-110.86122.656True0.15892.9150.1670.1501.2140.200 .. 5.00057.809 .. 214.1379.6396.736e-139.499e-131.239e-131.310e-131.171e-13
7 .. 45.7074.9136.6292.968e-135.123e-132.900e-129.667e-121.1116.505True0.27563.1820.2960.2531.7490.200 .. 5.00032.826 .. 73.9407.9493.298e-135.193e-138.148e-148.801e-147.523e-14
5 .. 58.2996.62910.3901.126e-134.290e-133.496e-127.758e-121.10714.176True0.29444.3470.3180.2711.7930.200 .. 5.00034.899 .. 74.7136.6591.248e-132.020e-133.309e-143.580e-143.050e-14
0 .. 012.06810.39014.0184.275e-141.560e-131.867e-126.226e-120.77111.511True0.4138.4950.4760.3551.8580.200 .. 5.00014.893 .. 40.2192.9153.298e-147.943e-141.766e-142.036e-141.517e-14
1 .. 017.55014.01821.9711.622e-141.307e-132.252e-124.996e-120.4247.712True0.3003.1750.3740.2341.3330.200 .. 5.0008.603 .. 41.0371.7826.873e-152.163e-144.860e-156.068e-153.794e-15
0 .. 025.52121.97129.6456.156e-154.751e-141.203e-124.009e-12-0.0000.524False0.031-0.0000.0010.0011.1240.200 .. 5.0001.235 .. 18.312nan-2.687e-256.921e-151.935e-163.430e-183.430e-18
" ], "text/plain": [ "\n", "counts [4] e_ref e_min ... dnde_err dnde_errp dnde_errn \n", " TeV TeV ... 1 / (cm2 s TeV) 1 / (cm2 s TeV) 1 / (cm2 s TeV)\n", " int64 float64 float64 ... float64 float64 float64 \n", "---------- ------- ------- ... --------------- --------------- ---------------\n", " 61 .. 42 0.877 0.701 ... 2.780e-12 2.845e-12 2.715e-12\n", " 20 .. 25 1.276 1.099 ... 1.651e-12 1.711e-12 1.592e-12\n", " 36 .. 20 1.856 1.482 ... 6.768e-13 6.988e-13 6.551e-13\n", " 11 .. 12 2.699 2.323 ... 3.765e-13 3.948e-13 3.587e-13\n", " 14 .. 8 3.924 3.135 ... 1.239e-13 1.310e-13 1.171e-13\n", " 7 .. 4 5.707 4.913 ... 8.148e-14 8.801e-14 7.523e-14\n", " 5 .. 5 8.299 6.629 ... 3.309e-14 3.580e-14 3.050e-14\n", " 0 .. 0 12.068 10.390 ... 1.766e-14 2.036e-14 1.517e-14\n", " 1 .. 0 17.550 14.018 ... 4.860e-15 6.068e-15 3.794e-15\n", " 0 .. 0 25.521 21.971 ... 1.935e-16 3.430e-18 3.430e-18" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "flux_points.table_formatted" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we plot the flux points and their likelihood profiles. For the plotting of upper limits we choose a threshold of TS < 4." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfYAAAFECAYAAADV6RzCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3deZhkZX33//ene3oWehaWYceZARmIJHHBDsblhyIghEcgihjFPEYlEBLRK5pcKo6JiPERl8cFNeoEcQciKoGJyLCoEB83QAHBFQkDw2CGYZl96eX7+6NOQTN0VVedOudUnVOf13X1NV2n6r7PPTXT/a17+96KCMzMzKwaBrrdADMzM8uOA7uZmVmFOLCbmZlViAO7mZlZhTiwm5mZVYgDu5mZWYU4sJuZmU1D0vGSfi3pLknvmOJ5Sbogef52SYd3o53gwG5mZtaUpEHgU8CfAYcBr5Z02E4v+zNgafJ1JvDpQhs5iQO7mZlZc0cAd0XE3RGxA7gUOHmn15wMfClqfgTsKmnfohsKMKMbNy3awoULY8mSJd1uhpmZAbfccsu6iNgzj7oH5y+OGNvaVpnY+uCdwLZJl5ZHxPJJj/cH7pv0eDXwnJ2qmeo1+wMPtNWYDPRFYF+yZAk333xzt5thZmaApFV51R1jW5l16CvbKrPt1k9ti4iRJi/RVLdK8ZpC9EVgNzOzfiFQ5rPMq4GnTHp8ALAmxWsK4Tl2MzOrDgFSe1/TuwlYKulASTOBVwFX7vSaK4HXJqvj/xRYHxGFD8ODe+xmZlY1GffYI2JM0tnASmAQuCgi7pR0VvL8Z4CrgBOAu4AtwOszbUQbHNjNzKxaWuuFtyUirqIWvCdf+8yk7wN4Y+Y3TsGB3czMKiSXOfZScWA3M7NqyaHHXiYO7GZmVh3CPfZuN8DMzCw7La90rywHdjMzqxb32M3MzCrEPXYzM7Oq8Kp4B3YzM6uOeua5PtbfH2vMzMwqxj12MzOrFg/Fm5mZVYXn2Hs+sEs6CFgGLIiIVyTXhoF/BXYA34uIr3axiWZm1ksGPMeeG0kXSVor6Y6drh8v6deS7pL0jmZ1RMTdEXH6TpdfDnw9Is4ATsq42WZmVlb1zHPtfFVM3j32LwCfBL5UvyBpEPgUcCy1g+lvknQltaPw3r9T+TdExNop6j0A+Hny/XjGbTYzszLr81XxuQb2iLhR0pKdLh8B3BURdwNIuhQ4OSLeD7y0xapXUwvut9Jg1EHSmcCZAIsWLWq77WZmVkaeY+/G335/4L5Jj1cn16YkaQ9JnwGeJemc5PI3gVMkfRpYMVW5iFgeESMRMbLnnntm1HQzM+t5UntfFdONxXNTvYvR6MUR8RBw1k7XNgOvz7hdZmZWBX3eY+9GYF8NPGXS4wOANV1oh5mZVU1Fe+Ht6EZgvwlYKulA4H7gVcBpXWiHmZlVUZ/32PPe7nYJ8EPgUEmrJZ0eEWPA2cBK4JfA1yLizpzuf6Kk5evXr8+jejMz60WeY89PRLy6wfWrgKvyvHdynxXAipGRkTPyvpeZmfUCr4rv+cxzZmZmbalgL7wdDuxmZlYd9cxzfcyB3czMKsRD8Q7sZmZWLR6Kry5JJwInHnzwwd1uipmZFaXAHruk3YF/B5YA9wCvjIhHpnjdPcBGauebjEXESF5tqvR4RUSsiIgzFyxY0O2mmJlZNb0DuD4ilgLXJ48bOSoinplnUIeKB3YzM+tDxe5jPxn4YvL9F4E/77TCTjmwm5lZdUhpzmNfKOnmSV9ntnHHvSPiAYDkz70avC6AayTd0mb9bav0HLuZmfWh9nvh65oNj0u6DthniqeWtXGP50fEGkl7AddK+lVE3NhuQ1vhwG5mZpWijFfFR8QxTe71P5L2jYgHJO0LrG1Qx5rkz7WSLgeOAHIJ7B6KNzOzyhC1wN7OV4euBP4q+f6vgCue1CZpWNK8+vfAS4A7Or1xI5UO7D4ExsyszyjFV2fOB46V9Fvg2OQxkvaTVD8TZW/g+5JuA34CfCsiru74zg1Ueijeh8CYmfWbTHrhLYuIh4Cjp7i+Bjgh+f5u4BlFtanSgd3MzPpPkYG9Fzmwm5lZpTiwm5mZVYgDu5mZWVVksyCu1BzYzcysMlTw4rle5MBuZmaV0u+B3fvYzcysUgpOUNNzKh3YfWyrmVn/6ffA7qF4MzOrDi+eq3aP3czMrN+4x25mZpVSxeH1djiwm5lZZXi7mwO7mZlVjAN7HxibCB7aPNbtZrRsj+G++GcxM8tHf8f1/gjso2PBA49s63YzWrbH8NxuN8HMrJzkHntfBPYNO0a55u613W5Gy/7oAAd2M7O0HNgrTNKJwIm77HkA1/1iXbeb07K3HnlQt5tgZlZaDuwVFhErgBWz9l56xi9//WC3m2NmZjnzqviKB/a6sR2jrL0v26H4bx/2ARbPWsdhP/tQpvWamVmH+juu90dgj4lxJjY/mm2lE2Msnv1Q9vUCv98wmnmdzewzf6jQ+5mZ5caL5/ojsB8y539Y/vSPZlrn04drIwArM673kGW/y7Q+M7N+48DeL2I8k2oWD29g8dxNjz0+cq/7AFi1aS6rNs/vuP67/mfT9C/K2IyBeYXfM62Fc/vnv6yZpePA3gd+s3E3jvvuX2Ra58oXX8aRe61mzqVvybTe9730kUzrm85rD19U6P3MzHLX33G9PwI7g0OwYK/s64TM671l1YZM65vO8/YrfoSgEwsP3rXbTTCzHuceex8YGJrJnH2z7ZkOzJrNvTsWZl7vXavXZ1rfdH7y+2JHCDr1pw7sZtaE5O1u/RHYBweYu2u22dwGZwxy/8Q+mde7ceP2TOubzqpHdhR6PzOzvBUZ2CWdCpwLPA04IiJubvC644GPA4PAhRFxfl5t6ovAPnv2EIcemu2Q+T/zbwAcuiDTarntZ/e2Xebyxe8B4GWr3t122dtXdb7gz8ysj90BvBz4bKMXSBoEPgUcC6wGbpJ0ZUT8Io8G9UVgnzdnBi962sJuN6Ml37/+jrbLjO9fO7lu48Ptz8//7u6H2y4znYsXvgOA09bl9oHUzKyhInvsEfHLFu55BHBXRNydvPZS4GTAgb1d9VzxByw+iOMOynjxXE7+ZUOKDHljSUKbFGXXrZnZ/v2mMTpvNKk7+/z8W4vN3QPAHOfvMSuX9uP6QkmTh9CXR8Ty7BrE/sB9kx6vBp6TYf1PUOnAXs8VPzIycsbIgSUZct6SYlX8xBiLd1mfquzoQw+0f79pxNj2XOp++Kq3Z1qfmVVTih77uogYaVLfdcA+Uzy1LCKuaKVJU1yLVhvXrkoH9lLasbX9MhMTLB7ekK7sxhz+b42NsXh4PWzMdpj/voe3ZFpfqw7Ze5eu3NfMUsghpWxEHNNhFauBp0x6fACwpsM6G3Jg7zErj/5622Wevtu61GVBHPedU1OUayKSDxpj2a6437R1LNP6zKx6BPTgbrebgKWSDgTuB14FnJbXzRzYS+xJ6W33rn0AbC+9bbDyxV/LtF2PfdDIuN4Drv8xNzw7zYeXzhxOSaZxzAwKPrZV0suATwB7At+SdGtEHCdpP2rb2k6IiDFJZwMrqW13uygi7syrTQ7sPSZN6tuO0ttOjLPy6G+0X24KtQ8aGx97/PgHjXmZ5NHfMjrOnWs3d1xPuzIezzCznBXZY4+Iy4HLp7i+Bjhh0uOrgKuKaJMDe6+ZkyIADgymLzu2g+O+/9r2yzWx8sivcuSe9zLnG+dkWu8pT/8LWNudeXYzKw9nnrPeMj/FfvvBIVZt3S1d2dFt7ZeZtj3Jf6t5u2da7ep1xffWzaxk1JNz7IVyYO8xc3ZrPxgODA1x3/g+qcqOjWa/IE0zZrJq+x4M7ZZt7oB1DuxmNg0BAwP9Hdkd2HvMrnu2f8jJjKEZqcvmEdhnzJzBmtg3VXuaefThdIH9sv3eBcCpa/4ly+aYWY9yj916yty57WeCO3PbR5Ky7d9vbCz7/wKnb/6/AMydl229Dz6Q7iS6iYkJALZvLfaAHTPrDs+xW085YL9it1aNjU8Uer9O/Pcv2z8gB2B8bByATY9unOaVZlZ6nmN3YO81h+xbbGCfyC2pYfb+a9ND6QqOJwnm05Y3s9KoJajp78juwN5jDt9/uND7DZToB+Df0uTRBxiv9dhT5eE3s5IpNkFNL5o2sEsaAf4/YD9gK7WzZ6+LiOzP+zSetkexPfbBMv0ApMmFD0mK2/Xpy5tZqZTp11oeGgZ2Sa8D3gz8N3AL8GtgNvAC4O2S7gD+KSLSTXwWoH5s68EHH9ztprTsKbsXe+DI8KzBQu/XkbS552OCxcMbM89db2bWi5r12IeB50fElN0cSc8ElgI9G9gnH9va7ba0av4uxc+O7DJUno+3K499UubGaT2Wuz5F2eOufVnbZcysu6oyFC9pDrAoIn7dTrmGUSQiPtWsYETc2s6NrDVlCrK9LptDcsysVCqyKj4Zcf4wMBM4MOlMnxcRJ01Xtmn3UNJs4KU8eY79W3meTGM2pcEhjvvOK9sutvLFl3Hk3vcz55K/T3HP9ouYWfdUaFX8ucARwPeg1pmWtKSVgs3m2M8FTkwq/TGwltoc+yHA+UnQ/4eIuD1tq83aMjQrXbmBgc7Kl8Sm7cXvXZw7qxK/QK1iqhHXGYuI9Wk+pDTrsd8UEec2eO4jkvYCFrV9R7O0ZqfcCjgwyKotC9KXL4ktO7JPDzydubOGCr+n2XQq0mO/Q9JpwKCkpdQWs/+glYLN5ti/tfM1SQPA3IjYEBFrqfXizYqR5lhaqAX27QvTly+JhzYWv+p/r3kO7NZ7qhHXeROwDNgOXAysBFo68KKVfewXA2cB49S2vS2Q9JGI+FDq5pqlMTQ7XTnVh+JTli+JraPj3W6CWfepGj32iNhCLbAva7dsK3urDouIDZJeA1wFvJ1agHdgt0LNHE63x1+Dgx2VL4u1m3zIjVlt8Vy3W9E5SdcCp0bEo8nj3YBLI+K46cq2EtiHJA0Bfw58MiJGJZUow7hVxfD8dHPkg0lgT1u+LNZscWY9swqllF1YD+oAEfFIsrZtWq0E9s8C9wC3ATdKWgw46bYVbu78dD3u1238cFI+y9b0nnsfcY/dDKrRYwcmJC2qZ3dNYm9LneppA3tEXABcUH8s6V7gqJQNNUttjz26M5T+6NZyzF2vWe+UuWZQjTl2anPr35d0Q/L4SODMVgq2nb80IgIofl+N9b19FxY/lH7Rac8s/J5prduwrdtNMOu+imSei4irJR0O/Cm1pQNviYh1rZT1sa1WGguGZxZ+z03byvMZdmsX9rGb9ZoKZZ4DmAU8TC1WHyaJiLhxukIO7FYaS/csfij+94+WZ9760Q3Ft3Xj9onC75nWvFkD3W6CFaQKgV3SB4C/AO4E6j9oAXQW2CXNB/aMiN/tdP3pTiVrRTtkYfGB/d4Nmwu/Z1qbCt7u9oN3HV3o/cxaVYG4DrWdaIdGRNs/2M1yxb8S+BiwNtnu9rqIuCl5+gvA4Skaapbaki5sV/vOPQ8Wfs+0Nm1qf/HcJXu+A4BXP3h+22W7kemuE/NmVTtBkT2uyB67pFOpHdjyNOCIiLi5wevuATZSS/Y2FhEj01R9NzBELfNcW5r12N8JPDsiHpB0BPBlSe+MiG9Sm8YwK9ReC4o/xOWudeVZkLZtc/ttndh9InXZhzeXK7AvWejA3heKXzx3B/ByalvDp3NUqwvggC3ArZKuZ1Jwj4g3T1ewWWAfjIgHkop+Iuko4D8lHUCLe+nMsrRo9+ID+5qHtxR+z7S2bm4/Qc3E+ETqsg9uLs/6A7O8RMQvIZdRgiuTr7Y1C+wbJT21Pr+e9NxfBPwH8IdpbmZWNpu3jXa7CS0bG21/VXxt92q6shtTlDHLm9JlnlsoafIQ+vKIWJ5hs6DWIb4mydz62enqj4gvSpoDLIqIX7dzo2aB/W/Zacg9IjZKOh54ZTs3MSurRx4pT5rW8W3ttzUmJlKXfWBTeaYprL+k6DyvazbnLek6YJ8pnloWEVe0eI/nR8SaJC3stZJ+1WzrmqQTgQ8DM4EDJT0TOC8iTpruRs2Obb1tp5vMn/T6b7fwl+i65I058eCDD+52U6yk1j+affDqZMFaU9s2tV9mYjx12fseLdccu/WPgYyHxSPimAzqWJP8uVbS5cARNN+6dm7ymu8l5W6VdGAr92rl2Na/Ac4DtvL43HoAB7Vyg26KiBXAipGRkTO63RYrp80bs9/uNp4sWMu87u0pRheSHnuasmu7sG/erBW9tt1N0jAwkIx6DwMvoRZXmxmLiPU7TStkkyse+EfgD9tYyWdWGVs2Zr94bmJ8PJ+6R1OMLsRE6rIPb3Rgt96jgs9jl/Qy4BPAnsC3JN0aEcdJ2g+4MCJOAPYGLk/aNQO4OCKunqbqOySdBgxKWgq8GfhBK21qJbD/jtqye7O+M75pfeZ1xvhYPnWPpRgarwf2FGUfKVlg37yj+M08wzN7rOvYJwYKfNsj4nLg8imurwFOSL6/G3hGm1W/idpBMNuBi4GVwL+0UrCVwH4O8ANJP6bNvXRmpZcmWE4nWYmeed3RQXrXFGV37CjHqXcA3/mHI7vdBCtQ2VPKShoErkzm9pe1W77V89i/A/ycx/PVmvWHrRuzr7O+YC3rusdTbD+LYPHwhlRli05h24luHeYzPHOoK/ftdyWP60TEuKQtkhZERNtDe60E9rGIeGuKtpmV344ctrvVA3vWdafqsQeL525MVXbL5uz3+Oe1Y2DT9u4E9r1xYC+aqO1lr4BtwM8lXQs8ttK208xzdd+VdCawgicOxT+coqFm5ZLTUPzi4Q2Z173y2CdN803r6butS112xrzvcsp90y3sbc9Eskp/25Zstxlu3V6eaQPrXJFz7Dn6VvLVtlYC+2nJn+dMulaK7W5mHZvIIyAkveRc6m7N4uENLJ77+N71I/deA8CqTXNZtXl+S3VMTATbt2Y7HD8xUVt/kHW9W0q0HsA6pFSZ53pOXpnn6pW3tCHerIrS9GSn00kvuZnjrjul7TIrj/kmR+59P3O++qa2y+rAZ1IbLcxOPXd91j32jTvKkxrYOleBuJ5P5rlJlb8R+GpEPJo83g14dUT8a2fNNusvWfSSm+rkt1mKsjGWQ7BM5vqzrnvbmNf99guRfea5LjmXvDLPAWdExKfqDyLiEUlnAA7sVnnHXf+KzOtcefQ3ar3kizPeMTow2H4ZiVWb56Uruz37rHyPZ8LLtu4No+6x95NqxPV8M88NSFIkx0Al++tmtt9GsxKakcN/9foPatZ1ayBNIVZt3hUGU6zezmPHQOSzY2B9iU7ps85VYY6dnDPPrQS+Jukz1D4tnAVMlwrPrBqGZmdfpwZqQ+951N12Wzr4kLEjh9Pd6j32jOt+dKsXz/WLWkrZbrciE7lmnns7cCaPH+N6DXBhqmaalc2sOdnXOTDIqm17ZF93pEiZOpD08mem+JCxZUP7ZaaTU1a+R7c5sFs5SPpyRPxvatPgy8gj81xETACfSb7M+svsudnXWZ/PzrruNNvn6m2ZtUv7ZTc+1H6ZaSWBfTzbofMNXco8Z91R8sVzz5a0GHiDpC/BE7PttJJDpmFgl7QCWA5cHRGjOz13EPA64J6IuChFw83KYcas7Ot8bPg747pTBcOkLWnm2PPYh19P3pNx3aNeFd9XSh3Wa53oq6nlirmFJ/51Wsoh06zHfgbwVuBjkh4GHgRmAwcCdwGfjIgr0rXbrByG5mQ/FK+kl5x13WOjKYJz0hal6LFHmqH/FtRS3GZbd7dyxVt3lHzx3IqIuEDSpyPib9NU0DCwR8TvgbcBb5O0BNgX2Ar8JiJ8jKv1hdnD2S9wGxgcyKXu0e3t99gHktybs+a0P3qwLSYyT7LzWPKeY76Rab3/d/trM63PeldtH3u3W9GRrwPPBg5JW0Eri+eIiHuAe9LexKyshucNZ17nYBLYs657i9r/vK1k8dzM2e2vis9y3XreyXu27nCPvW+UP6XsgKR3A4dIetIBbBHxkekqaCmwm/WrBbtm32M/a/RjSd3Z1ls/QKUdj40e7NL+33MDcNy1L2u7XDMrj72cI/dew5yvvDHTekf+0oG9n5Q7rvMq4M+pxed5aSpwYDdrYtddc9julpNtKeaRX7/xwwDMSbEoPl1CnGkrzaXuNO+NlVeZe+zJgS8fkHR7RHw7TR3NVsUvB74NXBcRG1O20azUhueU57PvzJkp0sJ2Iqdfnqs2zcu87jGviu8bZZ9jl/SXEfEV4DBJT9v5+U6H4i8CjgfeKmkHtcQ0V0fEbWkbbFY2ey8oT4/94UdzyATXTJr88tORWLVlQeZ1b9/uHns/KXOPHagvvkmd6KLZqvgfAT8CzpW0B/AS4B8k/THwM2pB/mtpb2xWBgfs1gNpX1t037qCj3BIs/d9Wh3sq2/CQ/H9pcxhPSI+m/z5nrR1tLoq/iHgkuQLSc+m1ps3q7Qlu+eQoCYnvxguOLCX6ICc0ZTnsX9tn1o2z1f+/n1ZNsdyJJU785ykC5o9HxHTHguZagIxIm6hlhHHrNL2Hy7PUPyuuxQc2NPkl59OJ7nrmxhLud2tnoQnbXnrjhLHdXg8tj4fOAz49+TxqbQYd8uzMsisC/bKIUFNXnYbzmNovImhPNLtDuRS99hoh4E9ZXnrjjLPsUfEFwEkvQ44qp7SPTlh9ZpW6nBgN2tiTtErzTswZyiP7WdN5DHHrnzm2CfG062Kr2e2TVveuqPEcX2y/ajtY68f+jI3uTataQO7pJdPcXk98POIWNtqC83KaPe5BfeCO7Dn3II/p8/KPivf46fNZVv32FiHPfaU5a14QoXOsUv6EHAisAP4HfD6iHh0itcdD3wcGAQujIjzp6n6fOBnkr6bPH4hcG4rbWrlN8HpwHOBeuUvorZa/hBJ50XEl1u5kVkZ7TWvPIF9YcFz7EOzsr+fkqH4rOuuzFD8D86F553b7Vb0NhXeY78WOCcixiR9ADgHePsTmiQNAp8CjgVWAzdJujIiftGo0oj4vKRvA89JLr0jOcNlWq0E9gngaRHxP0kD9wY+ndzsRsCB3awH7JXiIJdODM3K/kOPkswiWdc9umFHuoJJYJ8Yy+GI2jR++B4H9h4TEZPnvX8EvGKKlx0B3BURdwNIuhQ4GWgY2JO6fw+0fYpqK4F9ST2oJ9YCh0TEw5LS7SExs8ztluIgl07Mmp39B4mBZFV81nVvefiRdAXrk+xj7X8wWPnMjzF+6VfS3beBQWD80hdlWifA4Ku+l3md3ZRi8dxCSTdPerw8IpanuPUbeHwV+2T7A/dNeryax3vimWslsP+XpP8ELksenwLcKGkYeNI8QtYkHQQsAxZExCsaXTPrd3MLTn+b5qjX6XRyjGxT4yn7IDGRuvzzDts3kzPrBzbcw8Cmex97PHj/DQBMzF3ExPwlHddfRSmWka6LiJFGT0q6DthniqeWRcQVyWuWAWPAV6eqYoprnf/naGDa3wQR8XeSTgFeQK1xXwK+EbX/sUc1KyvpIuClwNqI+KNJ11teRJAMXZwu6evNrpn1u1kzil3BP2Mo+/v970c/lNSdccUTKYfS6796U5R/5MTr092zgQVXHs3MB27kwb/JfqB0z8xr7B6R/Xa3iDim6T2lv6IW646OqT/NrQaeMunxAcCaaer8U+DO+lktkuYBh0XEj6drb9PArtpKltuToPyN6SqbwheAT1L7MFCvc8pFBNSC/Pt3Kv8Gr7w3a838gnvsu+xSnoWFqXvspO+xb9uR7bz8vCReZF1vTbV2Phd5CEzSUX078MKI2NLgZTcBSyUdCNxP7WjW06ap+tPA4ZMeb57i2pSa/mtGxISk2yQtioh7m722QfkbJS3Z6fKUiwgi4v3UPvFkQtKZwJkAixYtyqpas5612y7F9tjLFdhTrmqvd75SlN86mm0AnpiA0V0WZV5vFRV8utsngVnAtclIwY8i4ixJ+1EbkT4hWTF/NrCSWif2ooi4c5p6Nbn3n8Tjlj6BtfKifYE7Jf2E2ieG+k1OauUGU2hrEUFyAM37gGdJOici3j/VtZ3LJQsflgOMjIzkNpdh1q/KFdg7HIpPUX77aLZJbSYi2D68KPN6q0YqNvNcRBzc4Poa4IRJj68Crmqj6rslvZlaLx3g74C7WynYSmBPfcJMA20tIkgOoDlrumtmVqx5c8oU2ItfPLct6x57fSjePfZplfk89knOAi4A3kUtRl5PMgo9nVYWz90gaTGwNCKuk7QLtaGEtNpeRGBmvWd+0YfOdCLt4rkOymc+FB/51FtFVUgpm6wve1Wasq2klD2D2qeE3YGnUhtK/wxwdJobkm4RgZn1mAVl6rGnXhX/WLL4totuyjhb3XgS2bOut2pE6Y9tfVtEfFDSJ5hiNDurY1vfSG3B24+TSn8raa8WG3gJtRS0CyWtBt4dEZ9LsYjAzHrM7KIPnelEpJ2XjtTlRyeynQuPpC1Z11tFJfqfOZVfJn/e3PRVTbQS2LdHxI76YoRkVV5Li9Ei4tUNrre7iCAVSScCJx588JRrG8ysA3sOl2iLVBeG4jdn3WNPRg+yrreKStxhJyJWJN9uiYjLJj8n6dRW6mjlJ/MGSe8E5kg6ltrKvBXTlOkJyRu0YmRk5Ixut8WsavYq0cl3pM0AVy+XovzmjOfC60PxWddbNVKxp7vl6Bwez/ja7NqTtBLY30HthLefA39Drad9YZsNNLOKKTo3fUdSD8WnL795R9bb3fKpt4rKHNcl/Rm1bXL7S7pg0lPzqaWsnVYrq+IngH9LvszMANgjh0NgctNpzvYU5Tduz7ZnPZZE9qzrraKSb3dbQ21+/STglknXNwJvaaWChoFd0gpqCV6ujojRnZ47CHgdcE9EXNRem82sCubNKtEcexcWz7nH3h1lXxUfEbcBt0m6uB57Je0GPCUiWjqmsNlP5hnAW4GPSXoYeBCYDRwI3AV8sn6qjZn1n6EZJV973KLFwxtSlRsdzzbhZT1BTdb1VlGJ4/pk10o6iVqcvhV4UNINEfHW6Qo2DOzJAe9vA96W5HvfF9gK/KZJovue4lXxZvmZO7tEPfYOLJ67KVW5LRkf1lLf5ZZ1vdazFkTEBkl/DXw+It4t6c4K1dIAABkBSURBVPZWCrb0kxkR9wD3pG9fd3hVvFl+5pZoKH7lsZenKvf03dalLn/h9payf7bsse1u273drSmVfo69boakfYFXAsvaKphPe8ys6nYfLvY0uSItHt7whJ76kXvXsl6v2jSXVZvnt1TH1h3ZBuCJZJI963o78oNz4XnndrsVT6IpjyQpnfOoJXL7fkTclKxt+20rBR3Yzazyjrv2ZanKrTz2co7cew1zvvLGtsse/dSsh+KTwN5Lq+J/+J6eC+y1xXPdbkXnkuQ0l016fDdwSitlWwrskuYAiyLi16laaGbWZ7LuWdeH4vPosY9f+qJU5QY7KJunMgf2QnLFJwvQPgzMBA6U9EzgvA7OYzczK41Vm+amKjee9er1yKfeb7/xefCN1l+vDfcwsHHVY48H778BgIl5i4n5SzJtW1pFnseeg0JyxZ9L7RCY7wFExK3JKnkzs3JQ2q15YtXmBanK78h6jn0gcql3bGKCsZd9p+1yc775YmasuYGNZ6eZGshvfUbZh+KLyhU/FhHry/gJyNvdzAzofGNzivKjoxmf7jYzcql3LOUIQP20ubTlc6PK7GPPNVf8HZJOAwYlLQXeDPyg7SZ2gbe7mRnQQY89ffkdWe9jn1HvseeTqrZdETA+d1Hq8nkqc+a5QnLFA2+itoduO3AJteX3722vqWZmXZT2F329XKoee7YBuJ6uPut6xzsIzOPzlnRUPg9lH4onz1zxdUmWuWW0uUHezKxnDHQ4p5uifNY965jIqceedig+OiufpxJ32KfMFd+u6Q6Bafgv5lXxZmaNTWTck63Xlnm9KU++q8+xpy2fHzFQjQQ1SyS9HziM2jktAETEQdMVbNZj/3Dy58uBfYCvJI9fTQnTy5pZH0vbY693/VKUHxvNdvV6PYBmXW8nc+ydlM+LKHePfZLPA+8GPgocBbweWvvE0uwQmBsAJL03Io6c9NQKSTemb6uZWcFSD8WnD+zjY1nPsUcu9VZuKL46ueLnRMT1khQRq4BzJf0XtWDfVCuL5/aUdFCSzg5JBwJ7dtZeM7MCdaHHnnUAJq/APpFu+9xj291Sls9TmVfFT7JN0gDwW0lnA/cDe7VSsJXA/hbge5LuTh4vAf4mTSuL5n3sZgbAQNpjMeqBvf3yE+MZ72OPfOpNvaq9ngmvz4fiJX0IOBHYAfwOeH1EPDrF6+6htrJ9nFp+mJFpqv57YBdqW8zfS204/rWttKmVVfFXJ/vX/yC59KuI2N5K5d3mfexmBsBg2h57+vJlGYpPm6K2Xirz1LkZKLjHfi1wTkSMSfoAtSQyb2/w2qMiYl2L9S6JiJuATdTm1+uZ5348XcFWP4Y+m1pPfQbwDElExJdaLGtm1l2pf9Gn38c+kfUQdRLYs643dYe9PoLQe3G9UBFxzaSHPwJekVHV+WWek/Rl4KnArdSGEKD2Yc2B3czKIfUce/ry2ffY86m306H0XhuKh1SfwxZKmnzoyvKIWJ7i1m8A/r3BcwFcIymAzzaqv6jMcyPAYdF7mxXNzFrjVfENpQ3Mj7WnxwK7gBQJhNc1m/OWdB21bd87WxYRVySvWUYt8H61QTXPj4g1kvYCrpX0q4iYaodZ/pnngDuo/YUeaKVCM7OeMziUrly965ei/MR4xqvik1ntrOtNvyq+s/K5UfbHtkbEMU1vKf0V8FLg6Ead4IhYk/y5VtLl1E5NfVJgnyrznKTdgKdExCOttLeVwL4Q+IWkn1DLF1+/uTPPmVk5dKHHzniqbKBP8sGnXgYENz5S292z7IDLWTBjCxEDvP3uzqdzRztMUJO2fJ6KXDon6Xhqi+VemKRgn+o1w8BARGxMvn8JcN40VV8r6SRqcfpW4EFJN0TEW6drU6vnsZuZlVcXeuyMZbN5aMPoTP5+0XcYHnz8g8Lm8SE+eu/RmXx4GE3Z455I+uxpy+eldghMoaviPwnMohaIAX4UEWdJ2g+4MCJOAPYGLk+enwFcHBFXT1PvgojYIOmvgc9HxLsl3d5Kg1rZ7nZDKxWZmfWsLqyKJ6NlSR+65xjesN8PnxDY14/N4cP3HJ3JPSY6rKPT8nkoMqxHxJSJUpKh9xOS7+8GntFm1TMk7Qu8kjYPYWt2CMxGmh8CM7+dG3WDE9SYGcDAjM567GnKT2zdkO6eO9k+DmfdeSoXP/1LDM8YZfP4EH9756lsHwXovMdetVzxUJlc8edROyb9+xFxk6SDgN+2UrBZrvh5AJLOA34PfJnaB6HXAPM6bXERnKDGzAAGBlOsk2ZyRtn2y09MZLfI7Zq1S/nho4s5ao/f8YNHlnDN2qU8vvu4M2mH0qNHh+JBmS+e64aIuIxJe9aTXv8prZRtZY79uIh4zqTHn5b0Y+CDbbXSzKxL0gb2x3rsacqPZ3sK2xtvP5mvHH4pZ99+UqZ1j6U9trXeY++xofiU290qpZXAPi7pNcCl1IbmX01WHxXNzAowmDKlbL3nl6p8xtvS7t00nyNvPLNeeWb1Vm3xHGS/3a1sWgnspwEfT74C+H/JNTOzUhickTawd1B+Itsee16qdggMFLt4Li+SDoyI/57u2lRaWRV/D3By+uaZmXVX+h6cOizf+8bTDsV3WD43OSSo6ZJvAIfvdO3r1M5uaappYJd0HHAAcF1y0Hv9+hsi4qIUDTUzK1x3euzlmLFMvSq+w/J5Kfscu6Q/AP4QWCDp5ZOemg/MbqWOZtvd/g/wAuCnwDslfSwiPpE8fTbgwG5mpdCVxXMlCezbx1LOsSc99bTl81TyHvuh1NLT7krtnPe6jUBLO7ya9dhPBJ6VnDF7LnCxpIMi4i1UYwrDzPpE+h670pfvtSHqBiq5j73bDehAcqjMFZKeGxE/TFNHs8A+IyLGkhs9miR7WS7pMmBmmpuZmXVD6lXxnZSP3uvJTmV0vMNc8SnL56nMHXZJb4uIDwKnSXr1zs9HxJunq6NZYP+dpBfWU8pGxDhwuqR/ocVN8mZmvWBwRrqh+L985INJ+RSFS9JjTx3Y69vdeiyw1+bYSxzZ4RfJnzc3fVUTzf67njrVxYh4l6RPp72hmVnRBga68Iu+JD321Kvi69vdSvIBpkT+AvhPYNeI+HiaCpqllN0KoNok02uAgyLiPEmLqJ3Pfn+aGxbJueLNDGBGyh57R0oS8NL32Dsrn6cyD8UDz5a0GHiDpC+x05KBiHh4ugpaGWD6V2ACeDG1pPQbqe2v+5O2m1sw54o3M+hWYC9Hjz1tYJ7o2Tl2oXIPxX8GuBo4CLiFJwb2SK431Upgf05EHC7pZwAR8YgkL54zs9Jwj72x0dSr4uspZXvv71nmHntEXABcIOnTEfG3aepoJbCPShokGXmRtCe1HryZWSl0JbCXxHjK3+aPZZ7rsWhQgcVzAKQN6tBaYL8AuBzYS9L7gFcA70p7QzOzonkovrHKbXdTuXvsWWglV/xXJd0CHE3tw9CfR8Qvc2+ZmVlGurIqviSizSmDl607H8UEv51dW2Z1/EOfYM74BkIDXL7wHXk0sW0O7C2IiF8Bv8q5LWZmuRgaSpegph+0mzlui4Y5duPnmRXbHru2XXO4dv7reyYLXckXz3UsTdoFM7NSGfIce0PtHrt61fy/5gUbL3tCYN86MJer5p/eE0e4Cuj3ARoHdjOrPAf2xsbaXP02xhCf3+09/N3D/8Cs2MZ2zebzu57LtokhemVdtXvsZmYVNyvlITD9YCLFtrzbZr2A3w49k8N2/ITfDD2L22a9oKe293mO3cys4txjb2ws5ar2C+f/E2969O18bv67UteRF/fYzcwqbqDfu3BNtLsqvu7Bgf34592/XK8kwxZ1xnPsDuxm1gfcY2+sV1ayZ6f0KWU75sBuZpU3y4G9oV5YyZ6pghPUSHovcDK1lYNrgddFxJopXnc88HFgELgwIs7Pq00O7GZWeV3psascHyYmqhbYoej++oci4p8AJL0Z+GfgrCe0p5aW/VPAscBq4CZJV0bEL3auLAuVDuw+ttXMAGYOdiOwl2M4uN3tbr2uNsde3HsfERsmPRzm8TT6kx0B3BURdwNIupRaL9+BvV0+ttXMAGbOKEeQ7YbxHlr41kULJd086fHyiFjeauHkHJXXAuuBo6Z4yf7AfZMerwaek6ahrah0YDczAxjqxjLpkgzFVzGup/jXXhcRIw3rk64D9pniqWURcUVELAOWSToHOBt4dwtNyu2dd2A3s8rryuK5kgzFV27xHGQ+yR4Rx7T40ouBb/HkwL4aeMqkxwcAT1pglxUHdjOrvJmD7rE3Us3Fc8X9e0taGhG/TR6exNQHpt0ELJV0IHA/8CrgtLza5MBuZpU3e8g99kaq2GMv+K0/X9Kh1La7rSJZES9pP2rb2k6IiDFJZwMrqW13uygi7syrQQ7sZlZ57rE3Vs0ee3Ei4pQG19cAJ0x6fBVwVRFtcmA3s8pzj72xKgb2Pk8858BuZtU3a6ALgX2gHCfKpc0V36uED4FxYDezyhvo91NBmqhaYC86pWwvcmA3s8pzj72xKg7F93lcd2A3s+ob6kZg9+K57unzyO7AbmaV15Vc8YPusXeHj211YDezynOPvbHqBXbPsTuwm1nldaXHXpI59gqunevz/roDu5n1gcFudOFK0m2s3Kp46PvI7sBuZpU36NPdGqrkUHyfR3YHdjOrvBndCOweiu+akgyW5MaB3cwqrys99sFy/HqdmJjodhMsY+X4n2dm1oGuBPaBcvx6reZQfH8rx/88M7MODHbjdDcPxXeHl8VXO7BLOhE48eCDD+52U8ysiwa8Kr6havbYy/He56XSgT0iVgArRkZGzuh2W8yse7ozFO8eezeI0nymyk2lA7uZGXQnsA90IylOCtXssfc3B3Yzq7yuBPZupLFNwQlqqseB3cwqzz32xqoZ1/s7sjuwm1nlucfeWBX3sXuO3cys4rqSUbbfo0sX9fs778BuZpXnofgmKjgU3++R3YHdzCrPQ/GNVW0ovpafpr8juwO7mVWee+yNVW5VvDzH7sBuZpXnHntjlQvs9P1IvAO7mVXfLkPusTcSFUxQU2Rkl/Re4GRgAlgLvC4i1kzxunuAjcA4MBYRI3m1yYHdzCwHZVkVX70eu4qeY/9QRPwTgKQ3A/8MnNXgtUdFxLq8G+TAbmaWA3Vjj10KE2PVWjwHxc6xR8SGSQ+H6YF9Bg7sZmY5GBwsxyEwYzvGut2EXrBQ0s2THi+PiOWtFpb0PuC1wHrgqAYvC+AaSQF8tp362+XAbmaWg9LMsVdsKD7lcezrms15S7oO2GeKp5ZFxBURsQxYJukc4Gzg3VO89vkRsUbSXsC1kn4VETe239TpObCbmeVgoCRD8VUL7EDmi+ci4pgWX3ox8C2mCOz1BXURsVbS5cARgAO7mVlZOLB3T5GL5yQtjYjfJg9PAn41xWuGgYGI2Jh8/xLgvLza5MBuZpaDwcFyBPYqKnhDwvmSDqW23W0VyYp4SfsBF0bECcDewOXJTokZwMURcXVeDXJgNzPLgXvs3VPkOx8RpzS4vgY4Ifn+buAZRbXJgd3MLAeDJVk81/3NWRlzSlkHdjOzPLjH3k3leO/z4sBuZpaDssyxVy2wC/fYHdjNzHLgHnv3lOOdz48Du5lZDsqSK76K+v2td2A3M8tBWYbiK7d4jmL3sfciB3Yzsxx4KL6LyvHW58aB3cwsBwMD5djuVsXA3udx3YHdzCwPZRmKr1pgl/exO7CbmeWhLEPxVeQ5djMzy9xASbqNVeuxA30/Fu/AbmaWgxklGYqv4qr4fufAbmaWAw/Fd0+/v/OlCOySDgKWAQsi4hXJtT8H/hewF/CpiLimi000M3uCQQ/Fd01J3vrc5B7YJV0EvBRYGxF/NOn68cDHgUFqZ9ae36iO5Mi70yV9fdK1/wD+Q9JuwIcBB3Yz6xll6bFXL7DLi+cKuMcXgE8CX6pfkDQIfAo4FlgN3CTpSmpB/v07lX9DRKxtUv+7krrMzHrGjLIc21oxPgSmgMAeETdKWrLT5SOAu5KeOJIuBU6OiPdT691PS7VEzOcD346In07x/JnAmQCLFi1K3X4zszTKElyq12O3bs2x7w/cN+nxauA5jV4saQ/gfcCzJJ2TfAB4E3AMsEDSwRHxmcllImI5sBxgZGTE/3PNrFBlmWOvon5/67sV2Kd62xsG34h4CDhrp2sXABdk3C4zs0wMeo69azzH3h2rgadMenwAsKZLbTEzy1xZFs9VjlPKdi2w3wQslXQgcD/wKuC0LrXFzCxzZemxVy1BjfA+9iK2u10CvAhYKGk18O6I+Jyks4GV1FbCXxQRd+bdFjOzopQlpWwl9flbX8Sq+Fc3uH4VcFWe95Z0InDiwQcfnOdtzMyepCyB3XPs1VOKzHNpRcQKYMXIyMgZ3W6LmfUXz7F3T0k+U+Wm0oHdzKxbyjLHXs0ee39zaiQzsxwMDKgUX5WkNr+yuKX0j5JC0sIGzx8v6deS7pL0jmzuOjX32M3MclCaBDWV7LEX+95Legq1FOn3Nnh+yjTqEfGLPNrjwG5mloMZHg/tii7liv8o8DbgigbPT5lGHXBgT+uWW25ZJ2lVm8UWAOszfu1CYF2b7aiidt7bohXZtrzulUW9ndSRpqx/3vLTiz9vi/Oq+Kc/vWXlnKGph8ObmC3p5kmPlydpyacl6STg/oi4TY0/UbSVRr1TfRHYI2LPdstIWh4RZ2b5Wkk3R8RIu22pmnbe26IV2ba87pVFvZ3Ukaasf97y08s/b3mIiOOzrlPSdcA+Uzy1DHgn8JLpqpjiWm5zIH0R2FNakdNrrbffryLblte9sqi3kzrSlPXPW378fnUoIo6Z6rqkPwYOBOq99QOAn0o6IiJ+P+mlhaZRVxW3OvQq9yDMiuOfNyuapHuAkYhYt9P1GcBvgKOppVG/CTgtr4yrXt5RrJbmbMwsE/55s66RtJ+kqwAiYgyop1H/JfC1PNOou8duZmZWIe6xm5mZVYgDu5mZWYU4sJuZmVWIA7uZmVmFOLB3kaRhSV+U9G+SXtPt9phVmaSDJH1O0te73RazPDmwZ0zSRZLWSrpjp+tTnezzcuDrEXEGcFLhjTUruXZ+3iLi7og4vTstNSuOA3v2vgA8IaXhpJN9/gw4DHi1pMOoZR+q5w8eL7CNZlXxBVr/eTPrCw7sGYuIG4GHd7r82Mk+EbEDqJ/ss5pacAf/W5i1rc2fN7O+4GBSjKlO9tkf+CZwiqRP43zOZlmZ8udN0h6SPgM8S9I53WmaWf58CEwxpjzZJyI2A68vujFmFdfo5+0h4KyiG2NWNPfYi1HoyT5mfc4/b9bXHNiLcROwVNKBkmYCrwKu7HKbzKrKP2/W1xzYMybpEuCHwKGSVks6veiTfcz6hX/ezJ7Mp7uZmZlViHvsZmZmFeLAbmZmViEO7GZmZhXiwG5mZlYhDuxmZmYV4sBuZmZWIQ7sZm2SNC7p1klf75i+VP5U8x1Jiye17feS7p/0eOZOZV6X7AWffG2hpAclzZJ0qaSlxf5NzKwT3sdu1iZJmyJibsZ1zkgSq3RSx/8CjomIt0y6di6wKSI+3KDMfOBuYFFEbEmunQX8SUScLumFwF9GxBmdtM3MiuMeu1lGJN0j6T2Sfirp55L+ILk+LOkiSTdJ+pmkk5Prr5N0maQVwDWSdpH0NUm3S/p3ST+WNCLpdEkfnXSfMyR9ZIomvAa4okn7ni3pBkm3SFopad+I2ADcCJw46aWvAuq9+P8CjpHkA6PMSsKB3ax9c3Yaiv+LSc+ti4jDgU8D/5hcWwZ8JyL+BDgK+JCk4eS55wJ/FREvBv4OeCQing68F3h28ppLgZMkDSWPXw98fop2PR+4ZaoGJ2U/AbwiIp4NXAS8L3n6EmrBHEn7AYcA3wWIiAngLuAZLbwvZtYD/CncrH1bI+KZDZ77ZvLnLcDLk+9fQi0w1wP9bGBR8v21EfFw8v0LgI8DRMQdkm5Pvt8s6TvASyX9EhiKiJ9Pce/dI2Jjg3YdCvwRcK0kgEHggeS5/wT+NRmWfyXw9YgYn1R2LbAfDT40mFlvcWA3y9b25M9xHv/5EnBKRPx68gslPQfYPPlSk3ovBN4J/Iqpe+sAY5IGkl72zgTcGRHP3fmJiNgq6WrgZdR67m/Z6SWzga1N2mZmPcRD8Wb5Wwm8SUlXWdKzGrzu+9R6zEg6DPjj+hMR8WNqZ4yfxuPz3zv7NXBQk+f2lPTcpP4hSX846flLgLcCewM/2qnsIYBPRzMrCQd2s/btPMd+/jSvfy8wBNwu6Y7k8VT+lVrwvR14O3A7sH7S818D/l9EPNKg/LeAF031RETsAF4BfEDSbcCtwPMmveQaasPt/x6TtspI2pva1MMDmFkpeLubWY+QNEht/nybpKcC1wOHJEEZSf8JfDQirm9Qfl/gSxFxbIZteguwISI+l1WdZpYvz7Gb9Y5dgO8mK9gF/G1E7JC0K/AT4LZGQR0gIh6Q9G+S5ifb2LLwKPDljOoyswK4x25mZlYhnmM3MzOrEAd2MzOzCnFgNzMzqxAHdjMzswpxYDczM6uQ/x/WLF5FN1QooQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 5))\n", "flux_points.table[\"is_ul\"] = flux_points.table[\"ts\"] < 4\n", "ax = flux_points.plot(\n", " energy_power=2, flux_unit=\"erg-1 cm-2 s-1\", color=\"darkorange\"\n", ")\n", "flux_points.to_sed_type(\"e2dnde\").plot_ts_profiles(ax=ax);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The final plot with the best fit model, flux points and residuals can be quickly made like this: " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "flux_points_dataset = FluxPointsDataset(\n", " data=flux_points, models=model_best_joint\n", ")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "flux_points_dataset.plot_fit();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stack observations\n", "\n", "And alternative approach to fitting the spectrum is stacking all observations first and the fitting a model. For this we first stack the individual datasets:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "dataset_stacked = Datasets(datasets).stack_reduce()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again we set the model on the dataset we would like to fit (in this case it's only a single one) and pass it to the `~gammapy.modeling.Fit` object:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "dataset_stacked.models = model\n", "stacked_fit = Fit([dataset_stacked])\n", "result_stacked = stacked_fit.run()\n", "\n", "# make a copy to compare later\n", "model_best_stacked = model.copy()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OptimizeResult\n", "\n", "\tbackend : minuit\n", "\tmethod : minuit\n", "\tsuccess : True\n", "\tmessage : Optimization terminated successfully.\n", "\tnfev : 31\n", "\ttotal stat : 29.88\n", "\n" ] } ], "source": [ "print(result_stacked)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=3\n", "
\n", "\n", "\n", "\n", "\n", "\n", "
namevalueunitminmaxfrozenerror
str9float64str14float64float64boolfloat64
index2.5876e+00nannanFalse5.867e-02
amplitude2.6900e-11cm-2 s-1 TeV-1nannanFalse1.234e-12
reference1.0000e+00TeVnannanTrue0.000e+00
" ], "text/plain": [ "\n", " name value unit min max frozen error \n", " str9 float64 str14 float64 float64 bool float64 \n", "--------- ---------- -------------- ------- ------- ------ ---------\n", " index 2.5876e+00 nan nan False 5.867e-02\n", "amplitude 2.6900e-11 cm-2 s-1 TeV-1 nan nan False 1.234e-12\n", "reference 1.0000e+00 TeV nan nan True 0.000e+00" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model_best_joint.parameters.to_table()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Table length=3\n", "
\n", "\n", "\n", "\n", "\n", "\n", "
namevalueunitminmaxfrozenerror
str9float64str14float64float64boolfloat64
index2.5912e+00nannanFalse5.881e-02
amplitude2.6933e-11cm-2 s-1 TeV-1nannanFalse1.234e-12
reference1.0000e+00TeVnannanTrue0.000e+00
" ], "text/plain": [ "\n", " name value unit min max frozen error \n", " str9 float64 str14 float64 float64 bool float64 \n", "--------- ---------- -------------- ------- ------- ------ ---------\n", " index 2.5912e+00 nan nan False 5.881e-02\n", "amplitude 2.6933e-11 cm-2 s-1 TeV-1 nan nan False 1.234e-12\n", "reference 1.0000e+00 TeV nan nan True 0.000e+00" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model_best_stacked.parameters.to_table()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we compare the results of our stacked analysis to a previously published Crab Nebula Spectrum for reference. This is available in `~gammapy.modeling.models.create_crab_spectral_model`." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_kwargs = {\n", " \"energy_range\": [0.1, 30] * u.TeV,\n", " \"energy_power\": 2,\n", " \"flux_unit\": \"erg-1 cm-2 s-1\",\n", "}\n", "\n", "# plot stacked model\n", "model_best_stacked.spectral_model.plot(\n", " **plot_kwargs, label=\"Stacked analysis result\"\n", ")\n", "model_best_stacked.spectral_model.plot_error(**plot_kwargs)\n", "\n", "# plot joint model\n", "model_best_joint.spectral_model.plot(\n", " **plot_kwargs, label=\"Joint analysis result\", ls=\"--\"\n", ")\n", "model_best_joint.spectral_model.plot_error(**plot_kwargs)\n", "\n", "create_crab_spectral_model(\"hess_pl\").plot(\n", " **plot_kwargs, label=\"Crab reference\"\n", ")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises\n", "\n", "Now you have learned the basics of a spectral analysis with Gammapy. To practice you can continue with the following exercises:\n", "\n", "- Fit a different spectral model to the data.\n", " You could try `~gammapy.modeling.models.ExpCutoffPowerLawSpectralModel` or `~gammapy.modeling.models.LogParabolaSpectralModel`.\n", "- Compute flux points for the stacked dataset.\n", "- Create a `~gammapy.estimators.FluxPointsDataset` with the flux points you have computed for the stacked dataset and fit the flux points again with obe of the spectral models. How does the result compare to the best fit model, that was directly fitted to the counts data?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What next?\n", "\n", "The methods shown in this tutorial is valid for point-like or midly extended sources where we can assume that the IRF taken at the region center is valid over the whole region. If one wants to extract the 1D spectrum of a large source and properly average the response over the extraction region, one has to use a different approach explained in [the extended source spectral analysis tutorial](extended_source_spectral_analysis.ipynb)." ] }, { "cell_type": "code", "execution_count": null, "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.7.0" }, "nbsphinx": { "orphan": true } }, "nbformat": 4, "nbformat_minor": 4 }