{ "cells": [ { "cell_type": "markdown", "id": "3571a43a", "metadata": {}, "source": [ "# Galactic Diffuse Continuum\n", "\n", "This tutorial demonstrates how to do a spectral fit of the Galactic diffuse continuum emission using an input GALPROP model in healpix format. " ] }, { "cell_type": "code", "execution_count": 8, "id": "afa6d5f8-c8b5-4dea-9116-2d1628aa712f", "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "list.remove(x): x not in list", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[8]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 2\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msys\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mos\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m \u001b[43msys\u001b[49m\u001b[43m.\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m.\u001b[49m\u001b[43mremove\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43m/uni-mainz.de/homes/sgallego/software/COSItools/cosipy_israel\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 8\u001b[39m logger = logging.getLogger(\u001b[33m'\u001b[39m\u001b[33mcosipy\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 9\u001b[39m logger.setLevel(logging.INFO)\n", "\u001b[31mValueError\u001b[39m: list.remove(x): x not in list" ] } ], "source": [ "import logging\n", "import sys\n", "import os\n", "\n", "logger = logging.getLogger('cosipy')\n", "logger.setLevel(logging.INFO)\n", "logger.addHandler(logging.StreamHandler(sys.stdout))\n", "\n", "os.environ[\"OMP_NUM_THREADS\"] = \"1\"\n", "os.environ[\"MKL_NUM_THREADS\"] = \"1\"\n", "os.environ[\"NUMEXPR_NUM_THREADS\"] = \"1\"" ] }, { "cell_type": "code", "execution_count": 5, "id": "8c0294f9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
17:24:41 WARNING   The naima package is not available. Models that depend on it will not be         functions.py:43\n",
       "                  available                                                                                        \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m17:24:41\u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m The naima package is not available. Models that depend on it will not be \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=967850;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/functions.py\u001b\\\u001b[2mfunctions.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=23441;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/functions.py#43\u001b\\\u001b[2m43\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251mavailable \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   The GSL library or the pygsl wrapper cannot be loaded. Models that depend on it  functions.py:65\n",
       "                  will not be available.                                                                           \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m The GSL library or the pygsl wrapper cannot be loaded. Models that depend on it \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=765661;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/functions.py\u001b\\\u001b[2mfunctions.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=196466;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/functions.py#65\u001b\\\u001b[2m65\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251mwill not be available. \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   The ebltable package is not available. Models that depend on it will not be     absorption.py:33\n",
       "                  available                                                                                        \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m The ebltable package is not available. Models that depend on it will not be \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=683988;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/absorption.py\u001b\\\u001b[2mabsorption.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=996986;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/astromodels/functions/functions_1D/absorption.py#33\u001b\\\u001b[2m33\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251mavailable \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
17:24:42 INFO      Starting 3ML!                                                                     __init__.py:44\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m17:24:42\u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;49mINFO \u001b[0m \u001b[1;38;5;251m Starting 3ML! \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=860726;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=752077;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#44\u001b\\\u001b[2m44\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   WARNINGs here are NOT errors                                                      __init__.py:45\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m WARNINGs here are \u001b[0m\u001b[1;31mNOT\u001b[0m\u001b[1;38;5;251m errors \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=537388;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=723506;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#45\u001b\\\u001b[2m45\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   but are inform you about optional packages that can be installed                  __init__.py:46\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m but are inform you about optional packages that can be installed \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=725339;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=609013;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#46\u001b\\\u001b[2m46\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING    to disable these messages, turn off start_warning in your config file            __init__.py:47\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m \u001b[0m\u001b[1;31m to disable these messages, turn off start_warning in your config file\u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=462939;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=700759;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#47\u001b\\\u001b[2m47\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   no display variable set. using backend for graphics without display (agg)         __init__.py:53\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m no display variable set. using backend for graphics without display \u001b[0m\u001b[1;38;5;251m(\u001b[0m\u001b[1;38;5;251magg\u001b[0m\u001b[1;38;5;251m)\u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=140854;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=915773;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#53\u001b\\\u001b[2m53\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   ROOT minimizer not available                                                minimization.py:1208\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m ROOT minimizer not available \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=276606;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=84103;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py#1208\u001b\\\u001b[2m1208\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   Multinest minimizer not available                                           minimization.py:1218\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m Multinest minimizer not available \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=543982;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=497540;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py#1218\u001b\\\u001b[2m1218\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   PyGMO is not available                                                      minimization.py:1228\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m PyGMO is not available \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=277444;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=787059;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/minimizer/minimization.py#1228\u001b\\\u001b[2m1228\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   The cthreeML package is not installed. You will not be able to use plugins which  __init__.py:95\n",
       "                  require the C/C++ interface (currently HAWC)                                                     \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m The cthreeML package is not installed. You will not be able to use plugins which \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=639515;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=757157;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#95\u001b\\\u001b[2m95\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251mrequire the C/C++ interface \u001b[0m\u001b[1;38;5;251m(\u001b[0m\u001b[1;38;5;251mcurrently HAWC\u001b[0m\u001b[1;38;5;251m)\u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   Could not import plugin FermiLATLike.py. Do you have the relative instrument     __init__.py:136\n",
       "                  software installed and configured?                                                               \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m Could not import plugin FermiLATLike.py. Do you have the relative instrument \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=825617;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=53232;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#136\u001b\\\u001b[2m136\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251msoftware installed and configured? \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
         WARNING   Could not import plugin HAWCLike.py. Do you have the relative instrument         __init__.py:136\n",
       "                  software installed and configured?                                                               \n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m \u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m Could not import plugin HAWCLike.py. Do you have the relative instrument \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=539002;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=133384;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/__init__.py#136\u001b\\\u001b[2m136\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[38;5;46m \u001b[0m \u001b[1;38;5;251msoftware installed and configured? \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
17:24:43 WARNING   No fermitools installed                                              lat_transient_builder.py:44\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m17:24:43\u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;134mWARNING \u001b[0m \u001b[1;38;5;251m No fermitools installed \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=594616;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/utils/data_builders/fermi/lat_transient_builder.py\u001b\\\u001b[2mlat_transient_builder.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=919482;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/utils/data_builders/fermi/lat_transient_builder.py#44\u001b\\\u001b[2m44\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# imports:\n", "from cosipy import BinnedData\n", "from cosipy.statistics import PoissonLikelihood\n", "from cosipy.background_estimation import FreeNormBinnedBackground\n", "from cosipy.interfaces import ThreeMLPluginInterface\n", "from cosipy.response import BinnedThreeMLModelFolding, BinnedInstrumentResponse, BinnedThreeMLExtendedSourceResponse\n", "from cosipy.data_io import EmCDSBinnedData\n", "from cosipy.spacecraftfile import SpacecraftHistory\n", "from cosipy.response.FullDetectorResponse import FullDetectorResponse\n", "from cosipy.response.ExtendedSourceResponse import ExtendedSourceResponse\n", "from cosipy.threeml.custom_functions import GalpropHealpixModel\n", "from cosipy.util import fetch_wasabi_file\n", "from threeML import PointSource, Model, JointLikelihood, DataList, update_logging_level\n", "from threeML.analysis_results import *\n", "from astromodels import *\n", "from astromodels.functions import GalPropTemplate_3D\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "7af3399f", "metadata": {}, "source": [ "### Get the data" ] }, { "cell_type": "code", "execution_count": 6, "id": "2e7d4fb7-64de-4f9b-9916-0ec2355b9e97", "metadata": {}, "outputs": [], "source": [ "#path to download your data\n", "\n", "data_path = Path(\"\") # /path/to/files. Current dir by default" ] }, { "cell_type": "code", "execution_count": 7, "id": "09540da3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named /localscratch/sgallego/linkToXauron/COSIpyData/DC3_data/DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.ori already exists with the specified checksum (e5e71e3528e39b855b0e4f74a1a2eebe). Skipping.\n" ] } ], "source": [ "# ori file\n", "fetch_wasabi_file('COSI-SMEX/DC3/Data/Orientation/DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.ori', \n", " output = data_path / \"DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.ori\" , checksum = 'e5e71e3528e39b855b0e4f74a1a2eebe')" ] }, { "cell_type": "code", "execution_count": null, "id": "b83081fe", "metadata": {}, "outputs": [], "source": [ "# background file\n", "fetch_wasabi_file('COSI-SMEX/DC3/Data/Backgrounds/Ge/AlbedoPhotons_3months_unbinned_data_filtered_with_SAAcut.fits.gz', \n", " output = data_path / \"AlbedoPhotons_3months_unbinned_data_filtered_with_SAAcut.fits.gz\" ,checksum = '191a451ee597fd2e4b1cf237fc72e6e2')" ] }, { "cell_type": "code", "execution_count": null, "id": "5cac59ba", "metadata": {}, "outputs": [], "source": [ "# source file\n", "fetch_wasabi_file('COSI-SMEX/DC3/Data/Sources/GalTotal_SA100_F98_3months_unbinned_data_filtered_with_SAAcut.fits.gz', \n", " output = data_path / \"GalTotal_SA100_F98_3months_unbinned_data_filtered_with_SAAcut.fits.gz\" ,checksum = '9fda5a7b15a90358abc2b886979f9fef')" ] }, { "cell_type": "code", "execution_count": 18, "id": "61fa6709", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named /localscratch/sgallego/linkToXauron/COSIpyData/DC3_data/extended_source_response_continuum_merged.h5.gz with the same ETag (e1a6ee94cb0e557df15eb9cc25869ae1-72) as the requested file already exists. Skipping.\n" ] } ], "source": [ "# precomputed point source response\n", "fetch_wasabi_file('COSI-SMEX/DC3/Data/Responses/extended_source_response/extended_source_response_continuum_merged.h5.gz', \n", " output = data_path / \"extended_source_response_continuum_merged.h5.gz\",unzip = True, checksum = '92ed7e22b1dafce6b57611d5cdb6cf70')" ] }, { "cell_type": "code", "execution_count": 5, "id": "0a157b61", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading cosi-pipeline-public/COSI-SMEX/cosipy_tutorials/galactic_diffuse_continuum/total_healpix_57_SA100_F98_example.gz\n" ] } ], "source": [ "# GALPROP input model\n", "fetch_wasabi_file('COSI-SMEX/cosipy_tutorials/galactic_diffuse_continuum/total_healpix_57_SA100_F98_example.gz', \n", " output = data_path / \"total_healpix_57_SA100_F98_example.gz\" ,checksum = '82cbeb9a86d86637f19f31c762f379fc')" ] }, { "cell_type": "markdown", "id": "1d2538a2", "metadata": {}, "source": [ "Input files:" ] }, { "cell_type": "code", "execution_count": 11, "id": "ae21a6b4", "metadata": {}, "outputs": [], "source": [ "ori_file = data_path / \"DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.ori\"\n", "BG_file = data_path / \"AlbedoPhotons_3months_unbinned_data_filtered_with_SAAcut.fits.gz\"\n", "src_file = data_path / \"GalTotal_SA100_F98_3months_unbinned_data_filtered_with_SAAcut.fits.gz\"\n", "psr_file = data_path / \"extended_source_response_continuum_merged.h5\"\n", "galprop_model_file = data_path / \"total_healpix_57_SA100_F98_example.gz\"" ] }, { "cell_type": "markdown", "id": "b7c6d071", "metadata": {}, "source": [ "### Make the dataset and bin\n", "This step only needs to be run once. Afterwards, the files can be loaded directly using the cell below. " ] }, { "cell_type": "code", "execution_count": 12, "id": "840bb8c4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "binning data...\n", "Time unit: s\n", "Em unit: keV\n", "Phi unit: deg\n", "PsiChi unit: None\n", "binning data...\n", "Time unit: s\n", "Em unit: keV\n", "Phi unit: deg\n", "PsiChi unit: None\n" ] } ], "source": [ "# Bin galdiff:\n", "galdiff = BinnedData(\"galdiff.yaml\")\n", "galdiff.get_binned_data(unbinned_data=src_file, output_name=data_path/\"galdiff_binned_data\")\n", "\n", "# Bin background:\n", "bg_tot = BinnedData(\"galdiff.yaml\")\n", "bg_tot.get_binned_data(unbinned_data=BG_file, output_name=data_path/ \"albedo_photons_binned_data\")" ] }, { "cell_type": "markdown", "id": "8fe72ead", "metadata": {}, "source": [ "Load binned files:" ] }, { "cell_type": "code", "execution_count": 12, "id": "e81a0b26", "metadata": {}, "outputs": [], "source": [ "#load signal\n", "galdiff = BinnedData(\"galdiff.yaml\")\n", "galdiff.load_binned_data_from_hdf5(binned_data= data_path / \"galdiff_binned_data.hdf5\")\n", "\n", "# Load background:\n", "bg_tot = BinnedData(\"galdiff.yaml\")\n", "bg_tot.load_binned_data_from_hdf5(binned_data= data_path / \"albedo_photons_binned_data.hdf5\")" ] }, { "cell_type": "markdown", "id": "3be96ccd", "metadata": {}, "source": [ "## Define GALPROP model\n", "Below is how to define the custom GALPROP model. We will save the model to a yaml file so that it can be directly uploaded in the future (as shown at the bottom). " ] }, { "cell_type": "code", "execution_count": 13, "id": "757817d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading GALPROP model: /localscratch/sgallego/linkToXauron/COSIpyData/DC3_data/total_healpix_57_SA100_F98_example.gz\n" ] } ], "source": [ "# defining the model:\n", "galprop_model = GalpropHealpixModel()\n", "galprop_model.load_file(galprop_model_file)\n", "\n", "# The spectrum is defined in the data cube, \n", "# and so we use a dummy model for defining an extended source in astromodels. \n", "# NB: This has no impact on the results - just make sure the parameter is fixed!\n", "spectrum = Constant()\n", "spectrum.k.value = 0.0\n", "spectrum.k.free = False\n", "\n", "src = ExtendedSource(\"galprop_source\", spatial_shape=galprop_model, spectral_shape=spectrum)\n", "model = Model(src)\n", "model.save(\"galprop_model.yaml\", overwrite=True)\n", "\n", "# uncomment below to load saved model:\n", "#model = load_model('galprop_model.yaml')" ] }, { "cell_type": "markdown", "id": "149b05c3", "metadata": {}, "source": [ "## Setup and perform fit\n", "Setup background parameter, extended source , orientation file and the LH fit" ] }, { "cell_type": "code", "execution_count": 14, "id": "9cf61817", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "WARNING RuntimeWarning: divide by zero encountered in divide\n", "\n" ] } ], "source": [ "#open the orientation file\n", "sc_orientation = SpacecraftHistory.open(ori_file)\n", "\n", "#open the extended source response\n", "dr = ExtendedSourceResponse.open(psr_file)\n", "\n", "\n", "\n", "bkg_dist = {\"background\":bg_tot.binned_data.project('Em', 'Phi', 'PsiChi')}\n", " \n", "# Workaround to avoid inf values. Out bkg should be smooth, but currently it's not.\n", "# Reproduces results before refactoring. It's not _exactly_ the same, since this fudge value was 1e-12, and\n", "# it was added to the expectation, not the normalized bkg\n", "for bckfile in bkg_dist.keys() :\n", " bkg_dist[bckfile] += sys.float_info.min\n", "\n", "#combine the data + the bck like we would get for real data\n", "data = EmCDSBinnedData(galdiff.binned_data.project('Em', 'Phi', 'PsiChi') \n", " + bg_tot.binned_data.project('Em', 'Phi', 'PsiChi')\n", " )\n", " \n", "bkg = FreeNormBinnedBackground(bkg_dist,\n", " sc_history=sc_orientation,\n", " copy = False)\n", "\n", "# Currently using the same NnuLambda, Ei and Pol axes as the underlying FullDetectorResponse,\n", "# matching the behavior of v0.3. This is all the current BinnedInstrumentResponse can do.\n", "# In principle, this can be decoupled, and a BinnedInstrumentResponseInterface implementation\n", "# can provide the response for an arbitrary directions, Ei and Pol values.\n", " \n", "\n", "esr = BinnedThreeMLExtendedSourceResponse(data = data,\n", " precomputed_psr = dr,\n", " \n", " polarization_axis = dr.axes['Pol'] if 'Pol' in dr.axes.labels else None,\n", " )\n", "\n", "##====\n", "\n", "\n", "response = BinnedThreeMLModelFolding(data = data, extended_source_response = esr)\n", "\n", "like_fun = PoissonLikelihood(data, response, bkg)\n", "\n", "cosi = ThreeMLPluginInterface('cosi',\n", " like_fun,\n", " response,\n", " bkg)\n", "\n", "cosi.bkg_parameter['background'] = Parameter(\"background\", # background parameter\n", " 1, # initial value of parameter\n", " unit = u.Hz, \n", " min_value=0, # minimum value of parameter\n", " max_value=10, # maximum value of parameter\n", " delta=0.05, # initial step used by fitting engine\n", " )" ] }, { "cell_type": "markdown", "id": "dcb3251a", "metadata": {}, "source": [ "Instantiate the COSI 3ML plugin and perform the fit" ] }, { "cell_type": "code", "execution_count": 15, "id": "f7be55ba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
10:47:35 INFO      set the minimizer to minuit                                             joint_likelihood.py:1017\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m10:47:35\u001b[0m\u001b[38;5;46m \u001b[0m\u001b[38;5;49mINFO \u001b[0m \u001b[1;38;5;251m set the minimizer to minuit \u001b[0m\u001b[1;38;5;251m \u001b[0m\u001b]8;id=97084;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/classicMLE/joint_likelihood.py\u001b\\\u001b[2mjoint_likelihood.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=297431;file:///uni-mainz.de/homes/sgallego/software/COSItools/cosipy_interfaces/Pyenv/lib/python3.11/site-packages/threeML/classicMLE/joint_likelihood.py#1017\u001b\\\u001b[2m1017\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "... Reading Extended source response ...\n", "--> done (source name : galprop_source)\n", "Interpolating GALPROP map...\n", "Integrating intensity over energy bins...\n" ] }, { "data": { "text/html": [ "
Best fit values:\n",
       "\n",
       "
\n" ], "text/plain": [ "\u001b[1;4;38;5;49mBest fit values:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
resultunit
parameter
galprop_source.GalpropHealpixModel.K(7.721 +/- 0.008) x 10^-1
background4.5842 +/- 0.0013Hz
\n", "
" ], "text/plain": [ " result unit\n", "parameter \n", "galprop_source.GalpropHealpixModel.K (7.721 +/- 0.008) x 10^-1 \n", "background 4.5842 +/- 0.0013 Hz" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Correlation matrix:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mCorrelation matrix:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", "
1.00-0.72
-0.721.00
" ], "text/plain": [ " 1.00 -0.72\n", "-0.72 1.00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Values of -log(likelihood) at the minimum:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mValues of -\u001b[0m\u001b[1;4;38;5;49mlog\u001b[0m\u001b[1;4;38;5;49m(\u001b[0m\u001b[1;4;38;5;49mlikelihood\u001b[0m\u001b[1;4;38;5;49m)\u001b[0m\u001b[1;4;38;5;49m at the minimum:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
-log(likelihood)
cosi-171655715.58496818
total-171655715.58496818
\n", "
" ], "text/plain": [ " -log(likelihood)\n", "cosi -171655715.58496818\n", "total -171655715.58496818" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Values of statistical measures:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mValues of statistical measures:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statistical measures
AIC-343311427.16988426
BIC-343311406.47479194
\n", "
" ], "text/plain": [ " statistical measures\n", "AIC -343311427.16988426\n", "BIC -343311406.47479194" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "( value negative_error \\\n", " galprop_source.GalpropHealpixModel.K 0.772051 -0.000787 \n", " background 4.584189 -0.001347 \n", " \n", " positive_error error unit \n", " galprop_source.GalpropHealpixModel.K 0.000823 0.000805 \n", " background 0.001292 0.001320 Hz ,\n", " -log(likelihood)\n", " cosi -171655715.58496818\n", " total -171655715.58496818)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Optional: if you want to call get_log_like manually, then you also need to set the model manually\n", "# 3ML does this internally during the fit though\n", "cosi.set_model(model)\n", "\n", "# Gather all plugins and combine with the model in a JointLikelihood object, then perform maximum likelihood fit\n", "plugins = DataList(cosi) # If we had multiple instruments, we would do e.g. DataList(cosi, lat, hawc, ...)\n", "\n", "like = JointLikelihood(model, plugins, verbose = False)\n", "\n", "like.fit()\n", "\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "73a1c43c-025b-4da3-a67b-cb78c40cae69", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Best fit values:\n",
       "\n",
       "
\n" ], "text/plain": [ "\u001b[1;4;38;5;49mBest fit values:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
resultunit
parameter
galprop_source.GalpropHealpixModel.K(7.721 +/- 0.008) x 10^-1
background4.5842 +/- 0.0013Hz
\n", "
" ], "text/plain": [ " result unit\n", "parameter \n", "galprop_source.GalpropHealpixModel.K (7.721 +/- 0.008) x 10^-1 \n", "background 4.5842 +/- 0.0013 Hz" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Correlation matrix:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mCorrelation matrix:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", "
1.00-0.72
-0.721.00
" ], "text/plain": [ " 1.00 -0.72\n", "-0.72 1.00" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Values of -log(likelihood) at the minimum:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mValues of -\u001b[0m\u001b[1;4;38;5;49mlog\u001b[0m\u001b[1;4;38;5;49m(\u001b[0m\u001b[1;4;38;5;49mlikelihood\u001b[0m\u001b[1;4;38;5;49m)\u001b[0m\u001b[1;4;38;5;49m at the minimum:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
-log(likelihood)
cosi-171655715.58496818
total-171655715.58496818
\n", "
" ], "text/plain": [ " -log(likelihood)\n", "cosi -171655715.58496818\n", "total -171655715.58496818" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n",
       "Values of statistical measures:\n",
       "\n",
       "
\n" ], "text/plain": [ "\n", "\u001b[1;4;38;5;49mValues of statistical measures:\u001b[0m\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statistical measures
AIC-343311427.16988426
BIC-343311406.47479194
\n", "
" ], "text/plain": [ " statistical measures\n", "AIC -343311427.16988426\n", "BIC -343311406.47479194" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "None\n", " * galprop_source (extended source):\n", " * shape:\n", " * K:\n", " * value: 0.7720511842515105\n", " * desc: Normalization factor (unitless)\n", " * min_value: 0.0\n", " * max_value: 1000.0\n", " * unit: ''\n", " * is_normalization: true\n", " * spectrum:\n", " * main:\n", " * Constant:\n", " * k:\n", " * value: 0.0\n", " * desc: Constant value\n", " * min_value: null\n", " * max_value: null\n", " * unit: keV-1 s-1 cm-2\n", " * is_normalization: false\n", " * polarization: {}\n", "\n" ] } ], "source": [ "results = like.results\n", "\n", "print(results.display())\n", "\n", "parameters = {par.name:results.get_variates(par.path)\n", " for par in results.optimized_model[\"galprop_source\"].parameters.values()\n", " if par.free}\n", "\n", "results_err = results.propagate(results.optimized_model[\"galprop_source\"].spectrum.main.shape.evaluate_at, **parameters)\n", "\n", "print(results.optimized_model[\"galprop_source\"])" ] }, { "cell_type": "markdown", "id": "d2bbb5dc", "metadata": {}, "source": [ "## Make plots" ] }, { "cell_type": "markdown", "id": "e08bbc1c", "metadata": {}, "source": [ "Compare best-fit to injected source:" ] }, { "cell_type": "code", "execution_count": 11, "id": "e0e17247", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "galdiff expected counts:\n", "[7.75333154e+05 1.89566158e+06 1.76323392e+06 1.10662500e+06\n", " 6.56070357e+05 3.87738124e+05 2.35773666e+05 9.77338158e+04\n", " 2.13603691e+04 1.03920517e+03]\n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "# Get expected counts from likelihood scan (i.e. best-fit convolved with response):\n", "total_expectation = response.expectation(data)\n", "print()\n", "print(\"galdiff expected counts:\")\n", "print(total_expectation.project('Em').todense().contents)\n", "print()\n", "\n", "# Plot:\n", "fig,ax = plt.subplots()\n", "\n", "binned_energy_edges = galdiff.binned_data.axes['Em'].edges.value\n", "binned_energy = galdiff.binned_data.axes['Em'].centers.value\n", "\n", "ax.stairs(total_expectation.project('Em').todense().contents, binned_energy_edges, color='purple', label = \"Best-fit convolved with response\")\n", "ax.errorbar(binned_energy, total_expectation.project('Em').todense().contents, yerr=np.sqrt(total_expectation.project('Em').todense().contents), color='purple', linewidth=0, elinewidth=1)\n", "ax.stairs(galdiff.binned_data.project('Em').todense().contents, binned_energy_edges, color = 'black', ls = \":\", label = \"Simulated source counts\")\n", "ax.errorbar(binned_energy, galdiff.binned_data.project('Em').todense().contents, yerr=np.sqrt(galdiff.binned_data.project('Em').todense().contents), color='black', linewidth=0, elinewidth=1)\n", "\n", "ax.set_xlabel(\"Energy (keV)\")\n", "ax.set_ylabel(\"Counts\")\n", "plt.yscale('log')\n", "plt.xscale('log')\n", "ax.legend()\n", "plt.savefig(\"injected_model_comparison.pdf\")\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "id": "2c522fb0", "metadata": {}, "source": [ "percent difference: " ] }, { "cell_type": "code", "execution_count": 12, "id": "1819aa48", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "diff = (galdiff.binned_data.project('Em').todense().contents - total_expectation.project('Em').todense().contents)/total_expectation.project('Em').todense().contents\n", "\n", "plt.semilogx(binned_energy,diff,ls=\"--\",marker=\"o\")\n", "plt.xlabel(\"Energy [keV]\")\n", "plt.ylabel(\"(data - model) / model\")\n", "plt.savefig(\"percent_diff.pdf\")\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "id": "b525ab20", "metadata": {}, "source": [ "Compare best-fit to injected for total counts:" ] }, { "cell_type": "code", "execution_count": 17, "id": "fa91ca31", "metadata": {}, "outputs": [ { "data": { "image/png": "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qqoiJSWF5ORk7O3tLb0C06dPJyQkpM33HBsbyyOPPEJzczNJSUk8/vjjxMXFYWdnx4QJE9q9KPOll15qmephwoQJJ7xE87vf/c7y7/fff5/vvvuOP//5zwDU1tZiZ2dHv379CA8P55prrmH69OnMmTOHgIAAy+uOXCYKCQlh8uTJfP3113h5eTFy5EhGjhwJHP6aLF++nLy8PODwRLZnnXUWAGeffTZPP/00ABMnTmTNmjXcddddTJ48mZkzZ1qyHe97sy1tZRo2bFg7Pj1O+n6PNnXqVEsPZUJCArGxsfz888/HtNuxYwe33norVVVVXH311fzxj39sVxZr4OHuQSSReLh7mB3FqqggMpnmizCXg6tDj5oQ097envnz5/P73/+eZ555BsMwuP/++1my5Nii7c9//jOJiYls376dRYsWsXDhQu655x4TUh/r17csOzs7W/5tZ2dnuUT1u9/9juuvv56bb76Zjz/+mDVr1rRrf0cEBARw5pln8sEHH5CYmMg111yDvb29ZQzP999/3+rYALt37273/ocOHYqTkxNvvPEGZ5xxBtOmTePxxx/Hzs6OadOmHefdH+t4778tR8+MbBgG7777LhEREce0+/777/n222/58ssvmThxIv/85z9bDe4+WntuIT9exrPPPptdu3YRFxfHv/71Lx588EF27tx5wu/N9mgrk729favC6sjX0c7OrkPv94gRI0YwdOhQvvnmG8aOHctzzz1HY2MjDg4OTJo0iV27dvHwww932qDunmKI7xCmM50hvkPMjmJVNIZIpIf54osvLIOcL7nkEl544QUOHjwIQGNjIzt37gQgOTmZmJgYbrnlFm6++Wa+//574PBf022Nt2mPE702MjISV1dX/vnPf1q2lZSU4OHhwbhx4yxjg9LT0/nPf/7D5MmTT3q8Iz0Sd999N7GxsQwYcHgxytjYWDZv3syhQ4fvkvn73//O9OnT29zH9ddfz8svv8yrr75q6V1xd3dn6tSprFq1ytIuPz+f3Nxchg8fTlNTE9u3bwcO90adqMcmNjaWP/zhD8TGxuLl5YWDgwNvv/32ccedeHh4nPLn/2uXXHIJTz75pKU4KSsrIz09ncrKSoqKipg0aRIPPvgg5513nuX7ArB8LbKystixYweTJk1i4sSJ7Nmzh4SEBADeeust/P398ff3P2GGzMxM3N3d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l19+uWXMzpYtW3jwwQfJzc1lxowZzJw5k8TERO68806amppa7WPu3LmW1/xac3MzW7duxdPT03Kp6UTi4+MBiImJOfkHBGRlZbFs2TIOHDjAU089ZSmk8vLyuPHGG3n77bcZMmQIl112GRMnTuSHH37g5ptvblW8DR48mDPOOIP8/Pw2i819+/aRnJxMeHg4ERERxzwfExNDQ0MDCQkJ7cos0lfokpmItCkvL69VD8zRYmJiOOuss1ptS09P55JLLuH222/H1vbw31rjxo1j9erV/Otf/+Luu++2tH322WfJzMzknnvu4aKLLrJsLysrY/HixTz11FNMmDCh1eUegNLSUl555RX69etn2VZZWclf//pXXFxcWL9+PYGBgQAsXryYu+++m5SUFAYPHmxpP3r0aIYNG8bnn3/OLbfcgouLi+W5H374geLiYq644gocHR1P+hnt2bMHW1tbwsLCTto2MTGRe++9F3t7e9auXdvqNY8//jgHDx7k6aefZsKECZbt1157LYsXL2b16tVs3LjRsn3OnDn89NNPbN26lXHjxrU6zvF6h46IjIwEICEhodWxRPo69RCJSJvy8vLYuHFjm//997//Paa9i4sLS5cutRRDcPjOJjs7O5KTky3bysvL2b59O+PGjWtVDAF4eXlx1VVXUV5ebul9Odr111/fqhgC+M9//kNtbS2zZ8+2FENweBDxjTfe2OZ7mzt3LjU1NXz++eettn/88ccAXHzxxcf7WFopLi7G3d39pMXTd999xx133IGHhwfr1q1rVQylpqaSkJDAjBkzjilQAgMDueiii9i3b1+rXrZJkybh6enJV199RXV1tWV7U1MTn332GY6OjscdED9gwADg8KU7Efkf9RCJSJsmTJjA008/3e72AQEBuLq6ttpmb2/PgAEDqKqqsmxLTk6mubmZxsbGNnugcnNzAcjOzuacc85p9VxUVNQx7Y/MqzNq1KhjnouOjsbOzu6Y7TNmzODvf/87H3/8saUoO3jwIN9++y0jRoxg2LBhJ3m3hx06dAgfH58Tttm+fTs//vgjoaGhPPXUU3h5ebV6/sjlsLKysjY/j/3791v+PyQkBMBS8LzzzjvExcUxb948AL755hvKy8uJjY3Fw8OjzTxHtldUVLTrPYr0FSqIRKRTuLm5tbndzs6OlpYWy+NDhw4Bhy837dmz57j7q6urO2bbkd6Nox3pIfl1oQGH78ry9PQ8ZruHhwdTp07l008/Zd++fYSEhPDJJ5/Q3Nzc7t4hACcnJxoaGk7YJjExkebmZkaNGtVmxiOfx3fffcd333133P3U1ta2ejxnzhzeeecdtm7daimITna5DLDkdXZ2PmFukb5GBZGIdKsjhdNvfvMbli9f3qHX2tjYHHd/ZWVlxzzX0tJCRUVFm7048+bN49NPP+Wjjz5ixYoVbNmyBTc3N6ZOndruPJ6enhQXF5+wzZIlS/jPf/7DO++8g52d3THv+Uj+FStWMH/+/HYfOzQ0lOHDh7N3714yMzPx8PDghx9+wM/P75hxRUc7UoD179+/3ccS6Qs0hkhEutXw4cOxsbEhMTGxU/YXGhoK0GZv0969e2lubm7zdTExMYSGhvLvf/+bH374gdzcXC688MIO9ZyEhITQ0NBAUVHRcds4Ojry+OOPc/bZZ7Np0yaee+65Vs8fuQx4Kp/HkZ6gLVu2sG3bNpqbmy235R/PkUtwRy6/ichhKohEpFt5e3szdepUEhIS+Oc//9nmXDpJSUltXjJry3nnnYeLiwtbtmwhLy/Psr2pqYkNGzac8LVz587l0KFDrFq1CuCYQd4nM2bMGEveE3F0dOSxxx7jnHPOYfPmzaxdu9byXHR0NNHR0Xz++efHDPKGw71cu3btanO/sbGxODs789lnn7F161ZsbW2ZOXPmCbPs3bu3VXYROUyXzESkTSe67R5g4cKFx9wW31533nknOTk5PP/882zbto2YmBjc3d0pLi4mOTmZ3Nxc3nvvvXb11nh4eHDLLbfw1FNPsXjxYi644ALc3Nz4/vvvcXR0ZODAgcftMZk+fTovvPACJSUlREZGtjlvz4mcd955/O1vf+Onn3466aU2BwcHHn30Uf7whz/w9ttvYxgGt912GwB/+MMfuP3223nkkUd45513CA8Px8nJiQMHDpCQkEBFRUWbE0W6ublx/vnns23bNsrLyznrrLOOu5wHgGEYxMfHExQU1OqOPBFRQSQix3HktvvjueKKK065IOrXrx/r1q3jX//6F1988QVxcXG0tLQwYMAAwsLCWLRoUZuDoY/n4osvxsPDg9dee41PP/0UNzc3zj33XJYuXcoVV1xx3GU13NzcmDRpEp999lmHe4cA/Pz8GD9+PF9++SUrVqw46e33R4qihx56iHfeeQfDMFixYgVDhgxhw4YNbNq0iR07dvDJJ59ga2uLt7c3o0ePPuFM2HPmzGHbtm3A4VmsT+SXX36hqKiIW2+9tcPvVaS3szGON/e7iIiVy83N5eqrr2bq1Kk88sgjbbZZtGgRhYWF/Otf/zrunXInEh8fzx133MEDDzzA9OnTTzdyl3r00Uf573//yz//+c/j3pYv0ldpDJGIWL3Kyspjbn+vr6+3DGCeNGlSm6/7/vvvyczMJDY29pSKIYAzzjiDs846i1dffbXV9AI9TU5ODl988QXXXnutiiGRNuiSmYhYvV27dvHkk08yfvx4Bg0aREVFBT///DOFhYWMGzeOCy64oFX7999/nwMHDvDxxx/j6OjIwoULT+v4t912G//+978pLi4+4RgeMx04cIDrrruOSy+91OwoIj2SLpmJiNXLyclhw4YNJCQkUF5eDoC/vz8XXHABV1555TFjnRYsWEBxcTGBgYEsXbr0mBmxRaTvUUEkIiIifZ7GEImIiEifp4JIRERE+jwVRCIiItLnqSASERGRPk8FkYiIiPR5KohERESkz1NBJCIiIn2eCiIRERHp8/4fwQkZYsL7y9QAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot:\n", "fig,ax = plt.subplots()\n", "\n", "expectation_bkg = bkg.expectation(copy = True)\n", "data_combined = galdiff.binned_data.project('Em').todense().contents+bg_tot.binned_data.project('Em').todense().contents\n", "\n", "\n", "ax.stairs(total_expectation.project('Em').todense().contents \\\n", " +(expectation_bkg.project('Em').todense().contents) \\\n", " , binned_energy_edges, color='purple', label = \"Best fit convolved with response plus BG\")\n", "ax.errorbar(binned_energy, total_expectation.project('Em').todense().contents \\\n", " +(expectation_bkg.project('Em').todense().contents) \\\n", " , yerr=np.sqrt(total_expectation.project('Em').todense().contents \\\n", " +(expectation_bkg.project('Em').todense().contents)), \\\n", " color='purple', linewidth=0, elinewidth=1)\n", "ax.stairs(data_combined\n", " , binned_energy_edges, \\\n", " color = 'black', ls = \":\", label = \"Simulated total counts\")\n", "ax.errorbar(binned_energy,data_combined, \\\n", " yerr=np.sqrt(data_combined), color='black', linewidth=0, elinewidth=1)\n", "\n", "ax.set_xlabel(\"Energy (keV)\")\n", "ax.set_ylabel(\"Counts\")\n", "\n", "ax.legend()\n", "plt.yscale('log')\n", "plt.xscale('log')\n", "plt.savefig(\"injected_total_comparison.pdf\")\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "code", "execution_count": 18, "id": "e84240d4", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnIAAAG7CAYAAABHIXh0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsi0lEQVR4nO3dd3iTVf8/8HeSNkmbzqS0pZMu2rLLKBtaNiIoIktREK0igiD6uL7q8/wcj1/XIyAiiCiCz1dAlCFLBCl7CaVQOpid0L1XOpLfH7WRkLS0adok7ft1XV42933OfX/Sq6GfnnOf8xGo1Wo1iIiIiMjiCE0dABEREREZhokcERERkYViIkdERERkoZjIEREREVkoJnJEREREFoqJHBEREZGFYiJHREREZKGYyFmAyspKJCUlobKy0tShEBERkRlhImcBUlJSEBUVhZSUFFOHQkRERGaEiRwRERGRhWIiR0RERGShmMgRERERWSgmckREREQWiokcERERkYViIkdERERkoZjIEREREVkoJnJEREREFoqJHBEREZGFYiJHREREZKGYyBERERFZKCtTB0BEgEqlRmZiPioKlbBxksA9RA6hUGDqsIiIyMwxkSMysVtnM3F6YwLK8is1x2RyKQY9GQq/cHcTRkZEROaOU6tEJnTrbCYOLY/RSuIAoCy/EoeWx+DW2UwTRUZERJaAiRyRiahUapzemNBom9ObEqBSqdsoIiIisjRM5IhMJDMxX2ck7l5leZXITMxvo4iIiMjSMJEjMpGKQqVR2xERUcfDRI7IRGycJEZtR0REHQ8TOSITcQ+Rw0oiarSN0EoAt67ObRQRERFZGiZyRCYiFAoweG5oo226jfWByIofUyIi0q9d7SNXVVWF9evX48CBAygpKUFAQACeeeYZDBgw4L59c3JysGrVKpw7dw4qlQphYWFYvHgxPDw8dNru3r0bmzdvRmZmJjp16oRHH30U06ZN02rz7bffYsOGDTp9xWIxDh48aPB7pPYlOMIb1hIrnPw+HpXFVZrjNo5iBA33RPhjISaMjoiIzF27SuQ+/PBDREdHY/r06fDy8sK+ffvw6quvYsWKFejVq1eD/crLy7FkyRKUlZVhzpw5sLKywtatW7F48WJ8++23cHR01LTduXMnPvvsM4wcORIzZ87EpUuXsGLFClRWVuLxxx/XufbLL78MGxsbzWuhkKMrpM1/cGd0GejepMoOarUaAgErPhARUZ12k8jFx8fj0KFDeP755zF79mwAwPjx4zFv3jx89dVX+Oqrrxrsu2PHDqSnp2Pt2rUIDa2b6ho4cCDmzZuHLVu24NlnnwUAKJVKfPPNNxg8eDDee+89AMDkyZOhUqmwceNGTJkyBfb29lrXHjlyJJycnFrhHZMlqq6swbkfk9D30SBI7cWa40KhAB7dFI32TfwjDWmxORi9uA+EnG4lIiK0o2fkjhw5ApFIhClTpmiOSSQSTJo0CVeuXEFWVlaDfaOjoxESEqJJ4gDA19cXffv2xeHDhzXHLly4gKKiIjz88MNa/adOnYqKigqcOnVK7/XLysqgVnNT145OrVbj6NeXEf97Kna+dRL5qSVN7ptwMBXHv4lDyrksHP4yFqpaVStGSkRElqLdjMhdu3YNXl5ekMlkWsfrk7Pr16/Dzc1Np59KpcLNmzfxwAMP6JwLDQ3FuXPnUF5eDltbW1y7dg0AEBKi/dxScHAwhEIhrl69inHjxmmdmzlzJioqKmBjY4Nhw4bhhRdegFwub/S95ObmIi8vT/M6JSWl0fZkGS79ehO3TteV3KosrYJQ1PQpUgc3W4ishaitVuHWmUwIrYQY+XwvvdOvRETUcbSbRC4vLw8Khe7UVP2x3Nxcvf2Ki4tRVVV1374+Pj7Iy8uDSCSCs7P2dhDW1tZwcHDQSr7s7e3xyCOPoHv37rC2tsalS5ewfft2JCQkYN26dToJ59127dqld6EEWa702Byc23JV8zpiYW84edo1ub9nTxeMeakvfv/sPFS1atw4cRsiayGGP9MDAiZzREQdVrtJ5JRKJaytrXWOi8VizfmG+gFoUl+lUgkrK/3fMrFYrHWP6dOna52PiIhAaGgo3nvvPWzfvh1z5sxp8L1MmTIFQ4cO1bxOSUnB+++/32B7Mm/FWWX444uLwF+z632nBcK3n+7o8P149+mE0UvCcHBFDNS1alyNTofISoghT3XjAggiog6q3TwjJ5FIUF1drXO8qqpKc76hfgCa1FcikaCmpkbvdaqqqhq8R72xY8dCLpfj/PnzjbZzcXFBcHCw5j9fX99G25P5qq6swe//uYCq8rqfG99+rgibGmjw9Xz7uyHyhd6oz9sSDqbi9KYEPoNJRNRBtZtETqFQaE1t1qs/5uLiorefg4MDxGJxk/oqFArU1taioKBAq111dTWKi4v1Ts/ey9XVFcXFxfdtR5ZPrVbj6JrLKEgrBQA4esgw8vleLZ4K9R/UGSMX9gb+usyV/Sk4tzmJyRwRUQfUbhK5wMBApKeno6ysTOt4fHy85rw+QqEQ/v7+SExM1DkXHx8PDw8P2NraAgCCgoIAQKdtYmIiVCqV5nxD1Go1MjMzuR1JBxG76yZuna1b3GBtY4Wxy/pCbKs7hW+IwKEeGBHVU/M64WAayvIqjXJtIiKyHO0mkYuIiEBtbS127dqlOVZVVYW9e/eiW7dumhWrWVlZOqtAR44cicTERK0ELTU1FTExMYiIiNAc69u3LxwcHLBz506t/jt37oRUKsXgwYM1xwoLC3Vi3LFjBwoLCzFw4MCWvFWyAGq1GsVZ5ZrXEQt7wcmj6YsbmqJrhBeGPt0dEjtrPPA/4bBzsbl/JyIialfazWKHbt26ITIyEl9//TUKCwvh6emJ/fv3IzMzE6+99pqm3QcffICLFy/i6NGjmmNTp07F7t278dprr2HWrFkQiUTYunUrnJ2dMWvWLE07iUSCp59+Gp9//jneeecdhIeHIzY2FgcOHEBUVBQcHBw0badPn45Ro0bB398fYrEYly9fxqFDhxAUFKS11x21TwKBAMOjekDha4/qilqDFjc0RehoH/iFu2ttLkxERB1Hu0nkAODNN9+Em5sbfvvtN5SWlsLf3x8fffQR+vTp02g/W1tbrFixAqtWrcLGjRs1tVYXLVqkMw06depUWFlZYcuWLThx4gRcXV2xaNEinVWqY8eORVxcHI4cOYKqqiq4ublh9uzZePLJJyGVSo38zskcCQQCdB/fpdXvc28Sp1arkZVUAPeQxvcrJCIiyydQ8wlps5eUlISoqCisW7cOwcHBpg6HGqBWq1GWXwk7hemmONUqNU5tTED8gRQMe7o7Qkb7mCwWIiJqfe3mGTkiU7u48wZ+fvU4UmOyTRZDakw24g/UPQN6fP0VXD2abrJYiIio9TGRIzKC1JhsnP/pGqoravD7Zxe0Fjq0JZ++ruj5oJ/m9bG1l3Hj5G2TxEJERK2PiRxRCxXdKUP0l7FalRsc3GxNEotAIED47GB0H1+3ibRaDUSvvqTZBoWIiNoXJnJELVBVoV25ocsAN/R5KMCkMQkEAgx6MhQho70B1D0398cXF5FyPsukcRERkfExkSMykFqlxpE1l1CYUVe5wcnTDiMWtLxygzEIBAIMfao7uo70BACoa9U4tCIGabE5Jo6MiIiMiYkckYEu7ryBlHN1o1xi278qN9iYz44+AqEAw6J6ImCoBwBAVaPGwf9cwJ0E3XJ0RERkmZjIERkgNSYb57ddq3shACIX9YFjZ5lpg9JDKBRg5IKe8At3BwDI5FLYu5rm+T0iIjI+8xk+ILIQVeXVOLL6kmZxQ//pXeHdp5Npg2qEUCRE5KLekP0oRa8H/WDrzA2piYjaC47IETWT2NYaEQt7QWxrhS7hbuj9kL+pQ7ovoZUQg54IZRJHRNTOcESOyADeYa546P0hsHWSQCAw/eIGQ9RU1eLY15fRa7I/FL4O9+9ARERmhyNyRAZydJfBWmqZfwtVV9bgwCfncePkHez791kUpJeYOiQiIjIAEzmiJki9kI24fcloL6WJ1eq6ETkAqCypxt4PzqLoTpmJoyIiouZiIkd0H4W3S3H4y1ic3pSAo2suo7ZGZeqQWkxsY4UJr/WHi78jAKCiqAp7PjiD4iwmc0REloSJHFEjqsqr8ft/LqC6oq5yQ01VLYQiy3wm7l5iW2tMeL0/FL72AIDyfCX2fnAWJTkVJo6MiIiaiokcUQPUKjWiv7qEott1o1TO3vYY8VxPi13coI/UToyJb4TD2csOAFCaW4m9H5xBWR6TOSIiS8BEjqgBMduvI/V8NgBAIrPG2GVhFru4oTFSBzEm/k+4ZkPjkuwK7P33OZQXVJo4MiIiuh8mckR6pPyZhQs/XwcACARA5OLecHAzv8oNxmLrKMED/xMOB7e6qg9Fd8r+rlxBRERmi4kc0T0KM0oR/VWs5nX/WcHw6mW+lRuMRSaX4oH/CYediw08eigw+Mlupg6JiIjuo/3NExG1wN+LG+q25vAf1Bm9HvQzcVRtx87FBg/+cyCk9mJYiUWmDoeIiO6DiRzRXSqKqqCqrdteRO5jj+HP9mhXixuawk5ho3OsvEgJK2shxLbWJoiIiIgawqlVors4dpbhofeHwH9QZ4x5qW+7XNzQXGUFldjz3hn89sl5VFfWmDocIiK6CxM5ontI7cQY9WIfzYP/HZlarcbBzy+g6HYZspIKcODT85qKEEREZHpM5KjDK8uraBfVGlqDQCDA0Ke6Q2xbNzJ5Jz4fB/9zgckcEZGZYCJHHZqyrBp7PjiLvR+cRXmR0tThmCUXP0dMeH0ArG3qFj+kX8rFoRUxTH6JiMwAEznqsNQqNaJXx6I4sxxZSQU4tvayqUMyW66BThj/j/6wktQlc2kxOTj8xUWomMwREZkUEznqsM5vu4a0mBwAgMTOGkPmcd+0xriHyDHulX4QWdf9s5F8LgvRX12CSqU2cWRERB0XEznqkG6dzcTFHTcA1FVuGLW4D+xdubjhfjy6KzD25b4QWtVtyXLz1B0cW3sZaiZzREQmwUSOOpyC9BIcXXNJ83rAYyHw7Oliwogsi1evThiztC+EorpkTmjFf0aIiEyFm2RRh6Isrcbvn11AdWXdqsuAIZ3R84Eupg3KAvn0dcWoF/sgM7EAA+eEaDZNVqnUyEzMR0WhEjZOEriHyCEUdqwNlYmI2hITOeowVCo1Dn8Zi+KscgCAwtcew6N6drjKDcbSZYA7ugxw17y+dTYTpzcmoCy/UnNMJpdi0JOh8At313cJIiJqIc6JUIeRdDgN6bF/L24Ys6yvZhUmtcyts5k4tDxGK4kDgLL8ShxaHoNbZzNNFBkRUfvGRI46jK4jvRA6xgcCoQCjl4TBvhMXNxiDSqXG6Y0JjbY5vSmBq1uJiFoBp1apwxBZCTF0fnd0G+cDZy97U4fTbmQm5uuMxN2rLK8SmYn58OimaKOoiIg6Bo7IUYfDJM64KgqbVhGjqe2IiKjpmMhRu6VSqXF8fRzyU0tMHUq7ZuMkMWo7IiJqOiZy1G6d33oViYfSsOufp5B8LsvU4bRb7iFyyOTS+7bLuVEEtZrPyRERGRMTOWqXbp6+g9hdNwEAtdUqiG35OGhrEQoFGPRk6H3bnfsxCce/iWuDiIiIOg4mctTu5KeW4Ojay5rXAx8Phkd3PmTfmvzC3TF6aZjOyJxMLoXvALe6FwJwPzkiIiPjMAW1K5WlVfj9P+dRo6yr3BA4zAPdJ3QxbVAdhF+4O3z7u+mt7JAak43CjFJ49e5k6jCJiNoVJnJk0e4uCSV1ECN2102UZFcAAFz8HDDsmR6s3NCGhEKB3i1GfMJc4RPmqnVMrVYj8VAagkZ4wkrMjZmJiAzBRI4slr6SUPWkDmKMeakvEwQzdmV/Ck5vSkDCoVSMXhIGR3eZqUMiIrI4fEaOLFJDJaHqdRvnAzsXmzaOippKWVaNCz9fAwDkp5Rgx/+cRPI5lvEiImouJnJkcZpSEirpcDpLQpkxicwak/81CI6d60bhqitqcPDzGJz5byJUNSoTR0dEZDmaPLV68eJFg2/Sp08fg/sS3YslodoHZy97PPT+EBxfF4ebp+8AAC7vuYXsa4UY9WKfJu1NR0TU0TU5kVuyZInBD41HR0cb1I9IH5aEaj/ENlaIXNwbbsHOOPNDAlS1amRdLcD2N08gclFvePZwMXWIRERmrcmJ3Ny5c7n6j8wCS0K1LwKBAN3H+6JTgCMOrYhBWV4lKoursP/Dcxi1JIx7zxERNaLJidz8+fNbMw6iJqsvCdXY9KpMIYV7iLwNo6KWcg10wtR/D0X06likx+bC3tWWGzkTEd0HFzuQxWlKSahBT4RCKOQIsqWR2osx/h/90W9GEEYvCYNEZm3qkIiIzFqL95HLy8vD0aNHkZqaioqKCrz++usAgMLCQty+fRsBAQGQSDjFRcblF+6OyMW9cfiLWK3jMoUUg54I5XScBRMIBQh7OFDneFl+JdIu5iA40ouPeRAR/aVFidz27dvx5Zdforq6GkDdsy71iVxBQQEWLlyIl19+GZMnT255pET3cOpsp/natasT+s/oqikJRe2LqkaFP1ZeRNbVAtxJyMewp7vDWsr9zImIDJ5aPXHiBJYvXw5/f398+OGHeOihh7TO+/n5ISAgAMeOHWtxkET65KeWaL7u0s8NHt0UTOLaqbTYHGRdLQAA3DhxGzvfPoWCjFITR0VEZHoGJ3I//vgj3NzcsGLFCgwZMgTOzs46bfz9/ZGcnNyS+IgalJdarPla7mtvwkiotfn2c8PopWGwtqkruVaYUYqdb53EjZO3TRwZEZFpGZzIXb9+HYMGDYKNTcNlkFxcXFBQUGDoLYgalZ/y94ic3NfBhJFQW/ALd8fD7w+Fs3dd0l6jrMXhVbE4+d0V1FbXmjg6IiLTMDiRU6vVsLJq/BmVgoICWFtz1RkZn1qtRv5fI3I2jmLYOnJBTUfg2FmGh94djKARnppj8b+nYve7Z1CSU2HCyIiITMPgRM7b2xuXLl1q8HxNTQ1iY2Ph7+9v6C2IGlReqERlSd0iG7kPR+M6EiuJCCOe64lhUT0gsq77JyznRhF2/M8JlBexmgcRdSwGJ3Jjx47FtWvX8N133+mcq62txerVq3Hnzh1MmDChRQES6aM1rerD5+M6GoFAgJBIb0z+f4Ng71r3eEfAUA+OzBJRh2Pw+v1p06bh5MmT+P777/H7779DLBYDAP75z38iMTERmZmZGDBgACZNmmS0YInqFd61YpELHTouly6OePiDobj06030fTTI1OEQEbU5gVqtVhvaubq6Ghs2bMDOnTtRUvL3CIlMJsNDDz2E+fPn8xk5I0hKSkJUVBTWrVuH4OBgU4djFtRqNcoLlchPKYGiiwNsWVeV7nHz9B3YOkvhHqy7op6IqL1o0Y6a1tbWiIqKwjPPPIPU1FQUFxdDJpPB19cXIpHIWDES6RAIBJA5SyFzlpo6FDJD+aklOLLmElQ1aoTPDkaPB7qwGgQRtUtG2RpdIBDA19fXGJciImqxuP3JqK1SAQDO/DcRWVcLMOK5nhDbcoaAiNoXgxc7EBGZq2FPd0fvKX+vmE8+l4Ud/3MSeSnFjfQiIrI8TR6RmzlzpkE3EAgE2Lx5s0F9ifRJu5iDtNgcKHzs4d2nE2w5vUr3EIqEGDArGG5dnRG9OhZV5TUozirHrndOYej87ug60svUIRIRGUWTR+TUarXOf9XV1cjMzERmZiZycnKgVCqRk5OjOVZdXQ2VStWa8VMHlB6bg/jfUnBsXRwKb5eZOhwyYz59XTH130Oh6FK312BttQpH117G0a8vo6aK1SCIyPI1eURu69atWq9LSkqwbNkyeHl5ISoqCt27d4dQKIRKpUJcXBy++eYbVFZW4j//+Y/Rg25IVVUV1q9fjwMHDqCkpAQBAQF45plnMGDAgPv2zcnJwapVq3Du3DmoVCqEhYVh8eLF8PDw0Gm7e/dubN68GZmZmejUqRMeffRRTJs2rUXXpKbLS+UectR09q62mPyvQTi9KQGJh9IAAFej01FRqMT4V/ubODoiopYx+Bm5NWvWoKqqCp9//jl69uwJobDuUkKhEL169cJ//vMfVFZWYs2aNUYL9n4+/PBDbN26FWPHjsWLL74IoVCIV199tdEKFABQXl6OJUuW4OLFi5gzZw7mz5+Pa9euYfHixSgqKtJqu3PnTnz88cfw8/PDkiVL0KNHD6xYsQL//e9/Db4mNZ1arUb+X8852colkNqLTRwRWQIrsQjDnu6Bkc/3gpVEBIFQoPUMHRGRpTJ41eqJEycwYcKEBrcZsbKywuDBg/Hbb7/hlVdeMTjApoqPj8ehQ4fw/PPPY/bs2QCA8ePHY968efjqq6/w1VdfNdh3x44dSE9Px9q1axEaGgoAGDhwIObNm4ctW7bg2WefBQAolUp88803GDx4MN577z0AwOTJk6FSqbBx40ZMmTIF9vb2zbomNU9ZXiWqymsAAHJvluai5gka7gkXPwfk3CiCe4jc1OEQEbWYwSNyZWVlKCtr/PmkprQxliNHjkAkEmHKlCmaYxKJBJMmTcKVK1eQlZXVYN/o6GiEhIRoEi4A8PX1Rd++fXH48GHNsQsXLqCoqAgPP/ywVv+pU6eioqICp06davY1qXnuXnWoYEUHMoCzl73OYge1So1zW66irKDSRFERERnG4ETOz88Phw4dQkZGht7zaWlp+OOPP+Dn52dwcM1x7do1eHl5QSaTaR2vT6SuX7+ut59KpcLNmzcREhKicy40NBQZGRkoLy/X3AOATtvg4GAIhUJcvXq12dfUJzc3F0lJSZr/UlJSGmzb0eTz+ThqBRd33UDszhvY/sYJ3L6SB5VKjdvxebhx8jZux9e9JiIyRwZPrT7xxBN466238PTTT2PSpEno2bMnnJ2dUVBQgEuXLmHv3r2orKzEk08+acx4G5SXlweFQqFzvP5Ybm6u3n7FxcWoqqq6b18fHx/k5eVBJBLB2Vm75I+1tTUcHByQl5fX7Gvqs2vXLmzYsKGBd9qx5afclcj5cmqVWq5GWYukw+kAgMriKuz94CysbaxQXVGjaSOTSzHoyVD4hbubKkwiIr0MTuSGDx+ON954AytWrMC2bdvw888/a86p1WrIZDK8/vrrGDZsmFECvR+lUqm3rqtYLNacb6gfgCb1VSqVsLLS/y0Ti8Va7Zp6TX2mTJmCoUOHal6npKTg/fffb7B9R5KXWje1KrIWwtHd1sTRUHtgJRHh4feG4PCXsci4XPcH391JHACU5Vfi0PIYjF4axmSOiMxKi0p0TZgwASNGjMCxY8dw/fp1lJWVQSaTITAwEMOGDdOZ5mxNEokE1dXVOserqqo05xvqB6BJfSUSCWpqanTa1be9u11Tr6mPi4sLXFxcGjzfUVVX1m3qCgDO3vYQiliYhIxD6iDG2H/0w3+fO4jqiob3lzu9KQG+/d0gFLJuKxGZhxbXWrW1tcX48eMxfvx4Y8RjMIVCgZycHJ3j9dOdDSVGDg4OEIvFmnaN9VUoFKitrUVBQYHW9Gp1dTWKi4s106bNuSY1napGjT4PBSAvpRhybz4fR8aVfbWg0SQOqFs1nZmYD49uuo9NEBGZQosTuXoVFRWaETkbGxtjXbbJAgMDERMTo4mhXnx8vOa8PkKhEP7+/khMTNQ5Fx8fDw8PD9ja1k3hBQUFAQASExMxePBgTbvExESoVCrN+eZck5pOYmeN/jO6mjoMaqcqCht+3MGQdkREbaFFc1PV1dXYuHEjZs+ejYkTJ+LRRx/FxIkTMXv2bGzatEnv1GJriYiIQG1tLXbt2qU5VlVVhb1796Jbt25wc3MDAGRlZemsAh05ciQSExO1Eq/U1FTExMQgIiJCc6xv375wcHDAzp07tfrv3LkTUqlUK7lr6jWJyDzYODX8uIO+drU1LD9IRKZn8IicUqnE0qVLkZCQAKFQCC8vLygUCuTl5eH27dtYv349Tp48ieXLlzf6PJixdOvWDZGRkfj6669RWFgIT09P7N+/H5mZmXjttdc07T744ANcvHgRR48e1RybOnUqdu/ejddeew2zZs2CSCTC1q1b4ezsjFmzZmnaSSQSPP300/j888/xzjvvIDw8HLGxsThw4ACioqLg4ODQ7GsSkXlwD5FDJpeiLL/hveRkCqlmI+Hj38ShLK8SfacFcnNhIjIZgxO5//73v4iPj8eoUaOwYMECzYgXAGRnZ2PNmjU4dOgQ/u///g9PPfWUUYK9nzfffBNubm747bffUFpaCn9/f3z00Ufo06dPo/1sbW2xYsUKrFq1Chs3btTURV20aBGcnJy02k6dOhVWVlbYsmULTpw4AVdXVyxatAjTp083+Jp0f2qVGkWZZXBwl/FBc2oVQqEAg54MxaHlMQ22GfREKIRCAYoyy3D9+G2oVWrcvpIHjx4K9Hs0CG5dnRvsS0TUGgRqtdqgnS7nzJkDGxsbrFu3rsE2zz77LMrLy/HDDz8YHCABSUlJiIqKwrp16xAcHGzqcEyiOKsMW186CiuJCKFjfDDwcd3NlomM4dbZTJzemKA1MidTSDHoib/3kctMzMfRtZc1q6jrefZ0Qd9pgUzoiKjNGDwil5mZiRkzZjTapl+/fvjpp58MvQWRRn1FhxplLUTW3HaEWo9fuDt8+7shMzEfFYVK2DhJ4B4i1xoJdg+R49FPh+P68duI2X4dJdkVAICMy7nIuJwLr151CZ1rEBM6ImpdBidyUqkUhYWFjbYpLCyEVCo19BZEGnl3VXRgjVVqbUKh4L5bjAhFQnQd6YXAoR5/J3Q5dQld+qVcpF/KRchobwx7ukdbhExEHZTBQxvdunXDoUOHcOvWLb3nk5OT8ccff6B79+4GB0dUT7vGKktzkfkQWgnRNcIL0z8bgeFRPWDX6e/tl1yDnEwXGBF1CC2qtXru3Dk8++yzmDRpEvr06aOptRoTE4N9+/ahpqYGc+bMMWa81EHlp9SV5rKSiODgxj34yPwIrYQIjvRG0HBPXD2WgZun7iBwqIdWm6I7Zagqr0anACfTBElE7Y7BiVzPnj3xzjvv4JNPPsH27duxY8cOzbn6WqtvvvkmevbsaYw4qQOrKq/WTFnJve0h4KpVMmNCKyFCIr0REumtc+7PrVdx60wmvMM6oe+0IHTydzRBhETUnrSoskNkZCQGDhyI48eP4+rVqygvL4etrS26du2KYcOGsXoBGYXWtCqfjyMLlZ9WgltnMgEAaTE5SIvJgXdYJ/SbFgQXJnREZCCj1FodN24cxo0bZ4x4iHRoPx/HRI4sk6O7LYbO746LO2+gLK9ua5P6hM6nnyv6PhIIFz8mdETUPEartUrUWu5escqFDmSpRNZ1eyB2HemJpOh0xO68qdmrLvV8NlLPZ8O3nyvCpgXCpQsTOiJqmhYlcmq1GsePH8f169eRm5uL2tpave1ef/31ltyGOriS7L83XeWIHFk6kbUI3cb6IjjCC0nR6bi48wbK85UAgJTz2SjOrsAj/zsUAgGfBSWi+zM4kUtPT8frr7+O9PR0NFYcQiAQMJGjFpn45gCU5VWi8E4ZxDYcRKb2oT6h6zrSC1frE7oCJfo+EsAkjoiazODfip9//jnS0tLw0EMPYcyYMVAoFBCJRMaMjQhA3R8Ddi42sHOxuX9jIgtjJRah2zhfdI3wws3Td9BlgLvW+ZwbhYjddRNh0wKh4KMFRHQPgxO5S5cuYejQoVi2bJkx4yEi6pCsxCJ0HeGlc/zCz9eRdjEHyeey4BfujrBHAvmIARFpGJzI2drawtPT05ixEBHRXSpLqpCbXKx5fetsJm6dzYTfwL8SOm8mdEQdncGJXP/+/REXF2fMWIh0nP/pKqqVtVD4OCBgSGcIrQyuKkdkcaT2Ysz8fCQSDqXi0q83UVFUBQC4debvhK7vI4Fw9mJCR9RRGfxb8fnnn0deXh5Wr14NpVJpzJiINK4ezUDc3mSc/P4KKzpQh2QlEaHnA36YuTwCAx8PgdRBXHdCDdw6nYmfXzuOP1ZeRHVljWkDJSKTMHhEzsXFBZ9++imef/55/Prrr/Dy8tJbyUEgEGD58uUtiZE6qMrSKs3GqXJvByZy1KFZSUToOckPoWN8EH+wboSusrgKUAMlOeWwkuhfbKZSqZGZmI+KQiVsnCRwD5FDyM8SUbthcCJ39epVvPzyyygtLdW81ofL6MlQLM1FpMtKIkKvSX4IHe2NhIOpuLT7FvpOC9L5t7YkpwK5t4pwemOCZuNhAJDJpRj0ZCj8wt3vvTQRWSCDE7kvvvgCpaWlWLBgAUaPHs3tR8jo7k7kFFylR6TFWmqFXg/6I3SMj85o3J2EPOx576zefmX5lTi0PAajl4YxmSNqBwx+Ru7q1auIjIzE7Nmz4erqyiSOjE57RI77ZxHpYy210hmNO7/t2n37nd6UAJWq4c3cicgyGJzI2draQi6XGzMWIi35KX9tuyAAnL3sTBsMkYVQqdRwdJfdt11ZXiUyE/PbICIiak0GJ3LDhg3DhQsXoFKpjBkPEQBAVatCQXrd85eO7jJYS1mai6gphEIBPLormtQ2PTanlaMhotZmcCK3YMECWFtb47333kNODv8xIOMqulOG2uq6PxK4iz1R89g4SZrU7t7PVmVJFbcxIbIwBg9zzJ8/HzU1NUhKSsLhw4dhb2/f4PYjmzdvblGQ1PFwxSqR4dxD5JDJpVqrVe8ltBLAf7CH1rHLe24hbl8yPHu5oMsAN/j0dYXUTtza4RJRCxicyKnVaohEIri6umod09eOqLkcPWTo+aAf8lNK4BrgZOpwiCyKUCjAoCdDcWh5TINtIhf11tlPLvlcFmqrVUg9n43U89kQCAXoHCpHl3A3+PZ3g8xZ2tqhE1EzGZzIbd261ZhxEGlx6eIIly6Opg6DyGL5hbtj9NIw3X3kFFIMekJ3H7na6lp07iZHVUUNKgrrqvWoVWrcvpKH21fycPK7eLgGOaHLADcEDPGATM6kjsgc8AlyIqJ2yi/cHb793ZpU2UFkLcKwp3tg6FNqZF8vRPK5LCSfzURJToWmTfa1QmRfK4Sju4yJHJGZYCJHRNSOCYUCeHRr2ipWABAIBXDr6gy3rs4IfywY+SklSD6XieQ/s1CQVgoriQievVy0+qRdzMGdhDx0GeCOTv6OLKdH1IaYyJHZqShWoqayFnadbFjijciEBAIBFF0coOjigH7Tu6LoThny00pgJdbeAP7qkXTcOpOJS7/egq2zBF36u6FLuDvcQ5whFBm8OQIRNQETOTI714/dxpn/JsLaRoSIhb3h28/N1CEREQDHzjI4dtbebFhVo0LG5VzN6/ICJeJ/T0X876mQ2FnDp68rugxwg2dPF50EkIhajokcmZ36rUeqK2q5So7IzAmthJjxn5FIvZCNW+cykXE5F6qaut0KlKXVuHY0A9eOZsBaKsKI53rCb2BnE0dM1L4wkSOzk5daV5pLIBTAiaW5iMye1EGMrhFe6BrhharyaqTF5iL5XCbSL+agurIWAFBdWQsnT+3Pc2VJFaCu609EhmEiR2altkaFwvrSXJ1lnIohsjBiW2sEDO6MgMGdUVNVi9txeUg+l4nC22U6iVzCwVRc2HYN7qFydBngji79XSFT2Oi9rkqlbtLqW6KOplmJ3MMPP4yhQ4di2LBh6NevH8Ri/hVFxlV4uxSq2rppGQUrOhBZNCuxCD59XeHT11Xv+eRzWVCrgTvx+bgTn49T38ejU6Bj3WKJAe6a5/Func3U3Q9PLsWgJ3X3wyPqaJqVyAUHB+PAgQPYs2cPJBIJwsPDMXz4cAwePBj29vylSy2Xn3JXaS7WWCVqt1QqNTx7KlBdUYPirHLN8ZzrRci5XoRzm6/C2dsOTh52uHUmU6d/WX4lDi2PweilYUzmqENrViL30UcfobKyEmfOnMHx48dx+vRpHD16FCKRCD179sSwYcMwbNgwdO7Mh1nJMNo1Vh1MGAkRtSahUIDw2SEYMCsYBemldXvVncvS+mOuIK0UBWmljV7n9KYE+PZ34zQrdVjNfkZOKpVi5MiRGDlyJFQqFWJjY3H8+HGcOHECq1atwpdffgk/Pz8MHz4cQ4cORXBwcGvETe1U/l8LHQBAwRE5onZPIBBA7m0Pubc9+j4ShOKssrqqEn9mIftq4X37l+VVIjMxv1mbHhO1Jy1a7CAUChEWFoawsDAsXrwYN27c0CR133//PTZu3AgXFxfNSF3//v2NFTe1U3l//TUudRDDxkli4miIqK05uMnQ60F/9HrQH1d+T8Gp7+Lv26cgo5SJHHVYRl21GhAQgICAAMydOxc5OTk4duwYTpw4gV9//RU7duxAdHS0MW9H7YyytBo1yrqtCuQ+9qzqQNTBOXs2bfuhU9/HIyuxAN3G+cKtqxP/7aAOpdW2H+nUqRMeeeQRPPLIIygrK8Pp06db61bUTkjsrDF3/ViU5JSjRqkydThEZGLuIXLI5FKt1ap6qYCbp+7g5qk7UPjao9t4XwQM8eD2RdQhtEkRPJlMhtGjR7fFrcjCCYQCOLjJuGKViCAUCjDoydBG2/gOcIPU3lrzOi+lBMe+jsOPiw6jKLOstUMkMjluCExERGbLL9wdo5eG6e4jp5Bi0BN1+8jVVNXi1plMxP+WgpybRQAAqb0YDq62pgqbqM0wkSMiIrPmF+4O3/5uDVZ2sBKLEDTcE0HDPZF9vRDxB1LgFuwMwT1bkhz9+jIUvvYIGu4Jsa21vlsRWRwmcmQWaqpqcWh5DJy97eHRTQ6v3p1MHRIRmRGhUNCklamugU5wDXTSOZ6fWoKr0ekAgD+3XEXQcE+EjvNt8oIKInPFRI7MQmFGKdIu5iDtYg7KCyqZyBGRUaVfztV8XV1Zi/jfUxH/eyo8uivQfbwvvPu6clNhskhM5MgssKIDEbWmXpP84NXLBfEHUnD9+G3NVke3r+Th9pU82LnYIHSMN4IjvSG1Zx1xshxtsmqV6H7uTuRY0YGIWoPc2x7Dnu6B2asiMeiJEDi4/b0YojS3Auc2X8WRNZdMGCFR87VoRC49PR2XL19GTk4OioqKIJVK4ejoiICAAPTo0QMSCXfmp6bJS/m7NJfcl4kcEbUeicwaPSb6ofv4Lki/lIv4AylIu5gDAAgd46PVVqVSQ61SQ2TFcQ8yT81O5LKysrBnzx7s27cPOTl1P/hqtVqrjUAggEgkwoABAzBlyhQMHjyYO21Tg9RqtWZEztZJAhsH/gFARK1PIBTAu08nePfphKLMMtw4cVvn+dy0mGwcX38FIaO8ETLaGzJnqYmiJdKvyYlcYWEhvv32W+zevRu1tbXw9PTE2LFjERISAmdnZzg4OECpVKK4uBhpaWm4cuUKLly4gNOnT8PLywsLFizAsGHDWvO9kIUqz6+EsrQaAEfjiMg0HN1l6DstSOd4/IEUVBQqEfPLdVzceQN+4e4sBUZmpcmJ3KxZsyAUCjFt2jSMGzcOQUG6P/D3qqioQHR0NPbs2YO33noLCxcuxIwZM1oUMLU/eXcvdPDhQgciMg+qGhXEttYQCAVQq9RQ16pZCozMTpMTuUcffRQzZ86EvX3TR0xsbGwwceJETJw4EefPn0dZGculkK78lLsTOY7IEZF5EFoJMXpJGMryKpBwKA2Jf6ShsrgKwN+lwM7+XxK6Rnihx8QunHYlk2hyIvfMM8+06Eb9+vVrUX9qv/JS/17ooODUKhGZGZnCBv1ndEXY1ADcPJ2J+AMpyLlRVwpMWVqNy7tvoesITyZyZBLcR45MLnCoB2TOUhSkl8Kxs8zU4RAR6SWy1i0FdvP0Hbh1dYazl/YfoXkpxbDvZKNTCkylUjdYaozIEEzkyOR8+7nBt5+bqcMgImqy+lJgAx8PQeVfi7XqqVVqHFoRg4pCpVYpsFtnM3F6YwLK8is1bWVyKQY9GQq/cPe2fgvUTjQ5kVuyZIlBNxAIBFi+fLlBfYmIiMyZjaMENo7aWyZlXM5FcWY5AGhKgTl726EgrVSnf1l+JQ4tj8HopWFM5sggTU7kLl68aNANuDybiIg6Ens3W4SM9tYqBaYvibvb6U0J8O3vxmlWarYmJ3JHjhxpzTiogypIL4G1jRVkcimTfiJqFxzdZRj2dA8MmBWMa0fTcWn3LZQXKBvtU5ZXiczEfHh0U7RRlNRe8Bk5MqkT315BZmIBJHbWmLUyAtZS/kgSUftQXwpMai9G9Or713CtKGw82SPSx2jF44qLi5GVlWWsy1EHcHdpLiuJiEkcEbVLtvKmbUti48TyhNR8LUrkSktLsWLFCjz00EOYMmUKZs2apTkXHx+Pf/zjH0hKSmpxkNQ+leZWoKq8BgA3Aiai9ss9RA7ZfZI5mUKKGmUtbpy6o1O/nKgxBidyxcXFWLBgAX755Re4urrC19dX64cvICAAcXFx+P33340SKLU/2hUdWJqLiNonoVCAQU+GNtpmwKyuOPndFRz+4iL2/+85FN1hJSRqGoMTue+++w5paWn45z//iXXr1iEiIkLrvEQiQe/evXHhwoWWxkjtFCs6EFFH4RfujtFLw3RG5mQKKUYvDYOqWo3S3Lr95TIu5+GX14/jws/XUFNVa4pwyYIY/FDSiRMnMHjwYIwaNarBNp07d8aVK1cMvQW1c/XPxwGcWiWi9s8v3B2+/d0arOwgsbPGqY3xKM2tRG21Chd+vo7rx29jyPzu8OrpYuLoyVwZnMjl5eU1msQBgLW1NSoqKgy9RbOUlJRgzZo1OHr0KJRKJUJDQ7Fw4UIEBwc3qX9ycjJWrVqFy5cvw8rKCoMHD8aiRYvg5OSk1U6lUmHz5s3YsWMH8vPz4eXlhTlz5mDMmDFa7f79739j//79Ovfx8fHBDz/8YPD7bE/qp1ZFYiEc3Fmai4jaP6FQ0OAWI7793eDRQ4GY7ddxeW8y1LVqFGeVY/+H5+A/qDMGPhHCeq6kw+BEzsHBAdnZ2Y22SU1NhULR+nviqFQqvPbaa7hx4wZmzZoFR0dH7NixA0uWLMG6devg7e3daP/s7GwsXrwYdnZ2iIqKQkVFBTZv3oybN29i7dq1sLb+u1beunXr8N///heTJ09GSEgIjh8/jnfffRcCgQCjR4/Wuq5YLMarr76qdUwmY8ICANWVNSjOrtv5XO5tz00wiYgAWEutED47BIHDPHHi2yvISioAANw8fQdpsdkYtagPvMNcTRwlmRODE7nevXvjxIkTyM7Ohqur7g9VcnIyzpw5gwceeKBFATZFdHQ04uLi8O6772qe1Rs1ahQee+wxfPfdd3jnnXca7f/DDz+gsrIS33zzDdzc6mp+hoaGYtmyZdi3bx+mTJkCAMjJycGWLVswdepUvPTSSwCABx98EIsXL8bq1asREREBkUikua5IJMK4ceNa4R1bvvzUEuCvtTFc6EBEpE3ubY8H3x6Ia0czcOb/EqEsrYZaBTh78zEU0mbwYocnnngCtbW1eOGFF3DgwAEUFRUBqEvgdu/ejaVLl0IsFmttSdJajhw5ArlcjhEjRmiOOTk5ITIyEsePH0dVVdV9+w8ZMkSTxAFA//794e3tjcOHD2uOHT9+HDU1NZg6darmmEAgwMMPP4ycnBy9zwPW1tairIyrj+5VXlAJkbjux48LHYiIdAmEAnSN8ML0z0YgONILfR8Ngp2LjVYbblVCBo/IBQQE4F//+hc++OAD/Pvf/wZQ9wM1b948qNVq2Nra4l//+td9pzWN4erVqwgKCoJQqJ2XhoaG4tdff0VaWhoCAgL09s3JyUFBQYHeZ+lCQ0Nx+vRpzetr167BxsYGvr6+Ou3qz/fq1UtzvLKyEhMnTkRlZSXs7e0xevRoLFiwALa2to2+n9zcXOTl5Wlep6SkNNreEvkN7AzfAe4ovlMGib31/TsQEXVQUnsxhkf11EnaqipqsPf9M+gxsQsChnqwzGEH1aKt9IcNG4YtW7Zg//79iI+PR3FxMWQyGbp164aJEyfqLBRoLfn5+ejdu7fO8frn8/Ly8hpM5OoTJn3P8ikUChQXF6OqqgpisRh5eXlwdnbW+bDU983NzdU6Nnv2bHTt2hVqtRpnzpzBjh07cOPGDaxYsQJWVg1/63ft2oUNGzY0/qbbAaFQACdPO1OHQURkEe793XNh2zXk3ipG9OpLuHokA0PmdeO/qR1Qi2siOTg4YMaMGcaIBUDdwoXq6uomtRWLxRAIBFAqlRCLxXrPA4BS2XD9uvpzdy9o0NdfLBZDqVTet1295557TqvN6NGj4e3tjXXr1uHIkSM6CyPuNmXKFAwdOlTzOiUlBe+//36D7YmIqGNRq9QoK6jUvL59pW7vuV6T/dHn4QBYiUWN9Kb2xOyKW8bGxmLJkiVNartp0yb4+vpCIpHofQ6u/phE0nD9uvpz+pLHe/tLJJImtWvIjBkzsH79evz555+NJnIuLi5wceGeQUREpJ9AKMDoF8OQOjwbJzfEozSnAqpaNS7uuIEbJ29jyLzu8O7TydRhUhtociKnb0+0ppowYUKT2/r4+OCNN95oUtv6KU25XK71TFm9xqZN771GQ/0dHBw0I24KhQIxMTFQq9VaQ9z1fe+XfEkkEjg4OKC4uLjRdu1demwO4n9PhdzHHgFDOsPZi4sdiIgM4RPmCo9uCsTsuIHLu29CVatGSXYFfvv4T3QJd8PgJ0IhU9jc/0JksZqcyH344Ydaycu9yYw+9W2ak8gpFApMnDixye0BICgoCJcuXYJKpdJa8JCQkACpVNrogotOnTrByckJSUlJOucSEhIQGBioeR0YGIjdu3cjJSUFXbp00RyPj4/XnG9MeXk5ioqK2uzZQXOVda0QqReykXohG4ouDkzkiIhawEoiwoCZXRE4zAMnvr2CzIR8AEDy2SxkXyvEzOUjIbLmVGt71eRE7vXXX9c5duTIEZw6dQr9+vVDr1694OzsjIKCAsTGxuLChQsYPHgwRo4cadSA9Rk5ciSio6Nx9OhRzT5yhYWFOHz4MIYMGaL1/FxGRgYAwNPTU6v//v37kZWVpdmC5Pz580hLS9N6/m/YsGFYtWoVtm/frtlHTq1WY+fOnejUqRN69OgBoO5ZudraWp3Vqd9//z3UajUGDhxo/G+CBclPYY1VIiJjc/a0w6S3wnH9+G2c+W8iKour0OtBPyZx7VyTE7l7R8mOHTuGP//8E59++ikGDBig0/7s2bN488038eCDD7Y8yvuIiIjAtm3b8OGHHyI5OVlT2UGlUmH+/PlabesTsK1bt2qOzZkzB9HR0Vi6dCkeffRRVFRU4Mcff4S/v7/W+3Z1dcX06dPx448/oqamBqGhoTh27BguXbqEt99+W7MZcH5+Pp5++mmMGTMGPj4+AOq+H6dPn8bAgQMxbNiw1v6WmLW8v2qsWktFsO/U+FYsRETUdAKBAEHDPeET5or4AynoNk57u6yq8mqoVGpI7XQXCJJlMnixw6ZNmxAZGak3iQOA8PBwREREYOPGja2euIhEInz88cdYvXo1fv75ZyiVSoSEhOCNN97QJFKNcXNzw8qVK7Fq1SqsXbtWU2v1hRde0FkN+9xzz8He3h67du3C/v374eXlhbfeegtjx47VtLGzs8OQIUNw7tw57N+/HyqVCp6ennj22Wcxa9Ysnf3uOpKq8mqU5tTV33X2sYeApbmIiIxOYmeNsEd0H/c5t+Uqbp2+g/DHQxA03JN7z7UDArWB20KPGzcO06dPR1RUVINtvv76a2zbtg0HDhwwOEACkpKSEBUVhXXr1unduNiSZCbmY/e7ZwAAoWN8MHR+dxNHRETUMeTcKMTOd05pyiO6hzhj6PzufE7Zwhk8NGRra4vY2NhG28TGxt63igF1LHkpJZqv5Xw+joiozdjKpfAb6K55nZlYgF/eOIFzm5NQo6w1YWTUEgYncsOGDUNcXBw+++wzFBQUaJ0rKCjAp59+iitXrmD48OEtDpLaj/zUvxc6yFn8mYiozcicpRj9YhgmvNYfDm51gyzqWjVid93Etn8cQ8r5LBNHSIYw+Bm55557DnFxcdi1axf27dsHT09PzarVjIwMVFdXw8/PD88++6wx4yULl18/IicA5D5M5IiI2ppX70545KNhiN11E7G7bkBVo0ZpbgV+/+wCfPu5YvDcbrBz4d5zlsLgETl7e3usXbsWc+fOhYuLC5KTkxETE4Pk5GS4uLhg7ty5WLNmDezt+cua6qhUauSn1yVyDq62sJaaXWERIqIOwUosQr9HgzDto+Hw6P73pvkp57ORGpNtwsiouVr0m1QikWD+/PmYP38+ysvLUVZWBplMxufiSC91rQqD53ZDfmoJJDLdmrVERNS2HDvLMPHNAbh56g5O/5AImVyKkNH33+2BzIfRhkRsbW2ZwFGjRNYihEQ2XGWDiIjankAgQMAQD3j36YTKkioI79kW6trRDHj36QSpA/eeM0ctTuQqKipw7NgxXL9+XTMiFxgYiOHDh8PGhnPsRERElkBsaw2xrfZsSdbVAhxZcwkSO2uEzw5G15FeEAgFUKnUyEzMR0WhEjZOEriHyHUSQGobLUrkoqOj8emnn6K0tBR3b0cnEAhgZ2eHf/zjH21SoouIiIiM79zmujrkytJqHFsXh6Qj6fALd0fc3mSU5Vdq2snkUgx6MhR+4e4NXYpaicEbAl++fBkvvvgiRCIRxo8fj759+0KhUCAvLw8xMTGaigYrV67U1CAlw7SXDYFvX8mDk6cdbJ0kpg6FiIiaoLygEmf+m4gbJ+80qf3opWFM5tqYwSNyP/zwA8RiMb788ksEBmqXARk9ejSmTp2KhQsX4ocffsD//u//tjhQsmyVpVXY+8FZAIBPX1eMe6WfiSMiIqL7sXWWInJRH3Qd6YXj38ahJKui0fanNyXAt78bp1nbkMHbj1y5cgWRkZE6SVy9gIAAREZGIi4uzuDgqP3Iv6uiA/cnIiKyLJ49XTBk3v1LKpblVSIzMb8NIqJ6BidylZWVkMvljbZxdnZGZWVlo22oY9Cq6MDSXEREFqeqrLpJ7SoKla0cCd3N4ETO3d0df/75Z6Ntzp8/D3d3zpWTdo1VBSs6EBFZHJsmPt9s4yhGaW7jU7BkPAYncqNGjUJSUhI++OAD5Obmap3Lzc3Fv//9b1y9ehWjRo1qcZBk+fJT6xI5gQBwZo1VIiKL4x4ih0wubbSNTCFFjVKFLS8dwfH1cSgr4KxcazN4scNjjz2GM2fO4MCBAzh8+LDeWquhoaF4/PHHjRkvWSBVjQoF9aW5OstgJRaZOCIiImouoVCAQU+G4tDymAbbDJoTgj9/ugp1rRqJh9Jw7VgGekzogl4P+kNix4o+rcHgETmpVIovvvgCTz31FDp16qRVa7VTp06YP38+Vq5cCYmEW010dIV3yqCqqdvlRuHjYOJoiIjIUH7h7hi9NExnZE6mkGL00jD49HVFlwFusLap+4O9tkqF2F03sWVpNGJ33UCNstYUYbdrLdoQWCwWY968eZg3bx5rrVKD8lO40IGIqL3wC3eHb3+3Bis79H0kCKFjfBC78ybif0+BqkaNqvIanNt8FVf2pyBsWiCCR3pBaGXwWBLdhbVWqdXlpf690EHOhQ5ERBZPKBTAo5uiwfM2DhIMeiIU3Sd0Qcwv13DtaAbUaqC8UIkT66/g8p5beOi9IZDION3aUkZJ5FQqFfLz81Fbq3/I1M3NzRi3IQtVU1kLoZUAqho1V6wSEXUg9p1sMOK5Xug5yQ9//nQNKeeyAACOnWVM4oykRYncgQMHsHnzZiQnJ0OlUultIxAIcPjw4Zbchizc0PndMfjJUBTeLoPtfVY8ERFR++PsZY+xL/VF9rUC/Ln1GvrP7Kp1Xq1SIy+1GC5dHE0UoeUyOJH78ccfsXbtWlhZWaF3795QKBQQibgakfQTWgk5rUpE1MG5Bjnjgf8J1zl+62wm/lh5Eb793dB/RhCcvfj7oqkMTuR++eUXuLi4YPXq1XB1dTVmTERERNRBqGpU+HPrVQBAyp9ZSD2fhcDhnug7LQj2nVjS8X4MXjJSWFiIkSNHMokjIiIiwwmAXpP8YOtct12ZWg1cO5qBn14+gtObElBRzJJfjTF4RM7b2xslJSX3b0gd2tkfE1GcWQ65rz16TOgCsS0fbiUior8JRUKEjPZB4DBPXDmQgtidN1BVXgNVjRpx+5KRdDgNPSf5occDfhDbGG2zjXbD4BG56dOn4/jx48jMzDRmPNTOpF3MRfK5LMRsvwGRNfcMIiIi/awkIvSe7I+ZyyPQe4o/ROK63xnVlbW48PN1bH3pCJRl1SaO0vwYnNpOnDgRhYWFWLhwIR5++GEEBgY2uI9cnz59DL0NWbDa6loU3i4FADh5yCCy5mIYIiJqnMTOGgNmBaP7eF/EbL+BxMNpUNeq4dlDwS1L9GjRGGVZWRnKysrw7bffNtouOjq6JbchC1WYUQZ1bV1pLrk3VyAREVHT2TpLMXR+d/R4oAsubLuGvo8GaZ1X1aqQEZcHr14uEAgEJorS9AxO5NavX48ffvgBTk5OGDVqFLcfIR15qXeX5mKNVSIiaj5HdxkiF/XROX792G0c/foyXAOdMGB2V3QObbjSRHtmcCK3d+9eeHl54euvv2ZpLtIrP+XvxTCs6EBERMZSW12L8z9fAwBkXy/EnvfOwqu3C/rP7NrhNhU2+OnzkpISDB48mEkcNSj/7hqrHJEjIiIjEVoJMWRuNzh52mmOpcfmYsebJ/HHFxdRlFlmwujalsEjcv7+/sjLyzNmLNSOqNVq5P81tSp1EMPWSWLiiIiIqL0QCATw7e8G776uuH48Axe2XUNpbiUA4OapO7h1NhPBEV4IeyQQMuf2XRrS4BG5J554AsePH0dSUpIx46F2orxQicqSumXiCl9OqxIRkfEJhQJ0HeGF6Z+NwKAnQiF1EAMA1LVqJB5Kw7ZXjrb7LUsMHpErKSlB//798cILL2DcuHEICAiATCbT23bChAkGB0iW6e7n4+Q+nFYlIqLWI7IWocfELuga4YW4fbdwefctVFfWwn+QR7vfssTgRO7DDz+EQCCAWq3Gnj17AEBn+a9arYZAIGAi1wE5e9thyFPdkJ9aAs8eHXMlERERtS2xjRX6PhKE0DE+iN11Ez0ndtE6X1tdixsn7yBwqAeEVkKoVGpkJuajolAJGycJ3EPkEAotaysTgxO5119/3ZhxUDtjp7BBt7G+pg6DiIg6IBsHCQbNCdU5nvhHGk59n4CLO27Ap68rbp25g7L8v2u5yuRSDHoyFH7h7m0Zbou0qLIDERERkSWoqapFzPYbAIDirHLE7UvWaVOWX4lDy2MwemmYxSRzLH5JRERE7Z6VWIRxL/eFW4jzfdue3pQAlUrdBlG1HBM5MrrygkrcvpKHypIqU4dCRESk4RrkjH7TAu/briyvEpmJ+W0QUcu1qNYqkT5pF3NwbF0cAGDIU934rBwREZmNiqKmDTJUFCrv38gMcESOjO7uig6OnfVvSUNERGQKNk3coL6p7UyNiRwZXV7q3TVWuYccERGZD/cQOWTyxqs9yBRSuIfI2yiilmEiR0alVquRn1JXmsvWWaLZZZuIiMgcCIUCDHpSd2uSuw16ItRi9pNjIkdGVZZXiaryGgCs6EBERObJL9wdo5eG6YzMyRRSi9p6BDDiYodjx47hxIkT3Ci4g8v7azQOYI1VIiIyX37h7vDt72bxlR2MNiJ3/fp17N+/31iXIwt190IHuQ8TOSIiMl9CoQAe3RQIGOIBj24Ki0viAE6tkpHlpzCRIyIiaitM5Mio8lLrplZF1kJuPUJERNTKmMiR0ahqVRBZiyAQCuDsZQehiD9eRERErcloix3CwsKMdSmyUEKRENM+Goba6lpUFLM8FxERUWszWiLXp08f9OnTx1iXIwsmshbBTmFj6jCIiIjaPc59EREREVkoJnJEREREFspoU6vUsalVaux8+yTs3Wzh0U2B0DE+pg6JiIio3eOIHBlFSU4Fcm8V49bpTKRdzDF1OERERB0CEzkyivzUv0tzcSNgIiKitsFEjowi766KDqyxSkRE1DaYyJFRaNdYdTBhJERERB1Hixc7ZGdnIyYmBrm5uaiurtY5LxAIMHfu3Jbehsxc/dSqlUQEBzdbE0dDRETUMbQokVu9ejW2bdsGlUqlOaZWqyEQCLS+ZiLXvlWVV6MkuwIAIPe2h0AoMHFEREREHYPBU6u//vortmzZgrCwMLz77rtQq9WYMGEC3nnnHUyZMgUikQgRERFYvny5EcMlc5SfVqr5Ws7n44iIiNqMwSNyv/76K9zd3fHJJ59AKKzLB93d3TF69GiMHj0ao0aNwrJlyxAZGWm0YMk8ccUqERGRaRg8IpeSkoKBAwdqkjgAqK2t1Xzdp08fDB48GJs3b25ZhGT28lO40IGIiMgUWvSMnJ2dneZrqVSKoqIirfPe3t74888/W3ILsgAhY7zh7G2HvJQSyL3t7t+BiIiIjMLgRK5Tp07Iyfl7B39PT08kJCRotbl16xZsbGwMj64ZSkpKsGbNGhw9ehRKpRKhoaFYuHAhgoODm9Q/OTkZq1atwuXLl2FlZYXBgwdj0aJFcHJy0mq3ceNGxMfHIyEhAQUFBZg3bx7mz5+v95o5OTlYtWoVzp07B5VKhbCwMCxevBgeHh4tfbtmxaWLI1y6OJo6DCIiog7H4KnVHj164MqVK5rXw4YNw7Vr1/DJJ5/g1KlTWLt2Lc6cOYPevXsbJdDGqFQqvPbaazh48CAeeeQRLFiwAAUFBViyZAnS0tLu2z87OxuLFy9GRkYGoqKiMGvWLJw6dQrLli3T2VLlm2++QWJiIoKCghq9Znl5OZYsWYKLFy9izpw5mD9/Pq5du4bFixfrjFwSERERGcLgEbnx48cjLy8PmZmZcHd3x6xZs3Dy5Ens3r0be/bsgVqthru7O55//nljxqtXdHQ04uLi8O677yIiIgIAMGrUKDz22GP47rvv8M477zTa/4cffkBlZSW++eYbuLm5AQBCQ0OxbNky7Nu3D1OmTNG03bJlCzp37ozCwkKt4/fasWMH0tPTsXbtWoSGhgIABg4ciHnz5mHLli149tlnW/iuiYiIqKMzOJELCwtDWFiY5rWtrS3WrFmD48ePIyMjA+7u7hgyZEibTK0eOXIEcrkcI0aM0BxzcnJCZGQkfv/9d1RVVUEsFjfaf8iQIZokDgD69+8Pb29vHD58WCth69y5c5Niio6ORkhIiCaJAwBfX1/07dsXhw8fbjeJXPa1AtTWqCH3sYdEZm3qcIiIiDqUFld20LqYlZVmRKwtXb16FUFBQVoraIG6UbVff/0VaWlpCAgI0Ns3JycHBQUFep+lCw0NxenTp5sdj0qlws2bN/HAAw/ovea5c+dQXl4OW1v9FRByc3ORl5eneZ2SktLsGNrKxZ03kXohGwAwa2UE7Fza5plIIiIiakEiN3PmTEyfPh2PPvpog21++eUXbNmyBVu2bDH0Nk2Sn5+v91k8hUIBAMjLy2swkatPmOrb3tu/uLj4viN696rv09A1gbpkzcfHR2//Xbt2YcOGDU2+nynV7yFnbWMFmUJq4miIiIg6FoMTuczMTJSWljbaprS0FFlZWc26rkql0luzVR+xWAyBQAClUqk30ao/plQqG7xG/Tlra91pwbv7NyeRa+o1GzJlyhQMHTpU8zolJQXvv/9+k+/fVpSl1SjNrQRQtxFwfWk2IiIiahtGnVq9V1lZmd5kpjGxsbFYsmRJk9pu2rQJvr6+kEgkqKqq0jlff0wikTR4jfpz+pLHpvRvjWu6uLjAxcWlWfc0hfy0vys6KFjRgYiIqM01K5G7ePGi1uvMzEydY0DdqFp2djZ+//13eHt7NysgHx8fvPHGG01qWz9NKZfLtZ4pq9fYtOm912iov4ODQ7NG4wBo+jQWkyUkaveTd3dFB19WdCAiImprzUrklixZopk+EwgE2L9/P/bv36+3rVqthkAgwHPPPdesgBQKBSZOnNisPkFBQbh06RJUKpXWgoeEhARIpdJGk8lOnTrByckJSUlJOucSEhIQGBjYrFgAQCgUwt/fH4mJiTrn4uPj4eHh0eBCB0uSn3p3aS6OyBEREbW1ZiVyc+fOhUAggFqtxvfff48+ffqgT58+Ou2EQiEcHBwQFhaGLl26GCnUho0cORLR0dE4evSoZtVsYWEhDh8+jCFDhmiNqGVkZACoq0Rxd//9+/cjKytLswXJ+fPnkZaWhhkzZhgc09q1a5GYmIiQkBAAQGpqKmJiYjBz5kyDrmlu8lP+mloVAM5eLM1FRETU1pqVyN1diio2NhYTJ07EhAkTjB5Uc0VERGDbtm348MMPkZycDEdHR+zYsQMqlUqnfNZLL70EANi6davm2Jw5cxAdHY2lS5fi0UcfRUVFBX788Uf4+/vrjA7+9ttvyMzM1CxWiI2Nxffffw+gbpNkd3d3AMDUqVOxe/duvPbaa5g1axZEIhG2bt0KZ2dnzJo1q9W+F21FVatCQXrdYhdHdxmspa36uCURERHpYfBv3xUrVhgzjhYRiUT4+OOPsXr1avz8889QKpUICQnBG2+80eAWH3dzc3PDypUrsWrVKqxdu1ZTa/WFF17QeT5uz549Ws8FxsTEICYmBgDQq1cvTSJna2uLFStWYNWqVdi4caOm1qq++q2WqCizHLXVKgCcViUiIjIVgVqtVps6CGpcUlISoqKisG7dOr0bF5tC1tUCHF17GUWZZeg3PQhhDzf/WUIiIiJqmRbNh2VlZWHjxo04f/48cnNzUVNTo9NGIBDg8OHDLbkNmSG3rs6Y/tkI1ChroapVmTocIiKiDsngRO727dt47rnnUFpaii5duqC6uhpubm4Qi8W4c+cOampqEBgYCDs7PgTfnllJRABEpg6DiIioQxLev4l+3333HcrKyvD555/ju+++AwA88MAD+OGHH7BlyxYMHToUFRUVePfdd40WLBERERH9zeBE7vz58xg0aJDW9iP1j9u5uLjgX//6FwDg66+/blGARERERKSfwVOrRUVFWitCRSIRKisrNa/FYjH69++P48ePtyxCMju34/Nw6vt4yH0cEBzhBY/uDVfOICIiotZj8Iico6OjVuLm6OiIzMxMrTYikQilpaWGR0dmKe9WMQrSSnHjxG2U5JSbOhwiIqIOy+BEzsvLS1MlAQBCQ0Nx7tw53L59G0BdZYUjR47Aw8Oj5VGSWbm7NJfChzVWiYiITMXgqdWBAwfiu+++Q0lJCezt7TF9+nScPHkSTz31FHx9fZGeno7y8nI89dRTxoyXzEB+al1pLoFQACeW5iIiIjIZg0fkHn74YaxcuRIiUd3WE2FhYfjnP/8JNzc33Lx5E3K5HC+++CImT55stGDJ9FQ1KhRk/FWaq7MMVmJuPUJERGQqBo/IyWQydOvWTetYZGQkIiMjWxwUma/C22VQ1dStTlb4sjQXERGRKRk8IkcdU95f06oAa6wSERGZWpNH5LKysgy+iZubm8F9ybzkp/y90EHuy4UOREREptTkRG7GjBkQCATNvgFrrbYv+RyRIyIiMhtNTuTGjx+vk8jdvn0bly5dgp2dHQIDAyGXy5Gfn4/r16+jtLQUvXr14vYj7UzeXyNyUntr2DpJTBwNERFRx9bkRO7NN9/Uen3r1i288MILmDNnDubMmQMbGxvNuYqKCmzatAk7duzAyy+/bLxoyaTUajUiF/VGfkoJVLUqg0ZoiYiIyHgMXuzw1VdfISQkBFFRUVpJHADY2Njg2WefRUhICNasWdPiIMk8CAQCePZwQc9Jfug9JcDU4RAREXV4BidycXFxCA0NbbRNaGgoLl26ZOgtiIiIiKgRBidyKpVKq0SXPunp6VCr1YbegoiIiIgaYXAi17t3bxw5cgSHDh3Se/7gwYM4evQoevfubXBwZF5unLyNrKsFqK6sMXUoREREhBZUdnj++edx6dIlvPfee/i///s/9OzZE87OzigoKMDly5dx48YN2NraYsGCBcaMl0yktroW0V9dgrpWDbmvPR75cJipQyIiIurwDE7kunTpgi+//BLLly9HbGwsrl+/rnW+d+/eeOmll9ClS5eWxkhmoCCjFOraumlyuTf3jyMiIjIHBidyAODv74+VK1ciKysLN27cQGlpKezs7BAQEMBqDu2MVkUHbgRMRERkFlqUyNVzc3Nj4tbO5aeyNBcREZG5MXixA3UseSl/l+ZScESOiIjILDQ5kXvllVeQkJBg0E0qKirwww8/4JdffjGoP5mWWq3WjMjZOElg48jSXEREROagyVOrhYWFeP7559G7d2+MHz8eI0aMgJ2dXaN9rly5ggMHDuCPP/6AUqnUKfNFlqG8QAllaTUAjsYRERGZkyYnct988w327duHDRs24KOPPsInn3wCb29vBAcHw9nZGXZ2dqiqqkJxcTHS0tKQlJSE8vJyCIVCjB49Gs888wyfo7NQ+XdNq8p9mcgRERGZi2Ytdpg4cSImTJiA06dPY+/evbh48SIOHDig004oFMLf3x8jRozApEmT4OLiYrSAqe3l3b3QwYcLHYiIiMxFs1etCgQCDB48GIMHDwYAJCcnIycnB8XFxRCLxXBycoKfn999p13JcoishLB3tUFJdgUUHJEjIiIyGy3efqRLly7c9Led6znJDz0n+aGqvBpWUqPsWENERERGwN/K1GRiW2tTh0BERER34T5yRERERBaKiRwRERGRheLUKjXqzH8TcftKHuQ+9ug/oytkcqmpQyIiIqK/cESOGpVzoxB5ycW4djQDIjF/XIiIiMwJ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "\n", "mod_tot = total_expectation.project('Em').todense().contents \\\n", " +(expectation_bkg.project('Em').todense().contents)\n", "diff = (data_combined - mod_tot)/mod_tot\n", "\n", "plt.semilogx(binned_energy,diff,ls=\"--\",marker=\"o\")\n", "plt.xlabel(\"Energy [keV]\")\n", "plt.ylabel(\"(data - model) / model\")\n", "plt.savefig(\"percent_diff.pdf\")\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "id": "b8fa0531", "metadata": {}, "source": [ "Plot average intensity (averaged over full sky):" ] }, { "cell_type": "code", "execution_count": 58, "id": "3826403f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "using nside=8 from user input in evaluate method\n", "loading GALPROP model: /localscratch/sgallego/linkToXauron/COSIpyData/DC3_data/total_healpix_57_SA100_F98_example.gz\n", "Interpolating GALPROP map...\n", "intensity error:\n", "[6.33011004e-06 6.69254441e-06 6.98040174e-06 7.37073109e-06\n", " 7.79093418e-06 8.50441800e-06 9.24401661e-06 1.03413466e-05\n", " 1.13966358e-05 1.28929686e-05]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHTCAYAAADs2/aTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABIMUlEQVR4nO3deVxWZf7/8fcNiCLgBqRmLrmmlqGWlTuGK7mU22iLplGWuWRm1mOcbKYmR8vUcSktl+xR2jd3QVIsHdzSKU1NJTdITBRcEDQF4fz+8Mc9ErcEhwP3fcPr+Xj0qPs61znX5769kXfnXOc6NsMwDAEAAKDAPJxdAAAAgLsiSAEAAJhEkAIAADCJIAUAAGASQQoAAMAkghQAAIBJBCkAAACTCFIAAAAmEaQAAABMIkgBAArFZrOpY8eOzi4DcAqCFFAKvfvuu7LZbLLZbIqNjXV2OSVG9mdaWIsXL5bNZtPixYsLX5STTJ48WTabTVu2bHF2KUCRIkgBpYxhGPrkk0/sv/AXLFjg5Irg7g4fPqzPPvvM2WUATkGQAkqZjRs3Ki4uTkOGDFG1atW0ZMkSpaenO7ssuLF77rlHtWrVcnYZgFMQpIBSJvsMVHh4uJ588kklJydr1apVOfp069ZNNptNP/30k8NjLF++XDabTePHj8/RfuHCBb3xxhtq3LixfHx8VLFiRT366KPauHFjrmPcevkqKipKHTt2VMWKFXNcGlu9erWeeuopNWzYUL6+vvL19VXLli01a9YsZWVlOaztl19+Ud++fVW5cmX5+vqqdevWioiIyPNyWUJCgl5++WXVrVtXZcuWVUBAgHr16qU9e/bk+VnmR1xcnGw2m4YOHaq4uDj95S9/UWBgoMqVK6cHHnhA69evz9G/Y8eOevbZZyVJzz77rP1yoc1mU1xcnL3fjRs3NHfuXD388MOqUKGCypcvr+bNm2v27Nm5PpuC1iBJ6enpmjVrllq0aKHKlSurfPnyqlOnjnr37q3o6Ogcff84R6pOnTp6++23JUkhISE53oMkDRo0SDabTVu3bnX4ma1YsUI2m00vv/xy/j5kwIm8nF0AgOJz9uxZrV27Vg0bNlTr1q1VoUIFffDBB5o/f74GDhxo7zdkyBB98803+uyzz/TBBx/kOs6SJUskSUOHDrW3xcfHq2PHjoqLi1O7du3UrVs3XblyRevXr1e3bt308ccfKzw8PNexvv76a0VFRal79+4aMWKE4uPj7dsmTpwoDw8PPfTQQ6pRo4ZSUlL07bffasyYMdqzZ4+WLl2a41hHjhxR69atdfHiRYWFhalZs2Y6ceKEHn/8cfXo0cPhZ/Ljjz+qS5cuunDhgrp27aonnnhCycnJWr16tdq2batVq1bddt+CiI+PV6tWrVS3bl09/fTTunDhgpYvX24PJiEhIfbPtFKlSlqzZo169+6t4OBg+zEqVaokScrIyFDPnj31zTffqFGjRho8eLDKlSun7777TqNGjdL333+f67MpSA3ZdXz55Ze699579cwzz8jHx0e//fabtm3bpqioKIWGht72vY4dO1arV6/W1q1bNWTIENWpUyfH9hdffFHLli3T/Pnz1aFDh1z7f/zxx5KkESNG5PfjBZzHAFBqvPfee4Yk45///Ke9rWXLlobNZjOOHj1qb/v999+NihUrGlWrVjUyMjJyHOPMmTOGp6en0aJFixztHTp0MGw2m/Hll1/maL948aJx//33G+XKlTMSExPt7YsWLTIkGTabzdiwYYPDeo8dO5arLTMz03jmmWcMScauXbtybOvUqZMhyZg7d26O9sjISEOSIclYtGiRvT0jI8OoV6+eUbZsWWPLli059jl9+rRx5513GtWqVTOuXbvmsL4/yh7jVidPnrS3T548Oce2qKgoQ5LRvXv3HO3Zn82ttd7qrbfeMiQZL7/8snHjxg17+40bN4xhw4YZkozVq1ebruHSpUuGzWYzWrZsmeP42ZKTk3O97w4dOjis8bvvvnP4Hpo2bWqULVs217GOHz9u2Gw2o3Xr1g73A1wNQQooJbKysox69eoZHh4eRkJCgr393//+tyHJmDBhQo7+4eHhhiRj/fr1OdqnTZtmSDJmzpxpb9u3b58hyejXr5/DsVevXm1IMubMmWNvyw4Lffr0KfB7+eGHHwxJxttvv21v+/XXXw1JRv369Y3MzMxc+4SGhuYKJ9l1jR8/3uE4M2bMMCQZERER+aorryBVu3Zth6GkVq1aRkBAQI62vIJUZmamUaVKFaNatWq5Qq5h3AyuNpvN6N+/v+kaUlJSDElG69atjaysrHy974IGqdmzZxuSjPfffz9H+8SJEw1JxpIlS/50XMAVcGkPKCW+/fZbHT9+XF27dlWNGjXs7YMHD9arr76qxYsX65133lGZMmUk3by0s2DBAi1ZskRhYWH2/kuWLFGZMmU0ePBge9vOnTslSSkpKZo8eXKusZOSkiTdvLvrj1q1anXbms+fP69p06YpMjJSJ06c0JUrV3JsP336tP2/9+3bJ0l65JFH5OGRe/pn27Ztc83tya47Pj7eYd1Hjx61113Yy3vBwcHy9PTM1V6zZk17Hfnxyy+/6MKFC2rQoIHeeecdh318fHwcftb5raFChQrq2bOn1q1bp+DgYPXt21ft2rXTQw89pPLly+e71rw888wzmjhxoubPn69XX31V0s1LlosXL1blypU1YMAAS8YBihpBCigl5s+fLynnvCZJqlKlinr27KkVK1ZozZo16tevnySpdevWatiwodauXauLFy+qcuXK+vHHH3Xw4EH16dNHgYGB9mOcP39ekrRp0yZt2rTptjWkpaXlaqtWrZrDvpcuXdKDDz6okydPqlWrVnrmmWdUpUoVeXl56dKlS5o5c6auX79u75+SkiJJqlq1qsPjOWrPrvv//u//blvz7eouqOz5TX/k5eV124nzjmTXfPToUfuEbkcc1VyQGpYvX65//etf+uKLL/TWW29JksqVK6d+/frp/fffv+3nnF/+/v566qmn9NFHH+m7775TSEiI1q5dq8TERI0dO1blypUr1PGB4sJde0ApkJSUpNWrV0v63x1Tt/6zYsUKSf8LW9meeeYZXb9+XcuXL5f0v0nmQ4YMydGvYsWKkqSZM2fKuDllwOE/ixYtylXb7Raw/OSTT3Ty5Em99dZb+v777zV37ly98847mjx5co6J8dkqVKgg6eaEekcctWfXvWbNmjzrzg4SriC75scffzzPmk+ePFmocXx8fDR58mT98ssv+vXXX/X555+rbdu2+vzzz+1hu7BefPFFSf+bXJ797+eff96S4wPFgTNSQCmQvVZUy5Ytc9wFdqu1a9cqOjpaJ0+e1N133y3pZpD629/+piVLlmj48OH68ssvFRgYmONSnyQ9/PDDkqSYmBiNHj3akpqPHTsmSerbt2+ubY5um89+Xzt37lRWVlauy3vbtm3Ltc+tdffq1auwJVsm+/JbZmZmrm333HOPKlWqpF27dikjI8N+KbYo1axZU08++aQGDRqkRo0aadu2bTp//rwCAgJuu09e7yFbs2bN1KZNG61atUrff/+9oqOj1b59ezVu3Njy9wAUFc5IAaVA9tpRc+fO1SeffOLwnxdeeMG+6nm2mjVrqlOnTtq1a5dmzpyppKQkDR48ONcv7wceeEDt2rXTypUrtXDhQoc1HDhwQOfOnct3zdm3zP/xESN79+7Ve++9l6t/rVq11LFjRx07dsx+ZiNbVFRUrvlRktS7d2/Vq1dPc+bMUWRkpMM6du7cqatXr+a7bitkB5Rff/011zYvLy+NGjVKZ86c0ejRo/X777/n6nPmzBkdOnTI9PhJSUk6cOBArvYrV64oLS1NXl5e8vb2zvMYeb2HW7344otKT09X3759ZRgGSx7A7XBGCijhtmzZol9++UX33XdfnhO7hw8frnfffVeLFi3S22+/LS+vm389DBkyRNHR0XrzzTftrx354osv1KlTJw0fPlyzZs3SQw89pEqVKikhIUH79+/XwYMHtXPnTt1xxx35qvuZZ57RtGnTNHbsWH333Xdq0KCBjh49qvXr1+uJJ56wX2681Zw5c9SmTRu99NJLioyMtK8jtWLFCvXu3Vtr1qzJcaaqTJkyWrlypbp27aqwsDC1bt1awcHBKl++vE6dOqU9e/boxIkTOnPmjGWTrPPjkUceUfny5TVjxgydP3/ePo9s1KhRqlixoiZNmqSffvpJH330kdatW6dOnTqpRo0aOnfunI4ePart27fr3XffVZMmTUyNf/r0aTVv3lz33XefmjVrppo1a+ry5ctav369EhMTNXr0aPn7++d5jJCQEHl4eOiNN97QwYMHVblyZUnSX//61xz9+vfvr1deeUWnT59WYGCgnnjiCVM1A05TjHcIAnCCwYMH51qu4HY6d+5sSDJWrlxpb7ty5YpRoUIFQ5Jx77335rn/5cuXjXfffddo0aKF4evra5QrV86oU6eO0aNHD+Pjjz820tLS7H3/bK0kwzCMn3/+2ejZs6cRFBRklC9f3mjRooWxYMEC++38Q4YMybXP4cOHjccff9yoWLGiUb58eePhhx821q9fb1+2YdWqVbn2OXv2rPH6668bTZs2NXx8fAxfX1+jfv36Rt++fY2lS5c6XGbAEeWx/IGjWg3j5vpbjv4q3rBhg/Hwww8bvr6+9uOePHnSvj0rK8v47LPPjE6dOhmVK1c2ypQpY9x5551GmzZtjHfffdf49ddfTddw8eJF4+233zZCQkKMO++80/D29jaqVatmdOjQwfji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3r3y8PDQ/fffb2/z8vLStWvXrBgOAADkk7e395+GsXHjxhGiTLIkSNWqVUs7duxQSkqKUlNTFR0drYYNG+Y4RZiYmKjKlStbMRwAACiAqVOn6rXXXst1w5enp6dee+01lj4oBEsu7fXt21dvvfWW+vbtaz/z9Nxzz+Xoc+jQITVs2NCK4QAAQAFNnTpV77zzDiubW8ySINWxY0e98sorioiIkCR16tRJ3bt3t2/ft2+frly5olatWlkxHAAAMMHb21tjx451dhklis0wDMPZRZRksbGxCg8P14IFC9SoUSNnlwMAKAY806704KHFAABYiGfalS4EKQAALMIz7UqfIn3WHgAApQXPtCudOCMFACj1XPWZdjzPzvURpPJh2rRp2r59u65du6aqVavq+eefV5s2bZxdFgDAIq76TDueZ+f6CFL5MGDAAI0ZM0be3t46fPiwxo0bp2XLlqlixYrOLg0AYAFXfaYdz7NzfQSpfKhdu7b9v202mzIyMpScnEyQAoASgmfawSy3CVJXr17VsmXLdOjQIR0+fFipqal64403ciz8mS09PV2ffvqpNm7cqNTUVNWrV0/PPfecHnzwQdPjT58+XZGRkUpPT9fDDz+sunXrFubtAABKmOxn2jm6ay8bz7QreQp8115WVpZOnDih5OTkXNtu3Lihffv2WVFXLikpKVq8eLHi4+NVv379PPu+9957+uqrr9S5c2eNHj1aHh4emjBhgvbv3296/HHjxumbb77Rhx9+qAcffFA2m830sQAAhZeenq4ZM2Zo1KhRmjFjhkvcDccz7UqfAq1snpiYqAkTJig+Pl42m00PP/yw3njjDfslrgsXLuiJJ57Qli1bLC80PT1dqampCggI0JEjR/T88887PCN16NAhjRgxQi+++KIGDRokSbp+/bqGDh2qSpUqad68efa+I0eO1IEDBxyO9/TTTys8PNzhtokTJ6p379565JFH/rRuVjYHAOs5WvTS09PTZRa9ZGXz0qNAl/bmzZunwMBA/etf/1JaWprmzp2rkSNHasaMGQoMDJQkFdUTZ7y9vRUQEPCn/bZu3SpPT0/16tXL3la2bFmFhYVp/vz5Onv2rKpWrSpJmjNnjqlaMjMzi+3uDgBATu6w6CXPtCs9CnRp76efftJLL72k6tWrq0GDBvrggw/UrFkzvfzyyzp79qwkOf2S19Gj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Get parameter error manually:\n", "K = results.optimized_model[\"galprop_source\"].parameters[\"galprop_source.GalpropHealpixModel.K\"].value\n", "Kerr = K - results.get_variates('galprop_source.GalpropHealpixModel.K').equal_tail_interval()[0]\n", "\n", "# We will pass the response nside in order to use the same spatial sampling as the fit:\n", "nside = 8\n", "\n", "# We will also use the same energy values as was used in the fit:\n", "binned_energy = galdiff.binned_data.axes['Em'].centers.to(u.MeV).value\n", "binned_energy_edges = galdiff.binned_data.axes['Em'].edges.to(u.MeV).value\n", "energy_err = np.diff(binned_energy_edges)/2.0\n", "\n", "# Below we will pass avg_int=True in order to get the average intensity. Otherwise, the function returns the total intensity by default.\n", "intensity = results.optimized_model[\"galprop_source\"].spatial_shape.get_total_spatial_integral(binned_energy, avg_int=True, nside=nside)\n", "intensity = intensity.value\n", "\n", "yerr = (Kerr/K)*(intensity)\n", "yerr *= (binned_energy**2)\n", "print(\"intensity error:\")\n", "print(yerr)\n", "\n", "intensity *= (binned_energy**2)\n", "\n", "fig,ax = plt.subplots()\n", "\n", "ax.loglog(binned_energy, intensity, ls=\"\", marker=\"o\", color=\"black\", label = \"Best-fit\")\n", "ax.errorbar(binned_energy, intensity, xerr=energy_err, yerr=yerr, ls=\"\", marker=\"o\", color=\"black\", label = \"_nolabel_\")\n", "\n", "# Plot model specturm with galpy:\n", "# This is optional and requires galpy package:\n", "# https://github.com/ckarwin/galpy\n", "#from galpy import GalMapsHeal\n", "#instance = GalMapsHeal()\n", "#instance.read_healpix_file(\"GALPROP_DC3/total_healpix_57_SA100_F98_example.gz\")\n", "#instance.make_spectrum()\n", "#gal_energy = instance.energy\n", "#gal_spec = instance.spectra_list\n", "#ax.loglog(gal_energy, gal_spec, ls=\"-\", marker=\"\", color=\"red\", label = \"GALPROP model\")\n", "\n", "plt.ylabel(\"dN/dE [$\\mathrm{MeV \\ cm^{-2} \\ s^{-1} \\ sr^{-1}}$]\")\n", "plt.xlabel(\"Energy [MeV]\")\n", "plt.title(\"Average Intensity\")\n", "ax.legend()\n", "plt.xlim(5e-2,20)\n", "plt.ylim(1e-4,5e-3)\n", "plt.savefig(\"intensity.pdf\")\n", "plt.show()\n", "plt.close()" ] }, { "cell_type": "markdown", "id": "f4a9afb4", "metadata": {}, "source": [ "Below we plot the best-fit spectrum just for demonstration. Again, this is just a dummy model since the spectrum is contained in the 3D data cube. This has no impact on the fit. " ] }, { "cell_type": "code", "execution_count": 23, "id": "aae869ca", "metadata": {}, "outputs": [], "source": [ "energy = np.linspace(100.,10000.,201)*u.keV\n", "flux = results.optimized_model[\"galprop_source\"].spectrum.main.shape(energy)\n", "\n", "fig,ax = plt.subplots()\n", "\n", "ax.plot(energy, flux, label = \"Best fit\")\n", "\n", "plt.ylabel(\"dN/dE [$\\mathrm{ph \\ cm^{-2} \\ s^{-1} \\ keV^{-1}}$]\", fontsize=14)\n", "plt.xlabel(\"Energy [keV]\", fontsize=14)\n", "ax.legend()\n", "plt.savefig(\"best_fit_model.pdf\")\n", "plt.show()\n", "plt.close()" ] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:base] *", "language": "python", "name": "conda-base-py" }, "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.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }