Exemple #1
0
def truncate_samples(df, params):
    if "mass_1" not in df:
        df["total_mass"] = conversion.chirp_mass_and_mass_ratio_to_total_mass(
            df["chirp_mass"], df["mass_ratio"]
        )
        (
            df["mass_1"],
            df["mass_2"],
        ) = conversion.total_mass_and_mass_ratio_to_component_masses(
            df["mass_ratio"], df["total_mass"]
        )
    if "reference_frequency" not in df:
        df["reference_frequency"] = 20

    if "H1_optimal_snr" in df:
        matched_filter_snr = np.sqrt(((np.abs(df["H1_matched_filter_snr"])**2) + (np.abs(df["L1_matched_filter_snr"])**2)))
        optimal_snr = np.sqrt(((np.abs(df["H1_optimal_snr"])**2) + (np.abs(df["L1_optimal_snr"])**2)))
        df['matched_filter_snr'] = matched_filter_snr
        df['snr'] = optimal_snr
    else:
        df['snr'] = df['network_snr']

    df = conversion.generate_spin_parameters(df)
    df = conversion.generate_mass_parameters(df)
    df = add_cos_theta_12_from_component_spins(df)
    if isinstance(df, pd.DataFrame):
        df = df[params]
    else:
        df = {p: df[p] for p in params}
    return df
Exemple #2
0
def convert_df_to_gwosc_df(df: pd.DataFrame) -> pd.DataFrame:
    converted_df = df.copy()
    # rename
    converted_df['GPS'] = converted_df['tc']
    converted_df['chirp_mass'] = converted_df['mchirp']
    converted_df['symmetric_mass_ratio'] = converted_df['eta']
    converted_df['luminosity_distance'] = converted_df['DL']
    converted_df['ra'] = converted_df['RA']
    converted_df['dec'] = converted_df['DEC']
    # re-parameterisation
    converted_df['mass_ratio']= \
        symmetric_mass_ratio_to_mass_ratio(converted_df['symmetric_mass_ratio'])

    converted_df['total_mass'] = \
        chirp_mass_and_mass_ratio_to_total_mass(
            converted_df['chirp_mass'],
            converted_df['mass_ratio']
        )
    converted_df['mass_1'], converted_df['mass_2'] = \
        total_mass_and_mass_ratio_to_component_masses(
            converted_df['mass_ratio'],
            converted_df['total_mass']
        )
    converted_df['chi_eff'] = (converted_df['s1z'] +
                               converted_df['s2z'] *
                               converted_df['mass_ratio']) / \
                              (1 + converted_df['mass_ratio'])

    return converted_df
Exemple #3
0
def get_component_mass_from_mchirp_q(mchirp, q):
    mtot = chirp_mass_and_mass_ratio_to_total_mass(chirp_mass=mchirp,
                                                   mass_ratio=q)
    m1, m2 = total_mass_and_mass_ratio_to_component_masses(mass_ratio=q,
                                                           total_mass=mtot)
    return m1, m2
Exemple #4
0
 def test_chirp_mass_and_mass_ratio_to_total_mass(self):
     total_mass = conversion.chirp_mass_and_mass_ratio_to_total_mass(self.chirp_mass, self.mass_ratio)
     self.assertAlmostEqual(self.total_mass, total_mass)