From ea2dde97b88d6d3461c9f5f6207c65671027008a Mon Sep 17 00:00:00 2001
From: Aditya Vijaykumar <vijaykumar.aditya@gmail.com>
Date: Tue, 18 Oct 2022 11:19:46 -0500
Subject: [PATCH] changes

---
 bilby/gw/conversion.py | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

diff --git a/bilby/gw/conversion.py b/bilby/gw/conversion.py
index 2af5767b3..22e72e723 100644
--- a/bilby/gw/conversion.py
+++ b/bilby/gw/conversion.py
@@ -1402,13 +1402,22 @@ def compute_snrs(sample, likelihood, npool=1):
 
     """
     if likelihood is not None:
+        if likelihood.__class__.__name__ == "RelativeBinningGravitationalWaveTransient":
+            logger.info("Relative Binning Likelihood; Calculating SNRs from Summary Data")
+
         if isinstance(sample, dict):
+            if likelihood.__class__.__name__ == "RelativeBinningGravitationalWaveTransient":
+                waveform_ratio = likelihood.compute_waveform_ratio(sample)
+            else:
+                signal_polarizations = likelihood.waveform_generator.frequency_domain_strain(sample)
             likelihood.parameters.update(sample)
-            signal_polarizations =\
-                likelihood.waveform_generator.frequency_domain_strain(sample)
+
             for ifo in likelihood.interferometers:
-                per_detector_snr = likelihood.calculate_snrs(
-                    signal_polarizations, ifo)
+                if likelihood.__class__.__name__ == "RelativeBinningGravitationalWaveTransient":
+                    per_detector_snr = likelihood.calculate_snrs_relative_binning(waveform_ratio[ifo.name], ifo)
+                else:
+                    per_detector_snr = likelihood.calculate_snrs(
+                        signal_polarizations, ifo)
                 sample['{}_matched_filter_snr'.format(ifo.name)] =\
                     per_detector_snr.complex_matched_filter_snr
                 sample['{}_optimal_snr'.format(ifo.name)] = \
-- 
GitLab