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
.