From 7955244031c04af0d005eda6c6bd7c9ceb46b77c Mon Sep 17 00:00:00 2001 From: Ryan Magee <ryan.magee@ligo.org> Date: Tue, 16 Jul 2019 13:30:21 -0700 Subject: [PATCH] gstlal_inspiral_compress_ranking_stat: added option to remove large deviations in horizon history. --- gstlal-inspiral/bin/gstlal_inspiral_compress_ranking_stat | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gstlal-inspiral/bin/gstlal_inspiral_compress_ranking_stat b/gstlal-inspiral/bin/gstlal_inspiral_compress_ranking_stat index 830b9f5f63..a066aa4814 100755 --- a/gstlal-inspiral/bin/gstlal_inspiral_compress_ranking_stat +++ b/gstlal-inspiral/bin/gstlal_inspiral_compress_ranking_stat @@ -30,7 +30,7 @@ import math from optparse import OptionParser import sys - +import numpy from ligo.lw import utils as ligolw_utils from gstlal import far @@ -55,6 +55,8 @@ def parse_command_line(): version = "Name: %%prog\n%s" % "" # FIXME ) parser.add_option("-t", "--threshold", type = "float", default = 0.03, help = "Only keep horizon distance values that differ by this much, fractionally, from their neighbours (default = 0.03).") + parser.add_option("--remove-horizon-deviations", action = "store_true", help = "Remove horizon entries that display an uncharacteristic deviation in sensitivity from the non-zero mean.") + parser.add_option("--deviation-percent", type = "float", default = 0.50, help = "Remove horizon entries that deviate by this fraction from the non-zero mean.") parser.add_option("-v", "--verbose", action = "store_true", help = "Be verbose.") options, filenames = parser.parse_args() @@ -117,6 +119,10 @@ for filename in filenames: for instrument, horizon_history in list(rankingstat.numerator.horizon_history.items()): # GPS time / distance pairs items = horizon_history.items() + if options.remove_horizon_deviations: + values = numpy.array(items)[:,1] + mean_horizon = values[values!=0].mean() + items = [item for item in items if item[1] < (mean_horizon * (1. + options.deviation_percent))] # compress array j = 1 -- GitLab