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

reformat different parameter example

parent 0c7678dd
No related branches found
No related tags found
1 merge request!195Improve conversion / change internal parameter logic
#!/bin/python
#!/usr/bin/env python
"""
Tutorial to demonstrate running parameter estimation sampling in non-standard parameters for an injected signal.
Tutorial to demonstrate running parameter estimation sampling in non-standard
parameters for an injected signal.
This example estimates the masses using a uniform prior in chirp mass, mass ratio and redshift.
This example estimates the masses using a uniform prior in chirp mass,
mass ratio and redshift.
The cosmology is according to the Planck 2015 data release.
"""
from __future__ import division, print_function
......@@ -18,9 +20,10 @@ outdir = 'outdir'
np.random.seed(151226)
injection_parameters = dict(mass_1=36., mass_2=29., a_1=0.4, a_2=0.3, tilt_1=0.5, tilt_2=1.0, phi_12=1.7, phi_jl=0.3,
luminosity_distance=500, iota=0.4, psi=2.659, phase=1.3, geocent_time=1126259642.413,
ra=1.375, dec=-1.2108)
injection_parameters = dict(
mass_1=36., mass_2=29., a_1=0.4, a_2=0.3, tilt_1=0.5, tilt_2=1.0,
phi_12=1.7, phi_jl=0.3, luminosity_distance=500, iota=0.4, psi=2.659,
phase=1.3, geocent_time=1126259642.413, ra=1.375, dec=-1.2108)
waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
reference_frequency=50.)
......@@ -29,35 +32,44 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
waveform_generator = tupak.gw.waveform_generator.WaveformGenerator(
sampling_frequency=sampling_frequency, duration=duration,
frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
parameter_conversion=tupak.gw.conversion.convert_to_lal_binary_black_hole_parameters,
non_standard_sampling_parameter_keys=['chirp_mass', 'mass_ratio', 'redshift'],
parameter_conversion=
tupak.gw.conversion.convert_to_lal_binary_black_hole_parameters,
parameters=injection_parameters, waveform_arguments=waveform_arguments)
hf_signal = waveform_generator.frequency_domain_strain()
# Set up interferometers.
IFOs = [tupak.gw.detector.get_interferometer_with_fake_noise_and_injection(
name, injection_polarizations=hf_signal, injection_parameters=injection_parameters, duration=duration,
sampling_frequency=sampling_frequency, outdir=outdir) for name in ['H1', 'L1', 'V1']]
ifos = tupak.gw.detector.InterferometerList(['H1', 'L1', 'V1', 'K1'])
ifos.set_strain_data_from_power_spectral_densities(
sampling_frequency=sampling_frequency, duration=duration,
start_time=injection_parameters['geocent_time']-3)
ifos.inject_signal(waveform_generator=waveform_generator,
parameters=injection_parameters)
# Set up prior
priors = tupak.gw.prior.BBHPriorSet()
priors.pop('mass_1')
priors.pop('mass_2')
priors.pop('luminosity_distance')
priors['chirp_mass'] = tupak.prior.Uniform(name='chirp_mass', latex_label='$m_c$', minimum=13, maximum=45)
priors['mass_ratio'] = tupak.prior.Uniform(name='mass_ratio', latex_label='$q$', minimum=0.1, maximum=1)
priors['redshift'] = tupak.prior.Uniform(name='redshift', latex_label='$z$', minimum=0, maximum=0.5)
priors['chirp_mass'] = tupak.prior.Uniform(
name='chirp_mass', latex_label='$m_c$', minimum=13, maximum=45)
priors['mass_ratio'] = tupak.prior.Uniform(
name='mass_ratio', latex_label='q', minimum=0.1, maximum=1)
priors['redshift'] = tupak.prior.Uniform(
name='redshift', latex_label='$z$', minimum=0, maximum=0.5)
# These parameters will not be sampled
for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'psi', 'ra', 'dec', 'geocent_time', 'phase']:
for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'psi',
'ra', 'dec', 'geocent_time', 'phase']:
priors[key] = injection_parameters[key]
print(priors)
# Initialise GravitationalWaveTransient
likelihood = tupak.gw.likelihood.GravitationalWaveTransient(interferometers=IFOs, waveform_generator=waveform_generator)
likelihood = tupak.gw.likelihood.GravitationalWaveTransient(
interferometers=ifos, waveform_generator=waveform_generator)
# Run sampler
result = tupak.core.sampler.run_sampler(likelihood=likelihood, priors=priors, sampler='dynesty',
injection_parameters=injection_parameters, label='DifferentParameters',
outdir=outdir, conversion_function=tupak.gw.conversion.generate_all_bbh_parameters)
result = tupak.core.sampler.run_sampler(
likelihood=likelihood, priors=priors, sampler='dynesty', outdir=outdir,
injection_parameters=injection_parameters, label='DifferentParameters',
conversion_function=tupak.gw.conversion.generate_all_bbh_parameters)
result.plot_corner()
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