From 39bed653ea2f6f5b69be9264b6df8690c77e634e Mon Sep 17 00:00:00 2001 From: Chad Hanna <chad.hanna@comp-hd-002.gwave.ics.psu.edu> Date: Sat, 17 Aug 2019 20:47:18 -0400 Subject: [PATCH] inspiral_extrinsics.py, inspiral_lr.py: snr / chisq numerator tuning --- gstlal-inspiral/python/stats/inspiral_extrinsics.py | 6 ++++-- gstlal-inspiral/python/stats/inspiral_lr.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gstlal-inspiral/python/stats/inspiral_extrinsics.py b/gstlal-inspiral/python/stats/inspiral_extrinsics.py index 50e734336a..0e341ce4db 100644 --- a/gstlal-inspiral/python/stats/inspiral_extrinsics.py +++ b/gstlal-inspiral/python/stats/inspiral_extrinsics.py @@ -943,13 +943,15 @@ class NumeratorSNRCHIPDF(rate.BinnedLnPDF): rcoss, drcoss = lnpdf.bins[1].centres()[rcossindices], lnpdf.bins[1].upper()[rcossindices] - lnpdf.bins[1].lower()[rcossindices] snr2 = snr**2. - snrchi2 = numpy.outer(snr2, rcoss) * df + ncparam_per_pf = snr2 + # takes into account the mean depending on noncentrality parameter + snrchi2 = numpy.outer(snr2 * df * (1.0 + numpy.mean(pfs)), rcoss) arr = numpy.zeros_like(lnpdf.array) for pf in pfs: if progressbar is not None: progressbar.increment() - arr[snrindices, rcossindices] += gstlalstats.ncx2pdf(snrchi2, df, numpy.array([pf * snr2]).T) + arr[snrindices, rcossindices] += gstlalstats.ncx2pdf(snrchi2, df, numpy.array([pf * ncparam_per_pf]).T) # convert to counts by multiplying by bin volume, and also # multiply by an SNR powr law diff --git a/gstlal-inspiral/python/stats/inspiral_lr.py b/gstlal-inspiral/python/stats/inspiral_lr.py index a6ceaa00c7..bcae21ccfc 100644 --- a/gstlal-inspiral/python/stats/inspiral_lr.py +++ b/gstlal-inspiral/python/stats/inspiral_lr.py @@ -423,7 +423,7 @@ class LnSignalDensity(LnLRDensity): vtdict = self.horizon_history.functional_integral_dict(window.shift(float(gps)), lambda D: D**3.) return dict((instrument, (vt / t)**(1./3.)) for instrument, vt in vtdict.items()) - def add_signal_model(self, prefactors_range = (0.001, 0.30), df = 200, inv_snr_pow = 4.): + def add_signal_model(self, prefactors_range = (0.001, 0.30), df = 150, inv_snr_pow = 4.): # normalize to 10 *mi*llion signals. this count makes the # density estimation code choose a suitable kernel size inspiral_extrinsics.NumeratorSNRCHIPDF.add_signal_model(self.densities["snr_chi"], 1e12, prefactors_range, df, inv_snr_pow = inv_snr_pow, snr_min = self.snr_min) -- GitLab