Phased Analysis
Fermipy provides several options to support analysis with selections on pulsar phase.
This example script will use the pre-made event files included in the repository. These event files have the PULSE_PHASE column added, which lists the pulsar phase for each recorded event. We can then use this information to perform analyses on the pulsar both during and between the pulses.
Also included is a tutorial on how to add the PULSE_PHASE column to an event file. Note that performing the analysis from the raw data can take multiple hours to process.
To perform a phased analysis, the configuration file must have some additional parameters.
The gtlike.expscale parameter defines the correction that should be applied to the nominal exposure to account for the phase selection defined by selection.phasemin and selection.phasemax. Normally this should be set to the size of the phase selection interval, i.e. \(\rm{expscale}=\rm{phasemax}-\rm{phasemin}\).
To perform a joint analysis of multiple phase selections we need to use the components section to define separate ON- and OFF-phase components. We use the gtlike.src_expscale parameter to zero out the 3FGL source component in the OFF phase. For the ON-phase of ``3FGL J0633.9+1746’’ we set \(\rm{src\_expscale}=1\), and for the OFF-phase we set \(\rm{src\_expscale}=0\).
The components selection of the config file is then constructed as:
components: - selection : {phasemin : 0.05, phasemax: 0.20} gtlike : {expscale : 0.15, src_expscale : {'3FGL J0633.9+1746':1.0}} - selection : {phasemin : 0.20 , phasemax: 0.55} gtlike : {expscale : 0.35, src_expscale : {'3FGL J0633.9+1746':0.0}}Where the process of determining the values used for the phases will be shown later. In general the src_expscale parameter can be used to define an exposure correction for indvidual sources.
Data Preparation
This section will go over adding the pulsar ephemeris to the event files. This will require downloading the raw data from the Fermi SSC website.
This section can be skipped by using the pre-processed data included in the repository.
To analyse from scratch, download the data from the FSSC website using the following selections:
Object name or coordinates: 98.4792,17.7729
Coordinate system: J2000
Search radius (deg): 12
Observation dates: 239804670,743358091
Time system: MET
Energy Range (MeV): 1000, 316228
LAT data type: photon
Spacecraft data: yes
The following cell can be used to set up the directory structure and download the data from the FSSC servers. Note that you will likely need to change the file names for the `wget’ lines.
[1]:
# # Set up a subdirectory for the data
# !mkdir -p Geminga_data/
# # Set up a subdirectory for the raw data
# !mkdir -p Geminga_rawdata/PH
# !mkdir -p Geminga_rawdata/SC
# # Download the data and place into the subdirectory
# !wget -P ./Geminga_rawdata/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_PH00.fits
# !wget -P ./Geminga_rawdata/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_PH01.fits
# !wget -P ./Geminga_rawdata/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_PH02.fits
# !wget -P ./Geminga_rawdata/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_PH03.fits
# !wget -P ./Geminga_rawdata/PH/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_PH04.fits
# !wget -P ./Geminga_rawdata/SC/ https://fermi.gsfc.nasa.gov/FTP/fermi/data/lat/queries/L240723161301912CDF4657_SC00.fits
# # As the preprocessing steps append data to the SC file, create a copy
# !cp ./Geminga_rawdata/SC/L240723161301912CDF4657_SC00.fits ./Geminga_rawdata/SC/SC_copy.fits
# # Make a file list of the photon files
# !ls ./Geminga_rawdata/PH/*PH*.fits > ./Geminga_rawdata/PH.txt
Download the ephemeris data from the FSSC website. A list of all ephermiris data can be found here, though more up-to-date ephemerides will likely be required for use in current analyses.
[2]:
# # Download the ephemeris data for the Geminga pulsar
# !wget -P ./Geminga_data/ https://fermi.gsfc.nasa.gov/ssc/data/access/lat/ephems/0633+1746/0633+1746_ApJ_720_272_2010_D4.fits
# !wget -P ./Geminga_data/ https://fermi.gsfc.nasa.gov/ssc/data/access/lat/ephems/0633+1746/0633+1746_ApJ_720_272_2010.par
The following is a brief tutorial of using ephemeris data to add the PULSE_PHASE column to the event file. We will use the bash fermitools to both prepare the evfile and to add the column.
For this tutorial we will use a simplified form of ephemeris file (named a D4 file). These files cover shorter time frames. The benefit is that we can use the built-in functions within the bash fermitools to perform the calculations.
For more complicated ephemerides that cover larger time frames, such as those stored in .par files, you will need to install TEMPO2 to perform the required calculations to add the PULSE_PHASE column.
The bash commands we use to prepare the data are: gtselect, gtmktime, gtbin, gtpphase (click for documentation).
[3]:
# %%bash
# gtselect evclass=128 evtype=3
# @./Geminga_rawdata/PH.txt
# ./Geminga_data/Geminga.fits
# INDEF
# INDEF
# INDEF
# INDEF
# INDEF
# 100
# 316227.76
# 105
[4]:
# %%bash
# gtmktime
# ./Geminga_rawdata/SC/SC_copy.fits
# (DATA_QUAL>0)&&(LAT_CONFIG==1)
# no
# ./Geminga_data/Geminga.fits
# ./Geminga_data/Geminga_gtis.fits
[5]:
# %%bash
# gtbin
# CMAP
# ./Geminga_data/Geminga_gtis.fits
# ./Geminga_data/Geminga_cmap.fits
# ./Geminga_rawdata/SC/SC_copy.fits
# 300
# 300
# 0.1
# CEL
# 98.4756
# 17.7703
# 0
# CAR
[6]:
# %%bash
# gtpphase
# ./Geminga_data/Geminga_gtis.fits
# ./Geminga_rawdata/SC/SC_copy.fits
# ./Geminga_data/0633+1746_ApJ_720_272_2010_D4.fits
# J0633+1746
# DB
Combined ON- and OFF-phase analysis
Import libraries
[7]:
from fermipy import utils
from fermipy.gtanalysis import GTAnalysis
import argparse
from fermipy.castro import CastroData
from fermipy.plotting import ROIPlotter, SEDPlotter
import astropy.io.fits as pyfits
from math import *
import matplotlib.pyplot as plt
utils.init_matplotlib_backend()
import numpy as np
from scipy.integrate import quad
from IPython.display import Image
import os
If the data is not available, download it from the repository.
If you want to perform the analysis on data that hasn’t been pre-processed, only unpack the config file from the tarball.
[8]:
if not os.path.isfile('./Geminga_data/config_phase.yaml'):
if not os.path.isfile('./../data/Geminga_data.tar.gz'):
!curl -OL --output-dir ./../data/ https://raw.githubusercontent.com/fermiPy/fermipy-extras/master/data/Geminga_data.tar.gz
!tar xzf ./../data/Geminga_data.tar.gz
Plot a phase diagram for the pulsar.
[9]:
table = pyfits.open('./Geminga_data/Geminga_gtis.fits')
tabledata = table[1].data
phasevec = tabledata.field('PULSE_PHASE')
phase_bins = np.arange(0.,1.01,0.01)
phase_val = np.arange(0.+0.005,1.0,0.01)
histo_phase = np.histogram(phasevec,phase_bins)
plt.clf()
fig = plt.figure(figsize=(8,6))
plt.errorbar(phase_val, histo_phase[0], yerr=np.sqrt(histo_phase[0]), fmt="o", color="black",label="Geminga")
plt.ylabel(r'$N counts$')
plt.xlabel(r'$x$')
plt.axis([0.,1.0,0.0,1.5e4])
plt.grid(True)
plt.yscale('linear')
plt.xscale('linear')
plt.xticks([0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],
[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1])
plt.legend(loc=3,prop={'size':15},numpoints=1, scatterpoints=1, ncol=1)
fig.tight_layout(pad=0.5)
plt.savefig("./Geminga_data/phase_Geminga.png")
plt.show()
From the phase plot we can see P1 in the range \(0.05<x<0.20\), off-peak in the range \(0.20>x>0.55\), P2 in the range \(0.55<x<0.70\), and bridge emission for \(0.70<x<1.00\).
In this tutorial we will compare the ON- and OFF-phase emission, i.e. we will analyse P1 and the off-peak emission. Hence, we choose phasemax=0.20, phasemin=0.05 for the ON-phase analysis, and phasemax=0.55, phasemin=0.20 for the OFF-phase analysis. These values are included in the configuration file that we will use.
Begin the analysis. If using the pre-processed data this step should take on the order of minutes. If the pre-processed data is not available, this step will take on the order of hours. If re-running this block after generating the srcmap .fits files, it should take approximately a minute.
[10]:
gta = GTAnalysis('./Geminga_data/config_phase.yaml')
gta.setup()
2024-12-19 21:01:17 INFO GTAnalysis.__init__():
--------------------------------------------------------------------------------
fermipy version 1.3.1+6.g74aa
ScienceTools version 2.2.0
{'Prefactor': 0, 'Index1': 1, 'Scale': 2, 'Cutoff': 3, 'Index2': 4}
2024-12-19 21:01:17 INFO GTAnalysis.setup(): Running setup.
2024-12-19 21:01:17 INFO GTBinnedAnalysis.setup(): Running setup for component 00
2024-12-19 21:01:17 INFO GTBinnedAnalysis._select_data(): Skipping data selection.
2024-12-19 21:01:17 INFO GTBinnedAnalysis._create_ltcube(): Skipping LT Cube.
{'Prefactor': 0, 'Index1': 1, 'Scale': 2, 'Cutoff': 3, 'Index2': 4}
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): Running gtexpcube2.
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): time -p gtexpcube2 infile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_00.fits cmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_00.fits irfs="P8R2_SOURCE_V6" evtype=3 edisp_bins=-1 nxpix=360 nypix=180 binsz=1.0 coordsys="GAL" xref=0.0 yref=0.0 axisrot=0.0 proj="CAR" ebinalg="LOG" emin=1000.0 emax=316227.76 enumbins=20 ebinfile="NONE" hpx_ordering_scheme="RING" hpx_order=6 bincalc="EDGE" ignorephi=no thmax=180.0 thmin=0.0 table="EXPOSURE" chatter=3 clobber=yes debug=no mode="ql"
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): This is gtexpcube2 version HEAD
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:01:18 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): Computing binned exposure map....................!
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): Finished gtexpcube2. Execution time: 3.99 s
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): Running gtexpcube2.
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): time -p gtexpcube2 infile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_00.fits cmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_roi_00.fits irfs="P8R2_SOURCE_V6" evtype=3 edisp_bins=0 nxpix=150 nypix=150 binsz=0.08 coordsys="GAL" xref=195.13259294771035 yref=4.269835915614621 axisrot=0.0 proj="CAR" ebinalg="LOG" emin=1000.0 emax=316227.76 enumbins=20 ebinfile="NONE" hpx_ordering_scheme="RING" hpx_order=6 bincalc="EDGE" ignorephi=no thmax=180.0 thmin=0.0 table="EXPOSURE" chatter=3 clobber=yes debug=no mode="ql"
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): This is gtexpcube2 version HEAD
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:01:22 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:01:23 INFO GTBinnedAnalysis.run_gtapp(): Computing binned exposure map....................!
2024-12-19 21:01:23 INFO GTBinnedAnalysis.run_gtapp(): Finished gtexpcube2. Execution time: 1.64 s
WARNING: FITSFixedWarning: 'datfix' made the change 'Set DATEREF to '2001-01-01T00:01:04.184' from MJDREF.
Set MJD-OBS to 54682.655283 from DATE-OBS.
Set MJD-END to 55195.999977 from DATE-END'. [astropy.wcs.wcs]
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): Running gtsrcmaps.
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): time -p gtsrcmaps scfile=./Geminga_rawdata/SC/SC_copy.fits sctable="SC_DATA" expcube=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_00.fits cmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ccube_00.fits srcmdl=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/srcmdl_00.xml bexpmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_00.fits wmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/srcmap_00.fits irfs="P8R2_SOURCE_V6" evtype=3 convol=yes resample=yes rfactor=2 minbinsz=0.05 ptsrc=yes psfcorr=yes emapbnds=no edisp_bins=-1 copyall=no chatter=3 clobber=yes debug=no gui=no mode="ql"
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): This is gtsrcmaps version HEAD
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:01:24 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0633.9+1746
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0626.8+1743
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0631.2+2019
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0647.8+1751
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0648.1+1606
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0648.8+1516
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0650.5+2055
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0610.6+1728
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0611.5+1957
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0619.4+2242
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0700.0+1709
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0609.2+2051c
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0659.5+1414
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0605.9+2039c
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named isodiff
2024-12-19 21:01:27 INFO GTBinnedAnalysis.run_gtapp(): Creating source named galdiff
2024-12-19 21:01:28 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0605.9+2039c 21....................!
2024-12-19 21:01:28 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0609.2+2051c 21....................!
2024-12-19 21:01:29 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0610.6+1728 21....................!
2024-12-19 21:01:30 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0611.5+1957 21....................!
2024-12-19 21:01:30 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0619.4+2242 21....................!
2024-12-19 21:01:31 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0626.8+1743 21....................!
2024-12-19 21:01:31 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0631.2+2019 21....................!
2024-12-19 21:01:32 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0633.9+1746 21....................!
2024-12-19 21:01:33 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0647.8+1751 21....................!
2024-12-19 21:01:33 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0648.1+1606 21....................!
2024-12-19 21:01:34 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0648.8+1516 21....................!
2024-12-19 21:01:34 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0650.5+2055 21....................!
2024-12-19 21:01:35 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0659.5+1414 21....................!
2024-12-19 21:01:35 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0700.0+1709 21....................!
2024-12-19 21:02:05 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for galdiff 21....................!
2024-12-19 21:02:28 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for isodiff 21....................!
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): Finished gtsrcmaps. Execution time: 65.23 s
2024-12-19 21:02:29 INFO GTBinnedAnalysis.setup(): Finished setup for component 00
2024-12-19 21:02:29 INFO GTBinnedAnalysis.setup(): Running setup for component 01
2024-12-19 21:02:29 INFO GTBinnedAnalysis._select_data(): Skipping data selection.
2024-12-19 21:02:29 INFO GTBinnedAnalysis._create_ltcube(): Skipping LT Cube.
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): Running gtexpcube2.
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): time -p gtexpcube2 infile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_01.fits cmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_01.fits irfs="P8R2_SOURCE_V6" evtype=3 edisp_bins=-1 nxpix=360 nypix=180 binsz=1.0 coordsys="GAL" xref=0.0 yref=0.0 axisrot=0.0 proj="CAR" ebinalg="LOG" emin=1000.0 emax=316227.76 enumbins=20 ebinfile="NONE" hpx_ordering_scheme="RING" hpx_order=6 bincalc="EDGE" ignorephi=no thmax=180.0 thmin=0.0 table="EXPOSURE" chatter=3 clobber=yes debug=no mode="ql"
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): This is gtexpcube2 version HEAD
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:02:29 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): Computing binned exposure map....................!
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): Finished gtexpcube2. Execution time: 4.06 s
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): Running gtexpcube2.
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): time -p gtexpcube2 infile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_01.fits cmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_roi_01.fits irfs="P8R2_SOURCE_V6" evtype=3 edisp_bins=0 nxpix=150 nypix=150 binsz=0.08 coordsys="GAL" xref=195.13259294771035 yref=4.269835915614621 axisrot=0.0 proj="CAR" ebinalg="LOG" emin=1000.0 emax=316227.76 enumbins=20 ebinfile="NONE" hpx_ordering_scheme="RING" hpx_order=6 bincalc="EDGE" ignorephi=no thmax=180.0 thmin=0.0 table="EXPOSURE" chatter=3 clobber=yes debug=no mode="ql"
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): This is gtexpcube2 version HEAD
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:02:33 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): Computing binned exposure map....................!
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): Finished gtexpcube2. Execution time: 1.49 s
WARNING: FITSFixedWarning: 'datfix' made the change 'Set DATEREF to '2001-01-01T00:01:04.184' from MJDREF.
Set MJD-OBS to 54682.655283 from DATE-OBS.
Set MJD-END to 55195.999977 from DATE-END'. [astropy.wcs.wcs]
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): Running gtsrcmaps.
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): time -p gtsrcmaps scfile=./Geminga_rawdata/SC/SC_copy.fits sctable="SC_DATA" expcube=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ltcube_01.fits cmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ccube_01.fits srcmdl=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/srcmdl_01.xml bexpmap=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/bexpmap_01.fits wmap=none outfile=/home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/srcmap_01.fits irfs="P8R2_SOURCE_V6" evtype=3 convol=yes resample=yes rfactor=2 minbinsz=0.05 ptsrc=yes psfcorr=yes emapbnds=no edisp_bins=-1 copyall=no chatter=3 clobber=yes debug=no gui=no mode="ql"
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): This is gtsrcmaps version HEAD
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): Using evtype=3 (i.e., FRONT/BACK irfs)
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): ResponseFunctions::load: IRF used: P8R2_SOURCE_V6
2024-12-19 21:02:35 INFO GTBinnedAnalysis.run_gtapp(): event_types: 0 1
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0633.9+1746
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0626.8+1743
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0631.2+2019
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0647.8+1751
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0648.1+1606
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0648.8+1516
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0650.5+2055
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0610.6+1728
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0611.5+1957
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0619.4+2242
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0700.0+1709
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0609.2+2051c
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0659.5+1414
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named 3FGL J0605.9+2039c
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named isodiff
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Creating source named galdiff
2024-12-19 21:02:39 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0605.9+2039c 21....................!
2024-12-19 21:02:40 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0609.2+2051c 21....................!
2024-12-19 21:02:40 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0610.6+1728 21....................!
2024-12-19 21:02:41 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0611.5+1957 21....................!
2024-12-19 21:02:41 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0619.4+2242 21....................!
2024-12-19 21:02:42 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0626.8+1743 21....................!
2024-12-19 21:02:43 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0631.2+2019 21....................!
2024-12-19 21:02:43 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0633.9+1746 21....................!
2024-12-19 21:02:44 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0647.8+1751 21....................!
2024-12-19 21:02:44 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0648.1+1606 21....................!
2024-12-19 21:02:45 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0648.8+1516 21....................!
2024-12-19 21:02:46 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0650.5+2055 21....................!
2024-12-19 21:02:46 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0659.5+1414 21....................!
2024-12-19 21:02:47 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for 3FGL J0700.0+1709 21....................!
2024-12-19 21:03:16 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for galdiff 21....................!
2024-12-19 21:03:40 INFO GTBinnedAnalysis.run_gtapp(): Generating SourceMap for isodiff 21....................!
2024-12-19 21:03:40 INFO GTBinnedAnalysis.run_gtapp(): Finished gtsrcmaps. Execution time: 65.33 s
2024-12-19 21:03:40 INFO GTBinnedAnalysis.setup(): Finished setup for component 01
2024-12-19 21:03:40 INFO GTBinnedAnalysis._create_binned_analysis(): Creating BinnedAnalysis for component 00.
2024-12-19 21:03:44 INFO GTBinnedAnalysis._create_binned_analysis(): Creating BinnedAnalysis for component 01.
2024-12-19 21:03:48 WARNING GTBinnedAnalysis._scale_srcmap(): The expscale parameter was zero, setting it to 1e-8
2024-12-19 21:03:49 INFO GTAnalysis.setup(): Initializing source properties
2024-12-19 21:03:52 INFO GTAnalysis.setup(): Finished setup.
[11]:
gta.print_model()
2024-12-19 21:03:52 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.000 2.976 0.00151 3.12 nan 42003.8
3FGL J0626.8+1743 1.684 2.300 1.69e-06 2.70 nan 21.4
3FGL J0631.2+2019 2.634 0.529 1.95e-06 2.46 nan 20.1
3FGL J0647.8+1751 3.317 2.178 9.76e-07 2.70 nan 12.4
3FGL J0648.1+1606 3.793 0.431 2.26e-06 1.77 nan 7.6
3FGL J0648.8+1516 4.358 1.092 1.2e-05 1.83 nan 45.1
3FGL J0650.5+2055 5.040 0.802 6.84e-06 1.56 nan 13.7
3FGL J0610.6+1728 5.546 0.522 2.26e-06 4.85 nan 42.9
3FGL J0611.5+1957 5.714 0.967 3.93e-06 2.38 nan 36.5
3FGL J0619.4+2242 5.980 0.381 7.81e-06 2.01 nan 27.4
3FGL J0700.0+1709 6.273 0.544 1.29e-06 2.69 nan 14.9
3FGL J0609.2+2051c 6.582 1.310 3.62e-06 2.27 nan 27.4
3FGL J0659.5+1414 7.107 2.874 7.42e-07 15.34 nan 11.0
3FGL J0605.9+2039c 7.210 1.036 4.63e-06 2.36 nan 36.1
isodiff --- 1.000 0.0302 2.12 nan 682.3
galdiff --- 1.000 0.131 0.00 nan 9763.6
Now we perform a first fit to the ROI.
[12]:
gta.free_sources()
gta.optimize()
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0631.2+2019 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0647.8+1751 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0648.1+1606 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0648.8+1516 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0650.5+2055 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0610.6+1728 : ['norm', 'alpha', 'beta']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0611.5+1957 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0619.4+2242 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0700.0+1709 : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0609.2+2051c : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0659.5+1414 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0605.9+2039c : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for isodiff : ['Normalization']
2024-12-19 21:03:52 INFO GTAnalysis.free_source(): Freeing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:03:52 INFO GTAnalysis.optimize(): Starting
Joint fit ['3FGL J0633.9+1746', 'galdiff']
Fitting shape 3FGL J0633.9+1746 TS: 179148.448
Drm_Cache::update Measured counts < 0 3FGL J0633.9+1746 19 -1.08122e-12 2.76718e-12
0.024396 0.0141712 0.00789076 0.00421511 0.00216053 0.00106886 0.000514622 0.000240783 0.000106373 4.40127e-05 1.69327e-05 6.0463e-06 1.95686e-06 5.5132e-07 1.31927e-07 2.62205e-08 4.17742e-09 5.10758e-10 4.5519e-11 2.76718e-12
Fitting shape galdiff TS: 49872.792
Fitting shape 3FGL J0619.4+2242 TS: 520.300
Fitting shape 3FGL J0648.8+1516 TS: 126.285
Fitting shape 3FGL J0650.5+2055 TS: 31.704
Fitting shape isodiff TS: 30.288
2024-12-19 21:03:54 INFO GTAnalysis.optimize(): Finished
2024-12-19 21:03:54 INFO GTAnalysis.optimize(): LogLike: -26231.637120 Delta-LogLike: 7660.387064
2024-12-19 21:03:54 INFO GTAnalysis.optimize(): Execution time: 1.85 s
[12]:
{'loglike0': -33892.024184608636,
'loglike1': -26231.63712026418,
'dloglike': 7660.387064344457,
'config': {'npred_threshold': 1.0,
'npred_frac': 0.95,
'shape_ts_threshold': 25.0,
'max_free_sources': 5,
'skip': [],
'optimizer': {'optimizer': 'MINUIT',
'tol': 0.001,
'max_iter': 100,
'init_lambda': 0.0001,
'retries': 3,
'min_fit_quality': 2,
'verbosity': 0}}}
Delete sources with TS<12.
[13]:
gta.print_model()
gta.delete_sources(minmax_ts=[None,12])
gta.print_model()
2024-12-19 21:03:54 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.000 1.109 0.0008 2.80 201341.12 20155.5 *
3FGL J0626.8+1743 1.684 6.861 5.03e-06 2.70 13.40 63.8 *
3FGL J0631.2+2019 2.634 0.022 8.15e-08 2.46 0.02 0.8 *
3FGL J0647.8+1751 3.317 0.690 3.09e-07 2.70 0.40 3.9 *
3FGL J0648.1+1606 3.793 0.057 2.97e-07 1.77 0.11 1.0 *
3FGL J0648.8+1516 4.358 1.096 2.07e-05 1.60 134.69 45.6 *
3FGL J0650.5+2055 5.040 0.559 8.65e-06 1.26 34.12 8.7 *
3FGL J0610.6+1728 5.546 0.000 4.32e-11 4.85 -0.00 0.0 *
3FGL J0611.5+1957 5.714 0.000 4.07e-11 2.38 -0.00 0.0 *
3FGL J0619.4+2242 5.980 3.228 5.79e-05 2.71 602.85 451.2 *
3FGL J0700.0+1709 6.273 0.101 2.4e-07 2.69 0.45 2.8 *
3FGL J0609.2+2051c 6.582 0.000 2.77e-11 2.27 -0.00 0.0 *
3FGL J0659.5+1414 7.107 1.446 3.74e-07 15.34 2.02 5.5 *
3FGL J0605.9+2039c 7.210 0.000 3.16e-10 2.36 -0.00 0.0 *
isodiff --- 0.767 0.0232 2.12 40.51 523.4 *
galdiff --- 1.360 0.159 0.07 56821.10 12683.5 *
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0631.2+2019
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0647.8+1751
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0648.1+1606
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0610.6+1728
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0611.5+1957
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0700.0+1709
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0609.2+2051c
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0659.5+1414
2024-12-19 21:03:54 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0605.9+2039c
2024-12-19 21:03:54 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.000 1.109 0.0008 2.80 201341.12 20155.5 *
3FGL J0626.8+1743 1.684 6.861 5.03e-06 2.70 13.40 63.8 *
3FGL J0648.8+1516 4.358 1.096 2.07e-05 1.60 134.69 45.6 *
3FGL J0650.5+2055 5.040 0.559 8.65e-06 1.26 34.12 8.7 *
3FGL J0619.4+2242 5.980 3.228 5.79e-05 2.71 602.85 451.2 *
isodiff --- 0.767 0.0232 2.12 40.51 523.4 *
galdiff --- 1.360 0.159 0.07 56821.10 12683.5 *
Perform a fit.
[14]:
gta.fit()
gta.print_model()
2024-12-19 21:03:54 INFO GTAnalysis.fit(): Starting fit.
2024-12-19 21:03:55 INFO GTAnalysis.fit(): Fit returned successfully. Quality: 3 Status: 0
2024-12-19 21:03:55 INFO GTAnalysis.fit(): LogLike: -26228.310 DeltaLogLike: 4.704
2024-12-19 21:03:55 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.000 1.110 0.0008 2.80 180476.66 20144.4 *
3FGL J0626.8+1743 1.684 46.829 4.7e-06 5.00 22.63 110.7 *
3FGL J0648.8+1516 4.358 1.090 2.06e-05 1.60 131.36 45.4 *
3FGL J0650.5+2055 5.040 0.544 8.6e-06 1.25 32.94 8.5 *
3FGL J0619.4+2242 5.980 3.203 5.78e-05 2.73 604.13 454.2 *
isodiff --- 0.900 0.0272 2.12 43.27 613.9 *
galdiff --- 1.329 0.158 0.06 44669.89 12482.8 *
Now we run the gta.tsmap tool and gta.residmap to make a TS map and residual map to find the residuals in the ROI with respect to our initial model.
[15]:
tsmap_initial = gta.tsmap(prefix='TSmap_initial',
make_plots=True,
write_fits=True,
write_npy=True)
2024-12-19 21:03:55 INFO GTAnalysis.tsmap(): Generating TS map
2024-12-19 21:03:56 INFO GTAnalysis._make_tsmap_fast(): Fitting test source.
2024-12-19 21:04:09 INFO GTAnalysis.tsmap(): Finished TS map
2024-12-19 21:04:15 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/TSmap_initial_pointsource_powerlaw_2.00_tsmap.npy
2024-12-19 21:04:15 INFO GTAnalysis.tsmap(): Execution time: 19.98 s
[16]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_initial['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,6,10],vmin=0,vmax=10,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_initial['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
[17]:
resid = gta.residmap('residualmap_initial',
write_fits=True,
write_npy=True,
make_plots=True)
2024-12-19 21:04:15 INFO GTAnalysis.residmap(): Generating residual maps
2024-12-19 21:04:15 INFO GTAnalysis.add_source(): Adding source residmap_testsource
2024-12-19 21:04:18 INFO GTAnalysis.delete_source(): Deleting source residmap_testsource
2024-12-19 21:04:20 INFO GTAnalysis.residmap(): Finished residual maps
2024-12-19 21:04:25 WARNING GTAnalysis.residmap(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/residualmap_initial_pointsource_powerlaw_2.00_residmap.npy
2024-12-19 21:04:25 INFO GTAnalysis.residmap(): Execution time: 9.14 s
[18]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid['data'],roi=gta.roi).plot(vmin=0,vmax=400,subplot=121,cmap='magma')
plt.gca().set_title('Data')
ROIPlotter(resid['model'],roi=gta.roi).plot(vmin=0,vmax=400,subplot=122,cmap='magma')
plt.gca().set_title('Model')
plt.show()
[19]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(resid['sigma'],roi=gta.roi).plot(vmin=-5,vmax=5,levels=[-5,-3,3,5],subplot=121,cmap='RdBu_r')
plt.gca().set_title('Significance')
ROIPlotter(resid['excess'],roi=gta.roi).plot(vmin=-100,vmax=100,subplot=122,cmap='RdBu_r')
plt.gca().set_title('Excess')
plt.show()
[20]:
gta.write_roi('initial',
make_plots=True,
save_model_map=True)
plt.show()
2024-12-19 21:04:25 INFO GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/initial_00.xml...
2024-12-19 21:04:25 INFO GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/initial_01.xml...
2024-12-19 21:04:25 INFO GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/initial.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2024-12-19 21:04:31 INFO GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2024-12-19 21:04:31 INFO GTBinnedAnalysis.write_model_map(): Generating model map for component 01.
2024-12-19 21:04:33 INFO GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/initial.npy...
[21]:
Image(filename='./Geminga_data/initial_counts_spectrum.png')
[21]:
[22]:
Image(filename='./Geminga_data/initial_counts_map_xproj_3.000_5.500.png')
[22]:
[23]:
Image(filename='./Geminga_data/initial_counts_map_yproj_3.000_5.500.png')
[23]:
It is clear from the TS and residual map there is an excess at the location of Geminga.
To improve our model, we first relocalise the Geminga PSR.
[24]:
gta.print_model()
gta.free_sources(free=False)
gta.free_sources(skydir=gta.roi[gta.roi.sources[0].name].skydir,distance=[3.0],free=True)
localsmc = gta.localize(gta.roi.sources[0].name, update=True, make_plots=True)
gta.print_model()
2024-12-19 21:04:35 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.000 1.110 0.0008 2.80 180476.66 20144.4 *
3FGL J0626.8+1743 1.684 46.829 4.7e-06 5.00 22.63 110.7 *
3FGL J0648.8+1516 4.358 1.090 2.06e-05 1.60 131.36 45.4 *
3FGL J0650.5+2055 5.040 0.544 8.6e-06 1.25 32.94 8.5 *
3FGL J0619.4+2242 5.980 3.203 5.78e-05 2.73 604.13 454.2 *
isodiff --- 0.900 0.0272 2.12 43.27 613.9 *
galdiff --- 1.329 0.158 0.06 44669.89 12482.8 *
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0648.8+1516 : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0650.5+2055 : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0619.4+2242 : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for isodiff : ['Normalization']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Fixing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Freeing parameters for isodiff : ['Normalization']
2024-12-19 21:04:35 INFO GTAnalysis.free_source(): Freeing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:04:35 INFO GTAnalysis.localize(): Running localization for 3FGL J0633.9+1746
2024-12-19 21:04:42 INFO GTAnalysis._localize(): Localization succeeded.
2024-12-19 21:04:42 INFO GTAnalysis._localize(): Updating source 3FGL J0633.9+1746 to localized position.
2024-12-19 21:04:42 INFO GTAnalysis.delete_source(): Deleting source 3FGL J0633.9+1746
2024-12-19 21:04:42 INFO GTAnalysis.add_source(): Adding source 3FGL J0633.9+1746
2024-12-19 21:04:44 WARNING GTBinnedAnalysis._scale_srcmap(): The expscale parameter was zero, setting it to 1e-8
2024-12-19 21:04:44 INFO GTAnalysis._localize(): Localization completed with new position:
( ra, dec) = ( 98.4767 +/- 0.0015, 17.7719 +/- 0.0015)
(glon,glat) = ( 195.1329 +/- 0.0015, 4.2674 +/- 0.0015)
offset = 0.0024 r68 = 0.0022 r95 = 0.0036 r99 = 0.0045
2024-12-19 21:04:44 INFO GTAnalysis._localize(): LogLike: -26228.501 DeltaLogLike: -0.191
2024-12-19 21:04:44 INFO GTAnalysis.localize(): Finished localization.
2024-12-19 21:04:48 WARNING GTAnalysis.localize(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/3fgl_j0633.9+1746_loc.npy
2024-12-19 21:04:48 INFO GTAnalysis.localize(): Execution time: 12.88 s
2024-12-19 21:04:48 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.028 0.000766 2.78 201386.60 20144.7 *
3FGL J0626.8+1743 1.684 46.829 4.7e-06 5.00 22.63 110.7 *
3FGL J0648.8+1516 4.358 1.090 2.06e-05 1.60 131.36 45.4
3FGL J0650.5+2055 5.040 0.544 8.6e-06 1.25 32.94 8.5
3FGL J0619.4+2242 5.980 3.203 5.78e-05 2.73 604.13 454.2
isodiff --- 0.900 0.0272 2.12 43.27 613.9 *
galdiff --- 1.329 0.158 0.06 44669.89 12482.8 *
Find new sources. This step will look in the OFF-phase evfile.
[25]:
findsource = gta.find_sources(sqrt_ts_threshold=5,
min_separation=0.2,
tsmap_fitter='tsmap')
gta.print_model()
2024-12-19 21:04:48 INFO GTAnalysis.find_sources(): Starting.
2024-12-19 21:04:48 INFO GTAnalysis.tsmap(): Generating TS map
2024-12-19 21:04:49 INFO GTAnalysis._make_tsmap_fast(): Fitting test source.
2024-12-19 21:05:02 INFO GTAnalysis.tsmap(): Finished TS map
2024-12-19 21:05:07 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/sourcefind_00_pointsource_powerlaw_2.00_tsmap.npy
2024-12-19 21:05:07 INFO GTAnalysis.tsmap(): Execution time: 19.10 s
2024-12-19 21:05:07 INFO GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0633.9+1746
ts: 10107.000935
2024-12-19 21:05:07 INFO GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0617.2+2224
ts: 905.764875
2024-12-19 21:05:07 INFO GTAnalysis.add_source(): Adding source PS J0633.9+1746
2024-12-19 21:05:09 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Prefactor']
2024-12-19 21:05:09 INFO GTAnalysis.add_source(): Adding source PS J0617.2+2224
2024-12-19 21:05:10 INFO GTAnalysis.free_source(): Fixing parameters for PS J0617.2+2224 : ['Prefactor']
2024-12-19 21:05:10 INFO GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0633.9+1746.
2024-12-19 21:05:10 INFO GTAnalysis.free_source(): Freeing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:05:10 INFO GTAnalysis.fit(): Starting fit.
/home/runner/miniconda3/envs/fermipy/lib/python3.9/site-packages/scipy/interpolate/_fitpack2.py:313: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
warnings.warn(message)
2024-12-19 21:05:11 INFO GTAnalysis.fit(): Fit returned successfully. Quality: 3 Status: 0
2024-12-19 21:05:11 INFO GTAnalysis.fit(): LogLike: -19915.528 DeltaLogLike: 783.891
2024-12-19 21:05:11 INFO GTAnalysis._find_sources_iterate(): {'Index': {'error': 0.038711225866265145, 'value': -2.938259075077796},
'Prefactor': {'error': 6.324420094491686e-12, 'value': 2.1839883984371711e-10},
'Scale': {'error': nan, 'value': 1000.0}}
2024-12-19 21:05:11 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:05:11 INFO GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0617.2+2224.
2024-12-19 21:05:11 INFO GTAnalysis.free_source(): Freeing parameters for PS J0617.2+2224 : ['Prefactor', 'Index']
2024-12-19 21:05:11 INFO GTAnalysis.fit(): Starting fit.
2024-12-19 21:05:12 INFO GTAnalysis.fit(): Fit returned successfully. Quality: 3 Status: 0
2024-12-19 21:05:12 INFO GTAnalysis.fit(): LogLike: -19895.015 DeltaLogLike: 20.513
2024-12-19 21:05:12 INFO GTAnalysis._find_sources_iterate(): {'Index': {'error': 0.06463374008790608, 'value': -2.378966256416391},
'Prefactor': {'error': 2.941838802992821e-12, 'value': 3.671385621748616e-11},
'Scale': {'error': nan, 'value': 1000.0}}
2024-12-19 21:05:12 INFO GTAnalysis.free_source(): Fixing parameters for PS J0617.2+2224 : ['Prefactor', 'Index']
2024-12-19 21:05:12 INFO GTAnalysis.find_sources(): Found 2 sources in iteration 0.
2024-12-19 21:05:12 INFO GTAnalysis.tsmap(): Generating TS map
2024-12-19 21:05:13 INFO GTAnalysis._make_tsmap_fast(): Fitting test source.
2024-12-19 21:05:25 INFO GTAnalysis.tsmap(): Finished TS map
2024-12-19 21:05:31 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/sourcefind_01_pointsource_powerlaw_2.00_tsmap.npy
2024-12-19 21:05:31 INFO GTAnalysis.tsmap(): Execution time: 19.25 s
2024-12-19 21:05:31 INFO GTAnalysis._build_src_dicts_from_peaks(): Found source
name: PS J0616.3+2219
ts: 27.518989
2024-12-19 21:05:31 INFO GTAnalysis.add_source(): Adding source PS J0616.3+2219
Each lower bound must be strictly less than each upper bound.
2024-12-19 21:05:32 INFO GTAnalysis.free_source(): Fixing parameters for PS J0616.3+2219 : ['Prefactor']
2024-12-19 21:05:32 INFO GTAnalysis._find_sources_iterate(): Performing spectral fit for PS J0616.3+2219.
2024-12-19 21:05:32 INFO GTAnalysis.free_source(): Freeing parameters for PS J0616.3+2219 : ['Prefactor', 'Index']
2024-12-19 21:05:32 INFO GTAnalysis.fit(): Starting fit.
/home/runner/miniconda3/envs/fermipy/lib/python3.9/site-packages/scipy/interpolate/_fitpack2.py:313: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
warnings.warn(message)
2024-12-19 21:05:33 INFO GTAnalysis.fit(): Fit returned successfully. Quality: 3 Status: 0
2024-12-19 21:05:33 INFO GTAnalysis.fit(): LogLike: -19880.695 DeltaLogLike: 0.086
2024-12-19 21:05:33 INFO GTAnalysis._find_sources_iterate(): {'Index': {'error': 0.19367335656495255, 'value': -2.003930035996887},
'Prefactor': {'error': 1.3773391947844156e-12, 'value': 3.169479686926172e-12},
'Scale': {'error': nan, 'value': 1000.0}}
2024-12-19 21:05:33 INFO GTAnalysis.free_source(): Fixing parameters for PS J0616.3+2219 : ['Prefactor', 'Index']
2024-12-19 21:05:33 INFO GTAnalysis.find_sources(): Found 1 sources in iteration 1.
2024-12-19 21:05:33 INFO GTAnalysis.tsmap(): Generating TS map
2024-12-19 21:05:34 INFO GTAnalysis._make_tsmap_fast(): Fitting test source.
2024-12-19 21:05:46 INFO GTAnalysis.tsmap(): Finished TS map
2024-12-19 21:05:52 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/sourcefind_02_pointsource_powerlaw_2.00_tsmap.npy
2024-12-19 21:05:52 INFO GTAnalysis.tsmap(): Execution time: 19.32 s
2024-12-19 21:05:52 INFO GTAnalysis.find_sources(): Found 0 sources in iteration 2.
2024-12-19 21:05:52 INFO GTAnalysis.find_sources(): Done.
2024-12-19 21:05:52 INFO GTAnalysis.find_sources(): Execution time: 63.97 s
2024-12-19 21:05:52 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 78089.04 19242.0 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12044.70 3626.1
3FGL J0626.8+1743 1.684 0.000 3.99e-11 4.94 -0.00 0.0 *
3FGL J0648.8+1516 4.358 1.090 2.06e-05 1.60 131.36 45.4
3FGL J0650.5+2055 5.040 0.544 8.6e-06 1.25 32.94 8.5
3FGL J0619.4+2242 5.980 3.203 5.78e-05 2.73 604.13 454.2
PS J0617.2+2224 6.068 3.671 8.59e-05 2.38 1087.18 543.8
PS J0616.3+2219 6.135 0.317 1.8e-05 2.00 28.68 63.3
isodiff --- 0.498 0.015 2.12 19.73 339.6 *
galdiff --- 0.994 0.13 -0.00 36746.87 9720.6 *
[26]:
gta.free_sources()
gta.fit()
gta.print_model()
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0648.8+1516 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0650.5+2055 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0619.4+2242 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for PS J0617.2+2224 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.free_source(): Freeing parameters for PS J0616.3+2219 : ['Prefactor', 'Index']
2024-12-19 21:05:52 INFO GTAnalysis.fit(): Starting fit.
/home/runner/miniconda3/envs/fermipy/lib/python3.9/site-packages/scipy/interpolate/_fitpack2.py:313: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
warnings.warn(message)
2024-12-19 21:05:54 INFO GTAnalysis.fit(): Fit returned successfully. Quality: 2 Status: 102
2024-12-19 21:05:54 INFO GTAnalysis.fit(): LogLike: -19823.592 DeltaLogLike: 57.103
2024-12-19 21:05:54 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7 *
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0 *
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9 *
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6 *
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3 *
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1 *
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5 *
isodiff --- 0.459 0.0139 2.12 15.99 312.8 *
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3 *
To see how much the model is improved let’s produce a TS map.
[27]:
tsmap_relnewsources = gta.tsmap(prefix='TSmap_relnewsources',
make_plots=True,
write_fits=True,
write_npy=True)
2024-12-19 21:05:54 INFO GTAnalysis.tsmap(): Generating TS map
2024-12-19 21:05:55 INFO GTAnalysis._make_tsmap_fast(): Fitting test source.
2024-12-19 21:06:08 INFO GTAnalysis.tsmap(): Finished TS map
2024-12-19 21:06:14 WARNING GTAnalysis.tsmap(): Saving TS maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/TSmap_relnewsources_pointsource_powerlaw_2.00_tsmap.npy
2024-12-19 21:06:14 INFO GTAnalysis.tsmap(): Execution time: 20.16 s
[28]:
plt.clf()
fig = plt.figure(figsize=(14,6))
ROIPlotter(tsmap_relnewsources['sqrt_ts'],roi=gta.roi).plot(levels=[0,3,6,10],vmin=0,vmax=5,subplot=121,cmap='magma')
plt.gca().set_title('Sqrt(TS)')
ROIPlotter(tsmap_relnewsources['npred'],roi=gta.roi).plot(vmin=0,vmax=100,subplot=122,cmap='magma')
plt.gca().set_title('NPred')
plt.show()
The TSmap now shows that the OFF-phase pulsar has been successfully modelled out.
[29]:
gta.write_roi('rel_newsources',make_plots=True,save_model_map=True)
plt.show()
2024-12-19 21:06:14 INFO GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/rel_newsources_00.xml...
2024-12-19 21:06:14 INFO GTBinnedAnalysis.write_xml(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/rel_newsources_01.xml...
2024-12-19 21:06:14 INFO GTAnalysis.write_fits(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/rel_newsources.fits...
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %f cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
WARNING: Format %s cannot be mapped to the accepted TDISPn keyword values. Format will not be moved into TDISPn keyword. [astropy.io.fits.column]
2024-12-19 21:06:20 INFO GTBinnedAnalysis.write_model_map(): Generating model map for component 00.
2024-12-19 21:06:21 INFO GTBinnedAnalysis.write_model_map(): Generating model map for component 01.
2024-12-19 21:06:22 INFO GTAnalysis.write_roi(): Writing /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/rel_newsources.npy...
[30]:
Image(filename='./Geminga_data/rel_newsources_counts_spectrum.png')
[30]:
[31]:
Image(filename='./Geminga_data/rel_newsources_counts_map_xproj_3.000_5.500.png')
[31]:
[32]:
Image(filename='./Geminga_data/rel_newsources_counts_map_yproj_3.000_5.500.png')
[32]:
As we can see from the plots above all the residuals have disappeared.
Now we derive the SED of the on and off-phase components of Geminga.
[33]:
gta.print_model()
gta.free_sources(free=False)
gta.free_sources(skydir=gta.roi[gta.roi.sources[0].name].skydir,distance=[3.0],free=True)
gta.print_model()
2024-12-19 21:06:25 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7 *
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0 *
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9 *
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6 *
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3 *
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1 *
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5 *
isodiff --- 0.459 0.0139 2.12 15.99 312.8 *
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3 *
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0648.8+1516 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0650.5+2055 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0619.4+2242 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for PS J0617.2+2224 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for PS J0616.3+2219 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for isodiff : ['Normalization']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Freeing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Freeing parameters for isodiff : ['Normalization']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Freeing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:06:25 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7 *
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0 *
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5
isodiff --- 0.459 0.0139 2.12 15.99 312.8 *
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3 *
Calculate the SED for both the ON- and OFF-phase components of the model
[34]:
Geminga_onphase = gta.sed(gta.roi.sources[0].name, bin_index=2.2, outfile='sedGeminga_onphase.fits', loge_bins=None,write_npy=True,write_fits=True,make_plots=True)
2024-12-19 21:06:25 INFO GTAnalysis.sed(): Computing SED for 3FGL J0633.9+1746
2024-12-19 21:06:25 INFO GTAnalysis._make_sed(): Fitting SED
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0633.9+1746 : ['Index1', 'Cutoff']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0626.8+1743 : ['Index']
2024-12-19 21:06:25 INFO GTAnalysis.free_source(): Fixing parameters for galdiff : ['Index']
/home/runner/miniconda3/envs/fermipy/lib/python3.9/site-packages/scipy/interpolate/_fitpack2.py:313: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
warnings.warn(message)
2024-12-19 21:06:26 INFO GTAnalysis.sed(): Finished SED
2024-12-19 21:06:31 INFO GTAnalysis.sed(): Execution time: 6.48 s
[35]:
Geminga_offphase = gta.sed(gta.roi.sources[1].name, bin_index=2.2, outfile='sedGeminga_offphase.fits', loge_bins=None,write_npy=True,write_fits=True,make_plots=True)
2024-12-19 21:06:31 INFO GTAnalysis.sed(): Computing SED for PS J0633.9+1746
2024-12-19 21:06:31 INFO GTAnalysis._make_sed(): Fitting SED
2024-12-19 21:06:31 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0633.9+1746 : ['Index1', 'Cutoff']
2024-12-19 21:06:31 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Index']
2024-12-19 21:06:31 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0626.8+1743 : ['Index']
2024-12-19 21:06:31 INFO GTAnalysis.free_source(): Fixing parameters for galdiff : ['Index']
/home/runner/miniconda3/envs/fermipy/lib/python3.9/site-packages/scipy/interpolate/_fitpack2.py:313: UserWarning:
The maximal number of iterations maxit (set to 20 by the program)
allowed for finding a smoothing spline with fp=s has been reached: s
too small.
There is an approximation returned but the corresponding weighted sum
of squared residuals does not satisfy the condition abs(fp-s)/s < tol.
warnings.warn(message)
2024-12-19 21:06:33 INFO GTAnalysis.sed(): Finished SED
2024-12-19 21:06:38 INFO GTAnalysis.sed(): Execution time: 6.32 s
Show the SED plots for both components.
[36]:
Image(filename='./Geminga_data/3fgl_j0633.9+1746_sed.png')
[36]:
[37]:
Image(filename='./Geminga_data/ps_j0633.9+1746_sed.png')
[37]:
The SED of the on phase and off-phase components of Geminga are very similar and they are both compatible with a power-law with an exponential cutoff. The off-phase flux is about a factor of two lower than the on-phase flux, which is approximately what would be expected by looking at the phase plot.
We can now search for a possible extension of the off-phase component.
[38]:
gta.free_sources(free=False)
gta.print_model()
gta.free_sources(skydir=gta.roi[gta.roi.sources[0].name].skydir,distance=[1.0],free=True)
gta.print_model()
extensionsmc = gta.extension(gta.roi.sources[1].name,update=True,make_plots=True,sqrt_ts_threshold=3.0,spatial_model='RadialGaussian')
gta.print_model()
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Fixing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Fixing parameters for 3FGL J0626.8+1743 : ['Prefactor', 'Index']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Fixing parameters for isodiff : ['Normalization']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Fixing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:06:38 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5
isodiff --- 0.459 0.0139 2.12 15.99 312.8
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Freeing parameters for 3FGL J0633.9+1746 : ['Prefactor', 'Index1', 'Cutoff']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Freeing parameters for PS J0633.9+1746 : ['Prefactor', 'Index']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Freeing parameters for isodiff : ['Normalization']
2024-12-19 21:06:38 INFO GTAnalysis.free_source(): Freeing parameters for galdiff : ['Prefactor', 'Index']
2024-12-19 21:06:38 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7 *
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5
isodiff --- 0.459 0.0139 2.12 15.99 312.8 *
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3 *
2024-12-19 21:06:38 INFO GTAnalysis.extension(): Running extension fit for PS J0633.9+1746
2024-12-19 21:06:48 INFO GTAnalysis._extension(): Fitting extended-source model.
2024-12-19 21:06:54 INFO GTAnalysis._extension(): Generating TS map.
2024-12-19 21:06:55 INFO GTAnalysis._extension(): Testing point-source model.
/home/runner/work/fermipy/fermipy/fermipy/extension.py:311: RuntimeWarning: invalid value encountered in sqrt
np.sqrt(o['ts_ext']) > sqrt_ts_threshold):
2024-12-19 21:06:57 INFO GTAnalysis._extension(): Best-fit extension: 0.0032 + 0.0355 - nan
2024-12-19 21:06:57 INFO GTAnalysis._extension(): TS_ext: -0.004
2024-12-19 21:06:57 INFO GTAnalysis._extension(): Extension UL: 0.0487
2024-12-19 21:06:57 INFO GTAnalysis._extension(): LogLike: -19823.547 DeltaLogLike: 0.045
2024-12-19 21:06:57 INFO GTAnalysis.extension(): Finished extension fit.
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 1.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': True, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
{'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 1.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': True, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}
2024-12-19 21:07:00 WARNING GTAnalysis.extension(): Saving maps in .npy files is disabled b/c of incompatibilities in python3, remove the maps from the /home/runner/work/fermipy/fermipy/fermipy-extra/notebooks/Geminga_data/ps_j0633.9+1746_ext.npy
2024-12-19 21:07:00 INFO GTAnalysis.extension(): Execution time: 22.31 s
2024-12-19 21:07:00 INFO GTAnalysis.print_model():
sourcename offset norm eflux index ts npred free
--------------------------------------------------------------------------------
3FGL J0633.9+1746 0.002 1.003 0.000737 2.78 59675.98 19239.7 *
PS J0633.9+1746 0.006 2.184 0.000232 2.94 12053.69 3625.7 *
3FGL J0626.8+1743 1.684 0.000 8.69e-12 4.94 -0.00 0.0
3FGL J0648.8+1516 4.358 1.310 2.03e-05 1.68 155.83 53.9
3FGL J0650.5+2055 5.040 0.731 8.2e-06 1.41 38.27 11.6
3FGL J0619.4+2242 5.980 1.288 2.27e-05 2.67 134.44 171.3
PS J0617.2+2224 6.068 4.217 7.59e-05 2.53 890.02 558.1
PS J0616.3+2219 6.135 0.410 2.08e-05 2.04 39.24 78.5
isodiff --- 0.459 0.0139 2.12 15.99 312.8 *
galdiff --- 1.002 0.132 -0.00 36762.71 9808.3 *
{'name': 'PS J0633.9+1746', 'file': None, 'config': {'spatial_model': 'RadialGaussian', 'width': [], 'fit_position': False, 'width_min': 0.01, 'width_max': 1.0, 'width_nstep': 21, 'free_background': False, 'fix_shape': False, 'free_radius': None, 'fit_ebin': False, 'update': True, 'save_model_map': False, 'sqrt_ts_threshold': 3.0, 'psf_scale_fn': None, 'make_tsmap': True, 'tsmap_fitter': 'tsmap', 'make_plots': True, 'write_fits': True, 'write_npy': True, 'reoptimize': False, 'optimizer': {'optimizer': 'MINUIT', 'tol': 0.001, 'max_iter': 100, 'init_lambda': 0.0001, 'retries': 3, 'min_fit_quality': 2, 'verbosity': 0}, 'prefix': '', 'outfile': None, 'loge_bins': []}, 'width': array([0. , 0.01 , 0.01258925, 0.01584893, 0.01995262,
0.02511886, 0.03162278, 0.03981072, 0.05011872, 0.06309573,
0.07943282, 0.1 , 0.12589254, 0.15848932, 0.19952623,
0.25118864, 0.31622777, 0.39810717, 0.50118723, 0.63095734,
0.79432823, 1. ]), 'dloglike': array([-2.04666689e-03, -2.13639701e-02, -3.56450121e-02, -6.07263384e-02,
-1.06489222e-01, -1.93779998e-01, -3.68014969e-01, -7.29011353e-01,
-1.49467855e+00, -3.13189880e+00, -6.58404228e+00, -1.36507556e+01,
-2.74625189e+01, -5.36804741e+01, -9.97982142e+01, -1.72427487e+02,
-2.87718389e+02, -4.53614789e+02, -6.80720630e+02, -9.78332018e+02,
-1.35056834e+03, -1.79255568e+03]), 'loglike': array([-19823.54718137, -19823.56649867, -19823.58077972, -19823.60586104,
-19823.65162393, -19823.7389147 , -19823.91314967, -19824.27414606,
-19825.03981325, -19826.6770335 , -19830.12917698, -19837.19589035,
-19851.00765365, -19877.22560877, -19923.34334887, -19995.97262134,
-20111.26352399, -20277.15992397, -20504.26576437, -20801.87715258,
-21174.11346998, -21616.10081646]), 'loglike_ptsrc': -19823.545134704145, 'loglike_ext': -19823.54718310932, 'loglike_init': -19823.592187568098, 'loglike_base': -19823.592186976275, 'ext': 0.0031622776601683794, 'ext_err_hi': 0.03553568631895012, 'ext_err_lo': nan, 'ext_err': 0.03553568631895012, 'ext_ul95': 0.04867742777048674, 'ts_ext': -0.004096810349437874, 'ebin_e_min': array([], dtype=float64), 'ebin_e_ctr': array([], dtype=float64), 'ebin_e_max': array([], dtype=float64), 'ebin_ext': array([], dtype=float64), 'ebin_ext_err': array([], dtype=float64), 'ebin_ext_err_hi': array([], dtype=float64), 'ebin_ext_err_lo': array([], dtype=float64), 'ebin_ext_ul95': array([], dtype=float64), 'ebin_ts_ext': array([], dtype=float64), 'ebin_dloglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike': array([], shape=(0, 22), dtype=float64), 'ebin_loglike_ptsrc': array([], dtype=float64), 'ebin_loglike_ext': array([], dtype=float64), 'ra': 98.48241809672234, 'dec': 17.76825047457844, 'glon': 195.13858599343803, 'glat': 4.270645947412207, 'ra_err': nan, 'dec_err': nan, 'glon_err': nan, 'glat_err': nan, 'pos_offset': 0.0, 'pos_err': nan, 'pos_r68': nan, 'pos_r95': nan, 'pos_r99': nan, 'pos_err_semimajor': nan, 'pos_err_semiminor': nan, 'pos_angle': nan, 'tsmap': <gammapy.maps.wcs.ndmap.WcsNDMap object at 0x7fb0e227c3d0>, 'ptsrc_tot_map': None, 'ptsrc_src_map': None, 'ptsrc_bkg_map': None, 'ext_tot_map': None, 'ext_src_map': None, 'ext_bkg_map': None, 'source_fit': {'param_names': array([b'Prefactor', b'Index', b'Scale', b'', b'', b'', b'', b'', b'',
b''], dtype='|S32'), 'param_values': array([ 2.17917780e-10, -2.93927962e+00, 1.00000000e+03, nan,
nan, nan, nan, nan,
nan, nan]), 'param_errors': array([6.44569908e-12, 4.00507114e-02, nan, nan,
nan, nan, nan, nan,
nan, nan]), 'ts': 12472.17350611194, 'loglike': -19823.54718310932, 'loglike_scan': array([-26059.63393617, -19826.27396667, -19825.62704997, -19825.06955703,
-19824.60047823, -19824.21882178, -19823.92361325, -19823.7138952 ,
-19823.58872671, -19823.54718311, -19823.57495188, -19823.65798736,
-19823.79580115, -19823.98791163, -19824.23384378, -19824.53312914,
-19824.88530559, -19825.28991732, -19825.74651467, -19826.25465401]), 'dloglike_scan': array([-6.23608675e+03, -2.72678356e+00, -2.07986686e+00, -1.52237392e+00,
-1.05329512e+00, -6.71638670e-01, -3.76430145e-01, -1.66712086e-01,
-4.15436050e-02, 0.00000000e+00, -2.77687746e-02, -1.10804254e-01,
-2.48618046e-01, -4.40728518e-01, -6.86660674e-01, -9.85946027e-01,
-1.33812248e+00, -1.74273421e+00, -2.19933156e+00, -2.70747090e+00]), 'eflux_scan': array([0. , 0.00021979, 0.00022119, 0.0002226 , 0.000224 ,
0.0002254 , 0.00022681, 0.00022821, 0.00022962, 0.00023102,
0.00023218, 0.00023333, 0.00023448, 0.00023563, 0.00023679,
0.00023794, 0.00023909, 0.00024025, 0.0002414 , 0.00024255]), 'flux_scan': array([0.00000000e+00, 1.07017183e-07, 1.07701026e-07, 1.08384869e-07,
1.09068712e-07, 1.09752554e-07, 1.10436397e-07, 1.11120240e-07,
1.11804083e-07, 1.12487926e-07, 1.13049403e-07, 1.13610879e-07,
1.14172356e-07, 1.14733833e-07, 1.15295310e-07, 1.15856786e-07,
1.16418263e-07, 1.16979740e-07, 1.17541217e-07, 1.18102693e-07]), 'norm_scan': array([0. , 2.07319557, 2.08644335, 2.09969113, 2.11293891,
2.12618669, 2.13943447, 2.15268225, 2.16593002, 2.1791778 ,
2.19005504, 2.20093227, 2.21180951, 2.22268675, 2.23356398,
2.24444122, 2.25531845, 2.26619569, 2.27707293, 2.28795016]), 'npred': 3620.7973021213293, 'npred_wt': 3620.7973021213293, 'pivot_energy': 1675.943804731014, 'flux': 1.1248792573749016e-07, 'flux100': 9.791121090520684e-06, 'flux1000': 1.1248792573749016e-07, 'flux10000': 1.2912260217689346e-09, 'flux_err': 2.3752578470244713e-09, 'flux100_err': 9.248234127511655e-07, 'flux1000_err': 2.3752578470244713e-09, 'flux10000_err': 1.2185614659900904e-10, 'flux_ul95': 1.1643613935527828e-07, 'flux100_ul95': 1.013477964204576e-05, 'flux1000_ul95': 1.1643613935527828e-07, 'flux10000_ul95': 1.3365467629006328e-09, 'eflux': 0.0002310219977221619, 'eflux100': 0.00201727365109177, 'eflux1000': 0.0002310219977221619, 'eflux10000': 2.5643644343049865e-05, 'eflux_err': 6.867312745314218e-06, 'eflux100_err': 0.0001482805737881156, 'eflux1000_err': 6.867312745314218e-06, 'eflux10000_err': 2.8357929726827678e-06, 'eflux_ul95': 0.00023913063864015567, 'eflux100_ul95': 0.0020880779373991954, 'eflux1000_ul95': 0.00023913063864015567, 'eflux10000_ul95': 2.6543710595860155e-05, 'dnde': 4.776738073987628e-11, 'dnde100': 1.8948388841844216e-07, 'dnde1000': 2.1791778026611987e-10, 'dnde10000': 2.506184528535934e-13, 'dnde_err': 1.0096963735514904e-12, 'dnde100_err': 2.176638907415179e-08, 'dnde1000_err': 6.445699081999604e-12, 'dnde10000_err': 1.869306858835905e-14, 'dnde_index': 2.9392796218690163, 'dnde100_index': 2.9392796218690163, 'dnde1000_index': 2.9392796218690163, 'dnde10000_index': 2.939279621857915, 'name': 'PS J0633.9+1746', 'spectral_pars': {'Prefactor': {'name': 'Prefactor', 'value': 2.1791778026611985, 'error': 0.06445699081999604, 'min': 1e-05, 'max': 1000.0, 'free': True, 'scale': 1e-10}, 'Index': {'name': 'Index', 'value': 2.9392796218642236, 'error': 0.04005071144191184, 'min': 0.0, 'max': 5.0, 'free': True, 'scale': -1.0}, 'Scale': {'name': 'Scale', 'value': 1.0, 'error': nan, 'min': 0.001, 'max': 1000.0, 'free': False, 'scale': 1000.0}}, 'model_counts': array([1.48948442e+03, 8.98718925e+02, 5.28726612e+02, 3.04527727e+02,
1.72524281e+02, 9.71622569e+01, 5.52350871e+01, 3.18053991e+01,
1.82024047e+01, 1.03764777e+01, 5.93396659e+00, 3.44361787e+00,
2.00895453e+00, 1.15859657e+00, 6.62312890e-01, 3.77832758e-01,
2.15360295e-01, 1.22812088e-01, 7.01745345e-02, 4.00804155e-02]), 'model_counts_wt': array([1.48948442e+03, 8.98718925e+02, 5.28726612e+02, 3.04527727e+02,
1.72524281e+02, 9.71622569e+01, 5.52350871e+01, 3.18053991e+01,
1.82024047e+01, 1.03764777e+01, 5.93396659e+00, 3.44361787e+00,
2.00895453e+00, 1.15859657e+00, 6.62312890e-01, 3.77832758e-01,
2.15360295e-01, 1.22812088e-01, 7.01745345e-02, 4.00804155e-02]), 'covar': array([[0.0041547 , 0.0018058 ],
[0.0018058 , 0.00160406]]), 'model_flux': {'energies': array([ 1000. , 1124.65782212, 1264.85521686, 1422.52931349,
1599.85871961, 1799.29362329, 2023.58964773, 2275.84592607,
2559.5479227 , 2878.61559235, 3237.45754282, 3641.03194931,
4094.91506238, 4605.37825582, 5179.47467923, 5825.13671247,
6551.2855686 , 7367.95455966, 8286.42772855, 9319.39576234,
10481.13134155, 11787.68634794, 13257.1136559 , 14909.71657184,
16768.32936811, 18858.63278773, 21209.5088792 , 23853.44006431,
26826.9579528 , 30171.14810529, 33932.21771895, 38162.13407949,
42919.34260129, 48269.57437678, 54286.75439324, 61054.02296585,
68664.88450043, 77224.49945836, 86851.13737514, 97677.81100895,
109854.11419876, 123548.28882567, 138949.54943731, 156270.6976547 ,
175751.06248548, 197659.80717016, 222299.64825262, 250011.03826179,
281176.86979742, 316227.76601684]), 'log_energies': array([3. , 3.05102041, 3.10204082, 3.15306122, 3.20408163,
3.25510204, 3.30612245, 3.35714286, 3.40816327, 3.45918367,
3.51020408, 3.56122449, 3.6122449 , 3.66326531, 3.71428571,
3.76530612, 3.81632653, 3.86734694, 3.91836735, 3.96938776,
4.02040816, 4.07142857, 4.12244898, 4.17346939, 4.2244898 ,
4.2755102 , 4.32653061, 4.37755102, 4.42857143, 4.47959184,
4.53061224, 4.58163265, 4.63265306, 4.68367347, 4.73469388,
4.78571429, 4.83673469, 4.8877551 , 4.93877551, 4.98979592,
5.04081633, 5.09183673, 5.14285714, 5.19387755, 5.24489796,
5.29591837, 5.34693878, 5.39795918, 5.44897959, 5.5 ]), 'dnde': array([2.17917780e-10, 1.54287031e-10, 1.09236097e-10, 7.73397793e-11,
5.47570046e-11, 3.87682713e-11, 2.74481571e-11, 1.94334517e-11,
1.37589945e-11, 9.74144656e-12, 6.89699969e-12, 4.88311509e-12,
3.45727332e-12, 2.44776921e-12, 1.73303456e-12, 1.22699834e-12,
8.68721821e-13, 6.15060001e-13, 4.35465986e-13, 3.08312400e-13,
2.18286937e-13, 1.54548395e-13, 1.09421145e-13, 7.74707942e-14,
5.48497639e-14, 3.88339454e-14, 2.74946547e-14, 1.94663723e-14,
1.37823025e-14, 9.75794873e-15, 6.90868332e-15, 4.89138717e-15,
3.46313000e-15, 2.45191578e-15, 1.73597035e-15, 1.22907690e-15,
8.70193450e-16, 6.16101923e-16, 4.36203673e-16, 3.08834687e-16,
2.18656718e-16, 1.54810203e-16, 1.09606506e-16, 7.76020310e-17,
5.49426803e-17, 3.88997308e-17, 2.75412311e-17, 1.94993486e-17,
1.38056500e-17, 9.77447886e-18]), 'dnde_lo': array([2.11657259e-10, 1.50303752e-10, 1.06680123e-10, 7.56648070e-11,
5.36191884e-11, 3.79587225e-11, 2.68456745e-11, 1.89700395e-11,
1.33960315e-11, 9.45531180e-12, 6.67157356e-12, 4.70627561e-12,
3.31935521e-12, 2.34087729e-12, 1.65069554e-12, 1.16393642e-12,
8.20678547e-13, 5.78634099e-13, 4.07968125e-13, 2.87635740e-13,
2.02794547e-13, 1.42977724e-13, 1.00804664e-13, 7.10712869e-14,
5.01083342e-14, 3.53287874e-14, 2.49087011e-14, 1.75621431e-14,
1.23825024e-14, 8.73060109e-15, 6.15580643e-15, 4.34041318e-15,
3.06043166e-15, 2.15794288e-15, 1.52160867e-15, 1.07293121e-15,
7.56565848e-16, 5.33491628e-16, 3.76196332e-16, 2.65281898e-16,
1.87071151e-16, 1.31920467e-16, 9.30301502e-17, 6.56056808e-17,
4.62663625e-17, 3.26283753e-17, 2.30107999e-17, 1.62283418e-17,
1.14451826e-17, 8.07193095e-18]), 'dnde_hi': array([2.24363479e-10, 1.58375872e-10, 1.11853310e-10, 7.90518300e-11,
5.59189656e-11, 3.95950855e-11, 2.80641608e-11, 1.99081844e-11,
1.41317920e-11, 1.00362403e-11, 7.13004275e-12, 5.06659936e-12,
3.60092188e-12, 2.55954216e-12, 1.81948075e-12, 1.29347696e-12,
9.19577591e-13, 6.53778968e-13, 4.64817258e-13, 3.30475400e-13,
2.34962860e-13, 1.67055440e-13, 1.18774137e-13, 8.44465355e-14,
6.00398446e-14, 4.26868690e-14, 3.03490750e-14, 2.15770733e-14,
1.53403453e-14, 1.09061865e-14, 7.75363972e-15, 5.51230205e-15,
3.91881626e-15, 2.78593610e-15, 1.98053093e-15, 1.40794677e-15,
1.00088663e-15, 7.11504284e-16, 5.05782827e-16, 3.59537776e-16,
2.55575274e-16, 1.81671574e-16, 1.29136480e-16, 9.17919781e-17,
6.52460654e-17, 4.63764758e-17, 3.29636265e-17, 2.34296641e-17,
1.66529428e-17, 1.18361316e-17]), 'dnde_err': array([6.44569908e-12, 4.08884117e-12, 2.61721332e-12, 1.71205073e-12,
1.16196102e-12, 8.26814202e-13, 6.16003756e-13, 4.74732724e-13,
3.72797499e-13, 2.94793709e-13, 2.33043066e-13, 1.83484267e-13,
1.43648561e-13, 1.11772945e-13, 8.64461991e-14, 6.64786141e-14,
5.08557705e-14, 3.87189676e-14, 2.93512715e-14, 2.21630000e-14,
1.66759229e-14, 1.25070446e-14, 9.35299180e-15, 6.97574132e-15,
5.19008070e-15, 3.85292358e-15, 2.85442027e-15, 2.11070108e-15,
1.55804276e-15, 1.14823773e-15, 8.44956401e-16, 6.20914875e-16,
4.55686265e-16, 3.34020320e-16, 2.44560582e-16, 1.78869868e-16,
1.30693178e-16, 9.54023612e-17, 6.95791542e-17, 5.07030896e-17,
3.69185554e-17, 2.68613709e-17, 1.95299744e-17, 1.41899471e-17,
1.03033851e-17, 7.47674499e-18, 5.42239532e-18, 3.93031544e-18,
2.84729281e-18, 2.06165275e-18]), 'dnde_ferr': array([0.0291537 , 0.02615942, 0.02367893, 0.02189703, 0.02099984,
0.02110441, 0.02219614, 0.02413737, 0.02673744, 0.02981736,
0.03323686, 0.03689487, 0.04072092, 0.04466615, 0.04869644,
0.05278758, 0.05692216, 0.06108743, 0.06527391, 0.06947444,
0.07368355, 0.07789701, 0.08211152, 0.08632446, 0.09053376,
0.09473776, 0.09893512, 0.10312477, 0.10730583, 0.1114776 ,
0.11563949, 0.11979106, 0.12393191, 0.12806174, 0.13218033,
0.13628747, 0.14038303, 0.14446689, 0.14853898, 0.15259924,
0.15664765, 0.1606842 , 0.16470888, 0.16872173, 0.17272276,
0.17671203, 0.18068957, 0.18465546, 0.18860974, 0.1925525 ]), 'pivot_energy': 1675.943804731014}}}