Skip to content

vitale82/GWpriors

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GWpriors

Data release supporting Vitale et al., PRL 119, 251103 (2017)

This repository contains results from parameter estimation on the first gravitational-waves events detected by LIGO, as presented by Vitale et al. PRL 119, 251103 (2017) arXiv:1707.04637.

You're more than welcome to use this data for your research! We kindly ask you to cite our paper:

@ARTICLE{2017PhRvL.119y1103V,
   author = {{Vitale}, S. and {Gerosa}, D. and {Haster}, C.-J. and {Chatziioannou}, K. and 
	{Zimmerman}, A.},
    title = "{Impact of Bayesian Priors on the Characterization of Binary Black Hole Coalescences}",
  journal = {Physical Review Letters},
archivePrefix = "arXiv",
   eprint = {1707.04637},
 primaryClass = "gr-qc",
     year = 2017,
    month = dec,
   volume = 119,
   number = 25,
      eid = {251103},
    pages = {251103},
      doi = {10.1103/PhysRevLett.119.251103},
   adsurl = {http://adsabs.harvard.edu/abs/2017PhRvL.119y1103V},
}

You can also cite this repository specifically, with its DOI: DOI

If you need help with this, feel free to contact Salvo, Davide, Carl, Katerina or Aaron.

Data format

Each hdf5 file contains posteriors samples obtained using the 8 priors described in Vitale et al, PRL 119, 251103 (2017).

The posteriors describes analysis on data available from the LIGO Open Science Center. LIGO and Virgo have released posteriors for the O1 events here, those are equivalent to our P1 prior runs, except for the method used to estimate the power spectral density (see below).

The hdf5 file contains three groups:

  • priors
  • posteriors
  • PSD (that is, power spectral density).

In turn, the priors and posteriors groups contain 8 subgroups, one for each of the priors P1...P8 of our paper.

So for example (using python):

import h5py
data=h5py.File('GW150914.hdf5','r')
data['posteriors']['P1']

gives you access to the posterior distributions obtained using the P1 prior (that is the same prior used by the LIGO and Virgo collaborations).

We release the 15 parameters on which a compact binary coalescence signal from a precessing binary in quasi-circular orbits depends. Those are (see LVC, PRL 116, 241102):

  • mc (chirp mass, in solar masses)
  • q (mass ratio, in the range [0,1])
  • a1 (dimensionless spin for the most massive object, in the range [0,0.89])
  • a2 (dimensionless spin for the least massive object, in the range [0,0.89])
  • tilt1 (angle between the spin and the orbital angular momentum for the most massive object, at 20Hz, in rads)
  • tilt2 (angle between the spin and the orbital angular momentum for the least massive object, at 20Hz, in rads)
  • phi12 (difference of spins azimuthal angles in the plane of the orbit, at 20Hz, in rads)
  • phi_jl (angle between the total and orbital angular momentum, in rads)
  • distance (luminosity distance, Mpc)
  • psi (polarization angle, at 20Hz, rads)
  • phase (coalescence phase, rads)
  • time (gps arrival time at the geocenter, secs)
  • ra (right ascension, rads)
  • dec (declination, rads)
  • theta_jn (angle between the total angular momentum and the line of sight, rads)

We also release some useful derived parameters:

  • chi_eff (effective inspiral spin, in the range [-0.89,0.89])
  • chi_p (precessing spin, in the range [0,0.89], at 20Hz)
  • m1 (mass of the most massive object, Msun)
  • m2 (mass of the least massive object, Msun)
  • final_spin (spin of the final black hole, dimensionless)
  • final_mass (mass of the final black hole, Msun)

The final mass and spins are derived from the component mass and spins using the fits of Healy et al. (2014), valid for spins aligned with the orbital angular momentum. Given that we provide posteriors for the two component masses and all spins degrees of freedom, the user can use their favorite prescription to calculate final mass and spin.

All masses above are in the detector frame. We convert them to source-frame masses by dividing by (1+z). We provide the following supplementary parameters:

  • m1_source (source-frame m1, Msun)
  • m2_source (source-frame m2, Msun)
  • mc_source (source-frame chirp mass, Msun)
  • final_mass_source (source-frame mass of the final black hole, Msun)
  • redshift

The redshift is obtained from the gravitational-wave luminosity distance, assuming a Planck 2015 cosmology. The values of the cosmological parameters are stored as attributes of the posteriors group:

for (k,v) in data['posteriors'].attrs.iteritems():
	print k,v

omega_matter 0.3065
omega_lambda 0.6935
hnot 67.9
omega_k 0.0
w2 0.0
w1 0.0
w0 -1.0

Finally, we release the log likelihood and the log prior

  • logl (natural logarithm of the likelihood)
  • logp (natural logarithm of the prior)

The units of each parameter are given as attribute of the corresponding dataset. For example, the following command produces a plot of the luminosity distance posterior of GW150914 obtained with the prior P3:

import pylab as plt
data=h5py.File('GW150914.hdf5','r')
dist=data['posteriors']['P3']['distance']
units=dist.attrs['units']
plt.hist(dist,50)
plt.xlabel('Distance [%s]'%units)
plt.ylabel('PDF')

These posteriors were obtained using the nested sampling flavor of LALInference.

The nested sampling computes the evidence of the data under the signal hypothesis, that is the likelihood marginalized over all parameters. We report the natural log of the evidence of the signal hypothesis under all priors as an attribute of the posterior/PX group, e.g.

lognat_signal_evidence=data['posteriors']['P1'].attrs['signal_evidence']

and the natural log of the noise hypothesis

lognat_noise_evidence=data['posteriors']['P1'].attrs['noise_evidence']

The (natural log of the) Bayes Factor signal vs noise (e.g LVC, PRL 116, 241102, Table I) can thus be calculated as

BayesSN=lognat_signal_evidence-lognat_noise_evidence

Finally, the natural log of the Bayes factor between two different priors can be obtained as e.g.

p1_signev=data['posteriors']['P1'].attrs['signal_evidence']
p5_signev=data['posteriors']['P5'].attrs['signal_evidence']
BayesP1P5=p1_signev-p5_signev # = 3.84

which shows P1 is favoured by the data

The priors group contains samples drawn from the priors P1..P8 (each in the corresponding group).

To access e.g. the chi_eff P8 prior for GW150914

chi_eff_prior=data['priors']['P8']['chi_eff']

Finally, the PSD group contains one group for each of the interferometers used in the analysis, H and L. The PSD were generated with the BayesWave algorithm Littenberg and Cornish, PRD 91, 084034

There are two datasets for each interferometer,

  • frequency
  • power_spectrum

Those will be different for different events, but the same for all priors.

Thus, to plot the power spectrum used in the analysis of GW150914:

h1psd=data['PSD']['H1']
l1psd=data['PSD']['L1']
plt.loglog(h1psd['frequency'],h1psd['power_spectrum'],'r',label='H')
plt.loglog(l1psd['frequency'],l1psd['power_spectrum'],'b',label='L')