Skip to content

O3b

Colm Talbot requested to merge o3b into master

The aim of the MR is for the changes needed between O3a and O3b to be collected in one space.

Will bump version to 0.3.0.

  • gwpopulation_pipe/common_format.py
    • new minimum/mass arguments for smoothed mass distributions
    • new vt-ifar-threshold argument to allow differing thresholds to be used
    • format of the file has changed
      • this method was producing data frames that had too many columns
      • the new format splits things up into logical groups
      • @colm.talbot will document the new format
      • new format has presumably been accounted for in plotting (@shanika.galaudage)
  • gwpopulation_pipe/data_analysis.py
    • some new imports
    • SmoothedMassDistribution -> SinglePeakSmoothedMassDistribution in GWPopulation
    • parser arguments moved to main parser
    • vt_ifar_threshold passed into vt_func
    • more specific instantiation to allow minimum/maximum mass to be passed
    • sampler kwargs parsing taken from bilby_pipe (reviewed)
    • assigning arbitrary attributes to Bilby objects was losing information, save in meta_data instead
    • names of hyperparameters constructed before sampling and used to downselect from single large prior
      • previously we had a prior file for each combination of models
      • now use a single big prior file to avoid duplicate prior definition
  • gwpopulation_pipe/data_collection.py
    • lalinference_prior -> euclidean_distance_prior for inclusiveness
    • evaluate_prior has more complex logic based on passed arguments
      • currently handles only two redshift priors, the usual mass prior, and default (i.e., component) spins
    • load_posterior_from_meta_file allows preferred labels to be passed to access random run names
    • load_meta_file_from_json should not be used as all posteriors are passed as hdf5
    • load_samples_from_csv should not be used as all posteriors are passed as hdf5
    • new function load_o3b_events as a copy of load_o3a_events and modified parsing
      • this may need to change if all o3a and o3b files will be in the same directory
  • gwpopulation_pipe/main.py
    • new parsing of arguments, kind of messy, probably easiest to just verify what the output looks like
  • gwpopulation_pipe/parser.py
    • many new parameters based on new functionality
    • vt-parameters may be relevant, it says which parameters to include in sensitivity estimation
      • should be mass, redshift, spin for the default as we have full spin injections
  • gwpopulation_pipe/post_plots.py
    • refactoring but no substantive changes
    • files are still written with deepdish. This should be removed, but needs me to understand h5py.
  • gwpopulation_pipe/utils.py
    • KNOWN_ARGUMENTS is a hack to deal with the default spin model being defined in terms of beta distribution parameters but sampling in mean and variance for the prior parsing
  • gwpopulation_pipe/vt_helper.py
    • a bunch of code migrated to GWPopulation
    • read injection files using h5py
    • will only work if mass, spin, and redshift are all being fitted
    • check jacobian for spins

cc/ @shanika.galaudage and @maya.fishbach as reviewer

Edited by Colm Talbot

Merge request reports