From dd3f009cd0ea56f490485e6aebf72ab04aa0db20 Mon Sep 17 00:00:00 2001 From: Gareth S Cabourn Davies Date: Fri, 17 Jan 2025 16:37:03 +0000 Subject: [PATCH] Improve conservative percentile calculation in live combining single significance fits (#5005) * Just use percentile rather than mean in ML calculation for conservative fits * Fix * Use ALT * Update bin/live/pycbc_live_combine_single_significance_fits Co-authored-by: Thomas Dent --------- Co-authored-by: Thomas Dent --- bin/live/pycbc_live_combine_single_significance_fits | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/live/pycbc_live_combine_single_significance_fits b/bin/live/pycbc_live_combine_single_significance_fits index 6d75c7a8a79..21aaa1afbb4 100644 --- a/bin/live/pycbc_live_combine_single_significance_fits +++ b/bin/live/pycbc_live_combine_single_significance_fits @@ -193,8 +193,16 @@ for ifo in args.ifos: invalphan = c[valid] / a[valid] mean_alpha = c[valid].mean() / invalphan.mean() - cons_alpha = np.percentile(a[valid], 100 - args.conservative_percentile) - cons_alphas_out[ifo][counter] = cons_alpha + cons_count = np.percentile( + c[valid], + args.conservative_percentile + ) + cons_invalphan = np.percentile( + invalphan, + args.conservative_percentile + ) + # Conservative alpha estimate using percentile rather than mean + cons_alphas_out[ifo][counter] = cons_count / cons_invalphan alphas_out[ifo][counter] = mean_alpha # To get the count values, we need to convert to rates and back again