... | ... | @@ -12,6 +12,8 @@ which relies on standard python libraries (numpy, matplotlib) and |
|
|
|
|
|
* [gw-distributions](https://git.ligo.org/reed.essick/gw-distributions) (tested with git hash : **YYY**)
|
|
|
|
|
|
---
|
|
|
|
|
|
# Review Materials
|
|
|
|
|
|
## technical note
|
... | ... | @@ -22,9 +24,249 @@ A technical note deriving the Monte Carlo sums used to estimate the various prob |
|
|
|
|
|
## library structure
|
|
|
|
|
|
**WRITE ME**
|
|
|
### executables
|
|
|
|
|
|
#### mmms
|
|
|
|
|
|
This is the main executable that computes the probability that an object is consistent with the allowed masses (and spins) for NSs.
|
|
|
|
|
|
```
|
|
|
usage: mmms [-h] [--event-max-num-samples EVENT_MAX_NUM_SAMPLES] [--event-weight-column EVENT_WEIGHT_COLUMN]
|
|
|
[--event-weight-is-log] [--event-prior-samples EVENT_PRIOR_SAMPLES]
|
|
|
[--event-prior-max-num-samples EVENT_PRIOR_MAX_NUM_SAMPLES]
|
|
|
[--event-prior-weight-column EVENT_PRIOR_WEIGHT_COLUMN] [--event-prior-weight-is-log]
|
|
|
[--mass-column MASS_COLUMN] [--spin-column SPIN_COLUMN] [--m1-column M1_COLUMN] [--m2-column M2_COLUMN]
|
|
|
[--d-column D_COLUMN] [--prior-column PRIOR_COLUMN] [--prior-is-log]
|
|
|
[--pop-max-num-samples POP_MAX_NUM_SAMPLES] [--mtov-column MTOV_COLUMN]
|
|
|
[--mtov-range MTOV_RANGE MTOV_RANGE] [--rtov-column RTOV_COLUMN] [--pop-weight-column POP_WEIGHT_COLUMN]
|
|
|
[--pop-weight-is-log] [--q-range Q_RANGE Q_RANGE] [--m-range M_RANGE M_RANGE]
|
|
|
[--mc-range MC_RANGE MC_RANGE] [--d-range D_RANGE D_RANGE] [-v] [-V] [--seed SEED]
|
|
|
event_samples population_config population_samples
|
|
|
|
|
|
a simple script to estimate probabilities for an object to be compatible with a neutron star
|
|
|
|
|
|
optional arguments:
|
|
|
-h, --help show this help message and exit
|
|
|
|
|
|
single-event posterior arguments:
|
|
|
event_samples
|
|
|
--event-max-num-samples EVENT_MAX_NUM_SAMPLES
|
|
|
--event-weight-column EVENT_WEIGHT_COLUMN
|
|
|
--event-weight-is-log
|
|
|
--event-prior-samples EVENT_PRIOR_SAMPLES
|
|
|
--event-prior-max-num-samples EVENT_PRIOR_MAX_NUM_SAMPLES
|
|
|
--event-prior-weight-column EVENT_PRIOR_WEIGHT_COLUMN
|
|
|
--event-prior-weight-is-log
|
|
|
--mass-column MASS_COLUMN
|
|
|
column for source-frame mass. Values are expected to be in units of Msun
|
|
|
--spin-column SPIN_COLUMN
|
|
|
if --spin-column is specified, we will interpret --mmax-column as an estimate for Mtov and
|
|
|
apply the scaling of Breu+Rezzolla 2016 to estimate Mmax(Mtov, spin, Rtov). Will also read
|
|
|
in relevant data from --spin-prior-column, --rmax-column
|
|
|
--m1-column M1_COLUMN
|
|
|
column for source-frame primary mass. Expected to be in units of Msun.
|
|
|
--m2-column M2_COLUMN
|
|
|
column for source-frame secondary mass. Expected to be in units of Msun.
|
|
|
--d-column D_COLUMN column for luminosity distance. Expected to be in units of Mpc.
|
|
|
--prior-column PRIOR_COLUMN
|
|
|
--prior-is-log
|
|
|
|
|
|
population posterior arguments:
|
|
|
population_config config file defining the population model. Parameters for this model should be passed via
|
|
|
`population_samples`.
|
|
|
population_samples a list of samples describing uncertainty in population (including EoS properties)
|
|
|
--pop-max-num-samples POP_MAX_NUM_SAMPLES
|
|
|
--mtov-column MTOV_COLUMN
|
|
|
values are expected to be in units of Msun
|
|
|
--mtov-range MTOV_RANGE MTOV_RANGE
|
|
|
--rtov-column RTOV_COLUMN
|
|
|
values are expected to be in km
|
|
|
--pop-weight-column POP_WEIGHT_COLUMN
|
|
|
--pop-weight-is-log
|
|
|
|
|
|
prior arguments:
|
|
|
--q-range Q_RANGE Q_RANGE
|
|
|
range for asymmetric mass ratio.
|
|
|
--m-range M_RANGE M_RANGE
|
|
|
range for source-frame component masses. Expected to be in units of Msun
|
|
|
--mc-range MC_RANGE MC_RANGE
|
|
|
range for source-frame chirp masses. Expected to be in units of Msun
|
|
|
--d-range D_RANGE D_RANGE
|
|
|
range for distance. Expected to be in Mpc
|
|
|
|
|
|
verbosity arguments:
|
|
|
-v, --verbose
|
|
|
-V, --Verbose
|
|
|
|
|
|
workflow arguments:
|
|
|
--seed SEED
|
|
|
```
|
|
|
|
|
|
#### mmms-combine
|
|
|
|
|
|
This executable collates separate sets of samples into a single large set. This is done by writing out every possible combination of samples from the individual sets so that the resulting samples are consistent with being drawn from a joint distribution defined as the product of the draw distributions for each separate sample set.
|
|
|
|
|
|
```
|
|
|
usage: mmms-combine [-h] [--samples SAMPLES SAMPLES] [--outpath OUTPATH] [-v] [--seed SEED]
|
|
|
|
|
|
optional arguments:
|
|
|
-h, --help show this help message and exit
|
|
|
--samples SAMPLES SAMPLES
|
|
|
a path to a CSV with samples and the maximum number of samples to retain. eg "--samples
|
|
|
path/to/sampls.csv 100". Can be repeated
|
|
|
--outpath OUTPATH
|
|
|
-v, --verbose
|
|
|
--seed SEED
|
|
|
```
|
|
|
|
|
|
#### mmms-plot
|
|
|
|
|
|
This executable generates visualizations summarizing the Monte Carlo sums done to estimate the consistency of an object with a NS.
|
|
|
|
|
|
```
|
|
|
usage: mmms-plot [-h] [--event-max-num-samples EVENT_MAX_NUM_SAMPLES] [--event-weight-column EVENT_WEIGHT_COLUMN]
|
|
|
[--event-weight-is-log] [--mass-column MASS_COLUMN] [--spin-column SPIN_COLUMN]
|
|
|
[--m1-column M1_COLUMN] [--m2-column M2_COLUMN] [--d-column D_COLUMN] [--prior-column PRIOR_COLUMN]
|
|
|
[--prior-is-log] [--pop-max-num-samples POP_MAX_NUM_SAMPLES] [--mtov-column MTOV_COLUMN]
|
|
|
[--mtov-range MTOV_RANGE MTOV_RANGE] [--rtov-column RTOV_COLUMN]
|
|
|
[--pop-weight-column POP_WEIGHT_COLUMN] [--pop-weight-is-log] [--q-range Q_RANGE Q_RANGE]
|
|
|
[--m-range M_RANGE M_RANGE] [--mc-range MC_RANGE MC_RANGE] [--d-range D_RANGE D_RANGE] [-v] [-V]
|
|
|
[-o OUTPUT_DIR] [-t TAG] [--figtype FIGTYPE] [--dpi DPI] [--seed SEED]
|
|
|
event_samples population_config population_samples
|
|
|
|
|
|
a simple script to estimate bayes factors for a NS vs a BH based on m2 posteriors and Mmax limits
|
|
|
|
|
|
optional arguments:
|
|
|
-h, --help show this help message and exit
|
|
|
|
|
|
event posterior arguments:
|
|
|
event_samples
|
|
|
--event-max-num-samples EVENT_MAX_NUM_SAMPLES
|
|
|
--event-weight-column EVENT_WEIGHT_COLUMN
|
|
|
--event-weight-is-log
|
|
|
--mass-column MASS_COLUMN
|
|
|
values are expected to be in units of Msun
|
|
|
--spin-column SPIN_COLUMN
|
|
|
if --spin-column is specified, we will interpret --mmax-column as an estimate for Mtov and
|
|
|
apply the scaling of Breu+Rezzolla 2016 to estimate Mmax(Mtov, spin, Rtov). Will also read
|
|
|
in relevant data from --spin-prior-column, --rmax-column
|
|
|
--m1-column M1_COLUMN
|
|
|
only used when pruning posterior samples. Expected to be in units of Msun
|
|
|
--m2-column M2_COLUMN
|
|
|
only used when pruning posterior samples. Expected to be in units of Msun
|
|
|
--d-column D_COLUMN only used when pruning posterior samples. Expected to be in Mpc
|
|
|
--prior-column PRIOR_COLUMN
|
|
|
--prior-is-log
|
|
|
|
|
|
population posterior arguments:
|
|
|
population_config config file defining the population model. Parameters for this model should be passed via
|
|
|
`population_samples`.
|
|
|
population_samples
|
|
|
--pop-max-num-samples POP_MAX_NUM_SAMPLES
|
|
|
--mtov-column MTOV_COLUMN
|
|
|
values are expected to be in units of Msun
|
|
|
--mtov-range MTOV_RANGE MTOV_RANGE
|
|
|
--rtov-column RTOV_COLUMN
|
|
|
values are expected to be in km
|
|
|
--pop-weight-column POP_WEIGHT_COLUMN
|
|
|
--pop-weight-is-log
|
|
|
|
|
|
prior arguments:
|
|
|
--q-range Q_RANGE Q_RANGE
|
|
|
--m-range M_RANGE M_RANGE
|
|
|
expected to be in units of Msun
|
|
|
--mc-range MC_RANGE MC_RANGE
|
|
|
expected to be in units of Msun
|
|
|
--d-range D_RANGE D_RANGE
|
|
|
expected to be in Mpc
|
|
|
|
|
|
* description of refactoring of library
|
|
|
output arguments:
|
|
|
-v, --verbose
|
|
|
-V, --Verbose
|
|
|
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
|
|
|
-t TAG, --tag TAG
|
|
|
--figtype FIGTYPE
|
|
|
--dpi DPI
|
|
|
|
|
|
workflow arguments:
|
|
|
--seed SEED
|
|
|
```
|
|
|
|
|
|
#### mmms-weigh
|
|
|
|
|
|
A legacy script that computes probabilities that individual samples are compatible with a NS by marginalizing over the uncertainty in the EoS.
|
|
|
|
|
|
```
|
|
|
usage: mmms-weigh [-h] [--event-max-num-samples EVENT_MAX_NUM_SAMPLES] [--mass-column MASS_COLUMN]
|
|
|
[--spin-column SPIN_COLUMN] [--mass-range MASS_RANGE MASS_RANGE]
|
|
|
[--pop-weight-column POP_WEIGHT_COLUMN] [--pop-weight-is-log] [--mtov-column MTOV_COLUMN]
|
|
|
[--mtov-range MTOV_RANGE MTOV_RANGE] [--rtov-column RTOV_COLUMN] [-v]
|
|
|
[--output-weight-column OUTPUT_WEIGHT_COLUMN] [--outpath OUTPATH]
|
|
|
event_samples population_samples
|
|
|
|
|
|
a script that will add weights to a CSV based on the probability that each sample is below Mmax. NOTE! This includes
|
|
|
the prior normalization associated with simulataneous inference over both the EOS and the mass. We assume a flat-in-
|
|
|
mass prior within the range specified by `--mass-range`. ALSO NOTE! This does *not* reweigh single-event samples by
|
|
|
the population, and therefore may not be equivalent to other calculations.
|
|
|
|
|
|
optional arguments:
|
|
|
-h, --help show this help message and exit
|
|
|
|
|
|
event posterior arguments:
|
|
|
event_samples
|
|
|
--event-max-num-samples EVENT_MAX_NUM_SAMPLES
|
|
|
--mass-column MASS_COLUMN
|
|
|
--spin-column SPIN_COLUMN
|
|
|
if specified along with --rtov-column, will include the effects of spin with the resulting
|
|
|
weights
|
|
|
--mass-range MASS_RANGE MASS_RANGE
|
|
|
this specifies the prior range used to construct a simultaneous over the EOS and --mass-
|
|
|
column. We assume a flat prior in --mass-column and update p(mass_column|Mmax) appropriate.
|
|
|
This introduces a prior normalization within the weight for each EOS.
|
|
|
|
|
|
population posterior arguments:
|
|
|
population_samples
|
|
|
--pop-weight-column POP_WEIGHT_COLUMN
|
|
|
--pop-weight-is-log
|
|
|
--mtov-column MTOV_COLUMN
|
|
|
--mtov-range MTOV_RANGE MTOV_RANGE
|
|
|
--rtov-column RTOV_COLUMN
|
|
|
if specified along with --spin-column, will include the effects of spin within the resulting
|
|
|
weights
|
|
|
|
|
|
ouptut arguments:
|
|
|
-v, --verbose
|
|
|
--output-weight-column OUTPUT_WEIGHT_COLUMN
|
|
|
--outpath OUTPATH
|
|
|
```
|
|
|
|
|
|
### modules
|
|
|
|
|
|
#### mmms.br2016
|
|
|
|
|
|
Implements the universal relations from [Breu+Rezzolla 2016](https://academic.oup.com/mnras/article/459/1/646/2608837) used to compute the maximum mass and spin compatible with a NS.
|
|
|
|
|
|
#### mmms.engine
|
|
|
|
|
|
Implements the Monte Carlo summation used within the core of the computation.
|
|
|
|
|
|
#### mmms.io
|
|
|
|
|
|
Handles all the I/O needed for the library (primarily reading samples from CSVs)
|
|
|
|
|
|
#### mmms.plot
|
|
|
|
|
|
Generates standardized plots to summarize the calculations.
|
|
|
|
|
|
#### mmms.units
|
|
|
|
|
|
Declares dimensionful quantities.
|
|
|
|
|
|
#### mmms.utils
|
|
|
|
|
|
Declares some basic utilities, including default values and how the results of the calculation are reported to the users.
|
|
|
|
|
|
---
|
|
|
|
|
|
## comparison to previous results
|
|
|
|
... | ... | @@ -37,6 +279,8 @@ Below, we compare results obtained for previous (published) LVK analyses with th |
|
|
* [original review used for GW190814](GW190814-Review)
|
|
|
* [updated version used for GW200105, GW200115](General-Review-(post-GW190814))
|
|
|
|
|
|
---
|
|
|
|
|
|
# Contacts
|
|
|
|
|
|
## Reviewees
|
... | ... | |