Marginalized Total Mass Model.
This pull request introduces a new inference model that performs marginalization over total mass by rescaling a reference waveform across a specified total mass grid. This model is designed to apply brute-force marginalization on top of an existing base model using waveform rescaling, making it simple and modular to include in existing analyses.
Does it work with different mass ratio q?
Does it work with different mass ratio
q?
Yea, you can set a prior on q. You need mass ratio in order to get mass1 and mass2 for the waveform generation
Does it work with different mass ratio
q?Yea, you can set a prior on q. You need mass ratio in order to get mass1 and mass2 for the waveform generation
So, for a (2,2)-mode BBH, in principle, you can only sample spin parameters + mass ratio, and marginalize over all other parameters?
Does it work with different mass ratio
q?Yea, you can set a prior on q. You need mass ratio in order to get mass1 and mass2 for the waveform generation
So, for a (2,2)-mode BBH, in principle, you can only sample spin parameters + mass ratio, and marginalize over all other parameters?
Yup. One way I am using this is to marginalize over mtotal, tc, sky location, polarization and phase (so you specify the base model as marginalized time) and only sampling over eccentricity q and spins. This model may be beneficial for very slow waveform models
So you can do something like this in the config
[model]
name = marginalized_mtotal
base_model = marginalized_time
marginalize_mtotal = True
fiducial_mtotal = 8
mtotal_grid_num = 100
sample_rate = 2048
marginalize_vector_params = tc, ra, dec, polarization
marginalize_vector_samples = 5000
low-frequency-cutoff = H1:20 L1:22 V1:20
ignore-failed-waveforms =
marginalize_phase = True
marginalize_distance = True
marginalize_distance_param = distance
marginalize_distance_interpolator = True
marginalize_distance_snr_range = 1, 30
marginalize_distance_density = 200, 200
marginalize_distance_samples = 10000
So far this model only works with the marginalized time model since I have to specify custom waveforms. I have to see if there is another way around this other than modifying each base model to take in a custom waveform.
@kkacanja Before merging this, can you add an example and unittest for the model.