diff --git a/bilby/gw/prior_files/GW170817.prior b/bilby/gw/prior_files/GW170817.prior new file mode 100644 index 0000000000000000000000000000000000000000..45c107c7fd3e87f69947e8f04ff233931f54f217 --- /dev/null +++ b/bilby/gw/prior_files/GW170817.prior @@ -0,0 +1,21 @@ +# Example of priors for GW170817 +# mass_1 = Constraint(name='mass_1', minimum=1.2, maximum=1.99) +# mass_2 = Constraint(name='mass_2', minimum=1., maximum=1.4) +chirp_mass = Uniform(name='chirp_mass', minimum=0.87, maximum=1.74, unit='$M_{\odot}$', boundary=None) +mass_ratio = Uniform(name='mass_ratio', minimum=0.125, maximum=1.0, boundary=None) +a_1 = Uniform(name='a_1', minimum=0, maximum=0.05, boundary='reflective') +a_2 = Uniform(name='a_2', minimum=0, maximum=0.05, boundary='reflective') +tilt_1 = Sine(name='tilt_1', boundary='reflective') +tilt_2 = Sine(name='tilt_2', boundary='reflective') +phi_12 = Uniform(name='phi_12', minimum=0, maximum=2 * np.pi, boundary='periodic') +phi_jl = Uniform(name='phi_jl', minimum=0, maximum=2 * np.pi, boundary='periodic') +luminosity_distance = bilby.gw.prior.UniformSourceFrame(name='luminosity_distance', minimum=10, maximum=100, unit='Mpc', boundary=None) +dec = Cosine(name='dec', boundary='reflective') +ra = Uniform(name='ra', minimum=0, maximum=2 * np.pi, boundary='periodic') +theta_jn = Sine(name='theta_jn', boundary='reflective') +psi = Uniform(name='psi', minimum=0, maximum=np.pi, boundary='periodic') +phase = Uniform(name='phase', minimum=0, maximum=2 * np.pi, boundary='periodic') +# lambda_1 = Constraint(name='lambda_1', minimum=0, maximum=5000) +# lambda_2 = Constraint(name='lambda_2', minimum=0, maximum=5000) +lambda_tilde = Uniform(name='lambda_tilde', minimum=0, maximum=1000, boundary=None) +delta_lambda_tilde = Uniform(name='delta_lambda_tilde', minimum=-5000, maximum=5000, boundary=None) diff --git a/examples/open_data_examples/GW170817.py b/examples/open_data_examples/GW170817.py index 2130cbbb0ae24a2d4bff773fd9881a707bb36e72..c3e8d6c96f233f7ad575fa941b25fee6b6a02b65 100644 --- a/examples/open_data_examples/GW170817.py +++ b/examples/open_data_examples/GW170817.py @@ -31,10 +31,10 @@ filter_freq = None # low pass filter frequency to cut signal content above kwargs = {} # Data are stored by LOSC at 4096 Hz, however # there may be event-related data releases with a 16384 Hz rate. -kwargs["sample_rate"] = 4096 +kwargs['sample_rate'] = 4096 # For O2 events a "tag" is required to download the data. -# CLN = clean data; C00 or C01 = raw data -kwargs["tag"] = 'C00' +# CLN = clean data; C02 = raw data +kwargs['tag'] = 'C02' interferometers = bilby.gw.detector.get_event_data( label, interferometer_names=interferometer_names, @@ -46,30 +46,32 @@ interferometers = bilby.gw.detector.get_event_data( filter_freq=filter_freq, **kwargs) # CHOOSE PRIOR FILE -prior = bilby.gw.prior.BNSPriorDict(filename='binary_neutron_stars.prior') +prior = bilby.gw.prior.BNSPriorDict(filename='GW170817.prior') deltaT = 0.1 -prior["geocent_time"] = bilby.core.prior.Uniform( +prior['geocent_time'] = bilby.core.prior.Uniform( minimum=time_of_event - deltaT / 2, maximum=time_of_event + deltaT / 2, - name="geocent_time", - latex_label="$t_c$", - unit="$s$") + name='geocent_time', + latex_label='$t_c$', + unit='$s$') # GENERATE WAVEFORM # OVERVIEW OF APPROXIMANTS: # https://www.lsc-group.phys.uwm.edu/ligovirgo/cbcnote/Waveforms/Overview duration = None # duration and sampling frequency will be overwritten # to match the ones in interferometers. -sampling_frequency = kwargs["sample_rate"] +sampling_frequency = kwargs['sample_rate'] start_time = 0 # set the starting time of the time array waveform_arguments = { - 'waveform_approximant': 'TaylorF2', 'reference_frequency': 20} + 'waveform_approximant': 'IMRPhenomPv2_NRTidal', 'reference_frequency': 20} source_model = bilby.gw.source.lal_binary_neutron_star +convert_bns = bilby.gw.conversion.convert_to_lal_binary_neutron_star_parameters waveform_generator = bilby.gw.WaveformGenerator( duration=duration, sampling_frequency=sampling_frequency, start_time=start_time, frequency_domain_source_model=source_model, + parameter_conversion=convert_bns, waveform_arguments=waveform_arguments,) # CHOOSE LIKELIHOOD FUNCTION @@ -97,6 +99,6 @@ result = bilby.run_sampler( sampler=sampler, npoints=npoints, use_ratio=False, - injection_parameters=None, - conversion_function=None) + conversion_function=bilby.gw.conversion.generate_all_bns_parameters) + result.plot_corner()