{ "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": 1, "id": "afa6d5f8-c8b5-4dea-9116-2d1628aa712f", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:16:57.093302Z", "iopub.status.busy": "2026-04-16T22:16:57.093055Z", "iopub.status.idle": "2026-04-16T22:16:57.095863Z", "shell.execute_reply": "2026-04-16T22:16:57.095057Z" } }, "outputs": [], "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": 2, "id": "8c0294f9", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:16:57.099784Z", "iopub.status.busy": "2026-04-16T22:16:57.099531Z", "iopub.status.idle": "2026-04-16T22:17:05.776611Z", "shell.execute_reply": "2026-04-16T22:17:05.775613Z" } }, "outputs": [ { "data": { "text/html": [ "
18:17:02 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;46m18:17:02\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=13992381;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/astromodels/functions/functions_1D/functions.py\u001b\\\u001b[2mfunctions.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992382;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992388;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/astromodels/functions/functions_1D/functions.py\u001b\\\u001b[2mfunctions.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992389;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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": [ "
18:17:03 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;46m18:17:03\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=13992396;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/astromodels/functions/functions_1D/absorption.py\u001b\\\u001b[2mabsorption.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992397;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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": [ "
18:17:03 INFO      Starting 3ML!                                                                     __init__.py:44\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m18:17:03\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=13992404;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992405;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992411;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992412;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992418;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992419;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992425;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992426;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py#47\u001b\\\u001b[2m47\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
18:17:04 WARNING   ROOT minimizer not available                                                minimization.py:1208\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m18:17:04\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=13992433;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992434;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992440;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992441;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992447;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/minimizer/minimization.py\u001b\\\u001b[2mminimization.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992448;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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   Could not import plugin FermiLATLike.py. Do you have the relative instrument     __init__.py:126\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=13992454;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992455;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/__init__.py#126\u001b\\\u001b[2m126\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": [ "
18:17:05 WARNING   No fermitools installed                                              lat_transient_builder.py:44\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m18:17:05\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=13992462;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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=13992463;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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": 3, "id": "2e7d4fb7-64de-4f9b-9916-0ec2355b9e97", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:05.780073Z", "iopub.status.busy": "2026-04-16T22:17:05.779831Z", "iopub.status.idle": "2026-04-16T22:17:05.782582Z", "shell.execute_reply": "2026-04-16T22:17:05.781797Z" } }, "outputs": [], "source": [ "#path to download your data\n", "\n", "data_path = Path(\"\") # /path/to/files. Current dir by default" ] }, { "cell_type": "code", "execution_count": 4, "id": "09540da3", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:05.794445Z", "iopub.status.busy": "2026-04-16T22:17:05.794187Z", "iopub.status.idle": "2026-04-16T22:17:06.891761Z", "shell.execute_reply": "2026-04-16T22:17:06.890803Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.fits already exists with the specified checksum (ca94ff1d7a73c1f41479aaf598807673). Skipping.\n" ] } ], "source": [ "# ori file\n", "fetch_wasabi_file('COSI-SMEX/develop/Data/Orientation/DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.fits', \n", " output = data_path / \"DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.fits\" , checksum = 'ca94ff1d7a73c1f41479aaf598807673')" ] }, { "cell_type": "code", "execution_count": 5, "id": "b83081fe", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:06.897264Z", "iopub.status.busy": "2026-04-16T22:17:06.897019Z", "iopub.status.idle": "2026-04-16T22:17:11.606990Z", "shell.execute_reply": "2026-04-16T22:17:11.605999Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named AlbedoPhotons_3months_unbinned_data_filtered_with_SAAcut.fits.gz already exists with the specified checksum (191a451ee597fd2e4b1cf237fc72e6e2). Skipping.\n" ] } ], "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": 6, "id": "5cac59ba", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:11.616755Z", "iopub.status.busy": "2026-04-16T22:17:11.616512Z", "iopub.status.idle": "2026-04-16T22:17:12.359806Z", "shell.execute_reply": "2026-04-16T22:17:12.358809Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named GalTotal_SA100_F98_3months_unbinned_data_filtered_with_SAAcut.fits.gz already exists with the specified checksum (9fda5a7b15a90358abc2b886979f9fef). Skipping.\n" ] } ], "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": 7, "id": "61fa6709", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:12.369579Z", "iopub.status.busy": "2026-04-16T22:17:12.369299Z", "iopub.status.idle": "2026-04-16T22:17:36.000287Z", "shell.execute_reply": "2026-04-16T22:17:35.999287Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named extended_source_response_continuum_merged.h5 already exists with the specified checksum (92ed7e22b1dafce6b57611d5cdb6cf70). 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": 8, "id": "0a157b61", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:36.010713Z", "iopub.status.busy": "2026-04-16T22:17:36.010439Z", "iopub.status.idle": "2026-04-16T22:17:36.652033Z", "shell.execute_reply": "2026-04-16T22:17:36.651049Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A file named total_healpix_57_SA100_F98_example.gz already exists with the specified checksum (82cbeb9a86d86637f19f31c762f379fc). Skipping.\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": 9, "id": "ae21a6b4", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:36.655914Z", "iopub.status.busy": "2026-04-16T22:17:36.655670Z", "iopub.status.idle": "2026-04-16T22:17:36.658322Z", "shell.execute_reply": "2026-04-16T22:17:36.657558Z" } }, "outputs": [], "source": [ "ori_file = data_path / \"DC3_final_530km_3_month_with_slew_15sbins_GalacticEarth_SAA.fits\"\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": 10, "id": "840bb8c4", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:17:36.661596Z", "iopub.status.busy": "2026-04-16T22:17:36.661312Z", "iopub.status.idle": "2026-04-16T22:18:41.395798Z", "shell.execute_reply": "2026-04-16T22:18:41.394756Z" } }, "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": 11, "id": "e81a0b26", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:18:41.399763Z", "iopub.status.busy": "2026-04-16T22:18:41.399522Z", "iopub.status.idle": "2026-04-16T22:18:41.493258Z", "shell.execute_reply": "2026-04-16T22:18:41.492261Z" } }, "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": 12, "id": "757817d0", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:18:41.498308Z", "iopub.status.busy": "2026-04-16T22:18:41.498060Z", "iopub.status.idle": "2026-04-16T22:18:49.043290Z", "shell.execute_reply": "2026-04-16T22:18:49.042198Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "loading GALPROP model: 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": 13, "id": "9cf61817", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:18:49.049592Z", "iopub.status.busy": "2026-04-16T22:18:49.049311Z", "iopub.status.idle": "2026-04-16T22:19:07.909191Z", "shell.execute_reply": "2026-04-16T22:19:07.908145Z" } }, "outputs": [], "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": 14, "id": "f7be55ba", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:19:07.915298Z", "iopub.status.busy": "2026-04-16T22:19:07.915051Z", "iopub.status.idle": "2026-04-16T22:20:25.086070Z", "shell.execute_reply": "2026-04-16T22:20:25.085231Z" } }, "outputs": [ { "data": { "text/html": [ "
18:19:07 INFO      set the minimizer to minuit                                             joint_likelihood.py:1017\n",
       "
\n" ], "text/plain": [ "\u001b[38;5;46m18:19:07\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=13992470;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/site-packages/threeML/classicMLE/joint_likelihood.py\u001b\\\u001b[2mjoint_likelihood.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=13992471;file:///project/ckarwin/astro/chris/my_envs/cosipy_dev/lib/python3.12/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.000816 \n", " background 4.584189 -0.001326 \n", " \n", " positive_error error unit \n", " galprop_source.GalpropHealpixModel.K 0.000825 0.000821 \n", " background 0.001327 0.001326 Hz ,\n", " -log(likelihood)\n", " cosi -171655715.58496818\n", " total -171655715.58496818)" ] }, "execution_count": 14, "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": 15, "id": "73a1c43c-025b-4da3-a67b-cb78c40cae69", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:25.095576Z", "iopub.status.busy": "2026-04-16T22:20:25.095323Z", "iopub.status.idle": "2026-04-16T22:20:25.128820Z", "shell.execute_reply": "2026-04-16T22:20:25.128024Z" } }, "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.7720511839374528\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": 16, "id": "e0e17247", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:25.135828Z", "iopub.status.busy": "2026-04-16T22:20:25.135572Z", "iopub.status.idle": "2026-04-16T22:20:26.228665Z", "shell.execute_reply": "2026-04-16T22:20:26.227868Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "galdiff expected counts:\n", "[7.75333266e+05 1.89566185e+06 1.76323417e+06 1.10662516e+06\n", " 6.56070452e+05 3.87738180e+05 2.35773700e+05 9.77338299e+04\n", " 2.13603721e+04 1.03920532e+03]\n", "\n" ] }, { "data": { "image/png": "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IYTQe1IQiTarqq5ChYqq6iqlo+i1wuJCTnGKwuKOn5FVdD1ffvkloaGhDBgwgMDAQG655RYaGxuBpnWtLs691VHGjh3b4srxl9q+fTuxsbHtOseGDRtYuHBhu97blaSmpjabUFG0TAoi0WZ+vf0IJxy/3vIsuDZlqjL5mq+lJ05cN5VKRXh4OF9++SWnT58mNjaWN954Q7PG1IEDBxSbdPZ6CiKlXFx7S1dIQdQ6UhAJ0Un1DezLC7xA38C+SkcRHUClUmlWX4empV4yMjKAphl2o6KiKCsrAyA3N5c///xT0zYuLo60tDSgaZ2xqKioNq1jlZubi5GRkWb9LYBBgwZpCiIvLy/N4pljx47lqaeeYvTo0fTs2ZMXXniBAwcOMHLkSLy8vHjrrbc0x/j7+wBuuukmjh07dtn5d+3axc0338zAgQPp378/33zzDdC0/tUff/zBE088wYABAzSLhr7xxhsMGTKEQYMGMWnSJM1nLysr46677iIgIICRI0c2+z7/rrGxkWXLlhEUFET//v0JDQ2luroagB07dtCvXz/69evH1KlTycrKApoKs9tvv11zjP379zN27FgAjh07RkhICA8++CADBgxg7969nD9/nokTJ2qOdbHgyMnJ4c4772TIkCH07duX559//op/Lq+//jp9+/alf//+DB06lMrKpmlB1q1bR0hICH379mXevHmaP+sXX3yRxx9/XPP+v/eQbd++nbCwMO6++2769u3LTTfdRHJyMgCLFy8mLi6OAQMGMH369Kt+P12aWlxTbGysetSoUerY2Filo3QKEbsj1JZYqiN2RygdRa9lR2arX+RFdXZkttJRRBtVVVWpY2Ji1FVVVZpt//znP9UeHh6a13379lU/+uijarVarU5ISFAD6qNHj6rVarV67dq1ant7e03boUOHqh988EG1Wq1WZ2dnqwH1/v37W52noaFBPWvWLLW9vb369ttvV69du1admZmp2d+rVy/1qVOn1Gq1Wj1mzBj17Nmz1fX19erCwkJ1t27d1EuXLlU3NjaqMzMz1VZWVuqioqLL3qdWq9WhoaGazzBmzBj13r171Wq1Wp2fn69ubGxUq9VqdUpKitrFxUVdXV19WTu1Wq3+5JNP1A899JC6vr5erVar1R9//LF6ypQparVarV6xYoX63nvvVTc2NqqLi4vVgYGB6gULFlz2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qqGhgQMHDmBra6u51XQ1kZGRAISEhFz7CwJSU1NZsmQJFy5cYN26dZpCKisri4ceeojPPvsMd3d3Zs2axdChQzl58iSPPPJIs+LN1dWV0NBQsrOzWyw2k5OTiY2Nxc/PD39//8v2h4SEUFtby7lz51qVWYiuQm6ZCSFalJWV1awH5u9CQkK4+eabm21LTEzk9ttv5/HHH8fQsOl3rUGDBrF27Vq+/PJLVqxYoWn7zjvvkJKSwsqVK7nttts024uKili0aBHr1q1jyJAhzW73ABQUFLBt2za6deum2VZWVsa///1vLCws2Lx5Mz169ABg0aJFrFixgri4OFxdXTXt+/fvj5eXF0eOHGHZsmVYWFho9p08eZK8vDzmzJmDqanpNb+js2fPYmhoiK+v7zXbRkdH88wzz2BsbMz69eubveeVV16hsLCQN954gyFDhmi233fffSxatIi1a9eyfft2zfapU6fyxx9/cODAAQYNGtTsPFfqHbooICAAgHPnzjU7lxBdnfQQCSFalJWVxfbt21v832+//XZZewsLCxYvXqwphqDpySYjIyNiY2M124qLizl69CiDBg1qVgwB2Nvbc/fdd1NcXKzpffm7+++/v1kxBPDLL79QVVXFlClTNMUQNA0ifuihh1r8bNOnT6eyspIjR440275//34Apk2bdqWvpZm8vDysra2vWTydOHGCJ554AhsbG95///1mxVB8fDznzp1j4sSJlxUoPXr04LbbbiM5OblZL9uoUaOwtbXlxx9/pKKiQrO9vr6e7777DlNT0ysOiHdwcACabt0JIf4iPURCiBYNGTKEN954o9XtPT09sbS0bLbN2NgYBwcHysvLNdtiY2NpaGigrq6uxR6ozMxMANLS0hg+fHizfUFBQZe1vzivTr9+/S7bFxwcjJGR0WXbJ06cyAcffMD+/fs1RVlhYSH/+9//6NOnD15eXtf4tE1KS0txdna+apujR4/y+++/4+Pjw7p167C3t2+2/+LtsKKioha/j/T0dM3/e3t7A2gKns8//5yIiAhmzJgBwPHjxykuLiYsLAwbG5sW81zcXlJS0qrPKERXIQWREKJDWFlZtbjdyMiIxsZGzevS0lKg6XbT2bNnr3i86urqy7Zd7N34u4s9JJcWGtD0VJatre1l221sbBg3bhyHDh0iOTkZb29vDh48SENDQ6t7hwDMzMyora29apvo6GgaGhro169fixkvfh8nTpzgxIkTVzxOVVVVs9dTp07l888/58CBA5qC6Fq3ywBNXnNz86vmFqKrkYJICHFDXSyc7rrrLpYuXdqm9xoYGFzxeEVFRZfta2xspKSkpMVenBkzZnDo0CG++eYbli9fzrfffouVlRXjxo1rdR5bW1vy8vKu2iY8PJxffvmFzz//HCMjo8s+88X8y5cvZ/bs2a0+t4+PD4GBgZw/f56UlBRsbGw4efIkbm5ul40r+ruLBZidnV2rzyVEVyBjiIQQN1RgYCAGBgZER0d3yPF8fHwAWuxtOn/+PA0NDS2+LyQkBB8fH77//ntOnjxJZmYmt956a5t6Try9vamtrSU3N/eKbUxNTXnllVcYNmwYn376KRs2bGi2/+JtwPZ8Hxd7gr799lsOHz5MQ0OD5rH8K7l4C+7i7TchRBMpiIQQN5SjoyPjxo3j3Llz/Pe//21xLp2YmJgWb5m1ZOTIkVhYWPDtt9+SlZWl2V5fX8/WrVuv+t7p06dTWlrKmjVrAC4b5H0tAwYM0OS9GlNTU1avXs3w4cPZs2cP69ev1+wLDg4mODiYI0eOXDbIG5p6uU6fPt3iccPCwjA3N+e7777jwIEDGBoaMmnSpKtmOX/+fLPsQogmcstMCNGiqz12DzBv3rzLHotvrSeffJKMjAw2btzI4cOHCQkJwdramry8PGJjY8nMzGTv3r2t6q2xsbFh2bJlrFu3jkWLFnHLLbdgZWXFr7/+iqmpKU5OTlfsMZkwYQKbNm0iPz+fgICAFuftuZqRI0fy3nvv8ccff1zzVpuJiQkvv/wy//jHP/jss89Qq9U89thjAPzjH//g8ccf56WXXuLzzz/Hz88PMzMzLly4wLlz5ygpKWlxokgrKyvGjBnD4cOHKS4u5uabb77ich4AarWayMhIevXq1eyJPCGEFERCiCu4+Nj9lcyZM6fdBVG3bt14//33+fLLL/nhhx+IiIigsbERBwcHfH19WbBgQYuDoa9k2rRp2NjYsGPHDg4dOoSVlRUjRoxg8eLFzJkz54rLalhZWTFq1Ci+++67NvcOAbi5uTF48GCOHTvG8uXLr/n4/cWi6J///Ceff/45arWa5cuX4+7uztatW/n000/5+eefOXjwIIaGhjg6OtK/f/+rzoQ9depUDh8+DDTNYn01f/75J7m5uTz66KNt/qxC6DsD9ZXmfhdCCB2XmZnJPffcw7hx43jppZdabLNgwQJycnL48ssvr/ik3NVERkbyxBNP8PzzzzNhwoTrjaxVL7/8Mr/99hv//e9/r/hYvhBdlYwhEkLovLKysssef6+pqdEMYB41alSL7/v1119JSUkhLCysXcUQQGhoKDfffDMff/xxs+kFOpuMjAx++OEH7rvvPimGhGiB3DITQui806dP8/rrrzN48GC6d+9OSUkJUVFR5OTkMGjQIG655ZZm7b/66isuXLjA/v37MTU1Zd68edd1/scee4zvv/+evLy8q47hUdKFCxdYuHAhM2fOVDqKEJ2S3DITQui8jIwMtm7dyrlz5yguLgbAw8ODW265hblz51421unOO+8kLy+PHj16sHjx4stmxBZCdD1SEAkhhBCiy5MxREIIIYTo8qQgEkIIIUSXJwWREEIIIbo8KYiEEEII0eVJQSSEEEKILk8KIiGEEEJ0eVIQCSGEEKLLk4JICCGEEF3e/wMb4Qk0P4rTYgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#[magic commented out by run_tutorials.py] %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').to_dense(copy=False).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').to_dense(copy=False).contents, binned_energy_edges, color='purple', label = \"Best-fit convolved with response\")\n", "ax.errorbar(binned_energy, total_expectation.project('Em').to_dense(copy=False).contents, yerr=np.sqrt(total_expectation.project('Em').to_dense(copy=False).contents), color='purple', linewidth=0, elinewidth=1)\n", "ax.stairs(galdiff.binned_data.project('Em').to_dense(copy=False).contents, binned_energy_edges, color = 'black', ls = \":\", label = \"Simulated source counts\")\n", "ax.errorbar(binned_energy, galdiff.binned_data.project('Em').to_dense(copy=False).contents, yerr=np.sqrt(galdiff.binned_data.project('Em').to_dense(copy=False).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": 17, "id": "1819aa48", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:26.238244Z", "iopub.status.busy": "2026-04-16T22:20:26.237991Z", "iopub.status.idle": "2026-04-16T22:20:26.596995Z", "shell.execute_reply": "2026-04-16T22:20:26.596199Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "diff = (galdiff.binned_data.project('Em').to_dense(copy=False).contents - total_expectation.project('Em').to_dense(copy=False).contents)/total_expectation.project('Em').to_dense(copy=False).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": 18, "id": "fa91ca31", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:26.620434Z", "iopub.status.busy": "2026-04-16T22:20:26.620141Z", "iopub.status.idle": "2026-04-16T22:20:27.287308Z", "shell.execute_reply": "2026-04-16T22:20:27.286523Z" } }, "outputs": [ { "data": { "image/png": "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LJ577jlcXA6PrbG1tWXBggXExsaedF/SBxhyUsnJycakSZOM5OTkTt/3Dx//YIxnvPHDxz90+r6ltdraWiMpKcmora21bMuPzzce5uEu+y8/Pv+kuYKCgoyIiAhj9OjRhqenp3HBBRcYjY2NhmEYxhtvvGHceOONRlNTk2EYhvHqq68as2fPNgzDMEaNGmV8++23hmEYRnNzs1FWVmYYhmGcf/75xnvvvXfc4y1atMhYs2ZNq+Pv3LnzpK9tbGw0wsPDjTfffNOyrbi42DAMw5gwYYLxwgsvGIZhGKmpqcaAAQOMrKwswzAMAzCefvppwzAMY+/evYa7u7vR2Nho1NTUGN7e3kZBQYFhGIbxxRdfGOPGjTMMwzC2bt1qDB8+3PKeFi9ebCxdutQwDMN46KGHjBUrVhiGYRiPP/64sXz5ckueyZMnGx9++KFhGIYxffp048svv7RknzFjhrF582ajvr7eCAgIMP79738bhmEY27ZtMwBj+/btx7znDRs2GNdff71hGIZxySWXGGeffbaxZcsWo7q62hgwYIDR0NBgZGZmGp6enpbXAJbcRz7vCRMmGNXV1UZTU5NxzjnntPoMjwYYjzzyiOXx4sWLjX/84x+GYRhGS0uLccMNNxirV682Dh48aHh6eho1NTWGYRhGdXW15fsaMB544AHDMAwjIyPD8PLyMjIzM42ioiJjwIABxu7duw3DMIzXX3/diIqKMlpaWozt27cbdnZ2xvfff28YhmE8//zzxvTp0w3DMIw///nPxpIlSyyZSktLDcM48fdmW++rrUy//ryO/l40DMM444wzjO3bt5/w/R7tlVdeMfr162eMHj3aCA8PN1xdXY2PPvrIMAzDePLJJ425c+e2ma8tbf28sBbbN283vPE2tm/ebnYUq9JjB1X3FbV1teSQQ21drdlR+qSBwweyJH5Jl+6/PTZt2sSYMWNoamripptu4t577+WZZ57h/fff58cff+SMM84AaDW79rRp01ixYgWXX34506dP7/I7K1NSUqirq7PM+QWHZ4OvrKzk559/5ptvvgEgPDyc8847jx07dhAUFATAwoULARg+fDj29vYUFhYSEBDA/Pnzee211/j973/Pxo0bLb0PcXFx/OY3v7H0vNx8881cccUVx2S69tprGTt2LM888wx5eXmkpqYya9Ysqqur+fzzzykqKrK0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cuedd/LWW2/h6elpdjSRPqWlpYVly5ZhGAbnnHMOixYt6rR9q4eoh3NxceG6667D19cXW1tbpk2bhr29PTk5OWZHE+kzgoKCcHR0BMDGxobGxkZKSkpMTiXS93z00UdERUV1yWzWmqm6k9XU1PDWW2+RlJTE3r17qays5P7772fWrFnHtG1oaGDDhg189tlnVFZWEhoayo033sj48eOPu/+cnBwqKyvx9/fvyrchYrW66hz885//zNatW2loaGDixImEhIR0x9sRsUpdcR5WVFTw9ttv8/zzz7N27dpOz6weok5WUVHBxo0byc7OJiws7IRt//SnP7F582YuvPBCbrvtNmxtbbnnnnvYvXt3m+3r6+t57LHHWLhwIe7u7l0RX8TqddU5eOedd7Jt2zbWrFnD+PHjsbGx6aq3IGL1uuI8fPHFF7niiivw8PDomtCGdKr6+nqjpKTEMAzD2Lt3rzFp0iRj69atx7RLTEw0Jk2aZLz55puWbXV1dcaVV15pLF269Jj2jY2Nxj333GM88sgjRktLS9e9AREr11Xn4NHuvfde49tvv+3c4CK9SGefhykpKcYNN9xgNDU1GYZhGI8//rixcePGTs2sHqJO5ujo2K6ZNr/66ivs7OyYO3euZZuTkxNz5swhMTGRoqIiy/aWlhYee+wxbGxsWLlypf4yFTmBrjgHf625uZm8vLxOySvSG3X2ebhr1y5ycnKYP38+l1xyCV988QVvvvkmf/rTnzots8YQmSQtLY2AgADc3NxabY+KigIgPT0dX19fAJ5++mlKS0t5+umnsbfXl0ykM7T3HKyqquK7777j3HPPxdHRkR07drBz506WLFliRmyRXqW95+HcuXOZNm2a5fm//vWv+Pn5sXDhwk7Lot+uJiktLW2zej6y7cgdLIWFhXz88cc4Ojq2qqBXr17N6NGjuyesSC/U3nPQxsaGjz/+mDVr1mAYBv7+/jz44IOEh4d3a16R3qi956GzszPOzs6W552cnHBxcenU8UQqiExSX1+Pg4PDMduP3NpbX18PwODBg/n666+7NZtIX9Dec9DNzY2//OUv3ZpNpK9o73n4aytXruz0LBpDZBInJycaGxuP2d7Q0GB5XkS6js5BEfP1pPNQBZFJvL29KS0tPWb7kW0DBw7s7kgifYrOQRHz9aTzUAWRScLCwsjNzaW6urrV9qSk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eoh33nkHwzBYsWIFQ4YMYcOGDWzatIkdO3bwySefYGtri7e3N6NHjz7hTNhz5sxh27ZtwOFZrE/kl19+oaioiFtvvbXD71Wkt7Mxjjf3u4iIlcvNzeXqq69m6tSpPPLII222WbRoEYWFhfzrX/867p1yJxIfH88dd9zBAw88wPTp0083cpd69NFH+e9//8s///nP496WL9JXaQyRiFi9ysrKY25/r6+vtwxgnjRpUpuv+/7778nMzCQ2NvaUiiGAM844g7POOotXX3211fQCPU1OTg5ffPEF1157rYohkTbokpmIWL1du3bx5JNPMn78eAYNGkRFRQU///wzhYWFjBs3jgsuuKBV+/fff58DBw7w8ccf4+joyMKFC0/r+Lfddhv//ve/KS4uPuEYHjMdOHCA6667jksvvdTsKCI9ki6ZiYjVy8nJYcOGDSQkJFBeXg6Av78/F1xwAVdeeeUxY50WLFhAcXExgYGBLF269JgZsUWk71FBJCIiIn2exhCJiIhIn6eCSERERPo8FUQiIiLS56kgEhERkT5PBZGIiIj0eSqIREREpM9TQSQiIiJ9ngoiERER6fP+H8EJGWLC+8vUAAAAAElFTkSuQmCC", "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').to_dense(copy=False).contents+bg_tot.binned_data.project('Em').to_dense(copy=False).contents\n", "\n", "\n", "ax.stairs(total_expectation.project('Em').to_dense(copy=False).contents \\\n", " +(expectation_bkg.project('Em').to_dense(copy=False).contents) \\\n", " , binned_energy_edges, color='purple', label = \"Best fit convolved with response plus BG\")\n", "ax.errorbar(binned_energy, total_expectation.project('Em').to_dense(copy=False).contents \\\n", " +(expectation_bkg.project('Em').to_dense(copy=False).contents) \\\n", " , yerr=np.sqrt(total_expectation.project('Em').to_dense(copy=False).contents \\\n", " +(expectation_bkg.project('Em').to_dense(copy=False).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": 19, "id": "e84240d4", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:27.321158Z", "iopub.status.busy": "2026-04-16T22:20:27.320907Z", "iopub.status.idle": "2026-04-16T22:20:27.643032Z", "shell.execute_reply": "2026-04-16T22:20:27.642238Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "\n", "mod_tot = total_expectation.project('Em').to_dense(copy=False).contents \\\n", " +(expectation_bkg.project('Em').to_dense(copy=False).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": 20, "id": "3826403f", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:27.654039Z", "iopub.status.busy": "2026-04-16T22:20:27.653774Z", "iopub.status.idle": "2026-04-16T22:20:36.217784Z", "shell.execute_reply": "2026-04-16T22:20:36.216964Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "using nside=8 from user input in evaluate method\n", "loading GALPROP model: total_healpix_57_SA100_F98_example.gz\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n", "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n", "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Interpolating GALPROP map...\n", "intensity error:\n", "[6.45724583e-07 6.82695943e-07 7.12059817e-07 7.51876701e-07\n", " 7.94740958e-07 8.67522322e-07 9.42967615e-07 1.05490452e-06\n", " 1.16255292e-06 1.31519147e-06]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAHTCAYAAADs2/aTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASDFJREFUeJzt3XlcVmX+//H3DYgi4AakZi65ppahlpU7hiu5lNtoi6ZRlrlkZtZjnGymJkfL1HEpLZfsUdo3d0FSLB3c0ilNTSU3SEwUXBA0BeH8/vDHPRK3BIcD933D6/l49Kj7Otc51+e+vZF351znOjbDMAwBAACgwDycXQAAAIC7IkgBAACYRJACAAAwiSAFAABgEkEKAADAJIIUAACASQQpAAAAkwhSAAAAJhGkAAAATCJIAQAKxWazqWPHjs4uA3AKghRQCr377ruy2Wyy2WyKjY11djklRvZnWliLFy+WzWbT4sWLC1+Uk0yePFk2m01btmxxdilAkSJIAaWMYRj65JNP7L/wFyxY4OSK4O4OHz6szz77zNllAE5BkAJKmY0bNyouLk5DhgxRtWrVtGTJEqWnpzu7LLixe+65R7Vq1XJ2GYBTEKSAUib7DFR4eLiefPJJJScna9WqVTn6dOvWTTabTT/99JPDYyxfvlw2m03jx4/P0X7hwgW98cYbaty4sXx8fFSxYkU9+uij2rhxY65j3Hr5KioqSh07dlTFihVzXBpbvXq1nnrqKTVs2FC+vr7y9fVVy5YtNWvWLGVlZTms7ZdfflHfvn1VuXJl+fr6qnXr1oqIiMjzcllCQoJefvll1a1bV2XLllVAQIB69eqlPXv25PlZ5kdcXJxsNpuGDh2quLg4/eUvf1FgYKDKlSunBx54QOvXr8/Rv2PHjnr22WclSc8++6z9cqHNZlNcXJy9340bNzR37lw9/PDDqlChgsqXL6/mzZtr9uzZuT6bgtYgSenp6Zo1a5ZatGihypUrq3z58qpTp4569+6t6OjoHH3/OEeqTp06evvttyVJISEhOd6DJA0aNEg2m01bt251+JmtWLFCNptNL7/8cv4+ZMCJvJxdAIDic/bsWa1du1YNGzZU69atVaFCBX3wwQeaP3++Bg4caO83ZMgQffPNN/rss8/0wQcf5DrOkiVLJElDhw61t8XHx6tjx46Ki4tTu3bt1K1bN125ckXr169Xt27d9PHHHys8PDzXsb7++mtFRUWpe/fuGjFihOLj4+3bJk6cKA8PDz300EOqUaOGUlJS9O2332rMmDHas2ePli5dmuNYR44cUevWrXXx4kWFhYWpWbNmOnHihB5//HH16NHD4Wfy448/qkuXLrpw4YK6du2qJ554QsnJyVq9erXatm2rVatW3XbfgoiPj1erVq1Ut25dPf3007pw4YKWL19uDyYhISH2z7RSpUpas2aNevfureDgYPsxKlWqJEnKyMhQz5499c0336hRo0YaPHiwypUrp++++06jRo3S999/n+uzKUgN2XV8+eWXuvfee/XMM8/Ix8dHv/32m7Zt26aoqCiFhobe9r2OHTtWq1ev1tatWzVkyBDVqVMnx/YXX3xRy5Yt0/z589WhQ4dc+3/88ceSpBEjRuT34wWcxwBQarz33nuGJOOf//ynva1ly5aGzWYzjh49am/7/fffjYoVKxpVq1Y1MjIychzjzJkzhqenp9GiRYsc7R06dDBsNpvx5Zdf5mi/ePGicf/99xvlypUzEhMT7e2LFi0yJBk2m83YsGGDw3qPHTuWqy0zM9N45plnDEnGrl27cmzr1KmTIcmYO3dujvbIyEhDkiHJWLRokb09IyPDqFevnlG2bFljy5YtOfY5ffq0ceeddxrVqlUzrl275rC+P8oe41YnT560t0+ePDnHtqioKEOS0b179xzt2Z/NrbXe6q233jIkGS+//LJx48YNe/uNGzeMYcOGGZKM1atXm67h0qVLhs1mM1q2bJnj+NmSk5Nzve8OHTo4rPG7775z+B6aNm1qlC1bNtexjh8/bthsNqN169YO9wNcDUEKKCWysrKMevXqGR4eHkZCQoK9/d///rchyZgwYUKO/uHh4YYkY/369Tnap02bZkgyZs6caW/bt2+fIcno16+fw7FXr15tSDLmzJljb8sOC3369Cnwe/nhhx8MScbbb79tb/v1118NSUb9+vWNzMzMXPuEhobmCifZdY0fP97hODNmzDAkGREREfmqK68gVbt2bYehpFatWkZAQECOtryCVGZmplGlShWjWrVquUKuYdwMrjabzejfv7/pGlJSUgxJRuvWrY2srKx8ve+CBqnZs2cbkoz3338/R/vEiRMNScaSJUv+dFzAFXBpDyglvv32Wx0/flxdu3ZVjRo17O2DBw/Wq6++qsWLF+udd95RmTJlJN28tLNgwQItWbJEYWFh9v5LlixRmTJlNHjwYHvbzp07JUkpKSmaPHlyrrGTkpIk3by7649atWp125rPnz+vadOmKTIyUidOnNCVK1dybD99+rT9v/ft2ydJeuSRR+ThkXv6Z9u2bXPN7cmuOz4+3mHdR48etddd2Mt7wcHB8vT0zNVes2ZNex358csvv+jChQtq0KCB3nnnHYd9fHx8HH7W+a2hQoUK6tmzp9atW6fg4GD17dtX7dq100MPPaTy5cvnu9a8PPPMM5o4caLmz5+vV199VdLNS5aLFy9W5cqVNWDAAEvGAYoaQQooJebPny8p57wmSapSpYp69uypFStWaM2aNerXr58kqXXr1mrYsKHWrl2rixcvqnLlyvrxxx918OBB9enTR4GBgfZjnD9/XpK0adMmbdq06bY1pKWl5WqrVq2aw76XLl3Sgw8+qJMnT6pVq1Z65plnVKVKFXl5eenSpUuaOXOmrl+/bu+fkpIiSapatarD4zlqz677//7v/25b8+3qLqjs+U1/5OXldduJ845k13z06FH7hG5HHNVckBqWL1+uf/3rX/riiy/01ltvSZLKlSunfv366f3337/t55xf/v7+euqpp/TRRx/pu+++U0hIiNauXavExESNHTtW5cqVK9TxgeLCXXtAKZCUlKTVq1dL+t8dU7f+s2LFCkn/C1vZnnnmGV2/fl3Lly+X9L9J5kOGDMnRr2LFipKkmTNnyrg5ZcDhP4sWLcpV2+0WsPzkk0908uRJvfXWW/r+++81d+5cvfPOO5o8eXKOifHZKlSoIOnmhHpHHLVn171mzZo8684OEq4gu+bHH388z5pPnjxZqHF8fHw0efJk/fLLL/r111/1+eefq23btvr888/tYbuwXnzxRUn/m1ye/e/nn3/ekuMDxYEzUkApkL1WVMuWLXPcBXartWvXKjo6WidPntTdd98t6WaQ+tvf/qYlS5Zo+PDh+vLLLxUYGJjjUp8kPfzww5KkmJgYjR492pKajx07Jknq27dvrm2ObpvPfl87d+5UVlZWrst727Zty7XPrXX36tWrsCVbJvvyW2ZmZq5t99xzjypVqqRdu3YpIyPDfim2KNWsWVNPPvmkBg0apEaNGmnbtm06f/68AgICbrtPXu8hW7NmzdSmTRutWrVK33//vaKjo9W+fXs1btzY8vcAFBXOSAGlQPbaUXPnztUnn3zi8J8XXnjBvup5tpo1a6pTp07atWuXZs6cqaSkJA0ePDjXL+8HHnhA7dq108qVK7Vw4UKHNRw4cEDnzp3Ld83Zt8z/8REje/fu1XvvvZerf61atdSxY0cdO3bMfmYjW1RUVK75UZLUu3dv1atXT3PmzFFkZKTDOnbu3KmrV6/mu24rZAeUX3/9Ndc2Ly8vjRo1SmfOnNHo0aP1+++/5+pz5swZHTp0yPT4SUlJOnDgQK72K1euKC0tTV5eXvL29s7zGHm9h1u9+OKLSk9PV9++fWUYBksewO1wRgoo4bZs2aJffvlF9913X54Tu4cPH653331XixYt0ttvvy0vr5t/PQwZMkTR0dF688037a8d+eKLL9SpUycNHz5cs2bN0kMPPaRKlSopISFB+/fv18GDB7Vz507dcccd+ar7mWee0bRp0zR27Fh99913atCggY4ePar169friSeesF9uvNWcOXPUpk0bvfTSS4qMjLSvI7VixQr17t1ba9asyXGmqkyZMlq5cqW6du2qsLAwtW7dWsHBwSpfvrxOnTqlPXv26MSJEzpz5oxlk6zz45FHHlH58uU1Y8YMnT9/3j6PbNSoUapYsaImTZqkn376SR999JHWrVunTp06qUaNGjp37pyOHj2q7du3691331WTJk1MjX/69Gk1b95c9913n5o1a6aaNWvq8uXLWr9+vRITEzV69Gj5+/vneYyQkBB5eHjojTfe0MGDB1W5cmVJ0l//+tcc/fr3769XXnlFp0+fVmBgoJ544glTNQNOU4x3CAJwgsGDB+daruB2OnfubEgyVq5caW+7cuWKUaFCBUOSce+99+a5/+XLl413333XaNGiheHr62uUK1fOqFOnjtGjRw/j448/NtLS0ux9/2ytJMMwjJ9//tno2bOnERQUZJQvX95o0aKFsWDBAvvt/EOGDMm1z+HDh43HH3/cqFixolG+fHnj4YcfNtavX29ftmHVqlW59jl79qzx+uuvG02bNjV8fHwMX19fo379+kbfvn2NpUuXOlxmwBHlsfyBo1oN4+b6W47+Kt6wYYPx8MMPG76+vvbjnjx50r49KyvL+Oyzz4xOnToZlStXNsqUKWPceeedRps2bYx3333X+PXXX03XcPHiRePtt982QkJCjDvvvNPw9vY2qlWrZnTo0MH4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LhKTugHAuSxbkLN///5q0aKF1qxZoyNHjigtLU1+fn5q3Lixevfurbp161o1FEoBq+6OK+w8JMn15yIxqRsAnMeSOVK4PeZIFZyju+OceYaFuUgAgNuxZEFOwCrZd8f9MbRk3x03YcKEYq+JBSYBALdDkILLcNWVuqWbl89ee+01eXp65mj39PR0ymNYAACugYcWwxKuenecFat0Z2MuEgDgjwhSsISr3h1n1Srd2VhgEgBwK4JUEYmOjlZ0dLTS0tKcXUqxcNW746xcpRsAgD/irr0ixl17+cfdcQAAd2N6srkzJvyiZOPuOACAuzEdpB5//HF9+OGHio2NtbIelHLcHQcAcCemL+117txZ6enpstlsqlevnsLCwtS5c+cCrexcGnBpzxyrVjYHAKAomQ5SV69e1aZNmxQZGakjR47IZrOpTJkyateuncLCwtSyZUura3VLBCkAAEouSyabx8XFKSIiQps2bdLFixdls9l0xx13KCwsTN26dVPVqlWtqNUtEaQAACi5LL1rLzMzUzt27FBERIR2796tzMxMeXh46IEHHlBYWJjatm0rL6/SteICQQoAgJLL0lTj6empdu3aqV27drpw4YK++eYbRUZGavfu3dqzZ48qVKigtWvXWjkkAACA0xTZs/aqVKmiQYMGafLkybrvvvtkGIblq0wDAAA4U5FcZ8ueiB4REaFffvlFhmGoXLlyCgkJKYrhAAAAnMLSIPXjjz8qMjJSMTExun79ugzDUJMmTRQWFqZOnTqpfPnyVg4HAADgVIUOUufOndOGDRu0YcMGJSYmyjAMVapUSb169VJYWJjq1KljQZkAAACux3SQ2rx5syIjI/Xjjz8qKytLHh4eevDBB0vt3XkAAKD0MZ12/v73v0uSqlevru7du6t79+664447LCsMAADA1ZkOUo8++igrmAMAgFLNdJD629/+ZmUdAAAAbseyiUw3btzQypUrFR0drV9//VXXr1/Xd999J0k6evSo1q1bp/79+6tmzZpWDQkAAOBUlgSp69ev69VXX9XBgwdVsWJF+fr66tq1a/bt1atXV2RkpPz9/RUeHm7FkC4vOjpa0dHRSktLc3YpAACgiFiysvnSpUt14MABPf/881q9erXCwsJybPfz81NwcLD27NljxXBuITQ0VFOmTNGoUaOcXQoAACgilgSpb7/9Vs2bN9fg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gEkEKQAAAJMIUgAAACYRpAAAAEwiSAEAAJhEkAIAADCJIAUAAGASQQoAAMAkghQAAIBJBCkAAACTCFIAAAAmEaQAAABMIkgBAACYRJACAAAwiSAFAABgEkEKAADAJIIUAACASQQpAAAAkwhSAAAAJhGkAAAATCJIAQAAmESQAgAAMIkgBQAAYBJBCgAAwCSCFAAAgEkEKQAAAJMIUgAAACYRpAAAAEwiSAEAAJhEkAIAADCJIAUAAGASQQoAAMAkghQAAIBJBCkAAACTCFIAAAAmEaQAAABMIkgBAACYRJACAAAwiSAFAABgEkEKAADAJIJUPh08eFAdOnTQkiVLnF0KAABwEQSpfMjKytLs2bN1zz33OLsUAADgQrycXYA7WLdunRo3bqwrV644uxQAAOBC3OKM1NWrV7Vw4UKNHz9eYWFhat++vTZs2OCwb3p6uubNm6fHH39coaGheuGFF7Rnzx7TY6ekpOj//u//NGzYMNPHAAAAJZNbBKmUlBQtXrxY8fHxql+/fp5933vvPX311Vfq3LmzRo8eLQ8PD02YMEH79+83NfaCBQvUv39/+fv7m9ofAACUXG5xaS8gIECrVq1SQECAjhw5oueff95hv0OHDmnz5s168cUXNWjQIElS165dNXToUM2bN0/z5s2z9x05cqQOHDjg8DhPP/20wsPD9csvv+jIkSN65ZVXrH9TAADA7blFkPL29lZAQMCf9tu6das8PT3Vq1cve1vZsmUVFham+fPn6+zZs6pataokac6cOX96vH379unUqVPq27evJCktLU2enp767bff9MYbb5h8NwAAoKRwiyCVX0ePHtVdd90lX1/fHO2NGzeWJB07dswepPKjV69eevTRR+2vZ82aperVq+vJJ5+0pmAAAODWSlSQOn/+vMMzV9ltycnJBTpeuXLlVK5cOfvrsmXLysfHJ8/5UsnJyTp//rz99bFjxyRJ8fHxBRobAAA4X+3atXNkgT8qUUHq+vXrKlOmTK52b29v+/bCePPNN/+0z9q1a7V48eJc7e+8806hxgYAAMVvwYIFatSo0W23l6ggVbZsWWVkZORqT09Pt28var169VKbNm3sr1NTUzVr1iy99tpr9kBXEP/+9781atSoItsnv33z6hcfH6933nlHf/3rX1W7du0C1epuzPx5uFsNVh6/MMcq6L7F/b2XSs93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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": 21, "id": "aae869ca", "metadata": { "execution": { "iopub.execute_input": "2026-04-16T22:20:36.296799Z", "iopub.status.busy": "2026-04-16T22:20:36.296551Z", "iopub.status.idle": "2026-04-16T22:20:36.512468Z", "shell.execute_reply": "2026-04-16T22:20:36.511669Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n", "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n", "\n", "WARNING SyntaxWarning: invalid escape sequence '\\m'\n", "\n" ] }, { "data": { "image/png": "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X+vWrbNZ6z//+U97Lwm4q/GicAB2c/78eQ0ZMqTANjVq1NDq1avv0IrubjVq1FDPnj0lqUgvIS6OAwcO6MUXX1S7du00Z86cAttOnz5d27dv1+uvv66HH35Yfn5+GjlypNLS0rRmzZoSXSfgCAhjAOyudu3aevjhh/Osq1ix4h1ezd2rRo0aGjVq1B2Zq23btvLx8dHhw4eVkJAgHx+fPNulpaVpz549qlixojp37ixJatasmZo1a6bz588TxoBCIIwBsLvatWvfsZCBwnFyclKvXr20fPlybdmyRU8++WSe7bZv366MjAz17t1bbm5ud3iVgGPgnjEApUrnzp01YcIEXb58WTNnzlSfPn3UvXt3Pfvsszpy5Eiefa5fv65PPvlETzzxhLp3767evXvrhRde0LFjx3K1nTBhgvWerCVLlmjo0KEKCgrSJ598Ym2za9cuhYaGqnv37urbt6/ee+89paamavDgwRo8eLC13dtvv63OnTsrMjIyz3UtXbpUnTt31vbt229zV/J28eJFPfnkk+revbvCw8Ot5VeuXNGHH36oYcOG6aGHHlKfPn302muv6fTp0zb9e/fuLZPJpM2bN8tiseQ5R1hYmCQpODi4RI4BKAsIYwBKnbS0NI0dO1Znz57VI488os6dOys6OlovvvhirkCRkpKiMWPGaPny5apUqZL69u2rzp0765dfftHEiRO1Z8+ePOd4/fXXtWXLFgUGBmrgwIGqWbOmJGnTpk16/fXXFR8frx49eqhnz56KiIjQ5MmTdfPmTZsxQkJCrH3+Kjs7W2FhYapcubL18p6Rzp49q+eee04XL17U7Nmz1bVrV0nSuXPnNHr0aP3nP/9RrVq19Nhjj+lvf/ubDhw4oDFjxtgExxo1aui+++7T77//nmfQPX36tKKiotSkSRM1bdrU8GMAygouUwKwu3PnztmcefqzFi1a6IEHHrApO3XqlPr166dJkybJyemP/6Zs06aN3nvvPX399dd68cUXrW3/9a9/6cyZM3r55Zf16KOPWsuvXLmi0NBQzZ49W/fff3+uS2yXLl3SsmXL5OnpaS1LTU3VvHnz5O7uro8++kh169aVJIWGhurFF19UdHS0atSoYW3funVrNWjQQDt27NC4cePk7u5urTtw4IASExM1aNAgubq6FnXLChQREaEpU6bIxcVFH374oRo3bmyt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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "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": "cosipy_dev", "language": "python", "name": "cosipy_dev" }, "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.13" } }, "nbformat": 4, "nbformat_minor": 5 }