From f029a3f57e04ec1a0f2e6b41561a3bca2f52fd1d Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Fri, 28 Oct 2022 12:50:09 -0700
Subject: [PATCH] remove unused methods/functions

---
 bilby/gw/detector/interferometer.py |  46 -------
 bilby/gw/likelihood/relative.py     |   5 -
 bilby/gw/source.py                  | 189 ----------------------------
 3 files changed, 240 deletions(-)

diff --git a/bilby/gw/detector/interferometer.py b/bilby/gw/detector/interferometer.py
index a49cdfa6e..f55c9f7a3 100644
--- a/bilby/gw/detector/interferometer.py
+++ b/bilby/gw/detector/interferometer.py
@@ -332,52 +332,6 @@ class Interferometer(object):
 
         return signal_ifo
 
-    def get_detector_response_relative_binning(self, waveform_polarizations,
-                                               parameters, bin_frequencies):
-        """Get the detector response for a particular waveform, where the frequencies
-        of the waveform polarizations are only the binning frequencies and we
-        assume that there is no frequency mask necessary for the data. Kind of
-        a hacky workaround. Should do something better probably.
-
-        Parameters
-        -------
-        waveform_polarizations: dict
-            polarizations of the waveform
-        parameters: dict
-            parameters describing position and time of arrival of the signal
-
-        Returns
-        -------
-        array_like: A 3x3 array representation of the detector response (signal observed in the interferometer)
-        """
-        signal = {}
-        for mode in waveform_polarizations.keys():
-            det_response = self.antenna_response(
-                parameters['ra'],
-                parameters['dec'],
-                parameters['geocent_time'],
-                parameters['psi'], mode)
-
-            signal[mode] = waveform_polarizations[mode] * det_response
-        signal_ifo = sum(signal.values())
-
-        time_shift = self.time_delay_from_geocenter(
-            parameters['ra'], parameters['dec'], parameters['geocent_time'])
-
-        # Be careful to first subtract the two GPS times which are ~1e9 sec.
-        # And then add the time_shift which varies at ~1e-5 sec
-        dt_geocent = parameters['geocent_time'] - self.strain_data.start_time
-        dt = dt_geocent + time_shift
-
-        signal_ifo = signal_ifo * \
-            np.exp(-1j * 2 * np.pi * dt * bin_frequencies)
-
-        signal_ifo *= self.calibration_model.get_calibration_factor(
-            bin_frequencies, prefix='recalib_{}_'.format(self.name),
-            **parameters)
-
-        return signal_ifo
-
     def check_signal_duration(self, parameters, raise_error=True):
         """ Check that the signal with the given parameters fits in the data
 
diff --git a/bilby/gw/likelihood/relative.py b/bilby/gw/likelihood/relative.py
index f6fe1b848..32361b231 100644
--- a/bilby/gw/likelihood/relative.py
+++ b/bilby/gw/likelihood/relative.py
@@ -189,7 +189,6 @@ class RelativeBinningGravitationalWaveTransient(GravitationalWaveTransient):
             self.per_detector_fiducial_waveform_points[name] = (
                 self.per_detector_fiducial_waveforms[name][self.bin_inds[name]]
             )
-        return
 
     def set_fiducial_waveforms(self, parameters):
         parameters["fiducial"] = 1
@@ -213,10 +212,6 @@ class RelativeBinningGravitationalWaveTransient(GravitationalWaveTransient):
                 interferometer.get_detector_response(
                     self.fiducial_polarizations, parameters))
         parameters["fiducial"] = 0
-        return
-
-    def log_likelihood(self):
-        return self.log_likelihood_ratio() + self.noise_log_likelihood()
 
     def find_maximum_likelihood_parameters(self, parameter_bounds,
                                            iterations=1, maximization_kwargs=None):
diff --git a/bilby/gw/source.py b/bilby/gw/source.py
index affdbb6a6..1d415f518 100644
--- a/bilby/gw/source.py
+++ b/bilby/gw/source.py
@@ -882,195 +882,6 @@ def _base_waveform_frequency_sequence(
     return dict(plus=h_plus.data.data, cross=h_cross.data.data)
 
 
-def lal_binary_black_hole_relativebinning(
-        frequency_array, mass_1, mass_2, luminosity_distance, a_1, tilt_1,
-        phi_12, a_2, tilt_2, phi_jl, theta_jn, phase, fiducial, **kwargs):
-
-    waveform_kwargs = dict(
-        waveform_approximant='IMRPhenomPv2', reference_frequency=50.0,
-        minimum_frequency=20.0, maximum_frequency=frequency_array[-1],
-        catch_waveform_errors=False, pn_spin_order=-1, pn_tidal_order=-1,
-        pn_phase_order=-1, pn_amplitude_order=0)
-    waveform_kwargs.update(kwargs)
-
-    if fiducial == 1:
-        return _base_lal_cbc_fd_waveform(
-            frequency_array=frequency_array, mass_1=mass_1, mass_2=mass_2,
-            luminosity_distance=luminosity_distance, theta_jn=theta_jn, phase=phase,
-            a_1=a_1, a_2=a_2, tilt_1=tilt_1, tilt_2=tilt_2, phi_jl=phi_jl,
-            phi_12=phi_12, lambda_1=0.0, lambda_2=0.0, **waveform_kwargs)
-
-    else:
-        return _base_relativebinning_waveform(
-            frequency_array=frequency_array, mass_1=mass_1, mass_2=mass_2,
-            luminosity_distance=luminosity_distance, theta_jn=theta_jn, phase=phase,
-            a_1=a_1, a_2=a_2, tilt_1=tilt_1, tilt_2=tilt_2, phi_jl=phi_jl,
-            phi_12=phi_12, lambda_1=0.0, lambda_2=0.0, **waveform_kwargs)
-
-
-def lal_binary_neutron_star_relativebinning(
-        frequency_array, mass_1, mass_2, luminosity_distance, a_1, tilt_1,
-        phi_12, a_2, tilt_2, phi_jl, lambda_1, lambda_2, theta_jn, phase,
-        fiducial, **kwargs):
-
-    waveform_kwargs = dict(
-        waveform_approximant='IMRPhenomPv2_NRTidal', reference_frequency=50.0,
-        minimum_frequency=20.0, maximum_frequency=frequency_array[-1],
-        catch_waveform_errors=False, pn_spin_order=-1, pn_tidal_order=-1,
-        pn_phase_order=-1, pn_amplitude_order=0)
-    waveform_kwargs.update(kwargs)
-
-    if fiducial == 1:
-
-        return _base_lal_cbc_fd_waveform(
-            frequency_array=frequency_array, mass_1=mass_1, mass_2=mass_2,
-            luminosity_distance=luminosity_distance, theta_jn=theta_jn, phase=phase,
-            a_1=a_1, a_2=a_2, tilt_1=tilt_1, tilt_2=tilt_2, phi_12=phi_12,
-            phi_jl=phi_jl, lambda_1=lambda_1, lambda_2=lambda_2, **waveform_kwargs)
-
-    else:
-        return _base_relativebinning_waveform(
-            frequency_array=frequency_array, mass_1=mass_1, mass_2=mass_2,
-            luminosity_distance=luminosity_distance, theta_jn=theta_jn, phase=phase,
-            a_1=a_1, a_2=a_2, tilt_1=tilt_1, tilt_2=tilt_2, phi_jl=phi_jl,
-            phi_12=phi_12, lambda_1=lambda_1, lambda_2=lambda_2, **waveform_kwargs)
-
-
-def _base_relativebinning_waveform(
-        frequency_array, mass_1, mass_2, luminosity_distance, theta_jn, phase,
-        a_1=0.0, a_2=0.0, tilt_1=0.0, tilt_2=0.0, phi_12=0.0, phi_jl=0.0,
-        lambda_1=0.0, lambda_2=0.0, **waveform_kwargs):
-    """ Generate a cbc waveform model using lalsimulation
-
-    Parameters
-    ----------
-    frequency_array: array_like
-        The frequencies at which we want to calculate the strain. Ignored
-        for the relative binning model.
-    mass_1: float
-        The mass of the heavier object in solar masses
-    mass_2: float
-        The mass of the lighter object in solar masses
-    luminosity_distance: float
-        The luminosity distance in megaparsec
-    a_1: float
-        Dimensionless primary spin magnitude
-    tilt_1: float
-        Primary tilt angle
-    phi_12: float
-        Azimuthal angle between the component spins
-    a_2: float
-        Dimensionless secondary spin magnitude
-    tilt_2: float
-        Secondary tilt angle
-    phi_jl: float
-        Azimuthal angle between the total and orbital angular momenta
-    theta_jn: float
-        Orbital inclination
-    phase: float
-        The phase at coalescence
-    lambda_1: float
-        Tidal deformability of the more massive object
-    lambda_2: float
-        Tidal deformability of the less massive object
-    kwargs: dict
-        Optional keyword arguments
-
-    Waveform arguments
-    ------------------
-    Non-sampled extra data used in the source model calculation
-    frequency_bin_edges: np.array
-
-    Returns
-    -------
-    dict: A dictionary with the plus and cross polarisation strain modes
-    """
-    import lal
-    import lalsimulation as lalsim
-
-    waveform_approximant = waveform_kwargs['waveform_approximant']
-    reference_frequency = waveform_kwargs['reference_frequency']
-    catch_waveform_errors = waveform_kwargs['catch_waveform_errors']
-    pn_spin_order = waveform_kwargs['pn_spin_order']
-    pn_tidal_order = waveform_kwargs['pn_tidal_order']
-    pn_phase_order = waveform_kwargs['pn_phase_order']
-    pn_amplitude_order = waveform_kwargs['pn_amplitude_order']
-    waveform_dictionary = waveform_kwargs.get(
-        'lal_waveform_dictionary', lal.CreateDict()
-    )
-
-    frequency_bin_edges = waveform_kwargs['frequency_bin_edges']
-
-    approximant = lalsim_GetApproximantFromString(waveform_approximant)
-
-    luminosity_distance = luminosity_distance * 1e6 * utils.parsec
-    mass_1 = mass_1 * utils.solar_mass
-    mass_2 = mass_2 * utils.solar_mass
-
-    iota, spin_1x, spin_1y, spin_1z, spin_2x, spin_2y, spin_2z = bilby_to_lalsimulation_spins(
-        theta_jn=theta_jn, phi_jl=phi_jl, tilt_1=tilt_1, tilt_2=tilt_2,
-        phi_12=phi_12, a_1=a_1, a_2=a_2, mass_1=mass_1, mass_2=mass_2,
-        reference_frequency=reference_frequency, phase=phase)
-
-    lalsim.SimInspiralWaveformParamsInsertPNSpinOrder(
-        waveform_dictionary, int(pn_spin_order))
-    lalsim.SimInspiralWaveformParamsInsertPNTidalOrder(
-        waveform_dictionary, int(pn_tidal_order))
-    lalsim.SimInspiralWaveformParamsInsertPNPhaseOrder(
-        waveform_dictionary, int(pn_phase_order))
-    lalsim.SimInspiralWaveformParamsInsertPNAmplitudeOrder(
-        waveform_dictionary, int(pn_amplitude_order))
-    lalsim_SimInspiralWaveformParamsInsertTidalLambda1(
-        waveform_dictionary, lambda_1)
-    lalsim_SimInspiralWaveformParamsInsertTidalLambda2(
-        waveform_dictionary, lambda_2)
-
-    for key, value in waveform_kwargs.items():
-        func = getattr(lalsim, "SimInspiralWaveformParamsInsert" + key, None)
-        if func is not None:
-            func(waveform_dictionary, value)
-
-    if waveform_kwargs.get('numerical_relativity_file', None) is not None:
-        lalsim.SimInspiralWaveformParamsInsertNumRelData(
-            waveform_dictionary, waveform_kwargs['numerical_relativity_file'])
-
-    if ('mode_array' in waveform_kwargs) and waveform_kwargs['mode_array'] is not None:
-        mode_array = waveform_kwargs['mode_array']
-        mode_array_lal = lalsim.SimInspiralCreateModeArray()
-        for mode in mode_array:
-            lalsim.SimInspiralModeArrayActivateMode(mode_array_lal, mode[0], mode[1])
-        lalsim.SimInspiralWaveformParamsInsertModeArray(waveform_dictionary, mode_array_lal)
-
-    try:
-        h_binned_plus, h_binned_cross = lalsim_SimInspiralChooseFDWaveformSequence(
-            phase, mass_1, mass_2, spin_1x, spin_1y, spin_1z, spin_2x, spin_2y,
-            spin_2z, reference_frequency, luminosity_distance, iota,
-            waveform_dictionary, approximant, frequency_bin_edges)
-    except Exception as e:
-        if not catch_waveform_errors:
-            raise
-        else:
-            EDOM = (e.args[0] == 'Internal function call failed: Input domain error')
-            if EDOM:
-                failed_parameters = dict(mass_1=mass_1, mass_2=mass_2,
-                                         spin_1=(spin_1x, spin_2y, spin_1z),
-                                         spin_2=(spin_2x, spin_2y, spin_2z),
-                                         luminosity_distance=luminosity_distance,
-                                         iota=iota, phase=phase,
-                                         )
-                logger.warning("Evaluating the waveform failed with error: {}\n".format(e) +
-                               "The parameters were {}\n".format(failed_parameters) +
-                               "Likelihood will be set to -inf.")
-                return None
-            else:
-                raise
-
-    waveform_polarizations = dict(
-        plus=h_binned_plus.data.data, cross=h_binned_cross.data.data)
-
-    return waveform_polarizations
-
-
 def sinegaussian(frequency_array, hrss, Q, frequency, **kwargs):
     r"""
     A frequency-domain sine-Gaussian burst source model.
-- 
GitLab