NITRATES#

Install NITRATES#

# ! git clone git@github.com:Swift-BAT/NITRATES.git
# ! conda create -n nitrates_env python=3.9 -y
# ! conda activate nitrates_env
# %cd NITRATES
# ! pip install -r requirements.txt
# ! pip install -e .

Data preparation#

We start with some preparatory steps. Uncomment these commands or run them on terminal, making sure you have loaded the heasoft environment

user_name = 'samueleronchini'
# root = f'/home/idies/workspace/Storage/{user_name}/persistent'
root = f'/Users/{user_name}/Desktop/acme_tutorials/nitrates'

Edit here trigid and trigger_time.

trigid = '785996578_c0'
triggertime = '2025-11-28T04:22:21.610000'

Put here your guess for the position of the external trigger

# Define the literature/source sky position used throughout the tutorial.
source_ra_dec = (123, 50)

Initialize NITRATES specifying where are all the response files#

import logging
import os
# Force Numba to use a single thread to avoid a segfault in its
# parallel JIT kernels on macOS (OpenMP + fork-safety issue).
os.environ['NUMBA_NUM_THREADS'] = '1'
from pathlib import Path
import numpy as np
from astropy.io import fits
from nitrates.lib import (
    get_conn,
    get_info_tab,
    mask_detxy,
    convert_radec2thetaphi,
    convert_theta_phi2radec,
)
from nitrates.response import RayTraces
from nitrates.models import (
    Cutoff_Plaw_Flux,
    Source_Model_InOutFoV,
    CompoundModel,
    Sig_Bkg_Model,
    get_eflux_from_model,
)
from nitrates.llh_analysis import parse_bkg_csv, LLH_webins2, NLLH_ScipyMinimize_Wjacob

logging.basicConfig(level=logging.WARNING)

# Use the explicit local response directory
resp_dir = Path(f'/Users/{user_name}/Desktop/NITRATES/tests/nitrates_resp_dir').resolve()
if not resp_dir.exists():
    raise FileNotFoundError(f'NITRATES response directory not found: {resp_dir}')

os.environ['NITRATES_RESP_DIR'] = str(resp_dir)
rt_dir = resp_dir / 'ray_traces_detapp_npy'
solid_angle_dpi_path = resp_dir / 'solid_angle_dpi.npy'

print(f"Using responses from: {resp_dir}")
Could not get the $HEADAS system variable. Please ensure that this is set and points to the HEASOFT directory.
Could not get the $CALDB system variable. Please ensure that this is set and points to the CALDB directory.
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
/opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
Using responses from: /Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir

Here we prepare data, including detector mask file, filtered event file…

import os

# data_dir = f'{root}/{trigid}/data'
data_dir = f'{root}/data'

if not os.path.exists(data_dir):
    os.makedirs(data_dir)

workdir = f'{root}/{trigid}'

if not os.path.exists(workdir):
    os.makedirs(workdir)
    
def filter_data(obsid):
    command = f'python -m nitrates.data_prep.mkdb --work_dir {workdir} '
    ! echo {command}
    ! {command}
    
    # Try finding the event file
    import glob
    evt_files = glob.glob(f'{root}/data/{obsid}/bat/event/sw*bevsh*_uf.evt.gz')
    if len(evt_files) == 0:
        print(f"No event file found for {obsid}!")
        return
    evfname = evt_files[0]
    
    command = '' \
    '' \
    'python -m nitrates.data_prep.do_data_setup ' \
    f'--work_dir {workdir}' \
    f' --trig_time {triggertime}' \
    f' --evfname {evfname}' \
    f' --dmask {root}/data/{obsid}/bat/hk/sw{obsid}bdecb.hk.gz' \
    f' --att_fname {root}/data/{obsid}/auxil/sw{obsid}pat.fits.gz' \
    f' --acs_fname {root}/data/{obsid}/auxil/sw{obsid}pat.fits.gz' \
    f' --dbfname {workdir}/results.db'
    
    ! echo {command}
    ! {command}

We first get data from GUANO, using swifttools. For a complete guide to use GUANO API, see https://www.swift.psu.edu/too_api/index.php?md=Swift GUANO Example Notebook.ipynb

import matplotlib.pyplot as plt
import numpy as np
import astropy.units as u
import os
import logging
import time
from pathlib import Path
import traceback
from swifttools.swift_too import GUANO, Clock, Data

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

import warnings
warnings.filterwarnings("ignore")



def guano_query(triggertime, ext_obsid, workdir, datadir):

    if '.' not in triggertime.split('T')[1]:
        triggertime = triggertime + '.000Z'
    else:
        triggertime = triggertime + 'Z'

    logging.info(f'Using triggertime: {triggertime}')

    guano = GUANO(triggertime=triggertime, successful = False)

    logging.info(guano)

    for item in guano: # this loop is required if multiple triggers are associated with the same obsid
        logging.info(f'running {item}')

        if item.data.exposure is None:
            logging.error(f'No exposure time found for obsid {item.obsid}. Skipping this obsid.')
            exit()

        if ext_obsid is not None:
            obsid = ext_obsid
        else:
            obsid = item.obsid

        print(obsid)

        start_time_try = time.time()
        event = None
        while time.time() - start_time_try < 1800 and event is None:
            try:
                '''
                We need to remove any data or results already existing
                '''
                # Remove directories if they exist
                obsid_dir = f"{datadir}/{obsid}"
                obsid_eventresult_dir = f"{datadir}/{obsid}_eventresult"
                if os.path.exists(obsid_dir):
                    os.system(f"rm -rf {obsid_dir}")
                if os.path.exists(obsid_eventresult_dir):
                    os.system(f"rm -rf {obsid_eventresult_dir}")


                data = Data(obsid=obsid, bat=True, outdir=datadir, clobber=True, uksdc=True)
                logging.info(data)
                filter_data(obsid)
                event = 0

            except Exception:
                logging.error(f"Failed to create Data and BatEvent for obsid {obsid}: {traceback.format_exc()}")
    
    return event
! pip install scikit-learn
Requirement already satisfied: scikit-learn in /opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages (1.6.1)
Requirement already satisfied: numpy>=1.19.5 in /opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages (from scikit-learn) (1.26.4)
Requirement already satisfied: scipy>=1.6.0 in /opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages (from scikit-learn) (1.13.1)
Requirement already satisfied: joblib>=1.2.0 in /opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages (from scikit-learn) (1.5.2)
Requirement already satisfied: threadpoolctl>=3.1.0 in /opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages (from scikit-learn) (3.5.0)
guano_query(triggertime, None, workdir, data_dir)
00011439009
Downloading files: 100%|██████████| 31/31 [00:57<00:00,  1.85s/files]
python -m nitrates.data_prep.mkdb --work_dir /Users/samueleronchini/Desktop/acme_tutorials/nitrates/785996578_c0

Could not get the $HEADAS system variable. Please ensure that this is set and points to the HEASOFT directory.
Could not get the $CALDB system variable. Please ensure that this is set and points to the CALDB directory.
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
/opt/anaconda3/envs/nitrates_env/lib/python3.9/runpy.py:127: RuntimeWarning: 'nitrates.data_prep.mkdb' found in sys.modules after import of package 'nitrates.data_prep', but prior to execution of 'nitrates.data_prep.mkdb'; this may result in unpredictable behaviour
Traceback (most recent call last):
  File "/opt/anaconda3/envs/nitrates_env/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/opt/anaconda3/envs/nitrates_env/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/Users/samueleronchini/Desktop/NITRATES/nitrates/data_prep/mkdb.py", line 214, in <module>
    main(args)
  File "/Users/samueleronchini/Desktop/NITRATES/nitrates/data_prep/mkdb.py", line 102, in main
    create_tables(conn, sql_tab_list)
  File "/Users/samueleronchini/Desktop/NITRATES/nitrates/lib/sqlite_funcs.py", line 275, in create_tables
    conn.execute(sql_tab)
sqlite3.OperationalError: table DataInfo already exists
python -m nitrates.data_prep.do_data_setup --work_dir /Users/samueleronchini/Desktop/acme_tutorials/nitrates/785996578_c0 --trig_time 2025-11-28T04:22:21.610000 --evfname /Users/samueleronchini/Desktop/acme_tutorials/nitrates/data/00011439009/bat/event/sw00011439009bevshpo_uf.evt.gz --dmask /Users/samueleronchini/Desktop/acme_tutorials/nitrates/data/00011439009/bat/hk/sw00011439009bdecb.hk.gz --att_fname /Users/samueleronchini/Desktop/acme_tutorials/nitrates/data/00011439009/auxil/sw00011439009pat.fits.gz --acs_fname /Users/samueleronchini/Desktop/acme_tutorials/nitrates/data/00011439009/auxil/sw00011439009pat.fits.gz --dbfname /Users/samueleronchini/Desktop/acme_tutorials/nitrates/785996578_c0/results.db
Could not get the $HEADAS system variable. Please ensure that this is set and points to the HEASOFT directory.
Could not get the $CALDB system variable. Please ensure that this is set and points to the CALDB directory.
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
/opt/anaconda3/envs/nitrates_env/lib/python3.9/runpy.py:127: RuntimeWarning: 'nitrates.data_prep.do_data_setup' found in sys.modules after import of package 'nitrates.data_prep', but prior to execution of 'nitrates.data_prep.do_data_setup'; this may result in unpredictable behaviour
WARNING: hdu= was not specified but multiple tables are present, reading in first available table (hdu=1) [astropy.io.fits.connect]
/opt/anaconda3/envs/nitrates_env/lib/python3.9/site-packages/jwt/api_jwt.py:153: InsecureKeyLengthWarning: The HMAC key is 9 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2.
00011439009
(800, 285, 172)
3.0 0.0009692982456140351
(309, 171, 167)
785996535.1799991 170.5 166.5
0.000897592819257446 44.0

(800, 285, 172)
2.0 0.000968686250509996
(24, 202, 61)
785996545.4800045 201.5 60.5
0.001040391676866585 51.0

(800, 285, 172)
2.0 0.0009669012647898817
(2, 226, 58)
785996561.040005 225.5 57.5
0.0009791921664626683 48.0

(800, 285, 172)
4.0 0.0009872756017951856
(95, 180, 33)
785996578.9000032 179.5 32.5
0.0011831905344757243 58.0

(800, 285, 172)
3.0 0.0009561148510811914
(484, 180, 33)
785996602.6799958 179.5 32.5
0.0009995920032639738 49.0

(800, 285, 172)
3.0 0.0009625407996736026
(536, 141, 28)
785996619.7199948 140.5 27.5
0.0009179926560587516 45.0

(800, 285, 172)
2.0 0.0009629487964096287
(3, 176, 139)
785996625.060005 175.5 138.5
0.001101591187270502 54.0

(800, 285, 172)
5.0 0.0009616228070175439
(406, 234, 102)
785996649.1199973 233.5 101.5
0.0009995920032639738 49.0

(800, 285, 172)
4.0 0.0009676662586699307
(624, 180, 33)
785996669.4799931 179.5 32.5
0.0010811913504691962 53.0

(800, 285, 172)
2.0 0.0009566758465932272
(18, 263, 143)
785996673.3600047 262.5 142.5
0.0009791921664626683 48.0

(800, 285, 172)
3.0 0.0009315330477356181
(43, 180, 33)
785996689.8600042 179.5 32.5
0.0009383924928600572 46.0

(800, 285, 172)
2.0 0.0008911158710730315
(64, 284, 135)
785996706.2800038 283.5 134.5
0.0009995920032639738 49.0

(800, 285, 172)
2.0 0.0004797786617707058
(19, 79, 117)
785996721.3800046 78.5 116.5
0.0009383924928600572 46.0

('trigtimeUTC: ', '2025-11-28 04:22:21.610')
('tmin_UTC: ', '2025-11-28 04:21:32.236')
['/Users/samueleronchini/Desktop/NITRATES/nitrates/HeasoftTools/run_ftool.sh', 'batfftimage', 'detmask.fits', '/Users/samueleronchini/Desktop/acme_tutorials/nitrates/785996578_c0/pc_2.img', 'detmask=detmask.fits', 'attitude=attitude.fits', 'pcodemap=YES', 'clobber=YES', 'oversampx=2', 'oversampy=2', 'aperture=CALDB:DETECTION']
/Users/samueleronchini/Desktop/NITRATES/nitrates/HeasoftTools/run_ftool.sh: line 6: /headas-init.sh: No such file or directory
/Users/samueleronchini/Desktop/NITRATES/nitrates/HeasoftTools/run_ftool.sh: line 14: batfftimage: command not found
0

Load event data and masks#

We keep the exact screening used in the test suite: select good detectors, 14–500 keV photons, and a ±1000 s window around the trigger.

The detmask.fits file tells NITRATES which BAT detector pixels are usable and which must be ignored.

It is needed for three main reasons:

  1. Event filtering

    • Each event is mapped to a detector position.

    • Using the detector mask, events landing on disabled or invalid detector pixels are rejected.

    • In the code, this is used through mask_detxy(...) and the selection mask_vals == 0.0.

  2. Building the analysis detector plane

    • bl_dmask = dmask == 0.0 defines the set of good detectors.

    • The likelihood, source model, and background model must all use the same valid detector set.

  3. Correct instrument response

    • BAT is a coded-mask instrument, so the expected source pattern depends on which detector pixels are active.

    • Excluding bad or masked detectors is necessary to compute the correct shadow pattern, count rates, and significances.

In short, the detector mask ensures that the analysis uses only reliable BAT detectors and that both the data and the models are evaluated on the same physical detector configuration.

# Trigger metadata
conn = get_conn(workdir + '/results.db')
info_tab = get_info_tab(conn)
trig = info_tab['trigtimeMET'][0]

# Event data and detector mask
ev_data = fits.open(workdir + '/filter_evdata.fits')[1].data
dmask = fits.open(workdir + '/detmask.fits')[0].data
mask_vals = mask_detxy(dmask, ev_data)
bl_dmask = dmask == 0.0

# Basic time/energy cuts
t_start = trig - 50
t_end = trig + 50
bl_ev = (
    (ev_data['EVENT_FLAGS'] < 1)
    & (ev_data['ENERGY'] <= 500.0)
    & (ev_data['ENERGY'] >= 14.0)
    & (mask_vals == 0.0)
    & (ev_data['TIME'] <= t_end)
    & (ev_data['TIME'] >= t_start)
)
filtered_ev_data = ev_data[bl_ev]
print(f"Selected {len(filtered_ev_data)} events over {t_end - t_start:.1f} s")
Selected 415572 events over 100.0 s

results.db is the database file where the trigger times of all my candidates are saved

info_tab
tstartMET tstopMET trigtimeMET utcf mjdref tstartUTC tstopUTC trigtimeUTC
0 7.859965e+08 7.859967e+08 7.859966e+08 None None 2025-11-28 04:21:32.236 2025-11-28 04:24:52.353 2025-11-28 04:22:21.610
1 7.859965e+08 7.859967e+08 7.859966e+08 None None 2025-11-28 04:21:32.236 2025-11-28 04:24:52.353 2025-11-28 04:22:21.610
2 7.859965e+08 7.859967e+08 7.859966e+08 None None 2025-11-28 04:21:32.236 2025-11-28 04:24:52.353 2025-11-28 04:22:21.610
3 7.859965e+08 7.859967e+08 7.859966e+08 None None 2025-11-28 04:21:32.236 2025-11-28 04:24:52.353 2025-11-28 04:22:21.610

Let’s have a quick look to the light curve#

import matplotlib.pyplot as plt

# Light curve with 1 s bins (from the same filtered event selection)
bin_size = 0.512  # seconds

# Plot range relative to trigger: [-5, +5] s
t0_lc = trig - 50.0
t1_lc = trig + 50.0

# Use only events in that interval (filtered_ev_data is already quality/energy screened)
bl_lc = (filtered_ev_data['TIME'] >= t0_lc) & (filtered_ev_data['TIME'] <= t1_lc)
ev_lc = filtered_ev_data[bl_lc]

t_edges = np.arange(t0_lc, t1_lc + bin_size, bin_size)
counts_lc, _ = np.histogram(ev_lc['TIME'], bins=t_edges)

# Convert to count rate and Poisson errors
rate_lc = counts_lc / bin_size
rate_lc_err = np.sqrt(np.maximum(counts_lc, 1.0)) / bin_size
t_cent = 0.5 * (t_edges[:-1] + t_edges[1:])

plt.figure(figsize=(8.0, 3.8))
plt.step(t_edges[:-1] - trig, rate_lc, where='post', lw=1.6, label='1 s bins (step)')
plt.errorbar(t_cent - trig, rate_lc, yerr=rate_lc_err, fmt='none', ecolor='black', alpha=0.5, capsize=2)

plt.axvline(0.0, color='tab:red', ls='--', lw=1, alpha=0.8, label='Trigger')
plt.xlim(-50, 50)
plt.ylim(0.8 * rate_lc.max(), rate_lc.max() * 1.1)
plt.xlabel('Time - trigger [s]')
plt.ylabel('Count rate [counts/s]')
plt.title('Light curve (1 s step histogram, -50 to +50 s)')
plt.grid(alpha=0.3)
plt.legend(fontsize=8)
plt.tight_layout()
plt.show()
../_images/0b6bfd20b1088c5b2775b712e80de2936f357578f8db34d6f26643b515d5c4bf.png

The GRB we are analysing is this https://gcn.nasa.gov/circulars/events/grb-210622a

Configure the spectral and spatial model#

We adopt the cut-off power-law used in the paper and center the fit on the known GRB position. The RayTraces and response tables come from the lightweight bundle and are small enough for laptop use.

The attitude file (sw<obsid>pat.fits.gz → copied locally as attitude.fits) records the spacecraft pointing history throughout the observation.

What it contains:

Column

Description

TIME

Mission Elapsed Time (MET) of each attitude sample

QPARAM

4-element quaternion describing the spacecraft orientation at that time

Why NITRATES needs it:

  1. Converting sky coordinates to detector coordinates

    • BAT detects photons in its own frame; the signal model must be evaluated in detector angles \((\theta, \phi)\), not in (RA, Dec).

    • The quaternion at the trigger time rotates (RA, Dec) into the instrument frame via convert_radec2thetaphi.

  2. Selecting the correct quaternion

    att_ind = np.argmin(np.abs(attfile['TIME'] - trig))
    att_quat = attfile['QPARAM'][att_ind]
    
    • The sample closest in time to the trigger is picked so the source shadow pattern corresponds to the actual pointing at the moment of the event.

  3. Back-converting best-fit positions

    • After the fit, convert_theta_phi2radec(..., att_quat) maps the best-fit \((\theta, \phi)\) back to (RA, Dec) for reporting.

In short#

The attitude file provides the rotation matrix (quaternion) that links the sky frame to the BAT detector frame. Without it, NITRATES cannot compute where a source falls on the detector plane or how bright its coded-mask shadow should be.

# Build the analysis energy bins in keV.
# `ebins0` contains the lower edge of each bin and `ebins1` the matching upper edge.
ebins0 = np.array([15.0, 24.0, 35.0, 48.0, 64.0])
ebins0 = np.append(ebins0, np.logspace(np.log10(84.0), np.log10(500.0), 5 + 1))[:-1]
ebins0 = np.round(ebins0, decimals=1)[:-1]
ebins1 = np.append(ebins0[1:], [350.0])

# Load the spacecraft attitude table and select the quaternion closest to the trigger time.
# This quaternion describes how the instrument was oriented on the sky at that moment.
attfile = fits.open(workdir + '/attitude.fits')[1].data
att_ind = np.argmin(np.abs(attfile['TIME'] - trig))
att_quat = attfile['QPARAM'][att_ind]

# Convert the source sky coordinates (RA, Dec) into instrument coordinates (theta, phi).
# The source response must be evaluated in the detector frame, not directly in RA/Dec.
theta, phi = convert_radec2thetaphi(*source_ra_dec, att_quat)

# Configure the spectral model parameters used as the initial source hypothesis.
# `A` is the normalization, `gamma` the photon index, and `Epeak` the cutoff/peak scale in keV.
flux_params = {'A': 1.0, 'gamma': 0.5, 'Epeak': 1e2}
flux_mod = Cutoff_Plaw_Flux(E0=100.0)

# Load the precomputed ray traces that encode detector shadowing across the field of view.
rt_obj = RayTraces(rt_dir)

# Build the non-imaging source model using the spectral model, energy bins, detector mask,
# ray traces, and the response tables bundled with the tutorial dataset.
sig_mod = Source_Model_InOutFoV(
    flux_mod,
    [ebins0, ebins1],
    bl_dmask,
    rt_obj,
    use_deriv=True,
    resp_tab_dname=resp_dir/'resp_tabs_ebins',
    comp_flor_resp_dname=resp_dir/'comp_flor_resps',
    hp_flor_resp_dname=resp_dir/'hp_flor_resps',
)

# Apply the instrument-frame sky position and spectral parameters to the source model.
sig_mod.set_theta_phi(theta, phi)
sig_mod.set_flux_params(flux_params)

# Print a compact summary so we can verify the selected attitude sample and derived geometry.
print(f"Pointing quaternion index: {att_ind}")
print(f"Theta/Phi (deg): {theta:.3f}, {phi:.3f}")
(0.0, 30.48, -14.117)
(0.0, 30.48, -14.117)
(45.0, 54.0)
35.59031462549889
35.59031462549889
initing ResponseDPI, with fname
/Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir/resp_tabs_ebins/drm_theta_45.0_phi_30.0_.fits
initing ResponseDPI, with fname
/Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir/resp_tabs_ebins/drm_theta_45.0_phi_45.0_.fits
initing ResponseDPI, with fname
/Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir/resp_tabs_ebins/drm_theta_54.0_phi_30.0_.fits
initing ResponseDPI, with fname
/Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir/resp_tabs_ebins/drm_theta_54.0_phi_45.0_.fits
Pointing quaternion index: 175
Theta/Phi (deg): 52.335, 125.590
OMP: Info #276: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.

The Source_Model_InOutFoV function describes the signal expected from the source, once sky position and spectral parameters are defined. This model will be passed to the likelihood to estimate the signal amplitude and compare it with the bkg model

4) Background model#

Operationally, bkg_estimation.csv is the time-dependent background model used by the LLH fit.

In practice, the background-estimation step does this:

  1. Selects off-source / background-dominated time intervals around the trigger (outside the short on-source window).

  2. Builds detector+energy count data in those intervals using the same detector mask and energy binning.

  3. Fits a parametric background model (diffuse/instrument components, and optional bright point sources).

  4. Solves for model parameters as a function of time (so each analysis time has a matched background state).

  5. Writes the fitted parameters to bkg_estimation.csv.

Then parse_bkg_csv(...) reads that table and reconstructs the corresponding NITRATES model objects (bkg_mod and optional ps_mods) for the specific trigger time. These are combined with the source model so the LLH minimization can separate transient signal from background.

import os
import time
import sqlite3
import shutil
import contextlib
from pathlib import Path
from types import SimpleNamespace
from unittest.mock import patch
from astropy.table import Table
import nitrates.llh_analysis.do_bkg_estimation_wPSs_mp2 as bkg_script

workdir_path = Path(workdir)

bkg_csv_path = workdir_path / 'bkg_estimation.csv'
overwrite_bkg_csv = True  # set True to force regeneration
fast_bkg_only = False     # True => skip bright-source location fitting for a faster local run

# Patch script-level response paths
bkg_script.solid_angle_dpi_fname = str(resp_dir / 'solid_angle_dpi.npy')
if (resp_dir / 'bright_src_cat.fits').exists():
    bkg_script.bright_source_table_fname = str(resp_dir / 'bright_src_cat.fits')

# Build a local DB copy with corrected absolute paths
src_db   = workdir_path / 'results.db'
local_db = workdir_path / 'results.localpaths.db'
shutil.copy2(src_db, local_db)

conn_local = sqlite3.connect(local_db)
cur = conn_local.cursor()

tables = {n.lower(): n for (n,) in cur.execute("SELECT name FROM sqlite_master WHERE type='table'").fetchall()}
files_table = tables.get('files')

if files_table:
    cols = {r[1] for r in cur.execute(f"PRAGMA table_info({files_table})").fetchall()}
    path_updates = {
        'evfname':  workdir_path / 'filter_evdata.fits',
        'detmask':  workdir_path / 'detmask.fits',
        'dmask':    workdir_path / 'detmask.fits',
        'attfname': workdir_path / 'attitude.fits',
        'rtDir':    resp_dir / 'ray_traces_detapp_npy',
        'rt_dir':   resp_dir / 'ray_traces_detapp_npy',
        'pcfname':  resp_dir / 'pc_2.img',
    }
    for col, path in path_updates.items():
        if col in cols and path.exists():
            cur.execute(f"UPDATE {files_table} SET {col}=?", (str(path),))

conn_local.commit()
conn_local.close()

if bkg_csv_path.exists() and not overwrite_bkg_csv:
    print(f'Using existing file: {bkg_csv_path}')
else:
    args = SimpleNamespace(
        preset_bkg_log_file=False,
        bkg_nopost=False,
        bkg_nopre=False,
        archive=False,
        disable_bkg_sourceloc_fit=True,
        dbfname=str(local_db),
        pcfname=None,
        evfname=None,
        dmask=None,
        twind=20.0,
        sig_twind=20.0 * 1.024,
        bkg_dur=60.0,
        job_id=0,
        Njobs=1,
    )

    t_start_bkg = time.time()
    patch_srcs = patch('nitrates.llh_analysis.do_bkg_estimation_wPSs_mp2.get_srcs_infov', return_value=Table())

    old_cwd = Path.cwd()
    try:
        os.chdir(workdir)
        with (patch_srcs if fast_bkg_only else contextlib.nullcontext()):
            bkg_script.main(args)
    finally:
        os.chdir(old_cwd)

    print(f'Background estimation completed in {time.time() - t_start_bkg:.1f} s')

print(f'bkg_estimation.csv path: {bkg_csv_path}')
print(f'Exists: {bkg_csv_path.exists()}')
-20.480000019073486
     START             STOP      
--------------- -----------------
    785996529.0   785996552.77434
785996573.25434 785996603.9743401
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.02214697926098997, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.11061092198777264, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.02214697926098997, 'bkg_rate_5': 0.019687458362675853, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.11061092198777264, 'flat_5': 0.09828719402786316, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.02214697926098997, 'bkg_rate_5': 0.019687458362675853, 'bkg_rate_6': 0.015180504300574377, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.11061092198777264, 'flat_5': 0.09828719402786316, 'flat_6': 0.24117895945259382, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.02214697926098997, 'bkg_rate_5': 0.019687458362675853, 'bkg_rate_6': 0.015180504300574377, 'bkg_rate_7': 0.010568466155847708, 'bkg_rate_8': 0.05, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.11061092198777264, 'flat_5': 0.09828719402786316, 'flat_6': 0.24117895945259382, 'flat_7': 0.05265518741076313, 'flat_8': 0.25}
{'bkg_rate_0': 0.0644316720459877, 'bkg_rate_1': 0.04978512727165841, 'bkg_rate_2': 0.030573630860756824, 'bkg_rate_3': 0.02729610384563488, 'bkg_rate_4': 0.02214697926098997, 'bkg_rate_5': 0.019687458362675853, 'bkg_rate_6': 0.015180504300574377, 'bkg_rate_7': 0.010568466155847708, 'bkg_rate_8': 0.007419613996726595, 'flat_0': 0.024341512823263255, 'flat_1': 0.0, 'flat_2': 0.15277221605500008, 'flat_3': 0.13634459005678629, 'flat_4': 0.11061092198777264, 'flat_5': 0.09828719402786316, 'flat_6': 0.24117895945259382, 'flat_7': 0.05265518741076313, 'flat_8': 0.036887228621198656}
-19.455999970436096
      START              STOP      
----------------- -----------------
      785996529.0 785996553.7983401
785996574.2783401 785996604.9983401
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.022096481898586654, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.11035093620559691, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.022096481898586654, 'bkg_rate_5': 0.019639921484929185, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.11035093620559691, 'flat_5': 0.09805678407084113, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.022096481898586654, 'bkg_rate_5': 0.019639921484929185, 'bkg_rate_6': 0.015137001921686193, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.11035093620559691, 'flat_5': 0.09805678407084113, 'flat_6': 0.33599179846717553, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.022096481898586654, 'bkg_rate_5': 0.019639921484929185, 'bkg_rate_6': 0.015137001921686193, 'bkg_rate_7': 0.010538266220922236, 'bkg_rate_8': 0.05, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.11035093620559691, 'flat_5': 0.09805678407084113, 'flat_6': 0.33599179846717553, 'flat_7': 0.0525110114570436, 'flat_8': 0.25}
{'bkg_rate_0': 0.06437034152882164, 'bkg_rate_1': 0.04974678302607131, 'bkg_rate_2': 0.03047494076953745, 'bkg_rate_3': 0.027312999901724762, 'bkg_rate_4': 0.022096481898586654, 'bkg_rate_5': 0.019639921484929185, 'bkg_rate_6': 0.015137001921686193, 'bkg_rate_7': 0.010538266220922236, 'bkg_rate_8': 0.007397552560468595, 'flat_0': 0.04648493812903035, 'flat_1': 0.0, 'flat_2': 0.15228549259832513, 'flat_3': 0.13646526718302573, 'flat_4': 0.11035093620559691, 'flat_5': 0.09805678407084113, 'flat_6': 0.33599179846717553, 'flat_7': 0.0525110114570436, 'flat_8': 0.036777618043010094}
-18.432000041007996
     START            STOP     
--------------- ---------------
    785996529.0 785996554.82234
785996575.30234 785996606.02234
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.022074270740267462, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.11024100860103798, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.022074270740267462, 'bkg_rate_5': 0.019597608548912803, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.11024100860103798, 'flat_5': 0.09785511276790865, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.022074270740267462, 'bkg_rate_5': 0.019597608548912803, 'bkg_rate_6': 0.015097362733930003, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.11024100860103798, 'flat_5': 0.09785511276790865, 'flat_6': 0.37498617559841974, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.022074270740267462, 'bkg_rate_5': 0.019597608548912803, 'bkg_rate_6': 0.015097362733930003, 'bkg_rate_7': 0.01052838343802694, 'bkg_rate_8': 0.05, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.11024100860103798, 'flat_5': 0.09785511276790865, 'flat_6': 0.37498617559841974, 'flat_7': 0.41616869797619915, 'flat_8': 0.25}
{'bkg_rate_0': 0.06418225824022049, 'bkg_rate_1': 0.04971667431668412, 'bkg_rate_2': 0.030514972634844977, 'bkg_rate_3': 0.027295474808533688, 'bkg_rate_4': 0.022074270740267462, 'bkg_rate_5': 0.019597608548912803, 'bkg_rate_6': 0.015097362733930003, 'bkg_rate_7': 0.01052838343802694, 'bkg_rate_8': 0.007383063640994492, 'flat_0': 0.049631617667175054, 'flat_1': 0.0, 'flat_2': 0.1524991130305521, 'flat_3': 0.1363802705679797, 'flat_4': 0.11024100860103798, 'flat_5': 0.09785511276790865, 'flat_6': 0.37498617559841974, 'flat_7': 0.41616869797619915, 'flat_8': 0.036703230256529946}
-17.407999992370605
      START              STOP      
----------------- -----------------
      785996529.0 785996555.8463401
785996576.3263401 785996607.0463401
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.022010252843650498, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.10991856647140451, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.022010252843650498, 'bkg_rate_5': 0.019584385725246508, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.10991856647140451, 'flat_5': 0.12554711613379996, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.022010252843650498, 'bkg_rate_5': 0.019584385725246508, 'bkg_rate_6': 0.01510384137213173, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.10991856647140451, 'flat_5': 0.12554711613379996, 'flat_6': 0.31634894314644096, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.022010252843650498, 'bkg_rate_5': 0.019584385725246508, 'bkg_rate_6': 0.01510384137213173, 'bkg_rate_7': 0.010549019369904933, 'bkg_rate_8': 0.05, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.10991856647140451, 'flat_5': 0.12554711613379996, 'flat_6': 0.31634894314644096, 'flat_7': 0.10650449427558652, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414731536575281, 'bkg_rate_1': 0.04963616633459268, 'bkg_rate_2': 0.030535798598794645, 'bkg_rate_3': 0.0272478079255275, 'bkg_rate_4': 0.022010252843650498, 'bkg_rate_5': 0.019584385725246508, 'bkg_rate_6': 0.01510384137213173, 'bkg_rate_7': 0.010549019369904933, 'bkg_rate_8': 0.007393728718634251, 'flat_0': 0.07648509265561608, 'flat_1': 0.0, 'flat_2': 0.15259305518790703, 'flat_3': 0.13611217965695083, 'flat_4': 0.10991856647140451, 'flat_5': 0.12554711613379996, 'flat_6': 0.31634894314644096, 'flat_7': 0.10650449427558652, 'flat_8': 0.03675570858241518}
-16.383999943733215
      START              STOP      
----------------- -----------------
      785996529.0 785996556.8703401
785996577.3503401 785996608.0703402
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.02194312512191471, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.1095848766563621, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.02194312512191471, 'bkg_rate_5': 0.01958274578824498, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.1095848766563621, 'flat_5': 0.0977822486029342, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.02194312512191471, 'bkg_rate_5': 0.01958274578824498, 'bkg_rate_6': 0.015096975708497183, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.1095848766563621, 'flat_5': 0.0977822486029342, 'flat_6': 0.24251732459030972, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.02194312512191471, 'bkg_rate_5': 0.01958274578824498, 'bkg_rate_6': 0.015096975708497183, 'bkg_rate_7': 0.010520673336424551, 'bkg_rate_8': 0.05, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.1095848766563621, 'flat_5': 0.0977822486029342, 'flat_6': 0.24251732459030972, 'flat_7': 0.052420248140237546, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407541129184896, 'bkg_rate_1': 0.04950027286242593, 'bkg_rate_2': 0.030448736454736752, 'bkg_rate_3': 0.02719555276505551, 'bkg_rate_4': 0.02194312512191471, 'bkg_rate_5': 0.01958274578824498, 'bkg_rate_6': 0.015096975708497183, 'bkg_rate_7': 0.010520673336424551, 'bkg_rate_8': 0.007373295426300207, 'flat_0': 0.06685884083788693, 'flat_1': 0.0, 'flat_2': 0.20733670366702672, 'flat_3': 0.13585238624476012, 'flat_4': 0.1095848766563621, 'flat_5': 0.0977822486029342, 'flat_6': 0.24251732459030972, 'flat_7': 0.052420248140237546, 'flat_8': 0.03665614220702066}
-15.360000014305115
     START             STOP      
--------------- -----------------
    785996529.0   785996557.89434
785996578.37434 785996609.0943401
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.021813420782520257, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.10893489896878056, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.021813420782520257, 'bkg_rate_5': 0.0195297447711977, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.10893489896878056, 'flat_5': 0.2713547684323322, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.021813420782520257, 'bkg_rate_5': 0.0195297447711977, 'bkg_rate_6': 0.01495640149452058, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.10893489896878056, 'flat_5': 0.2713547684323322, 'flat_6': 0.2565155328553193, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.021813420782520257, 'bkg_rate_5': 0.0195297447711977, 'bkg_rate_6': 0.01495640149452058, 'bkg_rate_7': 0.010546192118173741, 'bkg_rate_8': 0.05, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.10893489896878056, 'flat_5': 0.2713547684323322, 'flat_6': 0.2565155328553193, 'flat_7': 0.052549100330328495, 'flat_8': 0.25}
{'bkg_rate_0': 0.06405442968300978, 'bkg_rate_1': 0.049440303656113654, 'bkg_rate_2': 0.030442614616149617, 'bkg_rate_3': 0.027074401920416404, 'bkg_rate_4': 0.021813420782520257, 'bkg_rate_5': 0.0195297447711977, 'bkg_rate_6': 0.01495640149452058, 'bkg_rate_7': 0.010546192118173741, 'bkg_rate_8': 0.007375138996263627, 'flat_0': 0.07303411327399617, 'flat_1': 0.0, 'flat_2': 0.14260584426806408, 'flat_3': 0.13527460858730156, 'flat_4': 0.10893489896878056, 'flat_5': 0.2713547684323322, 'flat_6': 0.2565155328553193, 'flat_7': 0.052549100330328495, 'flat_8': 0.03666613482832121}
-14.335999965667725
      START              STOP      
----------------- -----------------
      785996529.0 785996558.9183401
785996579.3983401 785996610.1183401
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.02172623076107331, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.10849548935098093, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.02172623076107331, 'bkg_rate_5': 0.019425032169672764, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.10849548935098093, 'flat_5': 0.3181608548413708, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.02172623076107331, 'bkg_rate_5': 0.019425032169672764, 'bkg_rate_6': 0.0148473742688006, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.10849548935098093, 'flat_5': 0.3181608548413708, 'flat_6': 0.07406746492106735, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.02172623076107331, 'bkg_rate_5': 0.019425032169672764, 'bkg_rate_6': 0.0148473742688006, 'bkg_rate_7': 0.010505004319964642, 'bkg_rate_8': 0.05, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.10849548935098093, 'flat_5': 0.3181608548413708, 'flat_6': 0.07406746492106735, 'flat_7': 0.052341676325376195, 'flat_8': 0.25}
{'bkg_rate_0': 0.06407548965168419, 'bkg_rate_1': 0.04939509851317125, 'bkg_rate_2': 0.030412744441834616, 'bkg_rate_3': 0.02693879566801636, 'bkg_rate_4': 0.02172623076107331, 'bkg_rate_5': 0.019425032169672764, 'bkg_rate_6': 0.0148473742688006, 'bkg_rate_7': 0.010505004319964642, 'bkg_rate_8': 0.007343818875042796, 'flat_0': 0.02930769025425954, 'flat_1': 0.0, 'flat_2': 0.14162509983043392, 'flat_3': 0.13460149267591226, 'flat_4': 0.10849548935098093, 'flat_5': 0.3181608548413708, 'flat_6': 0.07406746492106735, 'flat_7': 0.052341676325376195, 'flat_8': 0.5102203746453171}
-13.312000036239624
     START             STOP      
--------------- -----------------
785996529.22234   785996559.94234
785996580.42234 785996611.1423401
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.021635632196947377, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.10804579872034707, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.021635632196947377, 'bkg_rate_5': 0.019267949586849516, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.10804579872034707, 'flat_5': 0.37544093337279894, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.021635632196947377, 'bkg_rate_5': 0.019267949586849516, 'bkg_rate_6': 0.014693196669198641, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.10804579872034707, 'flat_5': 0.37544093337279894, 'flat_6': 0.238547868998476, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.021635632196947377, 'bkg_rate_5': 0.019267949586849516, 'bkg_rate_6': 0.014693196669198641, 'bkg_rate_7': 0.010400433693330083, 'bkg_rate_8': 0.05, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.10804579872034707, 'flat_5': 0.37544093337279894, 'flat_6': 0.238547868998476, 'flat_7': 0.05181975215303913, 'flat_8': 0.25}
{'bkg_rate_0': 0.06409428665019005, 'bkg_rate_1': 0.04929743407052163, 'bkg_rate_2': 0.03039409807380389, 'bkg_rate_3': 0.026862781033453575, 'bkg_rate_4': 0.021635632196947377, 'bkg_rate_5': 0.019267949586849516, 'bkg_rate_6': 0.014693196669198641, 'bkg_rate_7': 0.010400433693330083, 'bkg_rate_8': 0.007297380009338663, 'flat_0': 0.02223405080791807, 'flat_1': 0.0, 'flat_2': 0.1645890478820555, 'flat_3': 0.19692798426614638, 'flat_4': 0.10804579872034707, 'flat_5': 0.37544093337279894, 'flat_6': 0.238547868998476, 'flat_7': 0.05181975215303913, 'flat_8': 0.31053602752402537}
-12.287999987602234
      START              STOP      
----------------- -----------------
  785996530.24634 785996560.9663401
785996581.4463401 785996612.1663401
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.02152670650627361, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.10750129011180437, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.02152670650627361, 'bkg_rate_5': 0.01913169638381206, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.10750129011180437, 'flat_5': 0.3904536740933515, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.02152670650627361, 'bkg_rate_5': 0.01913169638381206, 'bkg_rate_6': 0.014646323789241236, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.10750129011180437, 'flat_5': 0.3904536740933515, 'flat_6': 0.07306135156102098, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.02152670650627361, 'bkg_rate_5': 0.01913169638381206, 'bkg_rate_6': 0.014646323789241236, 'bkg_rate_7': 0.010333381521436176, 'bkg_rate_8': 0.05, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.10750129011180437, 'flat_5': 0.3904536740933515, 'flat_6': 0.07306135156102098, 'flat_7': 0.05148368053475844, 'flat_8': 0.25}
{'bkg_rate_0': 0.06403358078951858, 'bkg_rate_1': 0.049245056420848934, 'bkg_rate_2': 0.03034174649009721, 'bkg_rate_3': 0.02685212375833355, 'bkg_rate_4': 0.02152670650627361, 'bkg_rate_5': 0.01913169638381206, 'bkg_rate_6': 0.014646323789241236, 'bkg_rate_7': 0.010333381521436176, 'bkg_rate_8': 0.007285824240936018, 'flat_0': 0.001839072837953889, 'flat_1': 0.0, 'flat_2': 0.14425980117019424, 'flat_3': 0.13414241475997943, 'flat_4': 0.10750129011180437, 'flat_5': 0.3904536740933515, 'flat_6': 0.07306135156102098, 'flat_7': 0.05148368053475844, 'flat_8': 0.32247382168471345}
-11.264000058174133
     START            STOP     
--------------- ---------------
785996531.27034 785996561.99034
785996582.47034 785996613.19034
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.021514130095081015, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.10743818257986591, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.021514130095081015, 'bkg_rate_5': 0.019124363836757516, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.10743818257986591, 'flat_5': 0.35216007279632716, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.021514130095081015, 'bkg_rate_5': 0.019124363836757516, 'bkg_rate_6': 0.014628523285106816, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.10743818257986591, 'flat_5': 0.35216007279632716, 'flat_6': 0.07297243839937326, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.021514130095081015, 'bkg_rate_5': 0.019124363836757516, 'bkg_rate_6': 0.014628523285106816, 'bkg_rate_7': 0.010314474268100192, 'bkg_rate_8': 0.05, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.10743818257986591, 'flat_5': 0.35216007279632716, 'flat_6': 0.07297243839937326, 'flat_7': 0.05138562677799493, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395290533855051, 'bkg_rate_1': 0.04914763239694567, 'bkg_rate_2': 0.03036587769863156, 'bkg_rate_3': 0.026785025345161542, 'bkg_rate_4': 0.021514130095081015, 'bkg_rate_5': 0.019124363836757516, 'bkg_rate_6': 0.014628523285106816, 'bkg_rate_7': 0.010314474268100192, 'bkg_rate_8': 0.007257532080708848, 'flat_0': 0.032945897110583273, 'flat_1': 0.0, 'flat_2': 0.15174983454296476, 'flat_3': 0.13380485494998956, 'flat_4': 0.10743818257986591, 'flat_5': 0.35216007279632716, 'flat_6': 0.07297243839937326, 'flat_7': 0.05138562677799493, 'flat_8': 0.42182799867609727}
-10.240000009536743
      START              STOP      
----------------- -----------------
  785996532.29434   785996563.01434
785996583.4943401 785996614.2143401
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.021540514069284998, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.10757600466981433, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.021540514069284998, 'bkg_rate_5': 0.019096090156677924, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.10757600466981433, 'flat_5': 0.33282275961946634, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.021540514069284998, 'bkg_rate_5': 0.019096090156677924, 'bkg_rate_6': 0.014635840526170327, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.10757600466981433, 'flat_5': 0.33282275961946634, 'flat_6': 0.07300872043949551, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.021540514069284998, 'bkg_rate_5': 0.019096090156677924, 'bkg_rate_6': 0.014635840526170327, 'bkg_rate_7': 0.010265221255939925, 'bkg_rate_8': 0.05, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.10757600466981433, 'flat_5': 0.33282275961946634, 'flat_6': 0.07300872043949551, 'flat_7': 0.051137979150369176, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393396025203595, 'bkg_rate_1': 0.04917067865251543, 'bkg_rate_2': 0.03038339781392546, 'bkg_rate_3': 0.02676333677172047, 'bkg_rate_4': 0.021540514069284998, 'bkg_rate_5': 0.019096090156677924, 'bkg_rate_6': 0.014635840526170327, 'bkg_rate_7': 0.010265221255939925, 'bkg_rate_8': 0.007266965261354991, 'flat_0': 0.05746753926580371, 'flat_1': 0.0, 'flat_2': 0.1518492233176553, 'flat_3': 0.13371804923634364, 'flat_4': 0.10757600466981433, 'flat_5': 0.33282275961946634, 'flat_6': 0.07300872043949551, 'flat_7': 0.051137979150369176, 'flat_8': 0.5063914597069227}
-9.215999960899353
      START              STOP      
----------------- -----------------
785996533.3183401 785996564.0383401
785996584.5183401 785996615.2383401
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.021460921332841873, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.10717833404968358, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.021460921332841873, 'bkg_rate_5': 0.01915590679653893, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.10717833404968358, 'flat_5': 0.3091317368550973, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.021460921332841873, 'bkg_rate_5': 0.01915590679653893, 'bkg_rate_6': 0.014611561077814493, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.10717833404968358, 'flat_5': 0.3091317368550973, 'flat_6': 0.07288318543488925, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.021460921332841873, 'bkg_rate_5': 0.01915590679653893, 'bkg_rate_6': 0.014611561077814493, 'bkg_rate_7': 0.010207700535621863, 'bkg_rate_8': 0.05, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.10717833404968358, 'flat_5': 0.3091317368550973, 'flat_6': 0.07288318543488925, 'flat_7': 0.050856637483479766, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392154349727966, 'bkg_rate_1': 0.04916123837340784, 'bkg_rate_2': 0.030401238909765045, 'bkg_rate_3': 0.026745432626655966, 'bkg_rate_4': 0.021460921332841873, 'bkg_rate_5': 0.01915590679653893, 'bkg_rate_6': 0.014611561077814493, 'bkg_rate_7': 0.010207700535621863, 'bkg_rate_8': 0.007249159306673137, 'flat_0': 0.08179068446223867, 'flat_1': 0.0, 'flat_2': 0.1519374282721482, 'flat_3': 0.25381824489241966, 'flat_4': 0.10717833404968358, 'flat_5': 0.3091317368550973, 'flat_6': 0.07288318543488925, 'flat_7': 0.050856637483479766, 'flat_8': 0.5211674555174453}
-8.192000031471252
     START             STOP      
--------------- -----------------
785996534.34234   785996565.06234
785996585.54234 785996616.2623401
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.021514291356007735, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.10744375929229417, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.021514291356007735, 'bkg_rate_5': 0.019151214474382994, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.10744375929229417, 'flat_5': 0.095625431949621, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.021514291356007735, 'bkg_rate_5': 0.019151214474382994, 'bkg_rate_6': 0.014594660485062784, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.10744375929229417, 'flat_5': 0.095625431949621, 'flat_6': 0.07279554164687764, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.021514291356007735, 'bkg_rate_5': 0.019151214474382994, 'bkg_rate_6': 0.014594660485062784, 'bkg_rate_7': 0.010221367508079721, 'bkg_rate_8': 0.05, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.10744375929229417, 'flat_5': 0.095625431949621, 'flat_6': 0.07279554164687764, 'flat_7': 0.4521846907411687, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392680878268653, 'bkg_rate_1': 0.04914971638769466, 'bkg_rate_2': 0.030453466500351013, 'bkg_rate_3': 0.026817714828366798, 'bkg_rate_4': 0.021514291356007735, 'bkg_rate_5': 0.019151214474382994, 'bkg_rate_6': 0.014594660485062784, 'bkg_rate_7': 0.010221367508079721, 'bkg_rate_8': 0.007237637589789716, 'flat_0': 0.07478212032011888, 'flat_1': 0.0, 'flat_2': 0.16047960872981074, 'flat_3': 0.23817546194672942, 'flat_4': 0.10744375929229417, 'flat_5': 0.095625431949621, 'flat_6': 0.07279554164687764, 'flat_7': 0.4521846907411687, 'flat_8': 0.5647097300528422}
-7.167999982833862
      START              STOP      
----------------- -----------------
  785996535.36634 785996566.0863401
785996586.5663401 785996617.2863401
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.021463060963344636, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.10719038020480878, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.021463060963344636, 'bkg_rate_5': 0.019113007631489348, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.10719038020480878, 'flat_5': 0.17770555988832015, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.021463060963344636, 'bkg_rate_5': 0.019113007631489348, 'bkg_rate_6': 0.014585274807608477, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.10719038020480878, 'flat_5': 0.17770555988832015, 'flat_6': 0.07274949844913772, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.021463060963344636, 'bkg_rate_5': 0.019113007631489348, 'bkg_rate_6': 0.014585274807608477, 'bkg_rate_7': 0.010186766183927689, 'bkg_rate_8': 0.05, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.10719038020480878, 'flat_5': 0.17770555988832015, 'flat_6': 0.07274949844913772, 'flat_7': 0.4398153091430672, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390897156334858, 'bkg_rate_1': 0.049168583504080425, 'bkg_rate_2': 0.030443522837167846, 'bkg_rate_3': 0.02672970746923031, 'bkg_rate_4': 0.021463060963344636, 'bkg_rate_5': 0.019113007631489348, 'bkg_rate_6': 0.014585274807608477, 'bkg_rate_7': 0.010186766183927689, 'bkg_rate_8': 0.007200966689927423, 'flat_0': 0.08400312260603204, 'flat_1': 0.0, 'flat_2': 0.15209959100382758, 'flat_3': 0.2834475140038283, 'flat_4': 0.10719038020480878, 'flat_5': 0.17770555988832015, 'flat_6': 0.07274949844913772, 'flat_7': 0.4398153091430672, 'flat_8': 0.5395481988260139}
-6.144000053405762
     START            STOP     
--------------- ---------------
785996536.39034 785996567.11034
785996587.59034 785996618.31034
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.021448453303045078, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.10711904694181502, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.021448453303045078, 'bkg_rate_5': 0.01899453322301237, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.10711904694181502, 'flat_5': 0.20208050399176797, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.021448453303045078, 'bkg_rate_5': 0.01899453322301237, 'bkg_rate_6': 0.014476548930734561, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.10711904694181502, 'flat_5': 0.20208050399176797, 'flat_6': 0.07221015796380896, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.021448453303045078, 'bkg_rate_5': 0.01899453322301237, 'bkg_rate_6': 0.014476548930734561, 'bkg_rate_7': 0.010134162403071379, 'bkg_rate_8': 0.05, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.10711904694181502, 'flat_5': 0.20208050399176797, 'flat_6': 0.07221015796380896, 'flat_7': 0.22568105620146545, 'flat_8': 0.25}
{'bkg_rate_0': 0.06400117118802699, 'bkg_rate_1': 0.0492241051104951, 'bkg_rate_2': 0.03030258424384572, 'bkg_rate_3': 0.02668259288728601, 'bkg_rate_4': 0.021448453303045078, 'bkg_rate_5': 0.01899453322301237, 'bkg_rate_6': 0.014476548930734561, 'bkg_rate_7': 0.010134162403071379, 'bkg_rate_8': 0.007202018560360532, 'flat_0': 0.1065311885754024, 'flat_1': 0.0, 'flat_2': 0.15138687118016103, 'flat_3': 0.2896983694956632, 'flat_4': 0.10711904694181502, 'flat_5': 0.20208050399176797, 'flat_6': 0.07221015796380896, 'flat_7': 0.22568105620146545, 'flat_8': 0.5685530840654232}
-5.120000004768372
      START              STOP      
----------------- -----------------
  785996537.41434   785996568.13434
785996588.6143401 785996619.3343401
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.02140415805261963, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.1068884734819969, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.02140415805261963, 'bkg_rate_5': 0.01887813829697297, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.1068884734819969, 'flat_5': 0.0942583297406061, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.02140415805261963, 'bkg_rate_5': 0.01887813829697297, 'bkg_rate_6': 0.01438238001769094, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.1068884734819969, 'flat_5': 0.0942583297406061, 'flat_6': 0.07174128395252172, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.02140415805261963, 'bkg_rate_5': 0.01887813829697297, 'bkg_rate_6': 0.01438238001769094, 'bkg_rate_7': 0.010142778955681792, 'bkg_rate_8': 0.05, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.1068884734819969, 'flat_5': 0.0942583297406061, 'flat_6': 0.07174128395252172, 'flat_7': 0.05053372532575143, 'flat_8': 0.25}
{'bkg_rate_0': 0.06393205241444583, 'bkg_rate_1': 0.049260769708723035, 'bkg_rate_2': 0.03026111351843404, 'bkg_rate_3': 0.026661647107181347, 'bkg_rate_4': 0.02140415805261963, 'bkg_rate_5': 0.01887813829697297, 'bkg_rate_6': 0.01438238001769094, 'bkg_rate_7': 0.010142778955681792, 'bkg_rate_8': 0.007146505470702314, 'flat_0': 0.07282870950685627, 'flat_1': 0.0, 'flat_2': 0.06948526494359995, 'flat_3': 0.2897433956690237, 'flat_4': 0.1068884734819969, 'flat_5': 0.0942583297406061, 'flat_6': 0.07174128395252172, 'flat_7': 0.05053372532575143, 'flat_8': 0.6065435056090079}
-4.0959999561309814
      START              STOP      
----------------- -----------------
785996538.4383401 785996569.1583401
785996589.6383401 785996620.3583401
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.021356185791502873, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.10665480499936625, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.021356185791502873, 'bkg_rate_5': 0.0188677599930279, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.10665480499936625, 'flat_5': 0.19167853217911965, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.021356185791502873, 'bkg_rate_5': 0.0188677599930279, 'bkg_rate_6': 0.0143720047723717, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.10665480499936625, 'flat_5': 0.19167853217911965, 'flat_6': 0.0716915258347781, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.021356185791502873, 'bkg_rate_5': 0.0188677599930279, 'bkg_rate_6': 0.0143720047723717, 'bkg_rate_7': 0.010107971904295127, 'bkg_rate_8': 0.05, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.10665480499936625, 'flat_5': 0.19167853217911965, 'flat_6': 0.0716915258347781, 'flat_7': 0.29646101423866, 'flat_8': 0.25}
{'bkg_rate_0': 0.06392475251123399, 'bkg_rate_1': 0.049190576995659936, 'bkg_rate_2': 0.030210935735616624, 'bkg_rate_3': 0.02675590267633252, 'bkg_rate_4': 0.021356185791502873, 'bkg_rate_5': 0.0188677599930279, 'bkg_rate_6': 0.0143720047723717, 'bkg_rate_7': 0.010107971904295127, 'bkg_rate_8': 0.007162215747415133, 'flat_0': 0.06744913051903029, 'flat_1': 0.0, 'flat_2': 0.15093229823322024, 'flat_3': 0.27479872381504755, 'flat_4': 0.10665480499936625, 'flat_5': 0.19167853217911965, 'flat_6': 0.0716915258347781, 'flat_7': 0.29646101423866, 'flat_8': 0.6140093624074454}
-3.072000026702881
     START             STOP      
--------------- -----------------
785996539.46234   785996570.18234
785996590.66234 785996621.3823401
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.021325779704785254, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.10650182369029708, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.021325779704785254, 'bkg_rate_5': 0.018797567560377978, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.10650182369029708, 'flat_5': 0.19393582521214053, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.021325779704785254, 'bkg_rate_5': 0.018797567560377978, 'bkg_rate_6': 0.014341185823643403, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.10650182369029708, 'flat_5': 0.19393582521214053, 'flat_6': 0.25817101223963906, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.021325779704785254, 'bkg_rate_5': 0.018797567560377978, 'bkg_rate_6': 0.014341185823643403, 'bkg_rate_7': 0.010135394141903337, 'bkg_rate_8': 0.05, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.10650182369029708, 'flat_5': 0.19393582521214053, 'flat_6': 0.25817101223963906, 'flat_7': 0.0504931723084477, 'flat_8': 0.25}
{'bkg_rate_0': 0.06397594287455438, 'bkg_rate_1': 0.049229341799650335, 'bkg_rate_2': 0.030185656703213274, 'bkg_rate_3': 0.02675277332304238, 'bkg_rate_4': 0.021325779704785254, 'bkg_rate_5': 0.018797567560377978, 'bkg_rate_6': 0.014341185823643403, 'bkg_rate_7': 0.010135394141903337, 'bkg_rate_8': 0.007118208626476184, 'flat_0': 0.035360521563837524, 'flat_1': 0.0, 'flat_2': 0.12025863413394272, 'flat_3': 0.3083330104771773, 'flat_4': 0.10650182369029708, 'flat_5': 0.19393582521214053, 'flat_6': 0.25817101223963906, 'flat_7': 0.0504931723084477, 'flat_8': 0.6462077057799854}
-2.0479999780654907
      START              STOP      
----------------- -----------------
  785996540.48634 785996571.2063401
785996591.6863401 785996622.4063401
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.021302870819938355, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.10639133145598768, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.021302870819938355, 'bkg_rate_5': 0.01882796203153588, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.10639133145598768, 'flat_5': 0.2404312260810864, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.021302870819938355, 'bkg_rate_5': 0.01882796203153588, 'bkg_rate_6': 0.014345363530432323, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.10639133145598768, 'flat_5': 0.2404312260810864, 'flat_6': 0.31978610156842674, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.021302870819938355, 'bkg_rate_5': 0.01882796203153588, 'bkg_rate_6': 0.014345363530432323, 'bkg_rate_7': 0.010201395371145453, 'bkg_rate_8': 0.05, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.10639133145598768, 'flat_5': 0.2404312260810864, 'flat_6': 0.31978610156842674, 'flat_7': 0.05082374198204447, 'flat_8': 0.25}
{'bkg_rate_0': 0.06386595621077025, 'bkg_rate_1': 0.049212578135568286, 'bkg_rate_2': 0.0302426441405888, 'bkg_rate_3': 0.026803053510147192, 'bkg_rate_4': 0.021302870819938355, 'bkg_rate_5': 0.01882796203153588, 'bkg_rate_6': 0.014345363530432323, 'bkg_rate_7': 0.010201395371145453, 'bkg_rate_8': 0.00719884863216978, 'flat_0': 0.050325127972508786, 'flat_1': 0.0, 'flat_2': 0.15108260926689537, 'flat_3': 0.3099905517634363, 'flat_4': 0.10639133145598768, 'flat_5': 0.2404312260810864, 'flat_6': 0.31978610156842674, 'flat_7': 0.05082374198204447, 'flat_8': 0.6789780605545547}
-1.0240000486373901
     START            STOP     
--------------- ---------------
785996541.51034 785996572.23034
785996592.71034 785996623.43034
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.02134864843618015, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.10661100426331999, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.02134864843618015, 'bkg_rate_5': 0.01882264298438264, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.10661100426331999, 'flat_5': 0.09397929444246257, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.02134864843618015, 'bkg_rate_5': 0.01882264298438264, 'bkg_rate_6': 0.014312898703631663, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.10661100426331999, 'flat_5': 0.09397929444246257, 'flat_6': 0.32634730660272865, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.02134864843618015, 'bkg_rate_5': 0.01882264298438264, 'bkg_rate_6': 0.014312898703631663, 'bkg_rate_7': 0.01015632938715178, 'bkg_rate_8': 0.05, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.10661100426331999, 'flat_5': 0.09397929444246257, 'flat_6': 0.32634730660272865, 'flat_7': 0.050596811449555905, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395710249782005, 'bkg_rate_1': 0.04913715702234773, 'bkg_rate_2': 0.03022060722380744, 'bkg_rate_3': 0.026835531687878316, 'bkg_rate_4': 0.02134864843618015, 'bkg_rate_5': 0.01882264298438264, 'bkg_rate_6': 0.014312898703631663, 'bkg_rate_7': 0.01015632938715178, 'bkg_rate_8': 0.007216697350736197, 'flat_0': 0.024923627725145576, 'flat_1': 0.0, 'flat_2': 0.15097151942144527, 'flat_3': 0.2751993866388159, 'flat_4': 0.10661100426331999, 'flat_5': 0.09397929444246257, 'flat_6': 0.32634730660272865, 'flat_7': 0.050596811449555905, 'flat_8': 0.7252921728183971}
0.0
      START              STOP      
----------------- -----------------
  785996542.53434   785996573.25434
785996593.7343401 785996624.4543401
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.021355845771420804, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.1066430771228754, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.021355845771420804, 'bkg_rate_5': 0.018842675578670077, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.1066430771228754, 'flat_5': 0.09406387803369681, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.021355845771420804, 'bkg_rate_5': 0.018842675578670077, 'bkg_rate_6': 0.01425004792392899, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.1066430771228754, 'flat_5': 0.09406387803369681, 'flat_6': 0.3944720400135956, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.021355845771420804, 'bkg_rate_5': 0.018842675578670077, 'bkg_rate_6': 0.01425004792392899, 'bkg_rate_7': 0.010146743335914008, 'bkg_rate_8': 0.05, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.1066430771228754, 'flat_5': 0.09406387803369681, 'flat_6': 0.3944720400135956, 'flat_7': 0.2915032821685711, 'flat_8': 0.25}
{'bkg_rate_0': 0.06385968620822481, 'bkg_rate_1': 0.049127727173050556, 'bkg_rate_2': 0.030106062968035568, 'bkg_rate_3': 0.02689105099451642, 'bkg_rate_4': 0.021355845771420804, 'bkg_rate_5': 0.018842675578670077, 'bkg_rate_6': 0.01425004792392899, 'bkg_rate_7': 0.010146743335914008, 'bkg_rate_8': 0.007212505162077579, 'flat_0': 0.03568657594612834, 'flat_1': 0.0, 'flat_2': 0.07234853866051107, 'flat_3': 0.2960193745809509, 'flat_4': 0.1066430771228754, 'flat_5': 0.09406387803369681, 'flat_6': 0.3944720400135956, 'flat_7': 0.2915032821685711, 'flat_8': 0.629791495505374}
1.0240000486373901
      START              STOP      
----------------- -----------------
785996543.5583401 785996574.2783401
785996594.7583401 785996625.4783401
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.02133919009678142, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.10656278592243582, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.02133919009678142, 'bkg_rate_5': 0.018860229236280043, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.10656278592243582, 'flat_5': 0.09414435281140639, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.02133919009678142, 'bkg_rate_5': 0.018860229236280043, 'bkg_rate_6': 0.014262620905445195, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.10656278592243582, 'flat_5': 0.09414435281140639, 'flat_6': 0.4194817494351828, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.02133919009678142, 'bkg_rate_5': 0.018860229236280043, 'bkg_rate_6': 0.014262620905445195, 'bkg_rate_7': 0.01012055146414366, 'bkg_rate_8': 0.05, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.10656278592243582, 'flat_5': 0.09414435281140639, 'flat_6': 0.4194817494351828, 'flat_7': 0.2918343101230028, 'flat_8': 0.25}
{'bkg_rate_0': 0.06377901202090472, 'bkg_rate_1': 0.04906382596519245, 'bkg_rate_2': 0.03009768927695419, 'bkg_rate_3': 0.026954932802696237, 'bkg_rate_4': 0.02133919009678142, 'bkg_rate_5': 0.018860229236280043, 'bkg_rate_6': 0.014262620905445195, 'bkg_rate_7': 0.01012055146414366, 'bkg_rate_8': 0.007235569800240893, 'flat_0': 0.061523425737691186, 'flat_1': 0.0, 'flat_2': 0.06780885437175599, 'flat_3': 0.32319757779270486, 'flat_4': 0.10656278592243582, 'flat_5': 0.09414435281140639, 'flat_6': 0.4194817494351828, 'flat_7': 0.2918343101230028, 'flat_8': 0.6773071018068919}
2.0479999780654907
     START             STOP      
--------------- -----------------
785996544.58234   785996575.30234
785996595.78234 785996626.5023401
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.02139367641115726, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.10683585864846917, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.02139367641115726, 'bkg_rate_5': 0.018890647580894274, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.10683585864846917, 'flat_5': 0.09429766980548455, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.02139367641115726, 'bkg_rate_5': 0.018890647580894274, 'bkg_rate_6': 0.014285661490895347, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.10683585864846917, 'flat_5': 0.09429766980548455, 'flat_6': 0.37082856473790465, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.02139367641115726, 'bkg_rate_5': 0.018890647580894274, 'bkg_rate_6': 0.014285661490895347, 'bkg_rate_7': 0.010152221662400178, 'bkg_rate_8': 0.05, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.10683585864846917, 'flat_5': 0.09429766980548455, 'flat_6': 0.37082856473790465, 'flat_7': 0.05058197917612395, 'flat_8': 0.25}
{'bkg_rate_0': 0.06390154721903527, 'bkg_rate_1': 0.049033446247947296, 'bkg_rate_2': 0.03008616481283331, 'bkg_rate_3': 0.027014660286348212, 'bkg_rate_4': 0.02139367641115726, 'bkg_rate_5': 0.018890647580894274, 'bkg_rate_6': 0.014285661490895347, 'bkg_rate_7': 0.010152221662400178, 'bkg_rate_8': 0.0072565135008061344, 'flat_0': 0.05735496366621789, 'flat_1': 0.0, 'flat_2': 0.029708757740397464, 'flat_3': 0.3123287639944333, 'flat_4': 0.10683585864846917, 'flat_5': 0.09429766980548455, 'flat_6': 0.37082856473790465, 'flat_7': 0.05058197917612395, 'flat_8': 0.6973053432680171}
3.072000026702881
      START              STOP      
----------------- -----------------
  785996545.60634 785996576.3263401
785996596.8063401 785996627.5263401
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.02144273141474673, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.1070761240152817, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.02144273141474673, 'bkg_rate_5': 0.018948060234896133, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.1070761240152817, 'flat_5': 0.09457941166787398, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.02144273141474673, 'bkg_rate_5': 0.018948060234896133, 'bkg_rate_6': 0.01430242062304386, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.1070761240152817, 'flat_5': 0.09457941166787398, 'flat_6': 0.31537963723272694, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.02144273141474673, 'bkg_rate_5': 0.018948060234896133, 'bkg_rate_6': 0.01430242062304386, 'bkg_rate_7': 0.010146745719387385, 'bkg_rate_8': 0.05, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.1070761240152817, 'flat_5': 0.09457941166787398, 'flat_6': 0.31537963723272694, 'flat_7': 0.28106965211310675, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083817157096, 'bkg_rate_1': 0.049050208982919306, 'bkg_rate_2': 0.03006103330287096, 'bkg_rate_3': 0.027002091916933695, 'bkg_rate_4': 0.02144273141474673, 'bkg_rate_5': 0.018948060234896133, 'bkg_rate_6': 0.01430242062304386, 'bkg_rate_7': 0.010146745719387385, 'bkg_rate_8': 0.007255445520109308, 'flat_0': 0.03445913369266222, 'flat_1': 0.0, 'flat_2': 0.059071755500266575, 'flat_3': 0.31980039670596233, 'flat_4': 0.1070761240152817, 'flat_5': 0.09457941166787398, 'flat_6': 0.31537963723272694, 'flat_7': 0.28106965211310675, 'flat_8': 0.5967626841306638}
4.0959999561309814
     START            STOP     
--------------- ---------------
785996546.63034 785996577.35034
785996597.83034 785996628.55034
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.02144408453127407, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.10709183195911516, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.02144408453127407, 'bkg_rate_5': 0.018961754014240915, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.10709183195911516, 'flat_5': 0.09464996874009317, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.02144408453127407, 'bkg_rate_5': 0.018961754014240915, 'bkg_rate_6': 0.014342211100478707, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.10709183195911516, 'flat_5': 0.09464996874009317, 'flat_6': 0.3044621377347872, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.02144408453127407, 'bkg_rate_5': 0.018961754014240915, 'bkg_rate_6': 0.014342211100478707, 'bkg_rate_7': 0.01019201887967328, 'bkg_rate_8': 0.05, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.10709183195911516, 'flat_5': 0.09464996874009317, 'flat_6': 0.3044621377347872, 'flat_7': 0.05078038408030228, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384398713383378, 'bkg_rate_1': 0.04908373069060616, 'bkg_rate_2': 0.030112319517743784, 'bkg_rate_3': 0.027097408687388212, 'bkg_rate_4': 0.02144408453127407, 'bkg_rate_5': 0.018961754014240915, 'bkg_rate_6': 0.014342211100478707, 'bkg_rate_7': 0.01019201887967328, 'bkg_rate_8': 0.007278491529293896, 'flat_0': 0.02933155923889932, 'flat_1': 0.0, 'flat_2': 0.12345385968403563, 'flat_3': 0.2897580926422557, 'flat_4': 0.10709183195911516, 'flat_5': 0.09464996874009317, 'flat_6': 0.3044621377347872, 'flat_7': 0.05078038408030228, 'flat_8': 0.5801483242219839}
5.120000004768372
      START              STOP      
----------------- -----------------
  785996547.65434   785996578.37434
785996598.8543401 785996629.5743401
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.02153193813259471, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.10752731895914608, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.02153193813259471, 'bkg_rate_5': 0.018956764293391784, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.10752731895914608, 'flat_5': 0.0, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.02153193813259471, 'bkg_rate_5': 0.018956764293391784, 'bkg_rate_6': 0.014433342834064241, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.10752731895914608, 'flat_5': 0.0, 'flat_6': 0.27696088462499063, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.02153193813259471, 'bkg_rate_5': 0.018956764293391784, 'bkg_rate_6': 0.014433342834064241, 'bkg_rate_7': 0.010222400321931792, 'bkg_rate_8': 0.05, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.10752731895914608, 'flat_5': 0.0, 'flat_6': 0.27696088462499063, 'flat_7': 0.05093252448513859, 'flat_8': 0.25}
{'bkg_rate_0': 0.0638795645020159, 'bkg_rate_1': 0.04916753651159113, 'bkg_rate_2': 0.030148973291460414, 'bkg_rate_3': 0.027165504180033124, 'bkg_rate_4': 0.02153193813259471, 'bkg_rate_5': 0.018956764293391784, 'bkg_rate_6': 0.014433342834064241, 'bkg_rate_7': 0.010222400321931792, 'bkg_rate_8': 0.007274300321405978, 'flat_0': 0.0017404964397301477, 'flat_1': 0.0, 'flat_2': 0.1713817368341804, 'flat_3': 0.21658350381499875, 'flat_4': 0.10752731895914608, 'flat_5': 0.0, 'flat_6': 0.27696088462499063, 'flat_7': 0.05093252448513859, 'flat_8': 0.5518668938647127}
6.144000053405762
      START              STOP      
----------------- -----------------
785996548.6783401 785996579.3983401
785996599.8783401 785996630.5983402
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.02155575289421906, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.10763846569865983, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.02155575289421906, 'bkg_rate_5': 0.019058873020892573, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.10763846569865983, 'flat_5': 0.09512779788290303, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.02155575289421906, 'bkg_rate_5': 0.019058873020892573, 'bkg_rate_6': 0.014518201548618876, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.10763846569865983, 'flat_5': 0.09512779788290303, 'flat_6': 0.330931388086245, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.02155575289421906, 'bkg_rate_5': 0.019058873020892573, 'bkg_rate_6': 0.014518201548618876, 'bkg_rate_7': 0.010266388666188946, 'bkg_rate_8': 0.05, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.10763846569865983, 'flat_5': 0.09512779788290303, 'flat_6': 0.330931388086245, 'flat_7': 0.05115196728660461, 'flat_8': 0.25}
{'bkg_rate_0': 0.06387332710186085, 'bkg_rate_1': 0.049231438005152756, 'bkg_rate_2': 0.030161538917238804, 'bkg_rate_3': 0.027221074872820245, 'bkg_rate_4': 0.02155575289421906, 'bkg_rate_5': 0.019058873020892573, 'bkg_rate_6': 0.014518201548618876, 'bkg_rate_7': 0.010266388666188946, 'bkg_rate_8': 0.0072701063341300935, 'flat_0': 0.010818070630170044, 'flat_1': 0.0, 'flat_2': 0.15070885263961156, 'flat_3': 0.19870509759412158, 'flat_4': 0.10763846569865983, 'flat_5': 0.09512779788290303, 'flat_6': 0.330931388086245, 'flat_7': 0.05115196728660461, 'flat_8': 0.4376868343126359}
7.167999982833862
     START             STOP      
--------------- -----------------
785996549.70234   785996580.42234
785996600.90234 785996631.6223401
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.021587926957374475, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.1077911260375018, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.021587926957374475, 'bkg_rate_5': 0.019194808945438385, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.1077911260375018, 'flat_5': 0.09580143265931418, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.021587926957374475, 'bkg_rate_5': 0.019194808945438385, 'bkg_rate_6': 0.014665899217639984, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.1077911260375018, 'flat_5': 0.09580143265931418, 'flat_6': 0.27178094270123576, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.021587926957374475, 'bkg_rate_5': 0.019194808945438385, 'bkg_rate_6': 0.014665899217639984, 'bkg_rate_7': 0.010291252483090232, 'bkg_rate_8': 0.05, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.1077911260375018, 'flat_5': 0.09580143265931418, 'flat_6': 0.27178094270123576, 'flat_7': 0.2707731190784599, 'flat_8': 0.25}
{'bkg_rate_0': 0.06384083541399128, 'bkg_rate_1': 0.04927019788796855, 'bkg_rate_2': 0.03004839160952885, 'bkg_rate_3': 0.027222587805396898, 'bkg_rate_4': 0.021587926957374475, 'bkg_rate_5': 0.019194808945438385, 'bkg_rate_6': 0.014665899217639984, 'bkg_rate_7': 0.010291252483090232, 'bkg_rate_8': 0.007263814678049236, 'flat_0': 0.03619875324928247, 'flat_1': 0.0, 'flat_2': 0.17264307067918053, 'flat_3': 0.13602536663905868, 'flat_4': 0.1077911260375018, 'flat_5': 0.09580143265931418, 'flat_6': 0.27178094270123576, 'flat_7': 0.2707731190784599, 'flat_8': 0.4853072220040932}
8.192000031471252
      START              STOP      
----------------- -----------------
  785996550.72634 785996581.4463401
785996601.9263401 785996632.6463401
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.021666612418876758, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.10818817103382307, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.021666612418876758, 'bkg_rate_5': 0.01931508228923421, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.10818817103382307, 'flat_5': 0.09639805433439667, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.021666612418876758, 'bkg_rate_5': 0.01931508228923421, 'bkg_rate_6': 0.01472664705854385, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.10818817103382307, 'flat_5': 0.09639805433439667, 'flat_6': 0.2859849091460256, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.021666612418876758, 'bkg_rate_5': 0.01931508228923421, 'bkg_rate_6': 0.01472664705854385, 'bkg_rate_7': 0.010339483884374431, 'bkg_rate_8': 0.05, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.10818817103382307, 'flat_5': 0.09639805433439667, 'flat_6': 0.2859849091460256, 'flat_7': 0.3016872550384317, 'flat_8': 0.25}
{'bkg_rate_0': 0.06379897046069194, 'bkg_rate_1': 0.049289052737542347, 'bkg_rate_2': 0.030088180439084213, 'bkg_rate_3': 0.027233058067060403, 'bkg_rate_4': 0.021666612418876758, 'bkg_rate_5': 0.01931508228923421, 'bkg_rate_6': 0.01472664705854385, 'bkg_rate_7': 0.010339483884374431, 'bkg_rate_8': 0.007259626412384469, 'flat_0': 0.015498098604415606, 'flat_1': 0.014062782882464611, 'flat_2': 0.1330885651778871, 'flat_3': 0.35537218068331633, 'flat_4': 0.10818817103382307, 'flat_5': 0.09639805433439667, 'flat_6': 0.2859849091460256, 'flat_7': 0.3016872550384317, 'flat_8': 0.4404179581996204}
9.215999960899353
     START             STOP      
--------------- -----------------
785996551.75034   785996582.47034
785996602.95034 785996633.6703401
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.021605715357039413, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.10787959994422716, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.021605715357039413, 'bkg_rate_5': 0.01927023665996674, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.10787959994422716, 'flat_5': 0.0961788728029449, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.021605715357039413, 'bkg_rate_5': 0.01927023665996674, 'bkg_rate_6': 0.014717262500444828, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.10787959994422716, 'flat_5': 0.0961788728029449, 'flat_6': 0.27259028301908006, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.021605715357039413, 'bkg_rate_5': 0.01927023665996674, 'bkg_rate_6': 0.014717262500444828, 'bkg_rate_7': 0.010351006458323814, 'bkg_rate_8': 0.05, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.10787959994422716, 'flat_5': 0.0961788728029449, 'flat_6': 0.27259028301908006, 'flat_7': 0.34313801014358924, 'flat_8': 0.25}
{'bkg_rate_0': 0.06376853513801085, 'bkg_rate_1': 0.04932257467716381, 'bkg_rate_2': 0.03013220431104611, 'bkg_rate_3': 0.027313216428446384, 'bkg_rate_4': 0.021605715357039413, 'bkg_rate_5': 0.01927023665996674, 'bkg_rate_6': 0.014717262500444828, 'bkg_rate_7': 0.010351006458323814, 'bkg_rate_8': 0.0072585818897505875, 'flat_0': 0.004024362059709343, 'flat_1': 0.0, 'flat_2': 0.1361177561538848, 'flat_3': 0.2538266658396439, 'flat_4': 0.10787959994422716, 'flat_5': 0.0961788728029449, 'flat_6': 0.27259028301908006, 'flat_7': 0.34313801014358924, 'flat_8': 0.4998582844429639}
10.240000009536743
      START              STOP      
----------------- -----------------
  785996552.77434 785996583.4943401
785996603.9743401 785996634.6943401
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.021595159123634664, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.1078245822724998, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.021595159123634664, 'bkg_rate_5': 0.019314430364964236, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.1078245822724998, 'flat_5': 0.09640521404655066, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.021595159123634664, 'bkg_rate_5': 0.019314430364964236, 'bkg_rate_6': 0.014702622272507461, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.1078245822724998, 'flat_5': 0.09640521404655066, 'flat_6': 0.22844591256859983, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.021595159123634664, 'bkg_rate_5': 0.019314430364964236, 'bkg_rate_6': 0.014702622272507461, 'bkg_rate_7': 0.010377198399144505, 'bkg_rate_8': 0.05, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.1078245822724998, 'flat_5': 0.09640521404655066, 'flat_6': 0.22844591256859983, 'flat_7': 0.3063819528386001, 'flat_8': 0.25}
{'bkg_rate_0': 0.06365537553260467, 'bkg_rate_1': 0.04928800663132825, 'bkg_rate_2': 0.030154254587565498, 'bkg_rate_3': 0.027305307460477716, 'bkg_rate_4': 0.021595159123634664, 'bkg_rate_5': 0.019314430364964236, 'bkg_rate_6': 0.014702622272507461, 'bkg_rate_7': 0.010377198399144505, 'bkg_rate_8': 0.007213570223907871, 'flat_0': 0.017238077605066394, 'flat_1': 0.0, 'flat_2': 0.07464916439886908, 'flat_3': 0.13644101856625662, 'flat_4': 0.1078245822724998, 'flat_5': 0.09640521404655066, 'flat_6': 0.22844591256859983, 'flat_7': 0.3063819528386001, 'flat_8': 0.48777981773842205}
11.264000058174133
      START              STOP      
----------------- -----------------
785996553.7983401 785996584.5183401
785996604.9983401 785996635.7183402
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.021641230789961007, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.10805458990582247, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.021641230789961007, 'bkg_rate_5': 0.019254878016058224, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.10805458990582247, 'flat_5': 0.0961115214883584, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.021641230789961007, 'bkg_rate_5': 0.019254878016058224, 'bkg_rate_6': 0.01472059912191578, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.10805458990582247, 'flat_5': 0.0961115214883584, 'flat_6': 0.07343089458290551, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.021641230789961007, 'bkg_rate_5': 0.019254878016058224, 'bkg_rate_6': 0.01472059912191578, 'bkg_rate_7': 0.01038268635034368, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.10805458990582247, 'flat_5': 0.0961115214883584, 'flat_6': 0.07343089458290551, 'flat_7': 0.051735096882246534, 'flat_8': 0.25}
{'bkg_rate_0': 0.06380623086340974, 'bkg_rate_1': 0.04938333403197126, 'bkg_rate_2': 0.03020241702042587, 'bkg_rate_3': 0.027277592783657274, 'bkg_rate_4': 0.021641230789961007, 'bkg_rate_5': 0.019254878016058224, 'bkg_rate_6': 0.01472059912191578, 'bkg_rate_7': 0.01038268635034368, 'bkg_rate_8': 0.007209351907173261, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.09250162043197806, 'flat_3': 0.13627551328200446, 'flat_4': 0.10805458990582247, 'flat_5': 0.0961115214883584, 'flat_6': 0.07343089458290551, 'flat_7': 0.051735096882246534, 'flat_8': 0.44750741689391516}
12.287999987602234
     START             STOP      
--------------- -----------------
785996554.82234   785996585.54234
785996606.02234 785996636.7423401
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.02163605014843888, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.1080302025515883, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.02163605014843888, 'bkg_rate_5': 0.019265109816488327, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.1080302025515883, 'flat_5': 0.09615614642276758, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.02163605014843888, 'bkg_rate_5': 0.019265109816488327, 'bkg_rate_6': 0.01471948784093544, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.1080302025515883, 'flat_5': 0.09615614642276758, 'flat_6': 0.07342395273598774, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.02163605014843888, 'bkg_rate_5': 0.019265109816488327, 'bkg_rate_6': 0.01471948784093544, 'bkg_rate_7': 0.010330208749077266, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.1080302025515883, 'flat_5': 0.09615614642276758, 'flat_6': 0.07342395273598774, 'flat_7': 0.051465808233661606, 'flat_8': 0.25}
{'bkg_rate_0': 0.06395917571922806, 'bkg_rate_1': 0.04933200229594355, 'bkg_rate_2': 0.03014484515399382, 'bkg_rate_3': 0.02728357838355467, 'bkg_rate_4': 0.02163605014843888, 'bkg_rate_5': 0.019265109816488327, 'bkg_rate_6': 0.01471948784093544, 'bkg_rate_7': 0.010330208749077266, 'bkg_rate_8': 0.0072009714633343375, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.05437292788138751, 'flat_3': 0.1362946600493018, 'flat_4': 0.1080302025515883, 'flat_5': 0.09615614642276758, 'flat_6': 0.07342395273598774, 'flat_7': 0.051465808233661606, 'flat_8': 0.44098944878907914}
13.312000036239624
      START              STOP      
----------------- -----------------
785996555.8463401 785996586.5663401
785996607.0463401 785996637.7663401
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.021669576795466793, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.10819812897423106, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.021669576795466793, 'bkg_rate_5': 0.01922195524044289, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.10819812897423106, 'flat_5': 0.09593489900738715, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.021669576795466793, 'bkg_rate_5': 0.01922195524044289, 'bkg_rate_6': 0.014717370094028884, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.10819812897423106, 'flat_5': 0.09593489900738715, 'flat_6': 0.07341286207893873, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.021669576795466793, 'bkg_rate_5': 0.01922195524044289, 'bkg_rate_6': 0.014717370094028884, 'bkg_rate_7': 0.010317711605761174, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.10819812897423106, 'flat_5': 0.09593489900738715, 'flat_6': 0.07341286207893873, 'flat_7': 0.051408258219638917, 'flat_8': 0.25}
{'bkg_rate_0': 0.0640073639316469, 'bkg_rate_1': 0.04940114270244973, 'bkg_rate_2': 0.030107116459355307, 'bkg_rate_3': 0.027366686232974564, 'bkg_rate_4': 0.021669576795466793, 'bkg_rate_5': 0.01922195524044289, 'bkg_rate_6': 0.014717370094028884, 'bkg_rate_7': 0.010317711605761174, 'bkg_rate_8': 0.007209353776260434, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06926060894928307, 'flat_3': 0.19934229951664098, 'flat_4': 0.10819812897423106, 'flat_5': 0.09593489900738715, 'flat_6': 0.07341286207893873, 'flat_7': 0.051408258219638917, 'flat_8': 0.46378033374674765}
14.335999965667725
     START             STOP      
--------------- -----------------
785996556.87034   785996587.59034
785996608.07034 785996638.7903401
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.021713446274472005, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.10841424223185028, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.021713446274472005, 'bkg_rate_5': 0.01929223698237677, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.10841424223185028, 'flat_5': 0.09628899138505313, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.021713446274472005, 'bkg_rate_5': 0.01929223698237677, 'bkg_rate_6': 0.014731130338481389, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.10841424223185028, 'flat_5': 0.09628899138505313, 'flat_6': 0.07348480046624117, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.021713446274472005, 'bkg_rate_5': 0.01929223698237677, 'bkg_rate_6': 0.014731130338481389, 'bkg_rate_7': 0.010366981690254391, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.10841424223185028, 'flat_5': 0.09628899138505313, 'flat_6': 0.07348480046624117, 'flat_7': 0.05165712304927978, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408069383298404, 'bkg_rate_1': 0.049531042115285515, 'bkg_rate_2': 0.03024853552061445, 'bkg_rate_3': 0.027407886346559846, 'bkg_rate_4': 0.021713446274472005, 'bkg_rate_5': 0.01929223698237677, 'bkg_rate_6': 0.014731130338481389, 'bkg_rate_7': 0.010366981690254391, 'bkg_rate_8': 0.007215644897559105, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.08097589318781924, 'flat_3': 0.13694590956474417, 'flat_4': 0.10841424223185028, 'flat_5': 0.09628899138505313, 'flat_6': 0.07348480046624117, 'flat_7': 0.05165712304927978, 'flat_8': 0.4108081080653583}
15.360000014305115
      START              STOP      
----------------- -----------------
  785996557.89434 785996588.6143401
785996609.0943401 785996639.8143401
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.021792052983533663, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.10880871555028222, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.021792052983533663, 'bkg_rate_5': 0.01936028365928943, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.10880871555028222, 'flat_5': 0.0966282844961863, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.021792052983533663, 'bkg_rate_5': 0.01936028365928943, 'bkg_rate_6': 0.014836975439880974, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.10880871555028222, 'flat_5': 0.0966282844961863, 'flat_6': 0.0740154147980241, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.021792052983533663, 'bkg_rate_5': 0.01936028365928943, 'bkg_rate_6': 0.014836975439880974, 'bkg_rate_7': 0.010318538832818311, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.10880871555028222, 'flat_5': 0.0966282844961863, 'flat_6': 0.0740154147980241, 'flat_7': 0.27756824242283634, 'flat_8': 0.25}
{'bkg_rate_0': 0.0641225965965599, 'bkg_rate_1': 0.04951428104846518, 'bkg_rate_2': 0.030185647274662466, 'bkg_rate_3': 0.02753370618513578, 'bkg_rate_4': 0.021792052983533663, 'bkg_rate_5': 0.01936028365928943, 'bkg_rate_6': 0.014836975439880974, 'bkg_rate_7': 0.010318538832818311, 'bkg_rate_8': 0.007228208217476326, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.12710830103546575, 'flat_3': 0.1375681066135038, 'flat_4': 0.10880871555028222, 'flat_5': 0.0966282844961863, 'flat_6': 0.0740154147980241, 'flat_7': 0.27756824242283634, 'flat_8': 0.3809710274012936}
16.383999943733215
     START            STOP     
--------------- ---------------
785996558.91834 785996589.63834
785996610.11834 785996640.83834
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.021750199396817917, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.10860054875374503, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.021750199396817917, 'bkg_rate_5': 0.01936657311052416, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.10860054875374503, 'flat_5': 0.09665985677825666, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.021750199396817917, 'bkg_rate_5': 0.01936657311052416, 'bkg_rate_6': 0.014848112409802532, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.10860054875374503, 'flat_5': 0.09665985677825666, 'flat_6': 0.07408034199394345, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.021750199396817917, 'bkg_rate_5': 0.01936657311052416, 'bkg_rate_6': 0.014848112409802532, 'bkg_rate_7': 0.010304916883523547, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.10860054875374503, 'flat_5': 0.09665985677825666, 'flat_6': 0.07408034199394345, 'flat_7': 0.3363975996556748, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406288516712316, 'bkg_rate_1': 0.049489212856027205, 'bkg_rate_2': 0.030202451070755015, 'bkg_rate_3': 0.0275684398047506, 'bkg_rate_4': 0.021750199396817917, 'bkg_rate_5': 0.01936657311052416, 'bkg_rate_6': 0.014848112409802532, 'bkg_rate_7': 0.010304916883523547, 'bkg_rate_8': 0.007218772961706918, 'flat_0': 0.0, 'flat_1': 0.02395816201647417, 'flat_2': 0.07014045123535637, 'flat_3': 0.13774544965283983, 'flat_4': 0.10860054875374503, 'flat_5': 0.09665985677825666, 'flat_6': 0.07408034199394345, 'flat_7': 0.3363975996556748, 'flat_8': 0.30951471986190154}
17.407999992370605
      START              STOP      
----------------- -----------------
  785996559.94234   785996590.66234
785996611.1423401 785996641.8623401
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.021760640622550523, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.1086518834386467, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.021760640622550523, 'bkg_rate_5': 0.01938437087632959, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.1086518834386467, 'flat_5': 0.09674861715641252, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.021760640622550523, 'bkg_rate_5': 0.01938437087632959, 'bkg_rate_6': 0.014880798102942948, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.1086518834386467, 'flat_5': 0.09674861715641252, 'flat_6': 0.0742309726446405, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.021760640622550523, 'bkg_rate_5': 0.01938437087632959, 'bkg_rate_6': 0.014880798102942948, 'bkg_rate_7': 0.010323769034562424, 'bkg_rate_8': 0.05, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.1086518834386467, 'flat_5': 0.09674861715641252, 'flat_6': 0.0742309726446405, 'flat_7': 0.35339620263708904, 'flat_8': 0.25}
{'bkg_rate_0': 0.06404717803778918, 'bkg_rate_1': 0.04951635659791965, 'bkg_rate_2': 0.0302447536020405, 'bkg_rate_3': 0.02755175150425953, 'bkg_rate_4': 0.021760640622550523, 'bkg_rate_5': 0.01938437087632959, 'bkg_rate_6': 0.014880798102942948, 'bkg_rate_7': 0.010323769034562424, 'bkg_rate_8': 0.007239550393504109, 'flat_0': 0.007206019063482291, 'flat_1': 0.013513543387612108, 'flat_2': 0.15109342807442167, 'flat_3': 0.13766348263988906, 'flat_4': 0.1086518834386467, 'flat_5': 0.09674861715641252, 'flat_6': 0.0742309726446405, 'flat_7': 0.35339620263708904, 'flat_8': 0.03600145309183217}
18.432000041007996
      START              STOP      
----------------- -----------------
785996560.9663401 785996591.6863401
785996612.1663401 785996642.8863401
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.021779608948682246, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.10874983475563614, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.021779608948682246, 'bkg_rate_5': 0.019412859773212512, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.10874983475563614, 'flat_5': 0.09689663930471008, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.021779608948682246, 'bkg_rate_5': 0.019412859773212512, 'bkg_rate_6': 0.014819132790497593, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.10874983475563614, 'flat_5': 0.09689663930471008, 'flat_6': 0.07392538666491011, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.021779608948682246, 'bkg_rate_5': 0.019412859773212512, 'bkg_rate_6': 0.014819132790497593, 'bkg_rate_7': 0.01026196384577911, 'bkg_rate_8': 0.05, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.10874983475563614, 'flat_5': 0.09689663930471008, 'flat_6': 0.07392538666491011, 'flat_7': 0.31012776776996037, 'flat_8': 0.25}
{'bkg_rate_0': 0.06406394446452578, 'bkg_rate_1': 0.04950695311231279, 'bkg_rate_2': 0.030218705169267175, 'bkg_rate_3': 0.027507002913027944, 'bkg_rate_4': 0.021779608948682246, 'bkg_rate_5': 0.019412859773212512, 'bkg_rate_6': 0.014819132790497593, 'bkg_rate_7': 0.01026196384577911, 'bkg_rate_8': 0.007194779871068609, 'flat_0': 0.009732051546934708, 'flat_1': 0.0005404361364402877, 'flat_2': 0.15096527245930658, 'flat_3': 0.26185624439433763, 'flat_4': 0.10874983475563614, 'flat_5': 0.09689663930471008, 'flat_6': 0.07392538666491011, 'flat_7': 0.31012776776996037, 'flat_8': 0.03576507351364013}
19.455999970436096
     START             STOP      
--------------- -----------------
785996561.99034   785996592.71034
785996613.19034 785996643.9103401
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.021790232444809775, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.10880704713712192, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.021790232444809775, 'bkg_rate_5': 0.019450501336045593, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.10880704713712192, 'flat_5': 0.09708309052033107, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.021790232444809775, 'bkg_rate_5': 0.019450501336045593, 'bkg_rate_6': 0.014771897267520985, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.10880704713712192, 'flat_5': 0.09708309052033107, 'flat_6': 0.0736869314487558, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.021790232444809775, 'bkg_rate_5': 0.019450501336045593, 'bkg_rate_6': 0.014771897267520985, 'bkg_rate_7': 0.010238932689311668, 'bkg_rate_8': 0.05, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.10880704713712192, 'flat_5': 0.09708309052033107, 'flat_6': 0.0736869314487558, 'flat_7': 0.2769443767984112, 'flat_8': 0.25}
{'bkg_rate_0': 0.06414041901877338, 'bkg_rate_1': 0.049451424286342485, 'bkg_rate_2': 0.030164717567676066, 'bkg_rate_3': 0.02749970896298324, 'bkg_rate_4': 0.021790232444809775, 'bkg_rate_5': 0.019450501336045593, 'bkg_rate_6': 0.014771897267520985, 'bkg_rate_7': 0.010238932689311668, 'bkg_rate_8': 0.00719153464443652, 'flat_0': 0.0013642330690740632, 'flat_1': 0.0, 'flat_2': 0.08264872565377804, 'flat_3': 0.2652505795786678, 'flat_4': 0.10880704713712192, 'flat_5': 0.09708309052033107, 'flat_6': 0.0736869314487558, 'flat_7': 0.2769443767984112, 'flat_8': 0.03574362984376875}
20.480000019073486
      START              STOP      
----------------- -----------------
  785996563.01434 785996593.7343401
785996614.2143401 785996644.9343401
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.05, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.25, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.05, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.25, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.05, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.05, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.25, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.021800510368186032, 'bkg_rate_5': 0.05, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.10885309787373228, 'flat_5': 0.25, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.021800510368186032, 'bkg_rate_5': 0.019452711104219648, 'bkg_rate_6': 0.05, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.10885309787373228, 'flat_5': 0.0970972400158146, 'flat_6': 0.25, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.021800510368186032, 'bkg_rate_5': 0.019452711104219648, 'bkg_rate_6': 0.014813602230683396, 'bkg_rate_7': 0.05, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.10885309787373228, 'flat_5': 0.0970972400158146, 'flat_6': 0.07389135251347202, 'flat_7': 0.25, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.021800510368186032, 'bkg_rate_5': 0.019452711104219648, 'bkg_rate_6': 0.014813602230683396, 'bkg_rate_7': 0.010238923263969722, 'bkg_rate_8': 0.05, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.10885309787373228, 'flat_5': 0.0970972400158146, 'flat_6': 0.07389135251347202, 'flat_7': 0.21525984276382817, 'flat_8': 0.25}
{'bkg_rate_0': 0.06408174162541873, 'bkg_rate_1': 0.04936028839394543, 'bkg_rate_2': 0.03018359631072183, 'bkg_rate_3': 0.027499717250466814, 'bkg_rate_4': 0.021800510368186032, 'bkg_rate_5': 0.019452711104219648, 'bkg_rate_6': 0.014813602230683396, 'bkg_rate_7': 0.010238923263969722, 'bkg_rate_8': 0.00719155847262917, 'flat_0': 0.0, 'flat_1': 0.0, 'flat_2': 0.06812219139404772, 'flat_3': 0.25810044886918876, 'flat_4': 0.10885309787373228, 'flat_5': 0.0970972400158146, 'flat_6': 0.07389135251347202, 'flat_7': 0.21525984276382817, 'flat_8': 0.0357449734570338}
Background estimation completed in 3.1 s
bkg_estimation.csv path: /Users/samueleronchini/Desktop/acme_tutorials/nitrates/785996578_c0/bkg_estimation.csv
Exists: True

The background model is time-varying: bkg_df stores one set of fitted parameters per sampled time step (~1 s cadence over ±20 s around the trigger). However, for the LLH fit at the trigger time the background is treated as locally constant — a single snapshot is selected from bkg_df (the row closest in time to the trigger) and its parameters are frozen during minimization. This approximation is valid because the signal window (≲ 20 s) is short compared to the timescale on which the instrumental background evolves.

bkg_params is the resulting dictionary {param_name: value} extracted from that snapshot, with one bkg_rate_i and one flat_i entry per energy bin (9 bins, indices 0–8, covering 15–350 keV).

# 1) Parse the background CSV and rebuild NITRATES background model objects.
#    - `bkg_df`: table of fitted background parameters vs time
#    - `bkg_mod`: diffuse/instrument background model
#    - `ps_mods`: optional persistent point-source background models
bkg_df, bkg_name, _, bkg_mod, ps_mods = parse_bkg_csv(
    bkg_csv_path,
    np.load(solid_angle_dpi_path),
    ebins0,
    ebins1,
    bl_dmask,
    rt_dir,
)

# 2) Disable derivatives for downstream stability/simplicity in this tutorial.
bkg_mod.has_deriv = False

# 3) Build a list with the diffuse background model first.
bkg_mod_list = [bkg_mod]

# 4) Append persistent point-source models (if present), also with derivatives disabled.
for ps_mod in ps_mods:
    ps_mod.has_deriv = False
    bkg_mod_list.append(ps_mod)

# 5) If we have multiple background components, combine them into a single compound model.
if len(bkg_mod_list) > 1:
    bkg_mod = CompoundModel(bkg_mod_list)

# 6) Select the background-parameter row closest in time to the trigger.
bkg_row = bkg_df.iloc[np.argmin(np.abs(trig - bkg_df['time']))]

# 7) Build the parameter dictionary expected by the active background model.
bkg_params = {pname: bkg_row[pname] for pname in bkg_mod.param_names}

bkg_params
[]
{'bkg_rate_0': 0.0638596862082248,
 'bkg_rate_1': 0.0491277271730505,
 'bkg_rate_2': 0.0301060629680355,
 'bkg_rate_3': 0.0268910509945164,
 'bkg_rate_4': 0.0213558457714208,
 'bkg_rate_5': 0.01884267557867,
 'bkg_rate_6': 0.0142500479239289,
 'bkg_rate_7': 0.010146743335914,
 'bkg_rate_8': 0.0072125051620775,
 'flat_0': 0.0356865759461283,
 'flat_1': 0.0,
 'flat_2': 0.072348538660511,
 'flat_3': 0.2960193745809509,
 'flat_4': 0.1066430771228754,
 'flat_5': 0.0940638780336968,
 'flat_6': 0.3944720400135956,
 'flat_7': 0.2915032821685711,
 'flat_8': 0.629791495505374}

We can take a look to the bkg data frame. Each row contains the parameters of the bkg at different times. In this case the bkg is estimated from t0 - 20 s up to t0 + 20s, with steps of 1 s. In addition to diffuse bkg, also persistent point sources are modeled

bkg_df
bkg_rate_0 bkg_rate_1 bkg_rate_2 bkg_rate_3 bkg_rate_4 bkg_rate_5 bkg_rate_6 bkg_rate_7 bkg_rate_8 flat_0 ... corr_bkg_rate_3_flat_3 corr_bkg_rate_4_flat_4 corr_bkg_rate_5_flat_5 corr_bkg_rate_6_flat_6 corr_bkg_rate_7_flat_7 corr_bkg_rate_8_flat_8 nllh time dt exp
0 0.064432 0.049785 0.030574 0.027296 0.022147 0.019687 0.015181 0.010568 0.007420 0.024342 ... 4.283330e-03 -0.003674 5.967951e-04 2.376471e-07 -3.870803e-03 -2.449219e-03 200850.267013 7.859966e+08 -20.480 54.49434
1 0.064370 0.049747 0.030475 0.027313 0.022096 0.019640 0.015137 0.010538 0.007398 0.046485 ... -5.052168e-04 -0.001618 -1.996133e-03 -4.490992e-08 -7.665342e-03 -3.690474e-03 202141.864834 7.859966e+08 -19.456 55.51834
2 0.064182 0.049717 0.030515 0.027295 0.022074 0.019598 0.015097 0.010528 0.007383 0.049632 ... -1.649735e-03 -0.001972 -5.498343e-03 5.271402e-08 8.120750e-03 -8.454153e-04 203518.319643 7.859966e+08 -18.432 56.54234
3 0.064147 0.049636 0.030536 0.027248 0.022010 0.019584 0.015104 0.010549 0.007394 0.076485 ... 5.621949e-04 -0.001394 -6.174446e-03 -2.858828e-09 -7.023157e-03 -1.043163e-03 204928.548681 7.859966e+08 -17.408 57.56634
4 0.064075 0.049500 0.030449 0.027196 0.021943 0.019583 0.015097 0.010521 0.007373 0.066859 ... 1.346743e-03 -0.002053 -6.039354e-03 4.819314e-06 -6.205688e-03 -3.612027e-03 206139.991454 7.859966e+08 -16.384 58.59034
5 0.064054 0.049440 0.030443 0.027074 0.021813 0.019530 0.014956 0.010546 0.007375 0.073034 ... -1.771784e-03 -0.001822 -2.106175e-08 -3.906720e-06 -6.792920e-03 -4.786058e-03 207303.119071 7.859966e+08 -15.360 59.61434
6 0.064075 0.049395 0.030413 0.026939 0.021726 0.019425 0.014847 0.010505 0.007344 0.029308 ... -2.389862e-03 -0.000938 -2.532449e-06 -5.052070e-03 -6.118612e-03 1.240078e-02 208329.912040 7.859966e+08 -14.336 60.63834
7 0.064094 0.049297 0.030394 0.026863 0.021636 0.019268 0.014693 0.010400 0.007297 0.022234 ... 1.409311e-06 -0.002045 -2.448167e-06 1.541582e-06 -6.996008e-03 -3.027365e-06 208977.124914 7.859966e+08 -13.312 61.44000
8 0.064034 0.049245 0.030342 0.026852 0.021527 0.019132 0.014646 0.010333 0.007286 0.001839 ... 4.016024e-04 -0.002247 -3.295522e-06 -5.291297e-03 -6.814587e-03 -2.427576e-08 208725.161486 7.859966e+08 -12.288 61.44000
9 0.063953 0.049148 0.030366 0.026785 0.021514 0.019124 0.014629 0.010314 0.007258 0.032946 ... 6.019022e-04 -0.002201 5.019334e-08 -5.445343e-03 -4.943172e-03 -4.839627e-06 208618.122660 7.859966e+08 -11.264 61.44000
10 0.063934 0.049171 0.030383 0.026763 0.021541 0.019096 0.014636 0.010265 0.007267 0.057468 ... -1.851182e-03 -0.003911 3.993761e-09 -5.171502e-03 -4.341931e-03 6.192855e-08 208585.651335 7.859966e+08 -10.240 61.44000
11 0.063922 0.049161 0.030401 0.026745 0.021461 0.019156 0.014612 0.010208 0.007249 0.081791 ... -1.748168e-07 -0.004136 2.938108e-03 -1.864460e-03 -8.025428e-03 2.483829e-08 208496.757333 7.859966e+08 -9.216 61.44000
12 0.063927 0.049150 0.030453 0.026818 0.021514 0.019151 0.014595 0.010221 0.007238 0.074782 ... 1.798388e-07 -0.003622 -7.304756e-03 6.812096e-04 9.864745e-03 -6.178327e-09 208406.045935 7.859966e+08 -8.192 61.44000
13 0.063909 0.049169 0.030444 0.026730 0.021463 0.019113 0.014585 0.010187 0.007201 0.084003 ... 2.793681e-08 -0.004540 -3.596494e-03 -9.677786e-05 9.268639e-03 -4.173877e-07 208286.103691 7.859966e+08 -7.168 61.44000
14 0.064001 0.049224 0.030303 0.026683 0.021448 0.018995 0.014477 0.010134 0.007202 0.106531 ... -4.339826e-07 -0.005068 4.691764e-06 -4.180779e-03 -1.188385e-03 -8.832116e-08 208109.783465 7.859966e+08 -6.144 61.44000
15 0.063932 0.049261 0.030261 0.026662 0.021404 0.018878 0.014382 0.010143 0.007147 0.072829 ... -5.895426e-07 -0.002418 -4.261158e-03 -6.323576e-03 -9.178579e-03 -5.747018e-07 207961.633992 7.859966e+08 -5.120 61.44000
16 0.063925 0.049191 0.030211 0.026756 0.021356 0.018868 0.014372 0.010108 0.007162 0.067449 ... -3.551462e-08 -0.004355 2.517431e-06 -8.177861e-03 -4.932732e-08 -2.005831e-07 207979.498572 7.859966e+08 -4.096 61.44000
17 0.063976 0.049229 0.030186 0.026753 0.021326 0.018798 0.014341 0.010135 0.007118 0.035361 ... -2.839234e-07 -0.004129 1.910125e-06 1.912644e-08 -7.184402e-03 4.258178e-07 207866.865223 7.859966e+08 -3.072 61.44000
18 0.063866 0.049213 0.030243 0.026803 0.021303 0.018828 0.014345 0.010201 0.007199 0.050325 ... -5.782680e-07 -0.005391 2.742732e-06 -4.219798e-07 -7.262562e-03 4.337299e-06 208061.475408 7.859966e+08 -2.048 61.44000
19 0.063957 0.049137 0.030221 0.026836 0.021349 0.018823 0.014313 0.010156 0.007217 0.024924 ... -2.991893e-07 -0.002529 -4.000143e-03 -1.657991e-07 -6.546430e-03 -1.323714e-06 208035.163125 7.859966e+08 -1.024 61.44000
20 0.063860 0.049128 0.030106 0.026891 0.021356 0.018843 0.014250 0.010147 0.007213 0.035687 ... -2.669771e-07 -0.001334 -1.063784e-03 2.161201e-10 -1.407744e-06 -2.266315e-06 207995.298108 7.859966e+08 0.000 61.44000
21 0.063779 0.049064 0.030098 0.026955 0.021339 0.018860 0.014263 0.010121 0.007236 0.061523 ... 7.555838e-09 -0.002262 1.685702e-03 -1.217226e-07 2.045344e-03 -4.310941e-06 208051.361680 7.859966e+08 1.024 61.44000
22 0.063902 0.049033 0.030086 0.027015 0.021394 0.018891 0.014286 0.010152 0.007257 0.057355 ... -1.938593e-07 -0.002359 1.278778e-03 -1.971927e-07 -9.745693e-03 3.425504e-06 208083.502601 7.859966e+08 2.048 61.44000
23 0.063841 0.049050 0.030061 0.027002 0.021443 0.018948 0.014302 0.010147 0.007255 0.034459 ... -2.490518e-07 -0.000783 3.343557e-03 -1.137702e-07 -1.687086e-06 9.597679e-09 208168.073056 7.859966e+08 3.072 61.44000
24 0.063844 0.049084 0.030112 0.027097 0.021444 0.018962 0.014342 0.010192 0.007278 0.029332 ... -2.390533e-08 -0.003446 2.590623e-03 -9.706730e-07 -9.261896e-03 1.821948e-08 208391.013397 7.859966e+08 4.096 61.44000
25 0.063880 0.049168 0.030149 0.027166 0.021532 0.018957 0.014433 0.010222 0.007274 0.001740 ... 1.298771e-07 -0.002180 1.058674e-03 -1.142213e-06 -9.295995e-03 3.385677e-08 208610.181404 7.859966e+08 5.120 61.44000
26 0.063873 0.049231 0.030162 0.027221 0.021556 0.019059 0.014518 0.010266 0.007270 0.010818 ... 4.764821e-06 0.000201 5.587077e-03 -8.478220e-07 -8.853741e-03 -5.476465e-06 208766.172931 7.859966e+08 6.144 61.44000
27 0.063841 0.049270 0.030048 0.027223 0.021588 0.019195 0.014666 0.010291 0.007264 0.036199 ... -4.685402e-03 0.002671 7.944510e-03 -1.196213e-06 1.814778e-07 1.255708e-07 208958.693451 7.859966e+08 7.168 61.44000
28 0.063799 0.049289 0.030088 0.027233 0.021667 0.019315 0.014727 0.010339 0.007260 0.015498 ... 5.161666e-03 0.001699 9.760618e-03 -1.892484e-06 -3.847583e-08 -4.279764e-06 209247.213379 7.859966e+08 8.192 61.44000
29 0.063769 0.049323 0.030132 0.027313 0.021606 0.019270 0.014717 0.010351 0.007259 0.004024 ... -2.371131e-07 0.002831 7.913599e-03 1.175739e-09 -2.363881e-08 8.952409e-08 209319.310178 7.859966e+08 9.216 61.44000
30 0.063655 0.049288 0.030154 0.027305 0.021595 0.019314 0.014703 0.010377 0.007214 0.017238 ... -4.850903e-03 0.003479 6.023302e-03 1.375678e-06 -9.368220e-08 -8.317771e-08 209343.765407 7.859966e+08 10.240 61.44000
31 0.063806 0.049383 0.030202 0.027278 0.021641 0.019255 0.014721 0.010383 0.007209 0.000000 ... -3.768679e-05 0.003635 4.484996e-03 -3.425182e-03 -9.278389e-03 -2.034805e-08 209338.701353 7.859966e+08 11.264 61.44000
32 0.063959 0.049332 0.030145 0.027284 0.021636 0.019265 0.014719 0.010330 0.007201 0.000000 ... 4.247588e-04 0.003183 6.858530e-03 -2.302282e-03 -5.669962e-03 -1.845713e-08 209301.957085 7.859966e+08 12.288 61.44000
33 0.064007 0.049401 0.030107 0.027367 0.021670 0.019222 0.014717 0.010318 0.007209 0.000000 ... 4.638497e-06 0.003133 8.793492e-03 -1.903704e-03 -8.424941e-03 7.488976e-09 209435.941148 7.859966e+08 13.312 61.44000
34 0.064081 0.049531 0.030249 0.027408 0.021713 0.019292 0.014731 0.010367 0.007216 0.000000 ... -3.396519e-03 0.004133 7.886644e-03 -4.388449e-03 -9.636026e-03 -5.693175e-08 209489.671514 7.859966e+08 14.336 61.44000
35 0.064123 0.049514 0.030186 0.027534 0.021792 0.019360 0.014837 0.010319 0.007228 0.000000 ... -2.623214e-03 0.003797 8.278598e-03 -5.015529e-03 -2.566103e-07 -6.723270e-06 209686.896748 7.859966e+08 15.360 61.44000
36 0.064063 0.049489 0.030202 0.027568 0.021750 0.019367 0.014848 0.010305 0.007219 0.000000 ... -3.450008e-03 0.003431 8.243471e-03 -6.333465e-03 -4.118845e-07 -3.725895e-07 209584.989642 7.859966e+08 16.384 61.44000
37 0.064047 0.049516 0.030245 0.027552 0.021761 0.019384 0.014881 0.010324 0.007240 0.007206 ... -3.825573e-03 0.003697 8.346866e-03 -1.991042e-03 -9.528593e-09 -7.844892e-03 209657.847785 7.859966e+08 17.408 61.44000
38 0.064064 0.049507 0.030219 0.027507 0.021780 0.019413 0.014819 0.010262 0.007195 0.009732 ... 6.192485e-08 0.002810 6.388501e-03 -4.447576e-03 -1.464092e-07 -6.898274e-03 209447.229519 7.859966e+08 18.432 61.44000
39 0.064140 0.049451 0.030165 0.027500 0.021790 0.019451 0.014772 0.010239 0.007192 0.001364 ... -2.565391e-06 0.001625 7.054399e-03 -2.827853e-03 -7.453294e-07 7.434274e-04 209356.338887 7.859966e+08 19.456 61.44000
40 0.064082 0.049360 0.030184 0.027500 0.021801 0.019453 0.014814 0.010239 0.007192 0.000000 ... -1.319697e-06 0.003197 5.962449e-03 6.464553e-04 -1.702343e-03 -1.048533e-03 209271.309186 7.859966e+08 20.480 61.44000

41 rows × 49 columns

Plotting the bkg-subtracted light curve#

We use the get_rate_dpis() function and then np.nansum(rate_dpis) are needed to go from the backgroound model to the amount of total counts expected on all the detectors

This cell builds a background-subtracted light curve in the analysis energy band and shows both model and residuals.

  1. Select events in the same energy range used by the background model.

  2. Build time bins across the analysis interval, preserving a final partial bin if needed.

  3. Compute observed count-rate per bin and Poisson errors.

  4. Evaluate the background model rate at each fitted background time row.

  5. Estimate the background uncertainty via a rolling standard deviation of the model rates over a sliding window (Bkg_Model_wFlatA does not expose per-pixel rate errors, so temporal scatter serves as a proxy).

  6. Interpolate background rates and uncertainties onto light-curve bin centers.

  7. Compute residuals as \(\mathrm{rate}_{\mathrm{obs}}-\mathrm{rate}_{\mathrm{bkg}}\) and propagate errors.

  8. Plot two panels: observed vs background (top), and background-subtracted residuals (bottom).

    • The blue curve is the full time-varying background from bkg_df (the background does slowly evolve over the ±20 s window).

    • The shaded band is the rolling-std uncertainty on the background.

    • The orange dotted line is the single frozen snapshot used in the LLH fit (the locally-constant approximation at trigger time).

# Background-subtracted light curve over the full analysis interval.
# This cell computes: observed rate, modeled background rate, and (observed - background).

import matplotlib.pyplot as plt
import numpy as np

# 0) User controls: remove N bins at left/right edge.
trim_left_bins = 2
trim_right_bins = 0

# 1) Match the energy range actually modeled by the background.
#    This keeps data and model on exactly the same energy support.
e_lo = float(np.min(ebins0))
e_hi = float(np.max(ebins1))

ev_lc_bkg = filtered_ev_data[
    (filtered_ev_data['ENERGY'] >= e_lo) & (filtered_ev_data['ENERGY'] <= e_hi)
]

# 2) Define the nominal time bin size for the light curve (seconds).
bin_size = 0.512

# 3) Build time-bin edges across [t_start, t_end].
#    We explicitly keep the final partial bin (if any) with its true width.
t_edges = np.arange(t_start, t_end, bin_size, dtype=float)
if len(t_edges) == 0 or t_edges[0] != t_start:
    t_edges = np.r_[t_start, t_edges]
if t_edges[-1] < t_end:
    t_edges = np.r_[t_edges, t_end]

dt_bins = np.diff(t_edges)
t_cent = 0.5 * (t_edges[:-1] + t_edges[1:])

# 4) Compute observed total count rate per time bin (plus Poisson errors).
counts_obs, _ = np.histogram(ev_lc_bkg['TIME'], bins=t_edges)

# 4b) Apply manual bin trimming at edges.
if trim_left_bins < 0 or trim_right_bins < 0:
    raise ValueError('trim_left_bins and trim_right_bins must be >= 0')

n_bins_total = len(counts_obs)
if trim_left_bins + trim_right_bins >= n_bins_total:
    raise ValueError(
        f'Trimming removes all bins: n_bins={n_bins_total}, '
        f'left={trim_left_bins}, right={trim_right_bins}'
    )

i0 = int(trim_left_bins)
i1 = int(n_bins_total - trim_right_bins)

counts_obs = counts_obs[i0:i1]
dt_bins    = dt_bins[i0:i1]
t_cent     = t_cent[i0:i1]
t_edges    = t_edges[i0:i1 + 1]

rate_obs     = counts_obs / dt_bins
rate_obs_err = np.sqrt(np.maximum(counts_obs, 1.0)) / dt_bins

# 5) Evaluate expected background rate at each row/time of the fitted bkg table.
bkg_times_raw = np.asarray(bkg_df['time'].values, dtype=float)
bkg_rate_rows_raw = []

for _, row in bkg_df.iterrows():
    p = {pname: row[pname] for pname in bkg_mod.param_names if pname in row.index}
    rate_dpis = np.asarray(bkg_mod.get_rate_dpis(p), dtype=float)
    bkg_rate_rows_raw.append(np.nansum(rate_dpis))

bkg_times_raw    = np.asarray(bkg_times_raw, dtype=float)
bkg_rate_rows_raw = np.asarray(bkg_rate_rows_raw, dtype=float)

# 6) Sort background points by time before interpolation.
srt = np.argsort(bkg_times_raw)
bkg_times     = bkg_times_raw[srt]
bkg_rate_rows = bkg_rate_rows_raw[srt]

# 7) Background uncertainty via rolling standard deviation.
#    Bkg_Model_wFlatA does not expose per-pixel rate errors, so we estimate
#    the uncertainty as the temporal scatter of the model rate over a sliding
#    window — this captures how much the fitted background varies in time and
#    serves as a conservative proxy for the background estimation uncertainty.
ROLL_WIN = 7   # window width in bkg-table rows (~7 s)
half_w = ROLL_WIN // 2
bkg_rate_err_rows = np.array([
    np.std(bkg_rate_rows[max(0, i - half_w):min(len(bkg_rate_rows), i + half_w + 1)])
    for i in range(len(bkg_rate_rows))
])
# Guarantee a non-zero floor (global std) in case the window is degenerate.
if not np.any(bkg_rate_err_rows > 0):
    bkg_rate_err_rows = np.full_like(bkg_rate_rows, np.std(bkg_rate_rows))

# 8) Interpolate background model and its uncertainty onto LC bin centers.
rate_bkg = np.interp(
    t_cent, bkg_times, bkg_rate_rows,
    left=bkg_rate_rows[0], right=bkg_rate_rows[-1],
)
rate_bkg_err = np.interp(
    t_cent, bkg_times, bkg_rate_err_rows,
    left=bkg_rate_err_rows[0], right=bkg_rate_err_rows[-1],
)

# Frozen background snapshot used in the LLH (single value at trigger time).
# This is the "locally constant" approximation discussed earlier.
bkg_at_trig = float(np.interp(trig, bkg_times, bkg_rate_rows))

# 9) Build background-subtracted light curve and combined uncertainty.
rate_sub     = rate_obs - rate_bkg
rate_sub_err = np.sqrt(rate_obs_err**2 + rate_bkg_err**2)

# 10) Plot two panels:
#     - Top:    observed rate vs expected background (time-varying + frozen snapshot)
#     - Bottom: background-subtracted rate (residuals)
fig, axes = plt.subplots(
    2, 1, figsize=(9.2, 6.2), sharex=True,
    gridspec_kw={'height_ratios': [2.0, 1.2]}
)

# ── Top panel ────────────────────────────────────────────────────────────────
axes[0].step(t_edges[:-1] - trig, rate_obs, where='post',
             lw=1.5, color='black', label='Observed rate')
axes[0].plot(t_cent - trig, rate_bkg, '-',
             lw=1.8, color='tab:blue', label='Expected background (time-varying fit)')
axes[0].fill_between(
    t_cent - trig,
    rate_bkg - rate_bkg_err,
    rate_bkg + rate_bkg_err,
    color='tab:blue', alpha=0.25,
    label=f'Bkg uncertainty (rolling std, window={ROLL_WIN} s)',
)
axes[0].axhline(
    bkg_at_trig, color='tab:orange', ls=':', lw=1.8,
    label=f'Frozen bkg at trigger (used in LLH): {bkg_at_trig:.1f} cts/s',
)
axes[0].axvline(0.0, color='tab:red', ls='--', lw=1, alpha=0.8, label='Trigger')
axes[0].set_ylabel('Counts/s')
axes[0].set_title('Observed rate and expected background')
axes[0].grid(alpha=0.3)
axes[0].legend(fontsize=8)

# ── Bottom panel ──────────────────────────────────────────────────────────────
axes[1].axhline(0.0, color='gray', lw=1, ls='--')
axes[1].errorbar(
    t_cent - trig, rate_sub, yerr=rate_sub_err,
    fmt='o-', ms=3.0, lw=1.0, capsize=2, color='tab:purple',
)
axes[1].axvline(0.0, color='tab:red', ls='--', lw=1, alpha=0.8)
axes[1].set_xlabel('Time - trigger [s]')
axes[1].set_ylabel('Data - bkg\n[counts/s]')
axes[1].set_title('Background-subtracted light curve')
axes[1].grid(alpha=0.3)

plt.tight_layout()
plt.show()

print(
    f'Plotted background-subtracted LC in {e_lo:.1f}-{e_hi:.1f} keV '
    f'with nominal {bin_size:.3f} s bins over [{t_start - trig:+.1f}, {t_end - trig:+.1f}] s'
)
print(f'Manual trim: left={trim_left_bins}, right={trim_right_bins}')
print(f'Kept bins: {len(counts_obs)}')
print(f'Last bin width = {dt_bins[-1]:.3f} s')
../_images/7fd61616596946fbccff7087a6bd746c82f445c01f277faa54608458d1a955f2.png
Plotted background-subtracted LC in 15.0-350.0 keV with nominal 0.512 s bins over [-50.0, +50.0] s
Manual trim: left=2, right=0
Kept bins: 194
Last bin width = 0.160 s

Likelihood object#

In this step we build the full object chain that turns event data + models into an optimizable likelihood.

What each function/class is doing operationally#

  1. sig_pars = dict(flux_params) and sig_pars.update({'A': 1.0, 'theta': theta, 'phi': phi})

    • Creates the signal parameter dictionary used by the source model.

    • Includes spectral shape (gamma, Epeak), normalization (A), and sky location (theta, phi).

  2. Sig_Bkg_Model(bl_dmask, sig_mod, bkg_mod, use_deriv=True)

    • Combines signal model and background model into one forward model.

    • Internally this model can return expected detector/energy rates and counts for any parameter set.

    • With use_deriv=True, it exposes derivatives/Jacobians that speed up minimization.

  3. sig_bkg_mod.set_bkg_params(bkg_params)

    • Loads the background-fit parameters (from bkg_estimation.csv) into the combined model.

    • This fixes the baseline expected count-rate surface from background components.

  4. sig_bkg_mod.set_sig_params(sig_pars)

    • Loads the signal parameters into the same combined model.

    • At this stage the model can evaluate total expected counts = background + signal.

  5. LLH_webins2(filtered_ev_data, ebins0, ebins1, bl_dmask, has_err=True)

    • Builds the Poisson likelihood engine over detector and energy bins.

    • Uses the filtered event list plus detector mask and the exact analysis energy binning.

    • has_err=True keeps support for model uncertainties where available.

  6. sig_llh_obj.set_model(sig_bkg_mod)

    • Attaches the combined (signal+background) model to the likelihood object.

    • From here, sig_llh_obj can compute log-probability/NLLH for any parameter values.

  7. NLLH_ScipyMinimize_Wjacob('') + set_llh(sig_llh_obj)

    • Creates the numerical optimizer wrapper and links it to the LLH object.

    • The optimizer uses SciPy minimization and, when available, analytic Jacobians.

  8. sig_miner.set_fixed_params(['A'], fixed=False)

    • Marks amplitude A as a free parameter for optimization in the next scan cells.

    • Other parameters stay fixed in this tutorial step (shape and sky location held constant).

So after this cell, the notebook is fully configured to evaluate and minimize the NLLH in each time window, producing best-fit A and then \(\sqrt{TS}\).

sig_pars = dict(flux_params)
sig_pars.update({'A': 1.0, 'theta': theta, 'phi': phi})

sig_bkg_mod = Sig_Bkg_Model(bl_dmask, sig_mod, bkg_mod, use_deriv=True)
sig_bkg_mod.set_bkg_params(bkg_params)
sig_bkg_mod.set_sig_params(sig_pars)

sig_llh_obj = LLH_webins2(filtered_ev_data, ebins0, ebins1, bl_dmask, has_err=True)
sig_llh_obj.set_model(sig_bkg_mod)

sig_miner = NLLH_ScipyMinimize_Wjacob('')
sig_miner.set_llh(sig_llh_obj)
sig_miner.set_fixed_params(['A'], fixed=False)

Scan a few on-source windows#

Reminder — source position: the sky coordinates of the source are set once at the top of the notebook (source_ra_dec = (RA, Dec)) and converted to instrument angles \((\theta, \phi)\) via convert_radec2thetaphi(..., att_quat). Those angles are baked into sig_mod (via sig_mod.set_theta_phi) and carried through sig_pars into the combined signal+background model. All evaluate_window calls below therefore implicitly assume the fixed position defined there — to analyse a different sky direction, update source_ra_dec and re-run from that cell.

AMPLITUDE_FLOOR = 1e-10  # small positive floor used to approximate zero-signal without risking log(0)
def evaluate_window(t0, duration):
    t1 = t0 + duration
    sig_llh_obj.set_time(t0, t1)
    bf_vals, nllh, _ = sig_miner.minimize()
    best_vals = np.atleast_1d(bf_vals[0])  # scipy wrapper returns [array([...])] so pull first element
    amp = float(best_vals[0])
    bkg_nllh = -sig_llh_obj.get_logprob({'A': AMPLITUDE_FLOOR})
    sqrtTS = np.sqrt(2.0 * (bkg_nllh - nllh[0]))
    return {'t0': t0, 't1': t1, 'duration': duration, 'amplitude': amp, 'sqrtTS': sqrtTS}

windows = [0.512, 1.024, 2.048]
results = [evaluate_window(trig - 0.5 * dur, dur) for dur in windows]
results
[{'t0': 785996578.11834,
  't1': 785996578.63034,
  'duration': 0.512,
  'amplitude': 0.05451667537115488,
  'sqrtTS': 7.754393562066208},
 {'t0': 785996577.8623401,
  't1': 785996578.8863401,
  'duration': 1.024,
  'amplitude': 0.04965598802665707,
  'sqrtTS': 10.044585593175738},
 {'t0': 785996577.35034,
  't1': 785996579.39834,
  'duration': 2.048,
  'amplitude': 0.04432499972390377,
  'sqrtTS': 12.774939294959957}]
# ── TS evolution: 10 bins of 1.024 s before and after T₀ ────────────────────
# Evaluates 20 contiguous 1.024-s windows centred around the trigger time and
# plots how √TS evolves across the burst epoch.
# ─────────────────────────────────────────────────────────────────────────────

import matplotlib.pyplot as plt
import numpy as np

SCAN_DUR  = 2          # window duration (s)
N_BINS    = 10             # bins on each side of T₀
t_starts  = [trig + (i - N_BINS) * SCAN_DUR for i in range(2 * N_BINS)]

ts_rows   = [evaluate_window(t, SCAN_DUR) for t in t_starts]
ts_tmid   = np.array([r['t0'] + SCAN_DUR / 2.0 - float(trig) for r in ts_rows])
ts_snr    = np.array([r['sqrtTS'] for r in ts_rows])

# ── Plot ──────────────────────────────────────────────────────────────────────
fig, ax = plt.subplots(figsize=(10, 4), dpi=110)

ax.step(ts_tmid, ts_snr, where='mid', color='steelblue', lw=1.8, label=r'$\sqrt{TS}$')
ax.fill_between(ts_tmid, 0, ts_snr, step='mid', alpha=0.25, color='steelblue')

ax.set_xlabel('Time relative to trigger  (s)')
ax.set_ylabel(r'$\sqrt{TS}$  (SNR)')
ax.set_title(f'TS evolution — {SCAN_DUR:.3f} s bins, ±{N_BINS * SCAN_DUR:.1f} s around trigger')
ax.legend(loc='upper right', fontsize=9)
ax.set_xlim(ts_tmid[0] - SCAN_DUR / 2, ts_tmid[-1] + SCAN_DUR / 2)
ax.set_ylim(bottom=0)
plt.tight_layout()
plt.show()

print(f"\nPeak bin:  t_mid = {ts_tmid[ts_snr.argmax()]:+.3f} s,  √TS = {ts_snr.max():.2f}")
../_images/118a8b351383cfc02d2b88c304ab368065ebe0a3087fa6be32a037592c85a824.png
Peak bin:  t_mid = +1.000 s,  √TS = 16.04

Do the full time seeds search and split rates#

# Run the split-detector rates scan through a local wrapper that patches nitrates.config.
# Time seeds are generated with the standard NITRATES full-rates step.

import glob
import os
import subprocess
import sys
import textwrap
import time
import numpy as np
import pandas as pd

workdir_path = Path(workdir)

# ------------------------------------------------------------------
# 1) Standard NITRATES step: generate time_seeds.csv via do_full_rates
#    Equivalent shell command:
#    python -m nitrates.analysis_seeds.do_full_rates --api_token "$api_token" > full_rates.out 2>&1
# ------------------------------------------------------------------
time_seeds_path = workdir_path / 'time_seeds.csv'
full_rates_log = workdir_path / 'full_rates.out'

cmd_full_rates = [
    sys.executable,
    '-m', 'nitrates.analysis_seeds.do_full_rates',
    '--dbfname', 'results.localpaths.db',
]

print('Running full-rates seed step:', ' '.join(cmd_full_rates))

with open(full_rates_log, 'w') as fout:
    proc_full = subprocess.run(
        cmd_full_rates,
        cwd=str(workdir_path),
        stdout=fout,
        stderr=subprocess.STDOUT,
        text=True,
    )

print(f"do_full_rates exit code: {proc_full.returncode}")
if full_rates_log.exists():
    tail = full_rates_log.read_text(errors='ignore')[-3000:]
    if tail.strip():
        print("── full_rates.out (tail) ──\n", tail)

if proc_full.returncode != 0:
    raise RuntimeError('do_full_rates failed; inspect full_rates.out in workdir.')

if not time_seeds_path.exists():
    raise FileNotFoundError(f'do_full_rates finished but {time_seeds_path.name} was not found in workdir.')

# do_full_rates writes 'NONE' when no seed passes threshold.
try:
    time_seeds_df = pd.read_csv(time_seeds_path)
except Exception:
    raw = time_seeds_path.read_text(errors='ignore').strip()
    if raw == 'NONE':
        raise RuntimeError('do_full_rates completed but found 0 time seeds (time_seeds.csv == NONE).')
    raise

print(f"Loaded {time_seeds_path.name} with {len(time_seeds_df)} windows (from do_full_rates)")

# ------------------------------------------------------------------
# 2) Locate response tables required by do_rates_mle_InOutFoV2
# ------------------------------------------------------------------
rates_resp_in_dir = resp_dir / 'rates_resps'
rates_resp_out_dir = resp_dir / 'rates_resps_outFoV2'
if not (rates_resp_in_dir.exists() and rates_resp_out_dir.exists()):
    raise FileNotFoundError(
        'Missing rates response tables: expected both rates_resps/ and rates_resps_outFoV2/ inside resp_dir.'
    )

# ------------------------------------------------------------------
# 3) Write a thin wrapper that patches nitrates.config before import
# ------------------------------------------------------------------
pcfname_repr = repr(str(resp_dir / 'pc_2.img')) if (resp_dir / 'pc_2.img').exists() else 'None'
wrapper_code = textwrap.dedent(f"""\
    from types import SimpleNamespace

    import nitrates.config as cfg

    cfg.NITRATES_RESP_DIR = {str(resp_dir)!r}
    cfg.rates_resp_dir = {str(rates_resp_in_dir)!r}
    cfg.rates_resp_out_dir = {str(rates_resp_out_dir)!r}
    cfg.rt_dir = {str(resp_dir / 'ray_traces_detapp_npy')!r}
    cfg.solid_angle_dpi_fname = {str(resp_dir / 'solid_angle_dpi.npy')!r}

    import nitrates.analysis_seeds.do_rates_mle_InOutFoV2 as script

    script.rates_resp_dir = cfg.rates_resp_dir
    script.rates_resp_out_dir = cfg.rates_resp_out_dir
    script.rt_dir = cfg.rt_dir
    script.solid_angle_dpi_fname = cfg.solid_angle_dpi_fname

    args = SimpleNamespace(
        dbfname='results.localpaths.db',
        bkg_fname='bkg_estimation.csv',
        time_seed_fname='time_seeds.csv',
        pcfname={pcfname_repr},
        pix_fname='good_pix2scan.npy',
        min_pc=0.1,
        Njobs=32,
        job_id=0,
    )

    script.main(args)
""")

wrapper_path = resp_dir / '_rates_mle_wrapper.py'
wrapper_path.write_text(wrapper_code)

# ------------------------------------------------------------------
# 4) Execute wrapper from workdir and collect outputs
# ------------------------------------------------------------------
cmd = [sys.executable, str(wrapper_path)]
print('Running wrapper:', ' '.join(cmd))
t0_rates = time.time()
proc = subprocess.run(cmd, cwd=str(workdir_path), capture_output=True, text=True)
elapsed = time.time() - t0_rates

print(f"Exit code: {proc.returncode} ({elapsed:.1f} s)")
if proc.stdout.strip():
    print("── stdout ──\n", proc.stdout[-3000:])
if proc.stderr.strip():
    print("── stderr ──\n", proc.stderr[-2000:])
if proc.returncode != 0:
    raise RuntimeError('Wrapper execution failed; inspect stdout/stderr above.')

# Load the CSVs generated by the rates scan (written to workdir).
csv_files = sorted(
    glob.glob(str(workdir_path / 'rates_llh_res_*.csv'))
    + glob.glob(str(workdir_path / 'rates_llh_out_res_*.csv'))
)
if not csv_files:
    raise FileNotFoundError('Wrapper finished but no rates_llh output CSVs were found.')

temporal_seeds = pd.concat([pd.read_csv(fname) for fname in csv_files], ignore_index=True)
temporal_seeds['time_rel'] = temporal_seeds['time'] - float(trig)

ts_col = 'TS' if 'TS' in temporal_seeds.columns else 'sqrtTS'
display_cols = [c for c in ['time_rel', 'dur', 'A', ts_col, 'nllh', 'bkg_nllh'] if c in temporal_seeds.columns]
top_seeds = temporal_seeds.nlargest(min(10, len(temporal_seeds)), ts_col)[display_cols]
print(f"Loaded {len(temporal_seeds)} rows from {len(csv_files)} CSV(s)")
print(f"Top temporal seeds (ranked by {ts_col}):")
print(top_seeds.to_string(index=False))
Running full-rates seed step: /opt/anaconda3/envs/nitrates_env/bin/python -m nitrates.analysis_seeds.do_full_rates --dbfname results.localpaths.db
do_full_rates exit code: 0
── full_rates.out (tail) ──
 8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
16
16
[array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14]), array([19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]), array([37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]), array([55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68]), array([73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
/opt/anaconda3/envs/nitrates_env/lib/python3.9/runpy.py:127: RuntimeWarning: 'nitrates.analysis_seeds.do_full_rates' found in sys.modules after import of package 'nitrates.analysis_seeds', but prior to execution of 'nitrates.analysis_seeds.do_full_rates'; this may result in unpredictable behaviour
782 775

Loaded time_seeds.csv with 109 windows (from do_full_rates)
Running wrapper: /opt/anaconda3/envs/nitrates_env/bin/python /Users/samueleronchini/Desktop/NITRATES/tests/nitrates_resp_dir/_rates_mle_wrapper.py
Exit code: 0 (52.2 s)
── stdout ──
  75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86]), array([ 91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,
       104]), array([109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
       122]), array([127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
       140]), array([145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
       158]), array([163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
       176]), array([181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
       194]), array([199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
       212]), array([217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
       230]), array([235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
       248]), array([253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
       266]), array([271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
       284])]
(173, 286) (173, 286)
285 172
No module named 'ROOT'
Please install the Python ROOT package to be able to run the full forward modeling calculations.
[]
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)
['RatesIn', 'mask_out', 'Epeak', 'mask_in', 'gamma', 'RatesOut']
(483, 9)

── stderr ──
 /Users/samueleronchini/Desktop/NITRATES/nitrates/analysis_seeds/do_rates_mle_InOutFoV2.py:684: RuntimeWarning: invalid value encountered in sqrt

Loaded 2725 rows from 1 CSV(s)
Top temporal seeds (ranked by TS):
 time_rel   dur        A        TS       nllh   bkg_nllh
   -1.024 4.096 0.005495 20.962319 102.254919 321.964324
   -1.024 4.096 0.004811 20.803785 109.975909 326.374653
   -1.024 4.096 0.004603 20.781183 106.057187 321.985966
   -1.024 4.096 0.025752 20.171818  76.453767 279.904882
   -1.024 4.096 0.006822 20.097817 103.873253 305.834379
   -1.024 4.096 0.015497 20.093754  84.857737 286.737210
   -1.024 4.096 0.004743 20.089803 106.653778 308.453862
   -1.024 4.096 0.004781 20.070400  93.952314 295.362794
   -1.024 4.096 0.002782 19.933456  82.081896 280.753235
   -1.024 4.096 0.002629 19.892315  50.617260 248.469361
temporal_seeds
dur imx imy ndets solid_angle timeID time A Epeak gamma nllh bkg_nllh TS time_rel
0 0.256 0.98 0.32 8972 9132.761152 -76160256 7.859966e+08 0.001488 1000.000000 0.913523 63.973514 67.116794 2.507301 -7.616
1 0.256 0.98 0.32 8972 9132.761152 -76800256 7.859966e+08 0.001533 1000.000000 0.483716 57.364011 60.725660 2.592932 -7.680
2 0.256 0.98 0.32 8972 9132.761152 -67840256 7.859966e+08 0.001768 1000.000000 0.049708 71.406370 77.481699 3.485779 -6.784
3 0.256 0.98 0.32 8972 9132.761152 -67200256 7.859966e+08 0.001764 1000.000000 0.647709 67.247029 71.662262 2.971610 -6.720
4 0.256 0.98 0.32 8972 9132.761152 -16000256 7.859966e+08 0.005600 231.120968 -0.100000 59.671189 65.213000 3.329208 -1.600
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2720 8.192 0.14 -0.96 271 260.395709 -40968192 7.859966e+08 0.006798 248.361742 0.302754 90.453570 247.074832 17.698659 -4.096
2721 8.192 0.14 -0.96 271 260.395709 -20488192 7.859966e+08 0.006478 250.368056 0.106363 89.044893 218.697560 16.102960 -2.048
2722 8.192 0.14 -0.96 271 260.395709 8192 7.859966e+08 0.004922 268.945397 0.316925 82.013944 181.767855 14.124724 0.000
2723 16.384 0.14 -0.96 271 260.395709 -409616384 7.859966e+08 0.005804 230.874040 -0.049825 89.008077 242.325910 17.511016 -4.096
2724 16.384 0.14 -0.96 271 260.395709 -819216384 7.859966e+08 0.002857 400.388610 0.765651 92.252143 235.448873 16.923163 -8.192

2725 rows × 14 columns

from nitrates.lib.coord_conv_funcs import convert_imxy2radec

# Find the row with the highest TS across all time windows and sky positions
best_split = temporal_seeds.loc[temporal_seeds[ts_col].idxmax()]

# Convert BAT detector-plane coordinates (imx, imy) to equatorial sky coordinates
ra_best_split, dec_best_split = convert_imxy2radec(
    float(best_split['imx']), float(best_split['imy']), att_quat
)

# Great-circle angular offset from the input source position
ra_in, dec_in = source_ra_dec
d_ang = np.degrees(np.arccos(np.clip(
    np.sin(np.radians(dec_best_split)) * np.sin(np.radians(dec_in)) +
    np.cos(np.radians(dec_best_split)) * np.cos(np.radians(dec_in)) *
    np.cos(np.radians(ra_best_split - ra_in)),
    -1.0, 1.0
)))

print("─── Best split-rates sky position ───")
print(f"  Time window  : {best_split['time'] - trig:+.3f} s  (dur = {best_split['dur']:.3f} s)")
print(f"  Amplitude A  : {best_split['A']:.3e}")
print(f"  imx / imy    : {best_split['imx']:.4f} / {best_split['imy']:.4f}")
print(f"  RA  / Dec    : {ra_best_split:.4f} / {dec_best_split:.4f}  deg")
print(f"  Input (source_ra_dec) : {source_ra_dec}")
print(f"  Angular offset        : {d_ang:.3f} deg")
─── Best split-rates sky position ───
  Time window  : -1.024 s  (dur = 4.096 s)
  Amplitude A  : 5.495e-03
  imx / imy    : 0.3800 / -0.6400
  RA  / Dec    : 136.7482 / 4.3138  deg
  Input (source_ra_dec) : (123, 50)
  Angular offset        : 47.139 deg

Waterfall plot#

# Waterfall plots aligned with NITRATES products used by the GUANO report:
# - Top: Full-rate SNR from time_seeds.csv (do_full_rates output).
# - Bottom: Split-rate significance mapped by timeID (rates_llh_res_* outputs).

import glob
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.collections import PatchCollection
from matplotlib.patches import Rectangle

workdir_path = Path(workdir)

# ------------------------------------------------------------------
# 1) Load full-rate seeds exactly as produced by do_full_rates
# ------------------------------------------------------------------
if 'time_seeds_df' in globals() and isinstance(time_seeds_df, pd.DataFrame):
    seeds_df = time_seeds_df.copy()
else:
    seeds_df = pd.read_csv(workdir_path / 'time_seeds.csv')

required_cols = {'duration', 'snr'}
if not required_cols.issubset(seeds_df.columns):
    raise KeyError(f'time_seeds.csv must contain columns {required_cols}, found {set(seeds_df.columns)}')

if 'dt' in seeds_df.columns:
    # dt is the start time of each window relative to trigger in seconds
    seeds_df['t0_rel'] = seeds_df['dt'].astype(float)
elif 'time' in seeds_df.columns:
    seeds_df['t0_rel'] = seeds_df['time'].astype(float) - float(trig)
else:
    raise KeyError("time_seeds.csv needs either 'dt' or 'time' column")

seeds_df['dur'] = seeds_df['duration'].astype(float)
seeds_df['snr'] = seeds_df['snr'].astype(float)

# ------------------------------------------------------------------
# 2) Attach split-rate metric by timeID (if available)
# ------------------------------------------------------------------
split_df = None
if 'temporal_seeds' in globals() and isinstance(temporal_seeds, pd.DataFrame):
    split_df = temporal_seeds.copy()
else:
    csv_files = sorted(glob.glob(str(workdir_path / 'rates_llh_res_*.csv')))
    if csv_files:
        split_df = pd.concat([pd.read_csv(f) for f in csv_files], ignore_index=True)

if split_df is not None and ('timeID' in split_df.columns):
    split_ts_col = 'TS' if 'TS' in split_df.columns else ('sqrtTS' if 'sqrtTS' in split_df.columns else None)
    if split_ts_col is not None:
        if split_ts_col == 'TS':
            split_df['sqrtTS_plot'] = np.clip(split_df['TS'].astype(float), 0, None)
        else:
            split_df['sqrtTS_plot'] = split_df['sqrtTS'].astype(float)
        # keep best split-rate value per time bin
        split_best = split_df.groupby('timeID', as_index=False)['sqrtTS_plot'].max()
        seeds_df = seeds_df.merge(split_best, on='timeID', how='left')
    else:
        seeds_df['sqrtTS_plot'] = np.nan
else:
    seeds_df['sqrtTS_plot'] = np.nan

# ------------------------------------------------------------------
# 3) Build duration bands (log-spaced y-axis geometry)
# ------------------------------------------------------------------
uniq_durs = np.array(sorted(seeds_df['dur'].dropna().unique()), dtype=float)
if len(uniq_durs) < 2:
    raise RuntimeError('Need at least two distinct durations to build waterfall plot.')

y_edges = np.empty(len(uniq_durs) + 1, dtype=float)
y_edges[1:-1] = np.sqrt(uniq_durs[:-1] * uniq_durs[1:])
y_edges[0] = uniq_durs[0] ** 2 / y_edges[1]
y_edges[-1] = uniq_durs[-1] ** 2 / y_edges[-2]
dur_to_i = {d: i for i, d in enumerate(uniq_durs)}

# ------------------------------------------------------------------
# 4) Draw two-panel waterfall
# ------------------------------------------------------------------
fig, (ax_top, ax_bottom) = plt.subplots(
    2, 1, figsize=(12, 7.2), dpi=110, sharex=True, sharey=True,
    gridspec_kw={'height_ratios': [1.0, 1.0], 'hspace': 0.08}
)

# Top panel: Full-rate SNR from do_full_rates
patches_top, colors_top = [], []
for _, r in seeds_df.iterrows():
    d = float(r['dur'])
    i = dur_to_i.get(d, None)
    if i is None:
        continue
    t0 = float(r['t0_rel'])
    rect = Rectangle((t0, y_edges[i]), d, y_edges[i + 1] - y_edges[i])
    patches_top.append(rect)
    colors_top.append(float(r['snr']))

pc_top = PatchCollection(patches_top, cmap='viridis', edgecolors='none')
pc_top.set_array(np.asarray(colors_top, dtype=float))
pc_top.set_clim(0, max(10.0, float(np.nanmax(colors_top))))
ax_top.add_collection(pc_top)
plt.colorbar(pc_top, ax=ax_top, label='Full-rate SNR', pad=0.01)
ax_top.axvline(0.0, color='black', lw=1.3, ls='--', label='Trigger T₀')
ax_top.set_yscale('log')
ax_top.set_yticks(uniq_durs)
ax_top.set_yticklabels([f'{d:.3g} s' for d in uniq_durs])
ax_top.set_ylabel('Timescale (s)')
ax_top.set_title('Full Rates SNR per Time Bin (do_full_rates)')
ax_top.grid(alpha=0.15)
ax_top.legend(loc='upper right', fontsize=8)

# Bottom panel: Split-rate √TS mapped on same windows (when available)
patches_bottom, colors_bottom = [], []
for _, r in seeds_df.iterrows():
    v = r['sqrtTS_plot']
    if not np.isfinite(v):
        continue
    d = float(r['dur'])
    i = dur_to_i.get(d, None)
    if i is None:
        continue
    t0 = float(r['t0_rel'])
    rect = Rectangle((t0, y_edges[i]), d, y_edges[i + 1] - y_edges[i])
    patches_bottom.append(rect)
    colors_bottom.append(float(v))

if patches_bottom:
    pc_bottom = PatchCollection(patches_bottom, cmap='plasma', edgecolors='none')
    pc_bottom.set_array(np.asarray(colors_bottom, dtype=float))
    pc_bottom.set_clim(0, max(4.0, float(np.nanmax(colors_bottom))))
    ax_bottom.add_collection(pc_bottom)
    plt.colorbar(pc_bottom, ax=ax_bottom, label=r'$\sqrt{TS}$ (split-rate)', pad=0.01)

ax_bottom.axvline(0.0, color='black', lw=1.3, ls='--', label='Trigger T₀')
ax_bottom.set_yscale('log')
ax_bottom.set_yticks(uniq_durs)
ax_bottom.set_yticklabels([f'{d:.3g} s' for d in uniq_durs])
ax_bottom.set_xlabel('T-T0 (s)')
ax_bottom.set_ylabel('Timescale (s)')
ax_bottom.set_title('Split-rate metric on full-rate windows')
ax_bottom.grid(alpha=0.15)
ax_bottom.legend(loc='upper right', fontsize=8)

x_min = float(np.nanmin(seeds_df['t0_rel']))
x_max = float(np.nanmax(seeds_df['t0_rel'] + seeds_df['dur']))
ax_bottom.set_xlim(x_min, x_max)
ax_bottom.set_ylim(y_edges[0], y_edges[-1])

plt.tight_layout()
plt.show()

print(f"Full-rate seeds plotted: {len(seeds_df)}")
if np.isfinite(seeds_df['sqrtTS_plot']).any():
    best_idx = int(np.nanargmax(seeds_df['sqrtTS_plot'].values))
    b = seeds_df.iloc[best_idx]
    print(f"Best split-rate overlay: t0={b['t0_rel']:+.3f} s, dur={b['dur']:.3f} s, sqrtTS={b['sqrtTS_plot']:.3f}")
else:
    print('No split-rate overlay available (missing timeID/TS in rates outputs).')
../_images/52dffe59aaf8faafda57ce6429642205c22c0d8e643b1c9c4f05dbfdaf24a74b.png
Full-rate seeds plotted: 109
Best split-rate overlay: t0=-1.024 s, dur=4.096 s, sqrtTS=20.962
best = max(results, key=lambda row: row['sqrtTS'])
ra_best, dec_best = convert_theta_phi2radec(theta, phi, att_quat)
fluence_band = (15.0, 150.0)
fluence = get_eflux_from_model(flux_mod, {'A': best['amplitude'], 'gamma': flux_params['gamma'], 'Epeak': flux_params['Epeak']}, *fluence_band)

print(f"Best window: {best['duration']:.3f}s starting at {best['t0'] - trig:+.3f} s relative to trigger")
print(f"sqrtTS: {best['sqrtTS']:.2f}")
print(f"Amplitude A: {best['amplitude']:.3e}")
print(f"Sky position (RA, Dec): ({ra_best:.3f}, {dec_best:.3f})")
print(f"Energy flux {fluence_band[0]:.0f}-{fluence_band[1]:.0f} keV: {fluence:.3e} erg/cm^2/s")
Best window: 2.048s starting at -1.024 s relative to trigger
sqrtTS: 12.77
Amplitude A: 4.432e-02
Sky position (RA, Dec): (123.000, 50.000)
Energy flux 15-150 keV: 2.458e-07 erg/cm^2/s

Exploring the spectral parameter space#

This cell selects the strongest temporal seed and then profiles the spectral parameters in that interval.

  1. Picks the best time window from the temporal-seed table (highest TS or \(\sqrt{TS}\)).

  2. Sets that interval in the likelihood object and computes the background-only reference NLLH.

  3. Scans a grid in \((\gamma, E_{\rm peak})\), profiling over amplitude \(A\) at each grid point.

  4. Stores per-grid-point results (A_best, NLLH, TS, \(\sqrt{TS}\)).

  5. Identifies the best-fit spectral point and prints a compact summary.

  6. Plots two maps: profiled \(\sqrt{TS}\) and \(\Delta\)NLLH in spectral space.

  7. Saves the best temporal/spectral solution into dictionaries for downstream cells, then restores the prior model state.

# ------------------------------------------------------------------
# Spectral grid scan: profile over A at fixed (gamma, Epeak)
# ------------------------------------------------------------------
gamma_grid = np.linspace(-0.5, 1.1, 20)
epeak_grid = np.logspace(np.log10(30.0), np.log10(1500.0), 20)
# Estimate the best temporal bin from the waterfall products, then estimate
# the best spectral parameters (gamma, Epeak) in that bin by profiling over A.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# ------------------------------------------------------------------
# 1) Pick the best temporal bin from the waterfall/temporal seed table
# ------------------------------------------------------------------
ts_col = 'TS' if 'TS' in temporal_seeds.columns else 'sqrtTS'
dur_col = 'dur' if 'dur' in temporal_seeds.columns else 'duration'

seed_best = temporal_seeds.loc[temporal_seeds[ts_col].astype(float).idxmax()]

dur_spec = float(seed_best[dur_col])

if 'time' in seed_best.index:
    t0_spec = float(seed_best['time'])
elif 'time_rel' in seed_best.index:
    t0_spec = float(trig) + float(seed_best['time_rel'])
elif 'timeID' in seed_best.index:
    seed_row = time_seeds_df.loc[time_seeds_df['timeID'] == int(seed_best['timeID'])].iloc[0]
    t0_spec = float(seed_row['time'])
    if dur_col == 'duration':
        dur_spec = float(seed_row['duration'])
else:
    raise KeyError("Could not determine the start time of the best temporal bin.")
t1_spec = t0_spec + dur_spec

print('=== Best temporal bin from waterfall ===')
print(f"Start time rel. trigger: {t0_spec - float(trig):+.3f} s")
print(f"Stop  time rel. trigger: {t1_spec - float(trig):+.3f} s")
print(f"Duration: {dur_spec:.3f} s")
print(f"{ts_col}: {float(seed_best[ts_col]):.3f}")

# ------------------------------------------------------------------
# 2) Build the background-only NLLH in that time window
# ------------------------------------------------------------------
sig_llh_obj.set_time(t0_spec, t1_spec)

restore_flux_params = {
    'A': float(best['amplitude']),
    'gamma': float(flux_params['gamma']),
    'Epeak': float(flux_params['Epeak']),
}
restore_sig_params = {
    'A': float(best['amplitude']),
    'gamma': float(flux_params['gamma']),
    'Epeak': float(flux_params['Epeak']),
    'theta': float(theta),
    'phi': float(phi),
}

bkg_nllh_spec = -float(sig_llh_obj.get_logprob({'A': AMPLITUDE_FLOOR}))

# Ensure only A is free during the spectral scan
sig_miner.set_fixed_params(['A'], fixed=False)

scan_rows = []

for gamma_i in gamma_grid:
    for epeak_i in epeak_grid:
        try:
            trial_flux_params = {
                'A': 1.0,
                'gamma': float(gamma_i),
                'Epeak': float(epeak_i),
            }
            trial_sig_params = {
                'A': 1.0,
                'gamma': float(gamma_i),
                'Epeak': float(epeak_i),
                'theta': float(theta),
                'phi': float(phi),
            }

            sig_mod.set_flux_params(trial_flux_params)
            sig_bkg_mod.set_sig_params(trial_sig_params)

            bf_vals, nllh_vals, _ = sig_miner.minimize()
            amp_best_i = float(np.atleast_1d(bf_vals[0])[0])
            nllh_best_i = float(nllh_vals[0])

            if ts_col == 'TS':
                ts_like_i = 2.0 * (bkg_nllh_spec - nllh_best_i)
                sqrt_ts_i = np.sqrt(max(ts_like_i, 0.0))
            else:
                sqrt_ts_i = np.sqrt(max(2.0 * (bkg_nllh_spec - nllh_best_i), 0.0))
                ts_like_i = sqrt_ts_i**2

            scan_rows.append({
                'gamma': float(gamma_i),
                'Epeak': float(epeak_i),
                'A_best': amp_best_i,
                'nllh': nllh_best_i,
                'TS': ts_like_i,
                'sqrtTS': sqrt_ts_i,
            })

        except Exception:
            scan_rows.append({
                'gamma': float(gamma_i),
                'Epeak': float(epeak_i),
                'A_best': np.nan,
                'nllh': np.nan,
                'TS': np.nan,
                'sqrtTS': np.nan,
            })

spec_scan_df = pd.DataFrame(scan_rows).dropna(subset=['nllh']).reset_index(drop=True)
if len(spec_scan_df) == 0:
    raise RuntimeError('No valid spectral grid points were evaluated.')

best_spec = spec_scan_df.loc[spec_scan_df['nllh'].idxmin()]

print('\n=== Best spectral parameters in that temporal bin ===')
print(f"A      = {best_spec['A_best']:.3e}")
print(f"gamma  = {best_spec['gamma']:.3f}")
print(f"Epeak  = {best_spec['Epeak']:.2f} keV")
print(f"sqrtTS = {best_spec['sqrtTS']:.3f}")

# ------------------------------------------------------------------
# Make a 2D likelihood/TS plot in spectral space
# ------------------------------------------------------------------
pivot_ts = spec_scan_df.pivot(index='gamma', columns='Epeak', values='sqrtTS')
pivot_nllh = spec_scan_df.pivot(index='gamma', columns='Epeak', values='nllh')

E_grid = pivot_ts.columns.values.astype(float)
G_grid = pivot_ts.index.values.astype(float)
Z_ts = pivot_ts.values
Z_nllh = pivot_nllh.values

dllh = Z_nllh - np.nanmin(Z_nllh)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12.0, 4.8), constrained_layout=True)

pcm1 = ax1.pcolormesh(E_grid, G_grid, Z_ts, shading='auto', cmap='plasma')
ax1.scatter(best_spec['Epeak'], best_spec['gamma'], marker='x', s=80, color='cyan', linewidths=2)
ax1.set_xscale('log')
ax1.set_xlabel('Epeak [keV]')
ax1.set_ylabel('gamma')
ax1.set_title('Profiled sqrtTS in spectral space')
fig.colorbar(pcm1, ax=ax1, label='sqrtTS')

pcm2 = ax2.pcolormesh(E_grid, G_grid, dllh, shading='auto', cmap='viridis_r')
ax2.scatter(best_spec['Epeak'], best_spec['gamma'], marker='x', s=80, color='red', linewidths=2)
ax2.set_xscale('log')
ax2.set_xlabel('Epeak [keV]')
ax2.set_ylabel('gamma')
ax2.set_title(r'$\Delta$NLLH in spectral space')
fig.colorbar(pcm2, ax=ax2, label=r'$\Delta$NLLH')

plt.show()

# ------------------------------------------------------------------
# Store convenient summary variables for later cells
# ------------------------------------------------------------------
best_temporal_bin_from_waterfall = {
    't0': t0_spec,
    't1': t1_spec,
    'duration': dur_spec,
    ts_col: float(seed_best[ts_col]),
}

best_spectral_from_waterfall_bin = {
    'A': float(best_spec['A_best']),
    'gamma': float(best_spec['gamma']),
    'Epeak': float(best_spec['Epeak']),
    'sqrtTS': float(best_spec['sqrtTS']),
    't0': t0_spec,
    't1': t1_spec,
    'duration': dur_spec,
}

# Restore notebook state
sig_mod.set_flux_params(restore_flux_params)
sig_bkg_mod.set_sig_params(restore_sig_params)
=== Best temporal bin from waterfall ===
Start time rel. trigger: -1.024 s
Stop  time rel. trigger: +3.072 s
Duration: 4.096 s
TS: 20.962

=== Best spectral parameters in that temporal bin ===
A      = 3.552e-02
gamma  = -0.079
Epeak  = 155.77 keV
sqrtTS = 20.814
../_images/ae125b818d847b7044ddf3f54cda6582ba93c34a4049c78060a4fe2c5ce4031c.png

Note: compare the values of TS and spectral params with the one at the bottom of https://guano.swift.psu.edu/trigger_report?id=646018383

Background-subtracted spectrum vs user-chosen signal model#

The next cell compares the observed spectrum in the best time window with a user-defined source model after removing the estimated background. Operationally, it does the following:

  1. Selects the time interval with the largest detection significance found in the previous scan.

  2. Builds the observed spectrum on the native likelihood energy bins used by the NITRATES background model.

  3. Evaluates the background model in those same bins and propagates its uncertainty when available.

  4. Subtracts the expected background from the observed spectrum to obtain the net data spectrum.

  5. Replaces the source spectral shape with the user-chosen parameters \(A\), \(\gamma\), and \(E_{\rm peak}\) while keeping the same sky position.

  6. Forward-folds that signal model through the detector response and converts it to a net count-rate density.

  7. Plots the background-subtracted data together with the raw user-defined signal model for a direct visual comparison.

  8. Prints the integrated net data rate and the integrated model signal rate, then restores the original source-model parameters.

# Compare the background-subtracted data spectrum with the best-fit signal model.
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Best-fit parameters from the previous cell (spectral scan on best temporal bin)
if 'best_spectral_from_waterfall_bin' not in globals():
    raise NameError("best_spectral_from_waterfall_bin not found. Run the previous spectral-scan cell first.")

fit_A = float(best_spectral_from_waterfall_bin['A'])
fit_gamma = float(best_spectral_from_waterfall_bin['gamma'])
fit_Epeak = float(best_spectral_from_waterfall_bin['Epeak'])
t0_fit = float(best_spectral_from_waterfall_bin['t0'])
t1_fit = float(best_spectral_from_waterfall_bin['t1'])

sig_pars_best = {
    'A': fit_A,
    'Epeak': fit_Epeak,
    'gamma': fit_gamma,
    'theta': float(theta),
    'phi': float(phi),
}

# Set time window in likelihood object
sig_llh_obj.set_time(t0_fit, t1_fit)

# Data counts
cnts_ebin = np.sum(sig_llh_obj.data_dpis, axis=1)
cnts_ebin_err = np.sqrt(np.maximum(cnts_ebin, 1.0))

# Background counts
bkg_dpis = np.reshape(sig_bkg_mod.bkg_cnt_dpis, sig_llh_obj.data_dpis.shape)
bkg_cnts = np.sum(bkg_dpis, axis=1)

# Signal counts from best-fit
sig_mod.set_flux_params(sig_pars_best)
sig_bkg_mod.set_sig_params(sig_pars_best)
sig_dpis_best = np.reshape(sig_bkg_mod.sig_cnt_dpis, sig_llh_obj.data_dpis.shape)
sig_cnts_best = np.sum(sig_dpis_best, axis=1)

edges = np.append(ebins0, [ebins1[-1]])
centers = 0.5 * (ebins0 + ebins1)
data_minus_bkg = cnts_ebin - bkg_cnts

# Plot 1: reference style (data-bkg vs sig model using best-fit parameters)
fig, ax = plt.subplots(figsize=(8.8, 5.2), constrained_layout=True)
ax.stairs(data_minus_bkg, edges, label='data - bkg_cnts', color='black')
ax.stairs(sig_cnts_best, edges, label=f'sig mod (best-fit A={fit_A:.3e}, gamma={fit_gamma:.3f})', color='tab:red')
ax.errorbar(centers, data_minus_bkg, yerr=cnts_ebin_err, fmt='none', ecolor='black')
ax.set_xscale('log')
ax.set_yscale('log')
ax.legend(fontsize=8)
ax.set_ylabel('Counts')
ax.set_xlabel('Energy (keV)')
ax.set_title('Background-subtracted spectrum vs best-fit signal model')
ax.grid(alpha=0.3, which='both')
plt.show()

spec_df = pd.DataFrame({
    'E0_keV': ebins0,
    'E1_keV': ebins1,
    'data_counts': cnts_ebin,
    'bkg_counts': bkg_cnts,
    'data_minus_bkg': data_minus_bkg,
    'sig_counts_bestfit': sig_cnts_best,
    'data_err_sqrtN': cnts_ebin_err,
})

display(spec_df)
../_images/4238efd63c3728acb084c2f513047e184353fbb9e3b96cca918848f28dbbb6af.png
E0_keV E1_keV data_counts bkg_counts data_minus_bkg sig_counts_bestfit data_err_sqrtN
0 15.0 24.0 4117.0 4064.001778 52.998222 46.631818 64.163853
1 24.0 35.0 3376.0 3126.466515 249.533485 104.348589 58.103356
2 35.0 48.0 2025.0 1915.936339 109.063661 84.757665 45.000000
3 48.0 64.0 1943.0 1711.334420 231.665580 278.315195 44.079474
4 64.0 84.0 1680.0 1359.076443 320.923557 257.983712 40.987803
5 84.0 120.0 1563.0 1199.139419 363.860581 377.911617 39.534795
6 120.0 171.5 1238.0 906.866656 331.133344 364.629667 35.185224
7 171.5 245.0 821.0 645.734193 175.265807 169.798027 28.653098
8 245.0 350.0 497.0 459.000592 37.999408 38.532515 22.293497

Forward-folded emcee spectral fit in the best time window#

The next cell performs a lightweight Bayesian fit using the same forward-folded NITRATES signal model and Poisson likelihood used by the official analysis.

Operationally, it does the following:

  1. Selects the best on-source time window found above.

  2. Reuses the existing NITRATES source, background, and likelihood objects.

  3. Samples the spectral parameters \(A\), \(\gamma\), and \(E_{\rm peak}\) with emcee directly through the forward-folded detector-space likelihood.

  4. Keeps the NITRATES normalization convention, so the posterior on \(A\) is directly comparable to the official pipeline output.

  5. Builds a posterior predictive band for the forward-folded signal model and compares it with the background-subtracted spectrum for visualization.

  6. Stores the posterior samples and summary values for the following diagnostic cells.

# Forward-folded emcee spectral fit in the best time window.
import numpy as np
import matplotlib.pyplot as plt
import emcee

# Set time window in likelihood object
sig_llh_obj.set_time(t0_fit, t1_fit)

# Parameterization sampled by emcee: [log10(A), gamma, log10(Epeak)]
logA_bounds = (-8.0, 1.5)
gamma_bounds = (-2.5, 3.0)
logEp_bounds = (np.log10(20.0), np.log10(3000.0))

def unpack(theta_vec):
    logA, gamma_i, logEp = theta_vec
    return 10.0**logA, gamma_i, 10.0**logEp

def log_prior(theta_vec):
    logA, gamma_i, logEp = theta_vec
    if not (logA_bounds[0] < logA < logA_bounds[1]):
        return -np.inf
    if not (gamma_bounds[0] < gamma_i < gamma_bounds[1]):
        return -np.inf
    if not (logEp_bounds[0] < logEp < logEp_bounds[1]):
        return -np.inf
    return 0.0

def log_probability(theta_vec):
    lp = log_prior(theta_vec)
    if not np.isfinite(lp):
        return -np.inf

    A_i, gamma_i, Epeak_i = unpack(theta_vec)

    trial_flux_params = {
        'A': 1.0,
        'gamma': float(gamma_i),
        'Epeak': float(Epeak_i),
    }
    trial_sig_params = {
        'A': 1.0,
        'gamma': float(gamma_i),
        'Epeak': float(Epeak_i),
        'theta': float(theta),
        'phi': float(phi),
    }

    try:
        sig_mod.set_flux_params(trial_flux_params)
        sig_bkg_mod.set_sig_params(trial_sig_params)
        llh_val = float(sig_llh_obj.get_logprob({'A': float(A_i)}))
    except Exception:
        return -np.inf

    if not np.isfinite(llh_val):
        return -np.inf
    return lp + llh_val

# Initialize walkers around the best-fit values found above.
A0 = max(float(fit_A), 1e-6)
g0 = float(fit_gamma)
Ep0 = max(float(fit_Epeak), 50.0)
p0_center = np.array([np.log10(A0), g0, np.log10(Ep0)], dtype=float)

nwalkers = 12
ndim = 3
nburn = 40
nsteps = 500
rng = np.random.default_rng(12345)

scatter = np.array([0.08, 0.08, 0.08], dtype=float)
p0 = p0_center + scatter * rng.standard_normal((nwalkers, ndim))

p0[:, 0] = np.clip(p0[:, 0], logA_bounds[0] + 1e-4, logA_bounds[1] - 1e-4)
p0[:, 1] = np.clip(p0[:, 1], gamma_bounds[0] + 1e-4, gamma_bounds[1] - 1e-4)
p0[:, 2] = np.clip(p0[:, 2], logEp_bounds[0] + 1e-4, logEp_bounds[1] - 1e-4)

sampler = emcee.EnsembleSampler(nwalkers, ndim, log_probability)

state = sampler.run_mcmc(p0, nburn, progress=True)
sampler.reset()
sampler.run_mcmc(state, nsteps, progress=True)

flat_samples = sampler.get_chain(flat=True)
log_prob_samples = sampler.get_log_prob(flat=True)

q16, q50, q84 = np.percentile(flat_samples, [16, 50, 84], axis=0)
A_med, gamma_med, Epeak_med = unpack(q50)
A_lo, gamma_lo, Epeak_lo = unpack(q16)
A_hi, gamma_hi, Epeak_hi = unpack(q84)

best_fit_emcee_params = {
    'A': float(A_med),
    'gamma': float(gamma_med),
    'Epeak': float(Epeak_med),
    't0': float(t0_fit),
    't1': float(t1_fit),
    'duration': float(t1_fit - t0_fit),
}

# Posterior predictive band in native bins (Counts)
nsamp_plot = min(200, len(flat_samples))
draw_idx = rng.choice(len(flat_samples), size=nsamp_plot, replace=False)

sig_cnts_draws = []
for idx in draw_idx:
    A_i, gamma_i, Epeak_i = unpack(flat_samples[idx])
    trial_sig_params = {
        'A': float(A_i),
        'gamma': float(gamma_i),
        'Epeak': float(Epeak_i),
        'theta': float(theta),
        'phi': float(phi),
    }

    sig_mod.set_flux_params(trial_sig_params)
    sig_bkg_mod.set_sig_params(trial_sig_params)
    sig_dpis = np.reshape(sig_bkg_mod.sig_cnt_dpis, sig_llh_obj.data_dpis.shape)
    sig_cnts_draws.append(np.sum(sig_dpis, axis=1))

sig_cnts_draws = np.asarray(sig_cnts_draws, dtype=float)
sig_cnts_q16, sig_cnts_q50, sig_cnts_q84 = np.percentile(
    sig_cnts_draws, [16, 50, 84], axis=0
)
100%|██████████| 40/40 [00:13<00:00,  2.89it/s]
100%|██████████| 500/500 [02:39<00:00,  3.14it/s]
# Plot 1: reference style (data-bkg vs sig model posterior)
fig, ax = plt.subplots(figsize=(8.8, 5.2), constrained_layout=True)

ax.stairs(data_minus_bkg, edges, label='data - bkg_cnts', color='black')

# 1σ (68%) and 2σ (95%) posterior bands from forward-folded draws
q2p5, q16, q50, q84, q97p5 = np.percentile(sig_cnts_draws, [2.5, 16, 50, 84, 97.5], axis=0)

y_2s_low_ext = np.append(q2p5, q2p5[-1])
y_2s_high_ext = np.append(q97p5, q97p5[-1])
y_1s_low_ext = np.append(q16, q16[-1])
y_1s_high_ext = np.append(q84, q84[-1])

ax.fill_between(
    edges, y_2s_low_ext, y_2s_high_ext,
    step='post', color='tab:red', alpha=0.15, label='Posterior 2σ band'
)
ax.fill_between(
    edges, y_1s_low_ext, y_1s_high_ext,
    step='post', color='tab:red', alpha=0.30, label='Posterior 1σ band'
)
ax.stairs(q50, edges, label='Posterior median model', color='tab:red', lw=2.0)

ax.errorbar(centers, data_minus_bkg, yerr=cnts_ebin_err, fmt='none', ecolor='black')
ax.set_xscale('log')
ax.set_yscale('log')
ax.legend(fontsize=8)
ax.set_ylabel('Counts')
ax.set_xlabel('Energy (keV)')
ax.set_title('emcee forward-folded spectral fit')
ax.grid(alpha=0.3, which='both')
plt.show()

print("=== emcee posterior summary ===")
print(f"Time window: {t0_fit - trig:+.3f} to {t1_fit - trig:+.3f} s relative to trigger")
print(f"A      = {A_med:.3e} (+{A_hi - A_med:.3e}/-{A_med - A_lo:.3e})")
print(f"gamma  = {gamma_med:.3f} (+{gamma_hi - gamma_med:.3f}/-{gamma_med - gamma_lo:.3f})")
print(f"Epeak  = {Epeak_med:.2f} (+{Epeak_hi - Epeak_med:.2f}/-{Epeak_med - Epeak_lo:.2f}) keV")
print(f"Mean acceptance fraction = {np.mean(sampler.acceptance_fraction):.3f}")
print(f"Posterior sample count   = {len(flat_samples)}")

# Restore notebook state
sig_mod.set_flux_params(sig_pars_best)
sig_bkg_mod.set_sig_params(sig_pars_best)
../_images/f20601a60bd60a92ab1f8348abf0bbb7ecdb8a687550635c1d9ae6c98c85cf36.png
=== emcee posterior summary ===
Time window: -1.024 to +3.072 s relative to trigger
A      = 3.810e-02 (+5.108e-02/-1.809e-02)
gamma  = -0.053 (+0.788/-1.034)
Epeak  = 147.98 (+19.64/-13.50) keV
Mean acceptance fraction = 0.574
Posterior sample count   = 6000
# Corner plot of posterior parameters from emcee + printed summaries
samples_corner = flat_samples  # columns: [log10(A), gamma, log10(Epeak)]
labels = [r"$\log_{10} A$", r"$\gamma$", r"$\log_{10}(E_{\rm peak}/{\rm keV})$"]

# ---- Numeric summaries (median and 68% CI) ----
q16, q50, q84 = np.percentile(samples_corner, [16, 50, 84], axis=0)

print("Posterior summaries (log-parameters):")
for i, lab in enumerate(labels):
    lo = q50[i] - q16[i]
    hi = q84[i] - q50[i]
    print(f"  {lab}: {q50[i]:.4f} (+{hi:.4f}/-{lo:.4f})")

# Also print physical units for A and Epeak
A_samp = 10.0 ** samples_corner[:, 0]
Ep_samp = 10.0 ** samples_corner[:, 2]
A16, A50, A84 = np.percentile(A_samp, [16, 50, 84])
Ep16, Ep50, Ep84 = np.percentile(Ep_samp, [16, 50, 84])

print("\nPosterior summaries (physical units):")
print(f"  A: {A50:.3e} (+{A84 - A50:.3e}/-{A50 - A16:.3e})")
print(f"  Epeak [keV]: {Ep50:.3f} (+{Ep84 - Ep50:.3f}/-{Ep50 - Ep16:.3f})")

# ---- Plot ----
try:
    import corner

    fig = corner.corner(
        samples_corner,
        labels=labels,
        truths=[q50[0], q50[1], q50[2]],
        quantiles=[0.16, 0.5, 0.84],
        show_titles=True,
        title_fmt=".3g",
        title_kwargs={"fontsize": 10},
    )
    fig.suptitle("Posterior corner plot (log A, log Epeak)", y=1.02)

except Exception as e:
    print("corner package not available, using fallback pair-plot. Error:", e)

    pars = [samples_corner[:, 0], samples_corner[:, 1], samples_corner[:, 2]]
    npar = len(pars)
    fig, axes = plt.subplots(npar, npar, figsize=(8, 8))
    for i in range(npar):
        for j in range(npar):
            ax = axes[i, j]
            if i == j:
                ax.hist(pars[i], bins=40, histtype='stepfilled', alpha=0.5)
                ax.axvline(np.median(pars[i]), ls='--', lw=1)
            elif i > j:
                ax.plot(pars[j][::5], pars[i][::5], '.', ms=1, alpha=0.25)
            else:
                ax.axis('off')

            if i == npar - 1:
                ax.set_xlabel(labels[j])
            if j == 0:
                ax.set_ylabel(labels[i])

    fig.suptitle("Posterior pair-plot (log A, log Epeak)")
    plt.tight_layout()
    plt.show()
Posterior summaries (log-parameters):
  $\log_{10} A$: -1.4191 (+0.3693/-0.2797)
  $\gamma$: -0.0535 (+0.7877/-1.0338)
  $\log_{10}(E_{\rm peak}/{\rm keV})$: 2.1702 (+0.0541/-0.0415)

Posterior summaries (physical units):
  A: 3.810e-02 (+5.108e-02/-1.809e-02)
  Epeak [keV]: 147.983 (+19.644/-13.497)
corner package not available, using fallback pair-plot. Error: No module named 'corner'
../_images/3e9d133a1979a64775cbd1dd8673958d8bd14227541d978776f5bff5809e0f1f.png
# Derive flux confidence intervals from posterior spectral parameters:
# - Energy flux in 15–350 keV [erg/cm^2/s]
# - Photon flux in 10–1000 keV [ph/cm^2/s]

ELO_E, EHI_E = 15.0, 350.0
ELO_P, EHI_P = 10.0, 1000.0

def _eval_dnde(model, E, pars):
    """Best-effort evaluator for dN/dE [ph cm^-2 s^-1 keV^-1] from NITRATES flux models."""
    candidates = ["spec", "get_dnde", "dnde", "flux"]
    for name in candidates:
        if hasattr(model, name):
            fn = getattr(model, name)
            for call in (
                lambda: fn(E, pars),
                lambda: fn(E, **pars),
                lambda: fn(pars, E),
            ):
                try:
                    y = np.asarray(call(), dtype=float)
                    if y.shape == np.shape(E) and np.all(np.isfinite(y)):
                        return y
                except Exception:
                    pass

    # Fallback: callable model
    for call in (
        lambda: model(E, pars),
        lambda: model(E, **pars),
        lambda: model(pars, E),
    ):
        try:
            y = np.asarray(call(), dtype=float)
            if y.shape == np.shape(E) and np.all(np.isfinite(y)):
                return y
        except Exception:
            pass

    raise RuntimeError("Could not evaluate dN/dE from flux model. Check model API.")

def get_pflux_from_model(model, pars, elo, ehi, nE=2048):
    E = np.logspace(np.log10(elo), np.log10(ehi), int(nE))
    dnde = _eval_dnde(model, E, pars)
    return float(np.trapz(dnde, E))  # ph/cm^2/s

if 'flat_samples' in globals() and len(flat_samples) > 0:
    # flat_samples columns: [log10(A), gamma, log10(Epeak)]
    if 'unpack' in globals():
        phys_params = np.array([unpack(th) for th in flat_samples], dtype=float)  # [A, gamma, Epeak]
    else:
        phys_params = np.column_stack([
            10.0 ** flat_samples[:, 0],
            flat_samples[:, 1],
            10.0 ** flat_samples[:, 2],
        ])

    eflux_samples = np.array([
        get_eflux_from_model(
            flux_mod,
            {'A': float(Ai), 'gamma': float(gi), 'Epeak': float(Epi)},
            ELO_E, EHI_E
        )
        for Ai, gi, Epi in phys_params
    ], dtype=float)

    pflux_samples = np.array([
        get_pflux_from_model(
            flux_mod,
            {'A': float(Ai), 'gamma': float(gi), 'Epeak': float(Epi)},
            ELO_P, EHI_P
        )
        for Ai, gi, Epi in phys_params
    ], dtype=float)

    e16, e50, e84 = np.percentile(eflux_samples, [16, 50, 84])
    e05, e95 = np.percentile(eflux_samples, [5, 95])

    p16, p50, p84 = np.percentile(pflux_samples, [16, 50, 84])
    p05, p95 = np.percentile(pflux_samples, [5, 95])

    flux_ci_15_350 = {
        'median': e50, 'q16': e16, 'q84': e84, 'q05': e05, 'q95': e95
    }
    pflux_ci_10_1000 = {
        'median': p50, 'q16': p16, 'q84': p84, 'q05': p05, 'q95': p95
    }

    print(f"Energy flux {ELO_E:.0f}-{EHI_E:.0f} keV (posterior):")
    print(f"  median = {e50:.3e} erg/cm^2/s")
    print(f"  68% CI = [{e16:.3e}, {e84:.3e}]")
    print(f"  90% CI = [{e05:.3e}, {e95:.3e}]")

    print(f"\nPhoton flux {ELO_P:.0f}-{EHI_P:.0f} keV (posterior):")
    print(f"  median = {p50:.3e} ph/cm^2/s")
    print(f"  68% CI = [{p16:.3e}, {p84:.3e}]")
    print(f"  90% CI = [{p05:.3e}, {p95:.3e}]")
else:
    raise RuntimeError("No posterior samples found (expected `flat_samples`). Run the emcee cell first.")
Energy flux 15-350 keV (posterior):
  median = 3.013e-07 erg/cm^2/s
  68% CI = [2.735e-07, 3.323e-07]
  90% CI = [2.599e-07, 3.558e-07]

Photon flux 10-1000 keV (posterior):
  median = 2.314e+00 ph/cm^2/s
  68% CI = [1.763e+00, 3.328e+00]
  90% CI = [1.579e+00, 4.253e+00]
# Compute sqrt(TS) at the current best-fit spectral parameters and time window

# Pick best-fit source parameters already produced in previous cells
if 'best_fit_emcee_params' in globals():
    A_bf = float(best_fit_emcee_params['A'])
    gamma_bf = float(best_fit_emcee_params['gamma'])
    Epeak_bf = float(best_fit_emcee_params['Epeak'])
    t0_bf = float(best_fit_emcee_params['t0'])
    t1_bf = float(best_fit_emcee_params['t1'])
elif 'best_spectral_from_waterfall_bin' in globals():
    A_bf = float(best_spectral_from_waterfall_bin['A'])
    gamma_bf = float(best_spectral_from_waterfall_bin['gamma'])
    Epeak_bf = float(best_spectral_from_waterfall_bin['Epeak'])
    t0_bf = float(best_spectral_from_waterfall_bin['t0'])
    t1_bf = float(best_spectral_from_waterfall_bin['t1'])
else:
    A_bf = float(fit_A)
    gamma_bf = float(fit_gamma)
    Epeak_bf = float(fit_Epeak)
    t0_bf = float(t0_fit)
    t1_bf = float(t1_fit)

# Configure model in that window
sig_llh_obj.set_time(t0_bf, t1_bf)
sig_mod.set_flux_params({'A': 1.0, 'gamma': gamma_bf, 'Epeak': Epeak_bf})
sig_bkg_mod.set_sig_params({
    'A': 1.0,
    'gamma': gamma_bf,
    'Epeak': Epeak_bf,
    'theta': float(theta),
    'phi': float(phi),
})

# Log-likelihoods: best-fit signal vs background-only
llh_sig = float(sig_llh_obj.get_logprob({'A': max(A_bf, AMPLITUDE_FLOOR)}))
llh_bkg = float(sig_llh_obj.get_logprob({'A': AMPLITUDE_FLOOR}))

TS_best = max(2.0 * (llh_sig - llh_bkg), 0.0)
sqrtTS_best = np.sqrt(TS_best)

print(f"Best-fit window: [{t0_bf - trig:+.3f}, {t1_bf - trig:+.3f}] s")
print(f"A={A_bf:.3e}, gamma={gamma_bf:.3f}, Epeak={Epeak_bf:.2f} keV")
print(f"TS={TS_best:.6f}, sqrtTS={sqrtTS_best:.6f}")
Best-fit window: [-1.024, +3.072] s
A=3.810e-02, gamma=-0.053, Epeak=147.98 keV
TS=433.189131, sqrtTS=20.813196