diff --git a/gstlal-inspiral/python/far.py b/gstlal-inspiral/python/far.py index 026b92d78e6bd753af49f3c676b3a1bc19d5a1bb..f90ae2662c3e157e652fd49eebb70416a2078fe9 100644 --- a/gstlal-inspiral/python/far.py +++ b/gstlal-inspiral/python/far.py @@ -62,6 +62,7 @@ import numpy import random from scipy import interpolate from scipy import optimize +import os import sys import time @@ -131,8 +132,8 @@ class RankingStat(snglcoinc.LnLikelihoodRatioMixin): # network SNR threshold network_snrsq_threshold = 49.0 - def __init__(self, template_ids = None, instruments = frozenset(("H1", "L1", "V1")), population_model_file = None, min_instruments = 1, delta_t = 0.005, horizon_factors = None): - self.numerator = inspiral_lr.LnSignalDensity(template_ids = template_ids, instruments = instruments, delta_t = delta_t, population_model_file = population_model_file, min_instruments = min_instruments, horizon_factors = horizon_factors) + def __init__(self, template_ids = None, instruments = frozenset(("H1", "L1", "V1")), population_model_file = None, dtdphi_file = None, min_instruments = 1, delta_t = 0.005, horizon_factors = None): + self.numerator = inspiral_lr.LnSignalDensity(template_ids = template_ids, instruments = instruments, delta_t = delta_t, population_model_file = population_model_file, dtdphi_file = dtdphi_file, min_instruments = min_instruments, horizon_factors = horizon_factors) self.denominator = inspiral_lr.LnNoiseDensity(template_ids = template_ids, instruments = instruments, delta_t = delta_t, min_instruments = min_instruments) self.zerolag = inspiral_lr.LnLRDensity(template_ids = template_ids, instruments = instruments, delta_t = delta_t, min_instruments = min_instruments) @@ -209,6 +210,10 @@ class RankingStat(snglcoinc.LnLikelihoodRatioMixin): def population_model_file(self): return self.numerator.population_model_file + @property + def dtdphi_file(self, **kwargs): + return self.numerator.dtdphi_file + @property def segmentlists(self): return self.denominator.segmentlists @@ -222,7 +227,7 @@ class RankingStat(snglcoinc.LnLikelihoodRatioMixin): return self def copy(self): - new = type(self)(template_ids = self.template_ids, instruments = self.instruments, population_model_file = self.population_model_file, min_instruments = self.min_instruments, delta_t = self.delta_t) + new = type(self)(template_ids = self.template_ids, instruments = self.instruments, population_model_file = self.population_model_file, dtdphi_file = self.dtdphi_file, min_instruments = self.min_instruments, delta_t = self.delta_t) new.numerator = self.numerator.copy() new.denominator = self.denominator.copy() new.zerolag = self.zerolag.copy() @@ -397,6 +402,7 @@ class DatalessRankingStat(RankingStat): def __init__(self, *args, **kwargs): self.numerator = inspiral_lr.DatalessLnSignalDensity(*args, **kwargs) kwargs.pop("population_model_file", None) + kwargs.pop("dtdphi_file", None) self.denominator = inspiral_lr.DatalessLnNoiseDensity(*args, **kwargs) def finish(self):