Lock check task

The Lock Check task is designed to verify if interferometers are marked as observing when an event is reported. This task takes the list of interferometers claimed to have detected an event and compares that to each interferometer’s observing status to flag potential conflicts.

Requirements

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

  • gwpy

Description

When an analysis generates an alert for a potential event, Lock Check will take the interferometers listed as detecting the event and report if the interferometers are marked as “observing” at that time. This is done by comparing the time and duration of the event to the observing state vector for each interferometer (by default GDS-CALIB_STATE_VECTOR).

Since this is a True or False comparison, the p-value reported by Lock Check is either 0 or 1 depending on four possible cases:

  • The interferometer is observing and the alert lists the interferometer as detecting the event: p-value = 1

  • The interferometer is observing and the alert does not list the interferometer as detecting the event: p-value = 1

  • The interferometer is not observing and the alert does not list the interferometer as detecting the event: p-value = 1

  • The interferometer is not observing and the alert lists the interferometer as detecting the event: p-value = 0

The last case is where potential conflicts could arise and gets flagged with a p-value of 0.

Example command-line

This is the help message:

$ dqr-lockcheck --help
usage: lock-check [-h] [-v] [-V] [-o OUTPUT_DIR] --ifo IFO --ifo-list IFO_LIST
                  --event-time EVENT_TIME --duration DURATION
                  [--state-vector STATE_VECTOR] [--frame-type FRAME_TYPE]
                  [--bits BITS [BITS ...]]

lockcheck is used to determine the observing status of an interferometer
during an event --- Inputs: ifo_selected = the interferometer that's being
analyzed ifo_list = the list of detectors that saw the event event_time = GPS
time of event analyzed duration = duration of the event outdir = the output
directory where the results will be saved state_vector = the channel that lock
check will pull the observing status of the detector (default ='GDS-
CALIB_STATE_VECTOR') frame_type = name of frametype in which this channel is
stored (default = None) Output: The script will create plots of when the event
occurred and when the selected interferometer was observing. The script will
also print if the interferometer detected the event. In particular, a warning
will be thrown if an event was claimed while the interferometer was not
observing. In this case a p-value of 0 will be given. All other cases will
return a p-value of 1 (valid cases for analysis). All of this information will
be posted in a generated webpage.

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         increase verbose output
  -V, --version         show program's version number and exit
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Directory for all output
  --ifo IFO             Interferometer being analyzed
  --ifo-list IFO_LIST   List of interferometers that an event is claimed
  --event-time EVENT_TIME
                        GPS time of event
  --duration DURATION   the duration of the event
  --state-vector STATE_VECTOR
                        channel used for observing data
  --frame-type FRAME_TYPE
  --bits BITS [BITS ...]

Example config

[lockcheck]
description =  lock check
librarian = detchar@ligo.org
include_in_dag = True
tier = 1
question = Are known sources of noise without auxiliary witnesses active?
# use the iterator construct to run on each ifo
iterate = l1
executable = dqr-lockcheck
request_memory = 400MB
arguments = "-o ${outdir} --ifo ${ifo} --ifo-list ${ifos} --event-time ${t_0} --duration 10 --state-vector ${state_vector} --frame-type ${frame_type}"

Example results page

Work in progress