PEMcheck task

This task seeks to answer the question: at what times and frequencies is there evidence for environmental noise contaminating the GW signal.

The task reports the environmental channel which shows the highest likelihood of coupling measured by the \(c\)-statistic and the most likely coupling time and frequency. On the DQR html report, the \(c\)-statistic is given as the \(p\)-value. The two statistics are similar, but differ in their particulars.

Should the \(c\)-statistic be less than \(0.2\) for one or more channels, we recommend that the event be flagged for additional followup by the PEM team. However, we do not recommend a low \(c\)-statistic to be the only reason for a retraction.

Requirements

This task requires the following packages that may not be included in the requirements list for dqrtasks:

  • gwpy

  • gwdetchar

  • pycbc

  • pytables (tables when installed with PyPi)

Description

Prior to O4, we will study the coupling between the LIGO detectors ad the environment through a noise injection campaign. A description of a typical injection campaign is found here. A map and description of the various physical and environment monitors (PEM) is found at the PEM website. The result is a coupling function between each PEM sensor and DARM,

\(CF(f)=\sqrt{\frac{Y^2_{inj}(f)-Y^2_{bkgd}(f)}{X^2_{inj}(f)-X^2_{bkgd}(f)}}\)

with \(X(f)\) the ASD of the PEM sensor and \(Y(f)\) the ASD of DARM. The ASDs compared are from the times injections were made in the PEM sensors as well as quiet, representative background times in both DARM and the sensor. In cases where the injection was not seen by DARM, we establish an upper limit for the coupling instead

\(CF(f)=\frac{Y^2_{bkgd}(f)}{\sqrt{X^2_{inj}(f)-X^2_{bkgd}(f)}}.\)

An example coupling function can be found here. Using the coupling function and the data during a potential GW event, we can independently estimate each PEM channel’s contribution to the GW data via

\(Y_{\mathrm{from~noise}}(f)=\frac{CF(f)\times X(f)}{4000~\mathrm{m}}.\)

In cases where \(Y_{\mathrm{from~noise}}(f)\) exceeds the actual ASD observed in the GW channel at a give frequency \(\tilde{f}\), we reduce the coupling function at that point such that the predicted \(Y_{\mathrm{from~noise}}(f)\) equals \(Y(f)\) from the GW data. An visual representation of this tuning process is found here.

For each PEM channel and the GW strain channel, we compute the spectrogram near the GW event. From the PEM-strain projection, we also compute the spectrogram of the expected noise (the “projected spectrogram”) in the strain channel due to noise from the equation above.

For each time-frequency tile in the projected spectrogram with PEM-projected strain \(\mu\), we identify the strain \(h\) in the corresponding time-frequency tile of the strain spectrogram. We then compute the probability of observing of observing \(h\) given \(\mu\). We call this the \(c\)-statistic, or contamination statistic. It corresponds to the probability that there is not excess noise in the GW channel from any disturbances witnessed by the PEM sensors.

For event validation, we discard all \(c\)-statistics which were calculated in tiles that are far away from the predicted inspiral track or time-frequency window in the case of a burst-only detection. For each channel, we report the minimum \(c\)-statistic as well as the time and frequency of that tile. We also report

\(P(\mathrm{noise in h(t)})=1-c_{\mathrm{min}}.\)

For electronics bay magnetometers, environmental signals are often coherent between nearby magnetometers. In this case, we average the \(c\)-statistic over the number of electronics bay magnetometers to act as a trials factor for what amounts to performing a handful of nearly-identical tests for the likelihood of environmental signals contaminating DARM. Here is an example of two magnetometers during GW190725 whose results are downweighted by the trials factor: the SEI rack magnetometer at EX at LHO has a \(c\)-statistic of \(0.12\) (for \(P(\mathrm{noise in h(t)})\) of \(0.88\)) with contamination of \(h(t)\) most likely at \(675.3\) Hz at the merger time. The plot of \(P\) is shown here. However, there is less of a chance of coupling according to the other magnetometer, whose plot is here. This results in a total probability of contamination that is below the threshold for reporting, as shown in the downweighted plot here. The red curve in these images is centered on the GW waveform identified in low-latency.

We give each channel’s \(P(\mathrm{noise in h(t)})\) in the html report produced by PEMcheck. For the event we take the maximum \(P(\mathrm{noise in h(t)})\). The channel that produced this highest probability is listed first in the html report. In the case of GW190725 at LHO, this was a PSL accelerometer. The coupling plot is shown here. and the coupling function tuning report is shown here. Note the slight tuning present at around \(50\) and \(500\) Hz. If most points in the coupling function require tuning, this is a sign that something about the interferometer has changed since the engineering run and you should contact the PEM team. The full PEMcheck report for this event can be found here. This event does not quite meet the requirements for contacting the PEM team. Should the \(c\)-statistic be less than \(0.2\) (i.e. the coupling probability exceeds 20%) for one or more channels, please contact the PEM team at adrian.helmling-cornell@ligo.org.

See slides at https://dcc.ligo.org/G2200943 for more description. Be on the lookout for a paper soon…

Example command-line

This is the help message:

$ dqr-pemcheck --help
usage: dqr-pemcheck [-h] [--tag TAG] [--graceid GRACEID] [--gps GPS] [-v] [-V]
                    [-o OUTPUT_DIR] [--cf-source CF_SOURCE]
                    [--num-segments-bkg NUM_SEGMENTS_BKG]
                    [--tsearch TSEARCH TSEARCH] [--fsearch FSEARCH FSEARCH]
                    [--qrange QRANGE QRANGE] [--frange FRANGE FRANGE]
                    [--strain-channel STRAIN_CHANNEL] [--mass1 MASS1]
                    [--mass2 MASS2] [--spin1z SPIN1Z] [--spin2z SPIN2Z]
                    [--duration DURATION] [--bandwidth BANDWIDTH]
                    [--central-freq CENTRAL_FREQ] [--event-type EVENT_TYPE]
                    ifo

positional arguments:
  ifo

optional arguments:
  -h, --help            show this help message and exit
  --tag TAG
  --graceid GRACEID
  --gps GPS
  -v, --verbose
  -V, --version         show program's version number and exit
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Directory for all output
  --cf-source CF_SOURCE
  --num-segments-bkg NUM_SEGMENTS_BKG
  --tsearch TSEARCH TSEARCH
  --fsearch FSEARCH FSEARCH
  --qrange QRANGE QRANGE
  --frange FRANGE FRANGE
  --strain-channel STRAIN_CHANNEL
  --mass1 MASS1
  --mass2 MASS2
  --spin1z SPIN1Z
  --spin2z SPIN2Z
  --duration DURATION
  --bandwidth BANDWIDTH
  --central-freq CENTRAL_FREQ
  --event-type EVENT_TYPE

Example config

[h1]
iterator = 1
ifo = H1
cf_source = /home/philippe.nguyen/public_html/projects/dqrtasks/ex_configs/task_configs/H1-pemcheck-coupling-functions.h5

[l1]
iterator = 1
ifo = L1
cf_source = /home/philippe.nguyen/public_html/projects/dqrtasks/ex_configs/task_configs/L1-pemcheck-coupling-functions.h5

[pemcheck]
iterate = h1 l1
description = uses PEM coupling functions to predict strain noise
librarian = philippe.nguyen@ligo.org
include_in_dag = True
out = pemcheck_dir
tier = 1
question = Are known sources of noise without auxiliary witnesses active?
executable = dqr-pemcheck
request_memory = 400MB
arguments ="${ifo} -v --graceid ${graceid} --gps ${t_0} --output-dir ${outdir} --cf-source ${cf_source}"

Example results page