{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "
\n", "\n", "**This is a fixed-text formatted version of a Jupyter notebook**\n", "\n", "- Try online [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/gammapy/gammapy-webpage/v0.13?urlpath=lab/tree/pulsar_analysis.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", "[pulsar_analysis.ipynb](../_static/notebooks/pulsar_analysis.ipynb) |\n", "[pulsar_analysis.py](../_static/notebooks/pulsar_analysis.py)\n", "
\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pulsar analysis with Gammapy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook shows how to do a pulsar analysis with Gammapy. It's based on a Vela simulation file from the CTA DC1, which already contains a column of phases. We will produce a phasogram, a phase-resolved map and a phase-resolved spectrum of the Vela pulsar using the class PhaseBackgroundEstimator from gammapy.background.phase. \n", "\n", "The phasing in itself is not done here, and it requires specific packages like Tempo2 or PINT (https://nanograv-pint.readthedocs.io/en/latest/readme.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Opening the data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's first do the imports and load the only observation containing Vela in the CTA 1DC dataset shipped with Gammapy." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from gammapy.utils.regions import SphericalCircleSkyRegion\n", "from astropy.coordinates import SkyCoord\n", "import astropy.units as u\n", "\n", "from gammapy.maps import Map, WcsGeom\n", "from gammapy.cube import fill_map_counts\n", "from gammapy.data import DataStore\n", "from gammapy.background import PhaseBackgroundEstimator\n", "from gammapy.spectrum.models import PowerLaw\n", "from gammapy.utils.fitting import Fit\n", "from gammapy.spectrum import (\n", " SpectrumExtraction,\n", " FluxPointsEstimator,\n", " FluxPointsDataset,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load the data store (which is a subset of CTA-DC1 data):" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "data_store = DataStore.from_dir(\"$GAMMAPY_DATA/cta-1dc/index/gps\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define obsevation ID and print events:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EventList info:\n", "- Number of events: 101430\n", "- Median energy: 0.1 TeV\n", "- OBS_ID = 111630\n" ] } ], "source": [ "id_obs_vela = [111630]\n", "obs_list_vela = data_store.get_observations(id_obs_vela)\n", "print(obs_list_vela[0].events)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have our observation, let's select the events in 0.2° radius around the pulsar position." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "EventList info:\n", "- Number of events: 843\n", "- Median energy: 0.107 TeV\n", "- OBS_ID = 111630\n" ] } ], "source": [ "pos_target = SkyCoord(ra=128.836 * u.deg, dec=-45.176 * u.deg, frame=\"icrs\")\n", "on_radius = 0.2 * u.deg\n", "on_region = SphericalCircleSkyRegion(pos_target, on_radius)\n", "\n", "# Apply angular selection\n", "events_vela = obs_list_vela[0].events.select_region(on_region)\n", "print(events_vela)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's load the phases of the selected events in a dedicated array." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<Column name='PHASE' dtype='float32' length=10>\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
0.81847286
0.45646095
0.111507416
0.43416595
0.76837444
0.3639946
0.58693695
0.51095676
0.5606985
0.2505703
" ], "text/plain": [ "\n", " 0.81847286\n", " 0.45646095\n", "0.111507416\n", " 0.43416595\n", " 0.76837444\n", " 0.3639946\n", " 0.58693695\n", " 0.51095676\n", " 0.5606985\n", " 0.2505703" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phases = events_vela.table[\"PHASE\"]\n", "\n", "# Let's take a look at the first 10 phases\n", "phases[:10]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Phasogram" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once we have the phases, we can make a phasogram. A phasogram is a histogram of phases and it works exactly like any other histogram (you can set the binning, evaluate the errors based on the counts in each bin, etc)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "nbins = 30\n", "phase_min, phase_max = (0, 1)\n", "values, bin_edges = np.histogram(\n", " phases, range=(phase_min, phase_max), bins=nbins\n", ")\n", "bin_width = (phase_max - phase_min) / nbins\n", "\n", "bin_center = (bin_edges[:-1] + bin_edges[1:]) / 2\n", "\n", "\n", "# Poissonian uncertainty on each bin\n", "values_err = np.sqrt(values)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.bar(\n", " x=bin_center,\n", " height=values,\n", " width=bin_width,\n", " color=\"#d53d12\",\n", " alpha=0.8,\n", " edgecolor=\"black\",\n", " yerr=values_err,\n", ")\n", "plt.xlim(0, 1)\n", "plt.xlabel(\"Phase\")\n", "plt.ylabel(\"Counts\")\n", "plt.title(\"Phaseogram with angular cut of {}\".format(on_radius));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's add some fancy additions to our phasogram: a patch on the ON- and OFF-phase regions and one for the background level." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of Off events: 234\n" ] } ], "source": [ "# Evaluate background level\n", "off_phase_range = (0.7, 1.0)\n", "on_phase_range = (0.5, 0.6)\n", "\n", "mask_off = (off_phase_range[0] < phases) & (phases < off_phase_range[1])\n", "\n", "count_bkg = mask_off.sum()\n", "print(\"Number of Off events: {}\".format(count_bkg))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# bkg level normalized by the size of the OFF zone (0.3)\n", "bkg = count_bkg / nbins / (off_phase_range[1] - off_phase_range[0])\n", "\n", "# error on the background estimation\n", "bkg_err = (\n", " np.sqrt(count_bkg) / nbins / (off_phase_range[1] - off_phase_range[0])\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Let's redo the same plot for the basis\n", "plt.bar(\n", " x=bin_center,\n", " height=values,\n", " width=bin_width,\n", " color=\"#d53d12\",\n", " alpha=0.8,\n", " edgecolor=\"black\",\n", " yerr=values_err,\n", ")\n", "\n", "# Plot background level\n", "x_bkg = np.linspace(0, 1, 50)\n", "\n", "kwargs = {\"color\": \"black\", \"alpha\": 0.5, \"ls\": \"--\", \"lw\": 2}\n", "\n", "plt.plot(x_bkg, (bkg - bkg_err) * np.ones_like(x_bkg), **kwargs)\n", "plt.plot(x_bkg, (bkg + bkg_err) * np.ones_like(x_bkg), **kwargs)\n", "\n", "plt.fill_between(\n", " x_bkg, bkg - bkg_err, bkg + bkg_err, facecolor=\"grey\", alpha=0.5\n", ") # grey area for the background level\n", "\n", "# Let's make patches for the on and off phase zones\n", "on_patch = plt.axvspan(\n", " on_phase_range[0], on_phase_range[1], alpha=0.3, color=\"gray\", ec=\"black\"\n", ")\n", "\n", "off_patch = plt.axvspan(\n", " off_phase_range[0],\n", " off_phase_range[1],\n", " alpha=0.4,\n", " color=\"white\",\n", " hatch=\"x\",\n", " ec=\"black\",\n", ")\n", "\n", "# Legends \"ON\" and \"OFF\"\n", "plt.text(0.55, 5, \"ON\", color=\"black\", fontsize=17, ha=\"center\")\n", "plt.text(0.895, 5, \"OFF\", color=\"black\", fontsize=17, ha=\"center\")\n", "plt.xlabel(\"Phase\")\n", "plt.ylabel(\"Counts\")\n", "plt.xlim(0, 1)\n", "plt.title(\"Phasogram with angular cut of {}\".format(on_radius));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Phase-resolved map" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that the phases are computed, we want to do a phase-resolved sky map : a map of the ON-phase events minus alpha times the OFF-phase events. Alpha is the ratio between the size of the ON-phase zone (here 0.1) and the OFF-phase zone (0.3).\n", "It's a map of the excess events in phase, which are the pulsed events." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "geom = WcsGeom.create(binsz=0.02 * u.deg, skydir=pos_target, width=\"5 deg\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " Let's create an ON-map and an OFF-map:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "on_map = Map.from_geom(geom)\n", "off_map = Map.from_geom(geom)\n", "\n", "events_vela_on = events_vela.select_parameter(\"PHASE\", on_phase_range)\n", "events_vela_off = events_vela.select_parameter(\"PHASE\", off_phase_range)" ] }, { "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": [ "fill_map_counts(on_map, events_vela_on)\n", "fill_map_counts(off_map, events_vela_off)\n", "\n", "# Defining alpha as the ratio of the ON and OFF phase zones\n", "alpha = (on_phase_range[1] - on_phase_range[0]) / (\n", " off_phase_range[1] - off_phase_range[0]\n", ")\n", "\n", "# Create and fill excess map\n", "# The pulsed events are the difference between the ON-phase count and alpha times the OFF-phase count\n", "excess_map = on_map - off_map * alpha\n", "\n", "# Plot excess map\n", "excess_map.smooth(kernel=\"gauss\", width=0.2 * u.deg).plot(add_cbar=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Phase-resolved spectrum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also do a phase-resolved spectrum. In order to do that, there is the class PhaseBackgroundEstimator. In a phase-resolved analysis, the background is estimated in the same sky region but in the OFF-phase zone.\n", "\n", "We start by estimating the background with the class PhaseBackgroundEstimator. It takes the observations, the ON-region, and an ON- and OFF-phase zones (the same we defined for the phasogram and the phase-resolved map). It results in a gammapy.background.phase.PhaseBackgroundEstimator that serves as an input for other spectral analysis classes in Gammapy." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# The PhaseBackgroundEstimator uses the OFF-phase in the ON-region to estimate the background\n", "bkg_estimator = PhaseBackgroundEstimator(\n", " observations=obs_list_vela,\n", " on_region=on_region,\n", " on_phase=on_phase_range,\n", " off_phase=off_phase_range,\n", ")\n", "bkg_estimator.run()\n", "bkg_estimate = bkg_estimator.result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The rest of the analysis is the same as for a standard spectral analysis with Gammapy. All the specificity of a phase-resolved analysis is contained in the PhaseBackgroundEstimator, where the background is estimated in the ON-region OFF-phase rather than in an OFF-region.\n", "\n", "We can now extract a spectrum with the SpectrumExtraction class. It takes the reconstructed and the true energy binning. Both are expected to be a Quantity with unit energy, i.e. an array with an energy unit. EnergyBounds is a dedicated class to do it." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/adonath/github/adonath/gammapy/gammapy/spectrum/extract.py:232: RuntimeWarning: invalid value encountered in true_divide\n", " self.containment = new_aeff.data.data.value / self._aeff.data.data.value\n", "No thresholds defined for obs Info for OBS_ID = 111630\n", "- Start time: 59300.83\n", "- Pointing pos: RA 130.89 deg / Dec -44.63 deg\n", "- Observation duration: 1800.0 s\n", "- Dead-time fraction: 2.000 %\n", "\n" ] } ], "source": [ "etrue = np.logspace(-2.5, 1, 100) * u.TeV\n", "ereco = np.logspace(-2, 1, 30) * u.TeV\n", "\n", "extraction = SpectrumExtraction(\n", " observations=obs_list_vela,\n", " bkg_estimate=bkg_estimate,\n", " containment_correction=True,\n", " e_true=etrue,\n", " e_reco=ereco,\n", ")\n", "\n", "extraction.run()\n", "extraction.compute_energy_threshold(\n", " method_lo=\"energy_bias\", bias_percent_lo=20\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's a look at the files we just created with spectrum_observation." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "extraction.spectrum_observations[0].peek()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we'll fit a model to the spectrum with the `Fit` class. First we load a power law model with an initial value for the index and the amplitude and then wo do a likelihood fit. The fit results are printed below." ] }, { "cell_type": "code", "execution_count": 18, "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 : 84\n", "\ttotal stat : 5.04\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/adonath/software/anaconda3/envs/gammapy-dev/lib/python3.7/site-packages/numpy/core/fromnumeric.py:83: RuntimeWarning: overflow encountered in reduce\n", " return ufunc.reduce(obj, axis, dtype, out, **passkwargs)\n" ] } ], "source": [ "model = PowerLaw(\n", " index=4, amplitude=\"1.3e-9 cm-2 s-1 TeV-1\", reference=\"0.02 TeV\"\n", ")\n", "\n", "emin_fit, emax_fit = (0.04 * u.TeV, 0.4 * u.TeV)\n", "\n", "for obs in extraction.spectrum_observations:\n", " obs.model = model\n", " obs.mask_fit = obs.counts.energy_mask(emin=emin_fit, emax=emax_fit)\n", "\n", "joint_fit = Fit(extraction.spectrum_observations)\n", "joint_result = joint_fit.run()\n", "\n", "model.parameters.covariance = joint_result.parameters.covariance\n", "print(joint_result)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now you might want to do the stacking here even if in our case there is only one observation which makes it superfluous.\n", "We can compute flux points by fitting the norm of the global model in energy bands." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "e_edges = np.logspace(np.log10(0.04), np.log10(0.4), 7) * u.TeV\n", "\n", "from gammapy.spectrum import SpectrumDatasetOnOffStacker\n", "\n", "stacker = SpectrumDatasetOnOffStacker(extraction.spectrum_observations)\n", "dataset = stacker.run()\n", "\n", "dataset.model = model\n", "\n", "fpe = FluxPointsEstimator(datasets=[dataset], e_edges=e_edges)\n", "\n", "flux_points = fpe.run()\n", "flux_points.table[\"is_ul\"] = flux_points.table[\"ts\"] < 1\n", "\n", "amplitude_ref = 0.57 * 19.4e-14 * u.Unit(\"1 / (cm2 s MeV)\")\n", "spec_model_true = PowerLaw(\n", " index=4.5, amplitude=amplitude_ref, reference=\"20 GeV\"\n", ")\n", "\n", "flux_points_dataset = FluxPointsDataset(data=flux_points, model=model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/adonath/github/adonath/gammapy/gammapy/spectrum/flux_point.py:649: UserWarning: Data has no positive values, and therefore cannot be log-scaled.\n", " ax.set_yscale(\"log\", nonposy=\"clip\")\n", "/Users/adonath/github/adonath/gammapy/gammapy/spectrum/models.py:282: UserWarning: Data has no positive values, and therefore cannot be log-scaled.\n", " ax.plot(energy.value, y.value, **kwargs)\n", "/Users/adonath/github/adonath/gammapy/gammapy/spectrum/models.py:367: UserWarning: Data has no positive values, and therefore cannot be log-scaled.\n", " ax.set_yscale(\"log\", nonposy=\"clip\")\n", "/Users/adonath/github/adonath/gammapy/gammapy/spectrum/models.py:353: UserWarning: Data has no positive values, and therefore cannot be log-scaled.\n", " ax.fill_between(energy.value, y_lo.value, y_hi.value, where=where, **kwargs)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf4AAAF3CAYAAABE0Ck1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3hVVdbH8e9KQhFBVHqRJoooBEITbMAgTWkKyA0giKOoI6LOiIo6YBlHZyyvglgYBctoggqDgIhgBZVRQFBhQEBB6SAIQy/Jev9ImYAJCUlObpL7+zxPHu9pey9OwHX3Pvvsbe6OiIiIRIaocAcgIiIiBUeJX0REJIIo8YuIiEQQJX4REZEIosQvIiISQZT4RUREIkhMuAMIkpl1B7qXK1fu+rPPPjvc4YiIiBSYRYsW/eLulY7db5HwHn+LFi184cKF4Q5DRESkwJjZIndvcex+dfWLiIhEECV+ERGRCKLELyIiEkGK9eA+ERGBw4cPs379eg4cOBDuUCQApUuXpmbNmpQoUSJH5yvxi4gUc+vXr6dcuXLUqVMHMwt3OJKP3J3t27ezfv166tatm6Nr1NUvIlLMHThwgAoVKijpF0NmRoUKFU6oN0eJX0QkAijpF18n+rtV4hcRkcBFR0fTtGlTmjRpQrNmzfjiiy9yVc5TTz3Fvn37Mj02b948zjvvPJo2bcqGDRvo06cPAEuWLGHmzJm5jj2n1q5dS6NGjfJ8TtCU+EVEJHAnnXQSS5Ys4ZtvvuGRRx5h5MiRuSrneIn/9ddf54477mDJkiXUqFGDt99+Gyi4xF9UKPGLiEiB+u9//8tpp52Wvv3YY4/RsmVLYmNjGT16NAB79+7l8ssvp0mTJjRq1IhJkyYxZswYNm7cSPv27Wnfvv1RZb744ou8+eabPPjggwwYMCC9ZX3o0CFGjRrFpEmTaNq0KZMmTTrqupdffplevXrRvXt36tatyzPPPMOTTz5JXFwcrVu3ZseOHUDKl4fWrVsTGxvLFVdcwa+//grAokWLaNKkCW3atGHcuHHp5SYlJTFixIj0P9cLL7wQyL3MjWI9qj9trv769euHOxQRkcLhvbth83f5W2bVxtD10eOesn//fpo2bcqBAwfYtGkTH330EQCzZ89m1apVfPXVV7g7PXr0YO7cuWzbto3q1avz7rvvArBr1y7Kly/Pk08+yccff0zFihWPKv+6667js88+o1u3bvTp04e1a9cCULJkSR588EEWLlzIM888k2lsS5cuZfHixRw4cID69evzt7/9jcWLF3P77bfz6quvcttttzFo0CDGjh1L27ZtGTVqFA888ABPPfUUQ4YMSd8/YsSI9DJfeuklypcvz4IFCzh48CAXXnghnTp1KhRjLYp1i9/dp7v70PLly4c7FBGRiJbW1b9ixQpmzZrFoEGDcHdmz57N7NmziYuLo1mzZqxYsYJVq1bRuHFjPvjgA+666y7mzZtHkP8fb9++PeXKlaNSpUqUL1+e7t27A9C4cWPWrl3Lrl272LlzJ23btgVg8ODBzJ079zf7r7766vQyZ8+ezauvvkrTpk05//zz2b59O6tWrQrsz3AiinWLX0REjpFNy7wgtGnThl9++YVt27bh7owcOZIbbrjhN+ctWrSImTNnMnLkSDp16sSoUaMCiadUqVLpn6OiotK3o6KiOHLkSJbXuXuWLXh3Z+zYsXTu3Pmo/Wk9EeFUrFv8IiJS+KxYsYKkpCQqVKhA586dmTBhAnv27AFgw4YNbN26lY0bN1KmTBkGDhzIHXfcwddffw1AuXLl2L179wnVl5trMipfvjynnXYa8+bNA+C1116jbdu2nHrqqZQvX57PPvsMSBlcmKZz584899xzHD58GICVK1eyd+/eXMeQn9TiFxGRwKU944eU1vArr7xCdHQ0nTp1Yvny5bRp0waAsmXL8s9//pPVq1czYsQIoqKiKFGiBM899xwAQ4cOpWvXrlSrVo2PP/44R3W3b9+eRx99lKZNmzJy5Ej69et3wvG/8sor3Hjjjezbt4969eoxceJEACZOnMi1115LmTJljmrdX3fddaxdu5ZmzZrh7lSqVImpU6eecL1BMHcPdwyBa9GihS9cuDDcYYiIhMXy5ctp2LBhuMOQAGX2OzazRe7e4thz1dUvIiISQZT4RUREIogSv4iISARR4hcREYkgSvwiIiIRRIlfREQkgijxi4hI4NKW5W3UqBHdu3dn586d2V4zZswYGjZsyIABAwogwvBr164d2b16npNzsqPELyIigUubq3/p0qWcfvrpR61kl5Vnn32WmTNnHjUj3vEcb3pd+R8lfhERKVBt2rRhw4YN6duZLct744038uOPP9KjRw/+7//+j71793LttdfSsmVL4uLieOedd4CUZXX79u1L9+7d6dSpU5blrV27loYNG3L99ddz3nnn0alTJ/bv3w/A6tWrufTSS2nSpAnNmjXjhx9+yLKcY5UtW5a77rqL5s2bc+mll/LVV1/Rrl076tWrx7Rp0wA4cOAAQ4YMoXHjxsTFxaXPOLh//35CoRCxsbH069cvPR5IWeSnTZs2NGvWjL59+6ZPaZwv3L3Y/zRv3txFRCLVf/7zn6O227Zt+5ufcePGubv73r17Mz0+ceJEd3fftm3bb47lxMknn+zu7keOHPE+ffr4e++95+7u77//vl9//fWenJzsSUlJfvnll/unn37q7u61a9f2bdu2ubv7yJEj/bXXXnN3919//dXPOuss37Nnj0+cONFr1Kjh27dvP255a9as8ejoaF+8eLG7u/ft2ze9vFatWvmUKVPc3X3//v2+d+/e48aVEeAzZ850d/devXp5x44d/dChQ75kyRJv0qSJu7s//vjjfs0117i7+/Lly/2MM87w/fv3+xNPPOFDhgxxd/dvvvnGo6OjfcGCBb5t2za/+OKLfc+ePe7u/uijj/oDDzyQ/rtbsGDBb+I49necGttCzyQnFvq5+s2sHnAvUN7d+2S1T0RECq+0ufrXrl1L8+bN6dixI8BRy/IC7Nmzh1WrVnHJJZccdf3s2bOZNm0ajz/+OJDSiv75558B6NixI6effvpxy6tVqxZ169ZNXy+gefPmrF27lt27d7NhwwauuOIKAEqXLn1CcZUsWZIuXboAKcv4lipVihIlSqQv6Qvw2WefccsttwBwzjnnULt2bVauXMncuXMZPnw4ALGxscTGxgLw73//m//85z9ceOGFABw6dCh9LYP8EGjiN7MJQDdgq7s3yrC/C/A0EA286O5ZrhPp7j8Cvzezt4+3T0REcuaTTz7J8liZMmWOe7xixYrHPZ6VtGf8u3btolu3bowbN47hw4cfd1nejNydyZMn06BBg6P2f/nll5x88slHnZdZeWvXrj1q+d3o6Gj279+PZ7FeTU7jKlGiRPrSvFkt6ZtVHUCmy/q6Ox07diQhIeG4dedW0M/4Xwa6ZNxhZtHAOKArcC4Qb2bnmlljM5txzE/lgOMTEZECVL58ecaMGcPjjz/O4cOHs1yW91idO3dm7Nix6Ul08eLFmZaf0/LSnHLKKdSsWTN95byDBw+yb9++Ey7neC655JL0AYorV67k559/pkGDBkftX7p0Kd9++y0ArVu35vPPP2f16tUA7Nu3j5UrV+aq7swE2uJ397lmVueY3a2A1amtdswsEejp7o+Q0juQL8xsKDAUoFatWvlVrIiI5FFcXBxNmjQhMTGRq6++OtNleStXPrrd9+c//5nbbruN2NhY3J06deowY8aM35Sd1TK/0dHRWcbz2muvccMNNzBq1ChKlCjBW2+9lWU5x8aVE3/4wx+48cYbady4MTExMbz88suUKlWKm266iSFDhhAbG0vTpk1p1aoVAJUqVeLll18mPj6egwcPAvCXv/yFs88++4Trzkzgy/KmJv4ZaV39ZtYH6OLu16VuXw2c7+7Dsri+AvAw0JGUxwKPZLbveDFoWV4RiWRalrf4O5FlecMxuO+3DzQgy28f7r4duDG7fSIiIpK9cLzHvx44I8N2TWBjGOIQERGJOOFI/AuAs8ysrpmVBELAtCAqMrPuZjZ+165dQRQvIiJS5ASa+M0sAZgPNDCz9Wb2e3c/AgwD3geWA2+6+7Ig6nf36e4+tHz58kEULyIiUuQEPao/Pov9M4GZQdYtIiIiv1Ws5+pXV7+ISO70e2E+/V6YH+4wJADFOvGrq19EpHBIW5Y37Wft2rV88skndOuWb9O3nJDrrruO//znP8c9Z+rUqdmeUxQV+rn688Phw4fDHYKISJGz/td9+VZW2pS9GaXNZR8OL774YrbnTJ06lW7dunHuuecWQEQFp1i3+NN8++23dOrUiQkTJrBz585whyMiUiRs2HmgwOq6//770xfgAWjUqBFr165lwYIFxMbGcuDAAfbu3ct5553H0qVLj7p27dq1nHPOOQwePJjY2Fj69OnDvn0pX1o+/PBD4uLiaNy4Mddee236THjt2rUjbWK3smXLcu+999KkSRNat27Nli1b+OKLL5g2bRojRoygadOm/PDDD4wZM4Zzzz2X2NhYQqFQAd2Z/FesW/xm1h3oftppp/Hjjz/y+9//nptuuolZs2bRvn37cIcnIlJoHPs8/z+b/pvp/kk35G6VuLTV+QDq1q3Lv/71rxxd17JlS3r06MF9993H/v37GThwII0aNfrNed9//z0vvfQSF154Iddeey3PPvssw4YN45prruHDDz/k7LPPZtCgQTz33HPcdtttR127d+9eWrduzcMPP8ydd97JP/7xD+677z569OhBt27d6NMnZRHYRx99lDVr1lCqVKki3Ygs1i3+tGf89erVY9WqVXz11VcMGzaM5s2bA/Dcc88RHx/PO++8k/4tUEQkkq3/dR9frtnB7gMpK8t9uWYHX67Zkedu/7Su/iVLluQ46acZNWoUc+bMYeHChdx5552ZnnPGGWekL2M7cOBAPvvsM77//nvq1q2bPsf94MGDmTt37m+uLVmyZPpYg7TlejMTGxvLgAED+Oc//0lMTNFtNxfdyE+QmdGyZUtatmyZvm/Pnj3MmTOHxMREypcvz5VXXsmAAQPo0KFDGCMVESl4x7bk+70wny/X7GDto5cXSP0xMTEkJyenbx848L/HDDt27GDPnj0cPnyYAwcOHLUMb5pjl7c1s+Muh5tRxqV1o6Oj05fTPda7777L3LlzmTZtGg899BDLli0rkl8AinWLPzsjRoxg06ZNvPfee/Tq1YvJkyfzyCP/W+9n6dKlR/1FFBGRYNSpU4evv/4agK+//po1a9akHxs6dCgPPfQQAwYM4K677sr0+p9//pn581MeSyQkJHDRRRdxzjnnsHbt2vTlbV977TXatm2b45jKlSvH7t27AUhOTmbdunW0b9+ev//97+zcuTN9yd6iplgn/py8x1+iRAm6dOnCyy+/zJYtW3jppZcA2LJlC02aNKFu3brceeedLF68OMffHkVEioMap5YusLp69+7Njh07aNq0Kc8991x69/yrr75KTEwM/fv35+6772bBggV89NFHv7m+YcOGvPLKK8TGxrJjxw5uuukmSpcuzcSJE+nbty+NGzcmKiqKG2/M+fpuoVCIxx57jLi4OFatWsXAgQNp3LgxcXFx3H777Zx66qn59ucvSIEvy1sY5GZZ3n379jFlyhQSEhKYPXs2R44coUGDBumDR0REiorcLMubNqgvt4P5CtLatWvp1q3bb0b7R5LCvixvkVCmTBkGDhzIwIED2b59e/qXgDPOSFlY8P3332fJkiWEQiFq164d5mhFRPJXUUj4kjvFuqs/v1SoUIHrr7+ejz76iFq1agEwZ84c7r77burUqcOFF17I2LFj2bx5c5gjFRGJPHXq1Ino1v6JUuLPpccff5wffviBv/71r+zZs4fhw4fTqVOn9ON6PVBERAqjYp34g16kp169eowcOZJvvvmGZcuWMWbMGCBloooaNWrQo0cPEhISiuzITxEpPiJhPFekOtHfbbFO/AW5SM+5555Lu3btgJTEf80117B48WL69+9PlSpVCIVCfPvtt4HHISJyrNKlS7N9+3Yl/2LI3dm+fTulS+f8DQyN6g9QcnIyn3/+OQkJCbz11lvMnDmTli1bsnTpUjZs2ECHDh2K5OQPIlK0HD58mPXr1x81KY4UH6VLl6ZmzZqUKFHiqP1ZjepX4i8gR44cITo6GjPj5ptv5tlnn6VSpUr07duX+Ph4LrjgAqKiinUHjIiIFKCsEr8yTQGJiYlJnxLyiSee4F//+hft27dn4sSJXHzxxZx//vlhjlBERCLBcfuZzSw2B2Ucdvfl+RRPRChdujS9evWiV69e7Nmzh2nTpqUPAExOTqZjx45ceOGFhEKhYrcOtIiIhNdxu/rNbDewGLAsT4Iz3L1OPseVrwpDV39O/fLLL/Tr149PPvmE5OTk9HWfBw0aRI0aNcIdnoiIFBG5nblvsbtfkk3Bv13jsJAws+5A9/r164c7lByrWLEiH374IZs3b+att94iISGBe+65h0aNGlGjRg22bt1KUlIS1apVC3eoIiJSBGlwXxGwdu1aqlevTsmSJRk1ahQPP/ww7dq1IxQK0bt3b04//fRwhygiIoVMngb3WYrGZtbZzC4xswr5H6JkpU6dOpQsWRKAgQMHct9997Fu3TqGDh1K1apV6du3r97PFRGRHMnuGX8d4E6gC7AG2AaUBs4CdgLPA//0Qp51inqLPzPuzuLFi0lISODAgQOMHTsWgHvuuYeWLVvStWvXE5rQQUREipdcvcdvZm8CzwGfunvyMceqAQOAX9z95fwNN38Vx8SfmZ07d9KgQQO2bt3KKaecwhVXXEF8fDy/+93vfjOxg4iIFG+56up396vc/eNjk37qsU3u/nhhT/qR5NRTT2XDhg3Mnj2b3r17M3XqVLp06cKrr74KwKFDh0hO/s2vUkREIkhOn/FfaWblUj/fbWZvmlnTYEOT3IiJiaFjx45MmDCBLVu2MHXqVK644goAXnzxRWrVqsWf/vQnFixYoHEBIiIRKKcz993v7rvN7AKgOzCJlOf7UoiVKlWKnj17po/6b9CgAc2aNWPs2LG0atWKs846iz//+c/qBRARiSA5TfxJqf/tBjzr7pOBUsGElH+CXpa3qOnQoQPTpk1jy5YtvPjii9StW5dPP/00fY2AN998kx9//DHMUYqISJBy9B6/mc0kZVR/F6AFsBdY4O5Ngg0vf0TK4L7cOHLkCDExMezZs4cKFSpw6NAhWrVqRXx8PFdddRXVq1cPd4giIpILeV2k5yrgU+Byd/8VqAjcnY/xSZikLQtctmxZVq5cyd/+9jcOHTrE7bffTs2aNXn55ZfDG6CIiOQrzdwnmVqxYgWJiYlcffXVnHnmmUyfPp3nn3+eUChEr169KFeuXLhDFBGR49CyvHJCzjnnHO6//37OPPNMAHbv3s13333HoEGDqFy5Mn379mXy5MkkJSVlU5KIiBQmavFLjiUnJzN//nwSExN58803KVu2LKtXr8bMWLZsGWeffbYmChIRKSRyNXNfcaHEn/+OHDnCzz//TL169Th06BDVqlXDzOjTpw/x8fFcfPHF6W8LiIhIwctVV7+Z1TCzf5rZx2Z2p5nFZDg2OYhApWiIiYmhXr16AERFRTFx4kQ6derEa6+9Rrt27TjjjDOYPFl/RURECpvsmmQTgH8DI4C6wMdmdlrqsXpBBiZFR0xMDD169OCNN95g69atJCYm0rJlS6pWrQrAokWLuPfee/nuu+/CHKmIiGS3SM9id4/LsD0YuAPoAUx292bBh5h36uoPr3HjxjF8+HCSk5M577zziI+PJxQKpQ8cFBGR/JfbUf2lzCx9hj53f4WU1v8coGr+hijF1c0338zGjRt55plnOPXUU7nvvvto0aIFhw8fBuDAgQNhjlBEJHJkl/gnAm0y7nD3WUAI+D6ooKT4qVKlCjfffDOfffYZP/30E2+88QYlSpTA3WnatCnt2rXj+eef55dffgl3qCIixVp2y/I+5u6fZLJ/obu3DyyqfKK5+gunWrVq0bVrVwAOHz5MfHw8mzdv5qabbqJq1ap07dqVTz75JLxBiogUUzldlreWmf09dTneKWk/QQeXV+4+3d2Hli9fPtyhSBZKlizJ6NGjWb58OYsXL+ZPf/oTy5cvZ9u2bQCsW7eOt956i/3794c5UhGR4iGni/QsAV4FvgPS13B19w+DCy3/aHBf0eLuJCcnEx0dzRNPPMEdd9xB2bJl6dWrF6FQiE6dOmmiIBGRbORpAh8z+8rdWwUSWQFQ4i+6kpKS+OSTT0hMTGTy5Mn8+uuvVK1alTVr1lC6dOlwhyciUmjlNfFfDdQG3gcOpu1392/zM8igKPEXD4cOHeL9999nxYoVjBgxAoBQKES1atUIhUK0atUKMwtzlCIihUNeE/9DwHXAj/yvq9/d/ZJ8jTIgSvzF05EjR+jXrx8zZszg0KFD1K1bl1AoxODBg2nQoEG4wxMRCausEn9MZidn4iqgjrsfzPZMkQISExPD5MmT2blzJ1OnTiUxMZG///3vVKtWjQYNGrB79242b97MWWedFe5QRUQKjZyuovItoAXYpVA69dRTueaaa5g1axYbN25k0KBBALz11lucffbZtGzZkieeeIL169eHOVIRkfDLaeKvAKwws3eL0ut8EnkqV65M2uubnTt35vHHH8fdueOOO6hVqxZt27Zl7969YY5SRCR8cvqMv0Nm+/U6nxQVq1atYtKkSSxdupTExEQAHn30UapWrcoVV1yB5noQkeImr4P7agFb3f1A6vZJQEV3X5fvkQZAiV+OlZycTGxsLMuWLaNUqVJcdtllhEIhunXrRpkyZcIdnohInuV2kZ40U8gwcU/qZy22LkVWVFQU3333HfPnz+eGG25g/vz59OvXj7/+9a9AyvwBhw4dCnOUIiL5L6eJP8bd0/8vmDq6v9Rxzhcp9MyM1q1b8/TTT7N+/Xo+/PBDrrvuOgBmz55N1apVuf766/noo49ISkoKc7QiIvkjp4l/u5ldlrZhZt2AHcGEJFLwoqOj+d3vfkedOnUAqFq1KpdddhkJCQl06NCBmjVrMnz4cHbv3h3eQEVE8iinz/jPAhJIGd3vwC/AAHdfFWx4+UPP+CW39u3bx7vvvktiYiLffPMNK1euJCoqiunTp1OrVi1iY2M1W6CIFEp5GtyXoZBTAdx9Zz7GFjglfskPR44cISYmBnendu3arFu3joYNGxIKhYiPj9dEQSJSqORqcJ+ZhSxDc8bdd2ZM+mZWx8wuyN9QM42jnpm9ZGZvZ9jXy8z+YWbvmFmnoGMQiYlJmejSzFi0aBHPPfcclSpV4v777+fss89m9OjRYY5QRCR72T3jrwEsNrPxZnaDmV1pZv3NbJSZfQQ8BWw/XgFmNsHMtprZ0mP2dzGz781stZndfbwy3P1Hd//9Mfumuvv1wDVAv2z+HCL5qlKlStx44418+umn/Pzzzzz55JN07doVgMWLF3PxxRczbtw4tm7dGuZIRUSOlm1Xv5nFAB2BC4FqwH5gOTDT3ddkW4HZJcAe4FV3b5S6LxpYmVruemABEA9EA48cU8S17r419bq33b3PMeU/Abzu7l9nFYO6+qUgffTRRwwfPpxly5YRFRVFhw4diI+PJxQKcdJJJ4U7PBGJEPnyjD8PldcBZmRI/G2A+929c+r2SAB3PzbpH1tOeuJPfQTxKDDH3T843nVK/BIOS5cuJSEhgcTERLZs2cLWrVspU6YMK1asoFatWpooSEQCldcJfPJbDSDjrH/rU/dlyswqmNnzQFzalwTgFuBSoI+Z3ZjJNUPNbKGZLdy2bVs+hi6SM40aNeLhhx9m9erVfPvtt+mJvl+/flSuXJn+/fszffp0TRQkIgUqXIk/s/efsux6cPft7n6ju5+Z1ivg7mPcvXnq/uczuWa8u7dw9xaVKlXKx9BFToyZUa9ePQDcnaeffpoBAwbw/vvv06NHD6pUqcLYsWPDHKWIRIrsRvW3DKje9cAZGbZrAhsDqkuk0DAz2rVrxwsvvMDmzZuZOXMm3bt3p0qVKgBs2LCBW265hS+++ILk5ORsShMROXHHfcZvZi8CzYFlwCzgfXc/4X7zTJ7xx5AyuK8DsIGUwX393X3ZiZadTb3dge7169e/ftWqIjHXkES4adOmcdVVV3Hw4EFq1apFKBQiFArRtGlTTRQkIickr6vzNQK6Ap2B0sBHpHwR+Le7H7dZYmYJQDugIrAFGO3uL6VOAfwUKSP5J7j7wyf0JzoBGtwnRcl///tf3nnnHRISEpgzZw5JSUls3LiRqlWrsn//fr0ZICI5km+j+s3sZFJa6l2B8929Wf6EGBwlfimqfvnlFz7//HN69uwJQOfOndm2bRvx8fH069ePWrVqhTlCESms8m1Uv7vvdfdp7n5TYU/6ZtbdzMbv2rUr3KGI5ErFihXTkz5A9+7dKVGiBHfeeSe1a9fmoosu4u233z5OCSIiRwvXqP4C4e7T3X1o+fLlwx2KSL4YNmwYX375JatXr+bhhx9m165d/PjjjwDs3buXCRMm8Ouvv4Y5ShEpzApkAp9wU1e/FGdpiwdNmTKF3r17U7JkSbp06UIoFKJHjx6cfPLJ4Q5RRMIgt4v0PGVmrYILS0TyKm3xoCuuuIKvvvqKYcOGsWjRIvr370/lypVZt25dNiWISCSJyeb4OmCcmZ0OJAIJ7r40m2sKjQyv84U7FJHAmRktW7akZcuWPPbYY3z22Wd88MEH1KxZE4Bbb72V3bt3Ex8fT/v27dO/MIhIZMnp63xnAqHUHwPeABLd/cdgw8sf6uoXgVtuuYVXXnmF3bt3U7lyZfr27cvgwYNp2TKoebpEJJzyNKrf3X9w94fdvTEwGOgLaEYckSJk7NixbN26lcmTJ3PJJZfw0ksv8cYbbwCQlJTE4sWLiYQxPyKRLkd9fanL6HYipcXfGfgcCGzCHREJRunSpbnyyiu58sor2b17NwcOHABg3rx5tG/fngYNGqTPFnjOOeeEOVoRCUJ2g/vam9l4UqbVHU7KjH1nuXtvd9fLwyJFWLly5UhbwMet10QAACAASURBVKpJkyaMHz+e6tWr8+CDD9KwYUPi4uL46aefwhyliOS37Obqn0fK8/y3czNHf7hprn6RE7dp0ybefPNNZs2axfTp04mJiWH8+PEcPHiQvn37UrVq1XCHKCI5kOcpe82sNXC2u79qZhWAk93953yOMxAa3CeSN927d2fGjBlERUXRvn17QqEQvXv35rTTTgt3aCKShTwN7jOz+4DRwH2pu0qT0hMgIhFg+vTpLFu2jHvuuYeffvqJ66+/nmHDhqUf37dvXxijE5ETkdPX+ZYAccDX7h6Xuu9bd48NOL58oRa/SP5xdxYtWkSpUqVo3Lgxy5cvp3nz5nTv3p34+Hi6du1KqVKlwh2mSMTL6yI9Bz3lG4KnFlYmP4MTkaLDzGjRogWNGzcGoFSpUgwZMoSPP/6YK664gipVqjBkyBA2bNgQ5khFJDM5TfxTzGwcUN7MhgCzgQnBhZU/tDqfSPDq1avHuHHj2LhxI7NmzaJXr17MnDmTsmXLAvDxxx8zb948kpOTwxypiMCJDe7rSsq7/Aa87+7vBRlYflJXv0jBSkpKIjo6GoC2bdsyd+5catasSb9+/YiPj6dZs2aYWZijFCnecrtIz+y0z+7+nrvf7u63FaWkLyIFLy3pA8yYMYPXX3+dpk2bMmbMGFq0aMGgQYPCGJ1IZMtu5r5KBRKFiBRb5cqVo3///vTv358dO3YwZcoUqlWrBsC2bdvo0qULffv2pV+/ftStWzfM0YoUf9lN4PMjcEdWx919ShBB5Td19YsUTt999x1Dhw7l3//+NwCtW7cmPj6eq6++WnMEiORRribwMbPtwDukPNc/lrv7tfkXYnCU+EUKtzVr1jBp0iQSExP55ptvWLNmDXXq1OGHH37gtNNO4/TTTw93iCJFTm4T/9fu3izQyAKkKXtFip41a9akd/mnvSHQuXNnQqEQPXv2TH9bQESOL7fv8RfpYbfuPt3dh5YvXz7coYhIDmV8zj969GhuvfVWlixZwsCBA6lcuTJ33nlnGKMTKfqyS/xXF0gUIiKZiIuL47HHHuOnn35i3rx5DBkyhBo1agBw8OBBhg4dyqxZszh8+HCYIxUpOrLr6p/h7t2OW0AOzgk3PeMXKX4WL15M+/bt2bVrFxUrVqRPnz7Ex8dz0UUXERWV07nJRIqv3D7j3wnMPV65wHnuXi/vIQZHiV+keDp48CCzZs0iMTGRadOmsW/fPr788ktatWrFvn37OOmkkzRRkESsrBJ/du/x98xB2YdyF5KISN6UKlWKnj170rNnT/bu3cusWbNo2bIlAH/84x/58MMPCYVChEIhzjvvvDBHK1I45HjK3qJMLX6RyDNp0iRefPFFPvroI5KTk2ncuDE33HADN998c7hDEykQeV2dT0SkSOnXrx9z5sxh48aNjB07lnLlyrFs2TIgZWnhF154gY0bN4Y5SpGCpxa/iESMtMWDlixZQlxcHGZG27ZtiY+Pp3fv3lSoUCHcIYrkmzy1+M2scib7GuRHYEHSsrwiklHa4kFNmzZl+fLljB49mk2bNnHDDTdQtWpVvvjiizBHKBK8nHb1zzOzq9I2zOxPwL+CCSn/aAIfEcnKOeecw+jRo1m+fDlff/01I0aMoHnz5gD87W9/o0+fPkyePJn9+/eHOVKR/JXdqP407YDxZtYXqAIsB1oFFZSISEExM+Li4oiLiztq/7x585g8eTLlypWjV69eXH311XTs2DFMUYrknxy1+N19EzALaAPUAV519z0BxiUiEjZ33XUXGzZsYM6cOfTt25fp06fz7LPPph9fuHAhycnJYYxQJPdyNLjPzOYAm4DhQE1gAjDX3bNcsrcw0eA+EcmLgwcPsmPHDqpVq8aaNWuoV68e1atXp1+/foRCIVq2bKmJgqTQyevrfOPcfZC773T3pcAFgEbMiUhEKFWqFNWqVQOgSpUqJCYm0rJlS8aNG8f555/PWWedxVdffRXmKEVyJqdd/VOP2T7i7g8FE5KISOFVpkwZ+vXrx9SpU9myZQsTJkygfv361KuXMnP5lClTePjhh/nhhx/CHKlI5nLa1b8bSDuxJFAC2OPuRWK4vLr6RaSg3HrrrYwZMwaAli1bEh8fz1VXXZW+qqBIQclTV7+7l3P3U1J/SgO9gXH5HaSISFH39NNP89NPP/H3v/+dpKQk/vjHP9KnT5/043v37g1jdCJ5mLnPzP7t7q3zOZ5AqMUvIuGycuVKfv31V84//3x27txJzZo1ufjii4mPj6dXr16ccsop4Q5Riqncrs6XdvGVGTajgBb8r+tfRESycPbZZ6d/PnLkCMOGDSMxMZHBgwdTqlQpLr/8ch588EGtHigFJqej+rtn+OkM7CZnS/aGlabsFZHCpGLFijz66KOsWbOGL774gqFDh/L555+nTyW8cOFCZs6cyeHDh8McqRRnWqRHRCSM0hYOAhgyZAgvv/wyp59+On369CEUCnHJJZekHxc5EVl19R838ZvZWI7Tpe/uw/MnvGAp8YtIUXDo0CFmz55NQkIC77zzDnv37qVNmzZaPEhyJbfP+JUtRUQKSMmSJenWrRvdunVj3759zJgxI73b//Dhw1x00UV06NCBUChE48aNNVug5Ep2Lf4Ydz9SgPEEQi1+ESnqNm3axJAhQ/jggw9ISkri3HPPJRQKce2112qOAMlUbt/jT5+DMrXbX0REwqBatWrMmjWLjRs38uyzz1KhQgVGjRrF6tWrAVi/fj3r1q0Lc5RSFGSX+DP2I10YZCAiIpK9ypUrc9NNNzF37lzWrVvHRRddBMDjjz9OrVq1uOSSS3juuefYtm1bmCOVwiq7xF/8h/yLiBRRNWvWTB/xP2zYMB588EG2b9/OH/7wB6pVq0a/fv3CHKEURtk9498HrCal5X9m6mdSt93dYwOPMB/oGb+IRAp357vvviMhIQEz469//SvuzvDhw7nkkku4/PLLKVOmTLjDlAKQ29f5ah+vUHf/KR9iC5wSv4hEss2bNxMXF8fmzZs5+eST6dmzJ/Hx8XTq1ImSJUuGOzwJSK4G97n7T8f7CS5cERHJL1WrVmX9+vV89NFH9O/fn/fee4/u3bvzr3/9C4D9+/eTlJQU5iiloOR0yl4RESnCoqOjad++PePHj2fz5s3MmDGDbt26ATBmzBhq1qzJrbfeyvz584mEGV0jmRK/iEiEKVmyJJdffjknn3wyAM2bN6dNmza88MILXHDBBdSrV48///nP+gJQTGWb+M0sNvW/jYMPR0RECtqll17KlClT2LJlC6+88goNGzZkyZIl6TMDTpw4kZUrV4Y5Sskv2S7SY2ZPAeOAm939tgKJKp9pcJ+IyIlJTk4mKiqK7du3U6VKFZKSkmjWrBnx8fH069ePM844I9whSjZyNbjPzEannvNvIMrMRgUUn4iIFCJRUSnpoUKFCqxdu5YnnniCqKgoRowYQa1atUhISAhzhJJb2Y3qfwD4AJgEfODuDxZIVBmYWT0ze8nM3s6wr6GZPW9mb5vZTQUdk4hIJKlZsyZ//OMfWbBgAatWreIvf/kLbdu2BeD111+nc+fOTJw4kZ07d4Y5UsmJnAzuO9/d/wC0PNHCzWyCmW01s6XH7O9iZt+b2Wozu/t4Zbj7j+7++2P2LXf3G4GrgN90Y4iISDDq16/PvffeS/Xq1YGURwKrV6/m2muvpUqVKvTq1YtJkyZpYGAhlu0z/jwVbnYJsAd41d0bpe6LBlYCHYH1wAIgHogGHjmmiGvdfWvqdW+7e58MZfcA7gaecfc3jheHnvGLiATH3VmwYAEJCQlMmjSJypUrs2TJEgC+/vprzjvvPEqVKhXmKCNPrmbuy6eK6wAzMiT+NsD97t45dXskgLsfm/SPLeeoxJ9h/7vufvnxrlXiFxEpGElJSWzevJkaNWqwd+9eKleuTMmSJenduzehUIj27dunry8gwcrtsrxBqAFkXDtyfeq+TJlZBTN7HohL+5JgZu3MbIyZvQDMzOK6oWa20MwWapUqEZGCER0dTY0aKf9LL1WqFG+99Rbdu3dn0qRJdOzYkRo1ajBt2rQwRxnZYsJQp2WyL8tuB3ffDtx4zL5PgE+OV4m7jwfGQ0qL/0SDFBGRvImJieGyyy7jsssuY//+/bz77rskJiZSu3bKMjDz5s1jxowZxMfH06RJk/R5AyRY2b3OF21mN5jZQ2Z24THH7stlneuBjC+A1gQ25rIsEREpAk466ST69OnD22+/TZMmTQBYuHAhTz75JHFxcZx77rk88MADfP/992GOtPjLrqv/BaAtsB0YY2ZPZjh2ZS7rXACcZWZ1zawkEAIC6fcxs+5mNn7Xrl1BFC8iInlw++23s2nTJl544QWqVq3KAw88QPv27UlOTgZgz549YY6weMpuWd5v3T1tyt4Y4FmgIimj8P/t7nHHLdwsAWiXes0WYLS7v2RmlwFPkTKSf4K7P5wPf5YsaXCfiEjht3HjRlauXEm7du1ITk6mdu3a1K5dm1AoRN++falSpUq4QyxScju4L32hZnc/4u5DgSXAR0DZ7Cp193h3r+buJdy9pru/lLp/pruf7e5nBp30RUSkaKhevTrt2rUD4ODBg9x0003s2rWLW265herVq9OxY0fmzp0b3iCLgewS/0Iz65JxR+rsfROBOkEFJSIike2kk07innvu4bvvvmPp0qXcc889rFmzhn379gGwevVqEhIS2Lt3b5gjLXoCf48/nMysO9C9fv36169atSrc4YiISB64O+5OVFQUDz30EKNGjaJMmTL06NGDUChEly5dNFFQBrldpOfODJ/7HnPsr/kXXjDcfbq7Dy1fvny4QxERkTwys/TFg+69914++eQTBg0axJw5c+jVqxf16tXjyJEjYY6y8MtucN/X7t7s2M+ZbRdmGtwnIlJ8HT58mA8++IA1a9bwhz/8AYAuXbpQv359QqEQF1xwQfoXhkiS28F9lsXnzLYLHb3OJyJS/JUoUYKuXbumJ/0DBw5wyimn8NJLL3HxxRdTp04dRowYwYoVK8IcaeGQXeL3LD5ntl3oqKtfRCTylC5dmjfffJOtW7fyz3/+k9jYWJ566inmz58PwI4dOyL6S0B2Xf1JwF5SWvcnAfvSDgGl3b1E4BHmA3X1i4hEtu3bt3PSSSdRpkwZxowZw6233krTpk0JhUKEQqH0aYSLk1x19bt7tLuf4u7l3D0m9XPadpFI+iIiIhUqVKBMmTIAXHXVVTz11FOULl2au+++mzp16nDxxRdz6NChMEdZMCJvtIOIiES0qlWrcuuttzJ//nx+/PFHHnnkEc4991xKlkyZs+6+++7jxRdf5Ndffw1zpMHQe/wiIiKpDh8+TJMmTVi+fDklSpSgS5cuhEIhevToQdmy2U5YW6jkdlR/kabBfSIiciJKlCjBsmXLWLBgAcOHD+frr79mwIABPPPMMwAcOnSIgwcPhjnKvCnWiV9EROREmRktWrTg8ccf5+eff2bu3LkMHjwYgKlTp1KlShWGDBnC7Nmzi+SEQUr8IiIiWYiKiuLiiy+mWrVqANSvX59evXoxZcoUOnfuTPXq1bn55pvZv39/mCPNOSV+ERGRHGrWrBkvv/wyW7ZsYcqUKbRv35758+dTunRpACZNmsSiRYsozOPnNLhPREQkD5KTk4mKiiIpKYlq1aqxbds2zjrrLOLj4wmFQjRs2DAscWlwn4iISADS1gGIjo5mxYoV/OMf/+CMM87goYce4txzz+WRRx4Jc4RHK9aJX0REpCCdfvrpXHfddXz44Yds2LCBp59+mssuuwyAefPm0aZNG8aMGcOmTZvCFqMSv4iISACqVavG8OHDadKkCQD79+/nwIED3HrrrdSsWZMOHTrwj3/8gwMHDhRoXEr8IiIiBaBTp04sXryY5cuXc99997Fu3TpGjhxJdHQ0AN988w27d+8OPI5iPbgvjRbpERGRwsbd2bhxIzVq1MDdOfPMM9m8eTPdunUjFApx2WWXpb8tkBsRObhPRESksDIzatSokb796quvcu211/Lpp5/Su3dvKleuzLPPPpvv9RbrxG9m3c1s/K5du8IdioiISJbMjIsuuohnnnmGDRs2MHv2bPr06UPdunUBWLVqFTfddBOffvopycnJeatLXf0iIiKF29tvv83gwYPZt28fNWrUoF+/foRCIVq0aIGZZXqNuvpFRESKqD59+rBlyxbeeOMNmjVrxtixY7nwwgtJ69E+kUGBavGLiIgUMb/++isLFiygU6dOAFxwwQXs2bOHUChEKBSiXr16avGLiIgUF6eddlp60nd3BgwYQLly5bj33ns588wzad26dZbXKvGLiIgUYWbGzTffzOeff87atWv529/+xsGDB7M+X139IiIixY+6+kVERKR4J369xy8iInK0Yp34tSyviIjI0Yp14hcREZGjKfGLiIhEECV+ERGRCKLELyIiEkGU+EVERCKIEr+IiEgEUeIXERGJIEr8IiIiEUSJX0REJIIo8YuIiESQYp34NVe/iIjI0Yp14tdc/SIiIkcr1olfREREjqbELyIiEkGU+EVERCKIEr+IiEgEiQmycDOrAFwAVAf2A0uBxe7uQdYrIiIimQsk8ZvZxcBIoCqwBNgKlAZCQG0zSwT+z933BFG/iIiIZC6oFv+VwDB3//HYA2ZWEugBdAHeDqh+ERERyURQif9hd/8lswPufgglfBERkbAIanDfMjN7z8wGmVm5gOoQERGRExRU4q8BPAN0BH4ws7fNrLeZlQqoPhEREcmBQBK/ux9x93fd/WrgDCCBlIF9P5nZK0HUKSIiItkL/D1+dz8IfA0sBnYCcUHXKSIiIpkLLPGbWXUzu93MvgLmACcDfd09Nqg6RURE5PiCeo9/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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 6))\n", "ax_spectrum, ax_residual = flux_points_dataset.peek()\n", "\n", "ax_spectrum.set_ylim([1e-14, 3e-11])\n", "ax_residual.set_ylim([-1.7, 1.7])\n", "\n", "spec_model_true.plot(\n", " ax=ax_spectrum,\n", " energy_range=(emin_fit, emax_fit),\n", " label=\"Reference model\",\n", " c=\"black\",\n", " linestyle=\"dashed\",\n", " energy_power=2,\n", ")\n", "\n", "ax_spectrum.legend(loc=\"best\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial suffers a bit from the lack of statistics: there were 9 Vela observations in the CTA DC1 while there is only one here. When done on the 9 observations, the spectral analysis is much better agreement between the input model and the gammapy fit." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.0" }, "nbsphinx": { "orphan": true } }, "nbformat": 4, "nbformat_minor": 2 }