gw.transforms.detector_transforms.SampleCalibrationParameters

gw.transforms.detector_transforms.SampleCalibrationParameters(
    ifo_list,
    data_domain,
    calibration_envelope,
    num_calibration_curves,
    num_calibration_nodes,
    correction_type='data',
)

Expand out a waveform using several detector calibration draws. These multiple draws are intended to be used for marginalizing over calibration uncertainty.

The calibration parameters are not known precisely, rather they are assumed to be normally distributed, with mean 0 and standard deviation determined by the “calibration envelope”, which varies from event to event.

Therefore, for each detector waveform, this transform draws a collection of \(N\) calibration curves \(\{(\delta A^n(f), \delta \phi^n(f))\}_{n=1}^N\) according to a calibration envelope, and applies them to generate \(N\) observed waveforms \(\{h^n_{ obs}(f)\}\). This is intended to be used for marginalizing over the calibration uncertainty when evaluating the likelihood for importance sampling.

This transform should be followed by ApplyCalibrationToWaveform to apply the sampled calibration curves to the waveform.

Parameters

Name Type Description Default
ifo_list InterferometerList List of Interferometers present in the analysis. required
data_domain Domain Domain on which data is defined. required
calibration_envelope dict Dictionary of the form {"H1": filepath, "L1": filepath}, where the filepaths are strings pointing to “.txt” files containing calibration envelopes. required
num_calibration_curves int Number of calibration curves to sample. required
num_calibration_nodes int Number of log-spaced frequency nodes for the spline. required
correction_type str = "data" Whether envelopes are over eta (“data”) or alpha (“template”). 'data'

Attributes

Name Description
calibration_envelope
calibration_prior
data_domain
ifo_list
num_calibration_curves