ranking_HM.generate_downsampling_correction_fits#
Back to Module page
Summary#
We want to calculate the non-Gaussian correction to the ranking statistic (see arXiv: 2405.17400). We therefore want to compare the empirical histogram of the SNR^2 to that expected from the Gaussian noise hypothesis (see Fig.3 of the paper). The empirical histogram is unfortunately also affected by downsampling at the low SNR^2 end due to using HM marginalized statistic based threshold in the matched_filtering stage (instead of using rho_incoherent^2 as the threshold). To remedy this, we do a quick and rough calculation of the downsampling correction. and fit it by a parabolic function to avoid noise at the high SNR^2 end. The fit is then used to correct the empirical histogram or rank function.
Signature#
def generate_downsampling_correction_fits(Z_gauss_complex = None, bank_id = None, tbp_dir = None, bank_obj = None, n_SNRsq_bins = 15, SNRsq_cutoff = 20, return_plot = False)
Name |
Type |
Default |
Description |
|---|---|---|---|
|
None |
Complex Gaussian noise triggers [n_triggers,3] They take time to generate, so try generate in a notebook once and supply them for all banks |
|
|
None |
The bank id of the bank to be used for the correction (if bank_obj is not provided) |
|
|
None |
The directory where the template banks are stored (you could load temp bank params obj and use tbp.DIR) |
|
|
None |
The bank object to be used for the correction |
|
|
15 |
Number of bins to use for the histogram (the histogram can be noisy if the number of bins is too large) |
|
|
20 |
The cutoff SNR^2 value above which the triggers are considered. This parameter needs further investigation, Either provide the lowest SNR^2 cutoff among all banks used during triggering (recommended), or provide a median value across all banks. |
|
|
False |
Whether to return the plot (for debugging) |
Output variables#
Return annotation |
Docstring type |
Description |
|---|---|---|
|
Docstring#
We want to calculate the non-Gaussian correction
to the ranking statistic (see arXiv: 2405.17400).
We therefore want to compare the empirical histogram of the SNR^2
to that expected from the Gaussian noise hypothesis (see Fig.3 of the paper).
The empirical histogram is unfortunately also affected by downsampling
at the low SNR^2 end due to using HM marginalized statistic based threshold
in the matched_filtering stage (instead of using rho_incoherent^2 as the threshold).
To remedy this, we do a quick and rough calculation of the downsampling correction.
and fit it by a parabolic function to avoid noise at the high SNR^2 end.
The fit is then used to correct the empirical histogram or rank function.
:param Z_gauss_complex: Complex Gaussian noise triggers [n_triggers,3]
They take time to generate, so try generate in a notebook once and
supply them for all banks
:param bank_id: The bank id of the bank to be used for the correction
(if bank_obj is not provided)
:param tbp_dir: The directory where the template banks are stored
(you could load temp bank params obj and use tbp.DIR)
:param bank_obj: The bank object to be used for the correction
:param n_SNRsq_bins: Number of bins to use for the histogram
(the histogram can be noisy if the number of bins is too large)
:param SNRsq_cutoff: The cutoff SNR^2 value above which the triggers are considered.
This parameter needs further investigation,
Either provide the lowest SNR^2 cutoff among all banks used
during triggering (recommended),
or provide a median value across all banks.
:param return_plot: Whether to return the plot (for debugging)