def mismatch(vary_args, *fixed_args): # variable params f0, tau = vary_args #if (abs(f0 - waveform.fpeak)<100) and (1e-3 < tau < 5e-2): if (1500<f0<4000) and (1e-3 < tau < 5e-2): # fixed params distance, ra, dec, polarization, inclination = fixed_args # setup structures int_params = DampedChirpParams(f0=f0, tau=tau) ext_params = simsig.ExtParams( distance=distance, ra=ra, dec=dec, polarization=polarization, inclination=inclination, phase=0.0, geocent_peak_time=0.25) tmplt_td = damped_chirp_tmplt(det1_data, int_params, ext_params) try: match = pycbc.filter.match(tmplt_td,det1_data.td_signal,det1_data.psd, low_frequency_cutoff=1000, high_frequency_cutoff=5000)[0] except ZeroDivisionError: match = 0 return 1-match else: return 1
# # Generate Signal Data # # Signal print '' print '--- %s ---' % sys.argv[1] waveform = pmns_utils.Waveform('%s' % sys.argv[1]) waveform.compute_characteristics() # Extrinsic parameters ext_params = simsig.ExtParams(20.0, ra=0.0, dec=0.0, polarization=0.0, inclination=0.0, phase=0.0, geocent_peak_time=0.25) # Frequency range for SNR around f2 peak - we'll go between 1, 5 kHz for the # actual match calculations, though flow = waveform.fpeak - 150 fupp = waveform.fpeak + 150 # Construct the time series for these params waveform.make_wf_timeseries(theta=ext_params.inclination, phi=ext_params.phase) # # Generate IFO data #
'radians', cp.get('analysis', 'ifo1')) if cp.getboolean('injections', 'inj-overhead'): # set the injection distance to that which yields an effective distance # equal to the targeted fixed-dist inj_distance = det1_qval*distance else: inj_distance = np.copy(distance) # --- End injection params # ----------------------------------------------- # --- Project waveform onto these extrinsic params # Extrinsic parameters ext_params = simsig.ExtParams(distance=inj_distance, ra=inj_ra, dec=inj_dec, polarization=inj_pol, inclination=inj_inc, phase=inj_phase, geocent_peak_time=trigtime) # Construct the time series for these params waveform.reproject_waveform(theta=ext_params.inclination, phi=ext_params.phase) # ----------------- # # Generate IFO data # ts=time.time() print >> sys.stdout, "generating detector responses & noise..." det1_data = simsig.DetData(det_site=cp.get('analysis','ifo1'),