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.