diff --git a/examples/open_data_examples/GW150914_minimal.py b/examples/open_data_examples/GW150914_minimal.py new file mode 100644 index 0000000000000000000000000000000000000000..606409387b622ffc583dff647af6bebd94b01603 --- /dev/null +++ b/examples/open_data_examples/GW150914_minimal.py @@ -0,0 +1,14 @@ +#!/bin/python +""" +Tutorial to demonstrate the minimum number of steps required to run parameter +stimation on GW150914 using open data. + +""" +import tupak + +t0 = tupak.utils.get_event_time("GW150914") +prior = dict(geocent_time=tupak.prior.Uniform(t0-0.1, t0+0.1, name='geocent_time')) +interferometers = tupak.detector.get_event_data("GW150914") +likelihood = tupak.likelihood.get_binary_black_hole_likelihood(interferometers) +result = tupak.sampler.run_sampler(likelihood, prior, label='GW150914') +result.plot_corner() diff --git a/tupak/likelihood.py b/tupak/likelihood.py index d3b98ee779ea579bf1f1179be4beb11849d1179b..feb5f2dbda31f37c0ec9acf8dd8581c4967d89f4 100644 --- a/tupak/likelihood.py +++ b/tupak/likelihood.py @@ -135,3 +135,28 @@ class BasicLikelihood(object): def log_likelihood_ratio(self): return self.log_likelihood() - self.noise_log_likelihood() + + +def get_binary_black_hole_likelihood(interferometers): + """ A rapper to quickly set up a likelihood for BBH parameter estimation + + Parameters + ---------- + interferometers: list + A list of `tupak.detector.Interferometer` instances, typically the + output of either `tupak.detector.get_interferometer_with_open_data` + or `tupak.detector.get_interferometer_with_fake_noise_and_injection` + Returns + likelihood: tupak.likelihood.Likelihood + The likelihood to pass to `run_sampler` + """ + waveform_generator = tupak.waveform_generator.WaveformGenerator( + frequency_domain_source_model=tupak.source.lal_binary_black_hole, + sampling_frequency=interferometers[0].sampling_frequency, + time_duration=interferometers[0].duration, + parameters={'waveform_approximant': 'IMRPhenomPv2', + 'reference_frequency': 50}) + likelihood = tupak.likelihood.Likelihood( + interferometers, waveform_generator) + return likelihood +