Injecting a signal

If you intend to inject signals into the data, follow these steps:

[IFOS]
detectors = ['CE20', 'CE40', 'ET']
channel-dict = {'CE20':'CE20:INJ', 'CE40':'CE40:INJ', 'ET':'ET:INJ'}
sampling-frequency = 8192

[Injections]
injection-file = bbh.h5
injection-type = bbh
waveform-approximant = IMRPhenomXO4a
fft-scheme = numpy
waveform-minimum-frequency = 3

Similar to the Noise, begin by defining the detector network. However, this time, provide the channel name of the Frame files and include the sampling-frequency (matching the detector data’s sampling frequency) along with a waveform-minimum-frequency for the signals.

You must specify the path to injection-file, injection-type and waveform-approximant as extras.

You can execute it as follows:

gwforge_inject --config-file injections.ini --data-directory data --gps-start-time 1893024018 --gps-end-time 1893187858

Note

The waveform-approximant must be implemented in lalsimulation. The easiest way to check the waveform availability is to execute:

from pycbc.waveform import td_approximants
print(td_approximants())

Warning

By default, GWForge uses Bilby’s inject_signal to add the signal in the data coherently. Alternatively, you can just specify injection-method = pycbc in [Injections] to use the PyCBC style of injecting signal. I have incorporated this from pycbc.inject.

Again, like before you can choose fft-scheme to be either numpy, mkl or cuda

Available injection-type (for the moment) are bbh, bns, nsbh, imbhb, imbbh, pbh.