Commit c4d47e58 authored by Chad Hanna's avatar Chad Hanna Committed by Chad Hanna

inspiral_lr.py: simplify the noise model to be just the power law in SNR


(cherry picked from commit 03f4eafd)
parent 6e45978f
Pipeline #78823 passed with stages
in 25 minutes and 43 seconds
......@@ -795,7 +795,7 @@ class LnNoiseDensity(LnLRDensity):
# added
self.interps = dict((key, (pdf + self.lnzerolagdensity.densities[key]).mkinterp()) for key, pdf in self.densities.items())
def add_noise_model(self, number_of_events = 10000, prefactors_range = (2.0, 100.), df = 40, inv_snr_pow = 2.):
def add_noise_model(self, number_of_events = 1):
#
# populate snr,chi2 binnings with a slope to force
# higher-SNR events to be assesed to be more significant
......@@ -814,22 +814,18 @@ class LnNoiseDensity(LnLRDensity):
rcoss, drcoss = lnpdf.bins[1].centres()[rcossindices], lnpdf.bins[1].upper()[rcossindices] - lnpdf.bins[1].lower()[rcossindices]
prcoss = numpy.ones(len(rcoss))
# This adds a faint power law that falls off just faster than GWs
psnr = 1e-12 * snr**-6 #(1. + 10**6) / (1. + snr**6)
# This adds a faint power law that falls off faster than GWs
psnr = snr**-12
psnr = numpy.outer(psnr, numpy.ones(len(rcoss)))
# NOTE the magic numbers are just tuned from real data
psnrdcoss = numpy.outer(numpy.exp(-4. * (snr - 4.5)**2) * dsnr, numpy.exp(-(rcoss - .06)**2 / (1e-4)) * drcoss)
arr[snrindices, rcossindices] = psnrdcoss + psnr
arr[snrindices, rcossindices] = psnr
# normalize to the requested count. give 99% of the
# requested events to this portion of the model
arr *= 0.99 * number_of_events / arr.sum()
arr *= number_of_events / arr.sum()
for lnpdf in self.densities.values():
# add in the 99% noise model
# add in the noise model
lnpdf.array += arr
# add 1% from the "glitch model"
inspiral_extrinsics.NumeratorSNRCHIPDF.add_glitch_model(lnpdf, n = 0.01 * number_of_events, prefactors_range = prefactors_range, df = df, inv_snr_pow = inv_snr_pow, snr_min = self.snr_min)
# re-normalize
lnpdf.normalize()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment