Skip to content
Snippets Groups Projects
Commit 57e710d4 authored by Colm Talbot's avatar Colm Talbot
Browse files

Add testing of likelihood sampling frame

parent f02abcdf
No related branches found
No related tags found
1 merge request!786allow the sky frame to be specified
Pipeline #125196 failed
......@@ -219,10 +219,58 @@ class TestGWTransient(unittest.TestCase):
sampling_frequency=self.waveform_generator.sampling_frequency,
duration=self.waveform_generator.duration,
start_time=self.waveform_generator.start_time,
time_reference="geocent",
reference_frame="sky",
lal_version=self.likelihood.lal_version,
)
self.assertDictEqual(expected, self.likelihood.meta_data)
def test_reference_frame_agrees_with_default(self):
new_likelihood = bilby.gw.likelihood.GravitationalWaveTransient(
interferometers=self.interferometers,
waveform_generator=self.waveform_generator,
priors=self.prior.copy(),
reference_frame="H1L1"
)
parameters = self.parameters.copy()
del parameters["ra"], parameters["dec"]
parameters["kappa"] = 1.0
parameters["eta"] = 1.0
parameters["ra"], parameters["dec"] = bilby.gw.utils.kappa_eta_to_ra_dec(
kappa=parameters["kappa"],
eta=parameters["eta"],
geocent_time=parameters["geocent_time"],
ifos=bilby.gw.detector.InterferometerList(["H1", "L1"])
)
new_likelihood.parameters.update(parameters)
self.likelihood.parameters.update(parameters)
self.assertEqual(
new_likelihood.log_likelihood_ratio(),
self.likelihood.log_likelihood_ratio()
)
def test_time_reference_agrees_with_default(self):
new_likelihood = bilby.gw.likelihood.GravitationalWaveTransient(
interferometers=self.interferometers,
waveform_generator=self.waveform_generator,
priors=self.prior.copy(),
time_reference="H1"
)
ifo = bilby.gw.detector.get_empty_interferometer("H1")
time_delay = ifo.time_delay_from_geocenter(
ra=self.parameters["ra"],
dec=self.parameters["dec"],
time=self.parameters["geocent_time"]
)
parameters = self.parameters.copy()
parameters["H1_time"] = parameters["geocent_time"] + time_delay
new_likelihood.parameters.update(parameters)
self.likelihood.parameters.update(parameters)
self.assertEqual(
new_likelihood.log_likelihood_ratio(),
self.likelihood.log_likelihood_ratio()
)
class TestTimeMarginalization(unittest.TestCase):
def setUp(self):
......
......@@ -8,6 +8,7 @@ import numpy as np
import gwpy
import lal
import lalsimulation as lalsim
from scipy.stats import ks_2samp
import bilby
from bilby.gw import utils as gwutils
......@@ -258,5 +259,35 @@ class TestGWUtils(unittest.TestCase):
)
class TestSkyFrameConversion(unittest.TestCase):
def setUp(self) -> None:
self.priors = bilby.core.prior.PriorDict()
self.priors["ra"] = bilby.core.prior.Uniform(0, 2 * np.pi)
self.priors["dec"] = bilby.core.prior.Cosine()
self.priors["eta"] = bilby.core.prior.Uniform(0, 2 * np.pi)
self.priors["kappa"] = bilby.core.prior.Sine()
self.priors["time"] = bilby.core.prior.Uniform(-0.1, 0.1)
self.ifos = bilby.gw.detector.InterferometerList(["H1", "L1"])
self.samples = self.priors.sample(10000)
def tearDown(self) -> None:
del self.priors
del self.ifos
del self.samples
def test_conversion_gives_correct_prior(self) -> None:
kappas = self.samples["kappa"]
etas = self.samples["eta"]
times = self.samples["time"]
args = zip(*[
(kappa, eta, time, self.ifos)
for kappa, eta, time in zip(kappas, etas, times)
])
ras, decs = zip(*map(bilby.gw.utils.kappa_eta_to_ra_dec, *args))
self.assertGreaterEqual(ks_2samp(self.samples["ra"], ras).pvalue, 0.01)
self.assertGreaterEqual(ks_2samp(self.samples["dec"], decs).pvalue, 0.01)
if __name__ == "__main__":
unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment