Source code for ligo.raven.offline_search

import math as mth
import os
import warnings
from pathlib import Path

import matplotlib.pyplot as plt
import numpy as np
from astropy import units as u
from astropy.table import Table

from ligo.raven import search
from ligo.raven.mock_gracedb import choose_gracedb


[docs] def num_above(array, minfar=10**(-9), maxfar=10**(-3)): """ Calculates the cumulative number of events with the same or smaller false alarm rate. Parameters ---------- array : array Array of values to bin minfar : float Minimum bound of binning maxfar : float Maximum bound of binning Returns ------- bins_used : array Values of bins used counts : counts Counts in each bin """ powers = np.arange(mth.log10(minfar), mth.log10(maxfar), .01) bins = 10.**powers digi = np.digitize(array, bins, right=True) val, counts = np.unique(digi, return_counts=True) return np.array(bins)[val], np.cumsum(counts)
[docs] def get_skymap_filename(graceid, is_gw, gracedb): """Get the skymap fits filename. Parameters ---------- graceid : str GraceDB ID is_gw : bool If True, uses method for superevent or preferred event. Otherwise uses method for external event. gracedb : class GraceDB client Returns ------- filename : str Filename of latest sky map """ gracedb_log = gracedb.logs(graceid).json()['log'] if is_gw: # Try first to get a multiordered sky map for message in reversed(gracedb_log): filename = message['filename'] v = message['file_version'] fv = '{},{}'.format(filename, v) if filename.endswith('.multiorder.fits') and \ "combined-ext." not in filename: return fv # Try next to get a flattened sky map for message in reversed(gracedb_log): filename = message['filename'] v = message['file_version'] fv = '{},{}'.format(filename, v) if filename.endswith('.fits.gz') and \ "combined-ext." not in filename: return fv else: for message in reversed(gracedb_log): filename = message['filename'] v = message['file_version'] fv = '{},{}'.format(filename, v) if (filename.endswith('.fits') or filename.endswith('.fit') or filename.endswith('.fits.gz')) and \ "combined-ext." not in filename: return fv return None