Python Library

The DQR supports a small Python library containing utility functions needed to manage follow-up. The library is divided into several small modules, each with a very focused purpose. We describe each in turn below.

condor

The DQR submits follow-up tasks to Condor for completion, and therefore must be able to schedule Condor jobs. This is done via a DAG and SUB files tailored for each candidate. Routines for constructing these files are contained herein.

A module containing routines for writing Condor DAGs

dqr.condor.copyconfig(resource_path, output_directory)

copies a resource_path into a place that’s discoverable to the executables returns the path of the copied file

dqr.condor.dag(graceid, output_dir, tiers2subs_tuples, recipients_dict, retry=3, alert_sub=None, annotate_sub=None)

write the dag file assumes tiers2subs_tuples is already sorted in order of increasing tier

dqr.condor.gen_jobid(size=9)

generate random alpha-numeric strings for job ids

dqr.condor.sub(task)

a routing function for writing sub files NOTE:

tasks must be explicitly listed in this function otherwise the will not be run if a task is not known (explicitly listed), we raise a ValueError

return callable function with standard signature: foo(graceid, gps, output_dir, output_url, **kwargs)

dqr.condor.sub_G1_gravityspy(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_G1_llhoft_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_G1_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_G1_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_G1_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr specifically targetting K1 return path/to/file.sub

dqr.condor.sub_H1_checkvector(graceid, gps, start, end, output_dir, output_url, delay=0.0, activity_threshold=0.0, invert=False, frame_type='L1_HOFT_C00', channel='L1:DMT-DQ_VECTOR', gracedb_url='https://gracedb.ligo.org/api/', active_value=None, window=None, verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for checkvector-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_deep_omegascan(graceid, gps, start, end, output_dir, output_url, configpath=None, exe='/home/omega/opt/omega/bin/wpipeline', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_deep_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, gwdetchar=True, configpath=None, exe='gwdetchar-omega', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_envcoupling(graceid, gps, start, end, output_dir, output_url, exe='/home/detchar/opt/summary-2.7/bin/gwpy-plot', delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', colormap='Spectral_r', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for envcoupling-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_gatingcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gatingcheck-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_gravityspy(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_idq_offline(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_H1_idq_offline_kw(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_H1_idq_online(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_H1_idq_online_kw(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_H1_ligocam(graceid, gps, start, end, output_dir, output_url, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for ligocam-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_llhoft_omegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_llhoft_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_pemcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for pemcheck-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_pointy_poisson(*args, **kwargs)

basic routing function that overwrites some kwargs with defaults for LLO

dqr.condor.sub_H1_standard_longomegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_standard_longomegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_standard_omegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_standard_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_H1_vetodef(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for vetodef-dqr specifically targetting H1 return path/to/file.sub

dqr.condor.sub_K1_gravityspy(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_K1_llhoft_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_K1_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_K1_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_K1_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr specifically targetting K1 return path/to/file.sub

dqr.condor.sub_L1_checkvector(graceid, gps, start, end, output_dir, output_url, delay=0.0, activity_threshold=0.0, invert=False, frame_type='L1_HOFT_C00', channel='L1:DMT-DQ_VECTOR', gracedb_url='https://gracedb.ligo.org/api/', active_value=None, window=None, verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for checkvector-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_deep_omegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_deep_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_envcoupling(graceid, gps, start, end, output_dir, output_url, exe='/home/detchar/opt/summary-2.7/bin/gwpy-plot', delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', colormap='Spectral_r', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for envcoupling-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_gatingcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gatingcheck-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_gravityspy(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_idq_offline(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_L1_idq_offline_kw(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_L1_idq_online(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_L1_idq_online_kw(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, nicknames=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr specifically for H1 return path/to/file.sub

dqr.condor.sub_L1_ligocam(graceid, gps, start, end, output_dir, output_url, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for ligocam-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_llhoft_omegascan(graceid, gps, start, end, output_dir, output_url, configpath=None, exe='/home/omega/opt/omega/bin/wpipeline', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_llhoft_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, gwdetchar=True, configpath=None, exe='gwdetchar-omega', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_pemcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for pemcheck-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_pointy_poisson(*args, **kwargs)

basic routing function that overwrites some kwargs with defaults for LHO

dqr.condor.sub_L1_standard_longomegascan(graceid, gps, start, end, output_dir, output_url, configpath=None, exe='/home/omega/opt/omega/bin/wpipeline', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_standard_longomegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, gwdetchar=True, configpath=None, exe='gwdetchar-omega', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_standard_omegascan(graceid, gps, start, end, output_dir, output_url, configpath=None, exe='/home/omega/opt/omega/bin/wpipeline', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_standard_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, gwdetchar=True, configpath=None, exe='gwdetchar-omega', gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_L1_vetodef(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for vetodef-dqr specifically targetting L1 return path/to/file.sub

dqr.condor.sub_V1_checkvector(graceid, gps, start, end, output_dir, output_url, delay=0.0, activity_threshold=0.0, invert=False, frame_type='L1_HOFT_C00', channel='L1:DMT-DQ_VECTOR', gracedb_url='https://gracedb.ligo.org/api/', active_value=None, window=None, verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for checkvector-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_gravityspy(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_llhoft_omegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_llhoft_omegascan_gwdetchar(graceid, gps, start, end, output_dir, output_url, ifo=None, exe='gwdetchar-omega', gwdetchar=True, configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_V1_vetodef(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for vetodef-dqr specifically targetting V1 return path/to/file.sub

dqr.condor.sub_alert(graceid, output_dir, gracedb_url='https://gracedb.ligo.org/api/', condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

a sub file for alerting analysts that jobs for a given tier are done return path/to/file.sub

dqr.condor.sub_annotate(graceid, output_dir, gracedb_url='https://gracedb.ligo.org/api/', condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

a sub file for alerting analysts that jobs for a given tier are done return path/to/file.sub

dqr.condor.sub_checkvector(graceid, gps, start, end, output_dir, output_url, tag='', delay=0.0, activity_threshold=0.0, invert=False, frame_type='L1_HOFT_C00', channel='L1:DMT-DQ_VECTOR', gracedb_url='https://gracedb.ligo.org/api/', active_value=None, window=None, verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for checkvector-dqr return path/to/file.sub

dqr.condor.sub_envcoupling(graceid, gps, start, end, output_dir, output_url, tag='', exe='/home/detchar/opt/summary-2.7/bin/gwpy-plot', delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', colormap='Spectral_r', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for envcoupling-dqr return path/to/file.sub

dqr.condor.sub_example(graceid, gps, start, end, output_dir, output_url, num_samples=10, num_trials=3, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for example-dqr return path/to/file.sub

dqr.condor.sub_gatingcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gatingcheck-dqr return path/to/file.sub

dqr.condor.sub_gravityspy(graceid, gps, start, end, output_dir, output_url, path_to_cnn_model=None, channel=None, frame_type=None, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for gravityspy-dqr return path/to/file.sub

dqr.condor.sub_hveto(graceid, gps, start, end, outdir, outurl, ifo=None, gracedb_url='https://gracedb.ligo.org/api/', condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'], **kwargs)

Generate a submit file for hveto-dqr

dqr.condor.sub_idq_offline(graceid, gps, start, end, output_dir, output_url, delay=0.0, lookback=86400, config=None, instrument='', tag='', gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-offline-dqr return path/to/file.sub

dqr.condor.sub_idq_online(graceid, gps, start, end, output_dir, output_url, config=None, nicknames=None, delay=0.0, lookback=86400, instrument='', tag='', gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for idq-dqr return path/to/file.sub

dqr.condor.sub_ligocam(graceid, gps, start, end, output_dir, output_url, observatory=None, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for ligocam-dqr return path/to/file.sub

dqr.condor.sub_lock_check_dqr(graceid, gps, start, end, output_dir, output_url, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'], **kwargs)

write subfile for lock_check_dqr which checks if we’re close to a lock loss return path/to/file.sub

dqr.condor.sub_lockcheck(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for lockcheck-dqr return path/to/file.sub

dqr.condor.sub_longomegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', ifo=None, gwdetchar=False, tag='', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr return path/to/file.sub

dqr.condor.sub_omegascan(graceid, gps, start, end, output_dir, output_url, exe='/home/omega/opt/omega/bin/wpipeline', ifo=None, gwdetchar=False, tag='', configpath=None, gracedb_url='https://gracedb.ligo.org/api/', delay=0.0, colormap='parula', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegascan-dqr return path/to/file.sub

dqr.condor.sub_omegatrack(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for omegatrack-dqr return path/to/file.sub

dqr.condor.sub_pemcheck(graceid, gps, start, end, output_dir, output_url, path_to_coupling_functions=None, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for pemcheck-dqr return path/to/file.sub

dqr.condor.sub_pointy_poisson(graceid, gps, start, end, output_dir, output_url, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'], frametype=None, target_channel=None, delay=300, chanlist_path=None, unsafe_chanlist_path=None, unsafe_channels_path=None, coinc_window=1.0, rate_estimation_left_window=1000.0, rate_estimation_right_window=1.0, max_eff_fap_danger=inf, max_eff_fap_warning=5.0, minfap_danger=0.0, minfap_warning=0.001, tag='', thresholds=None)

pointy poisson sub writing function

dqr.condor.sub_shiftreport(graceid, gps, start, end, outdir, outurl, ifo=None, gracedb_url='https://gracedb.ligo.org/api/', condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'], **kwargs)

Generate a submit file for shiftreport-dqr

dqr.condor.sub_stationarity(graceid, gps, start, end, output_dir, output_url, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for stationarity-dqr return path/to/file.sub

dqr.condor.sub_vetodef(graceid, gps, start, end, output_dir, output_url, path_to_veto_definer=None, delay=0.0, gracedb_url='https://gracedb.ligo.org/api/', verbose=False, tag='', email_upon_error=None, condor_classads=['universe', 'vanilla', 'getenv', 'True', 'notification', 'Never'])

write subfile for vetodef-dqr return path/to/file.sub

create

The DQR uses this module to construct the JSON configuration file and DAG depending on the user specification. Annotations to GraceDb uploading dqr.html, dqr.js, and dqr.json are made here and the DAG is submitted from within this module. This will usually be triggered in response to lvalert messages.

A library module for the dqr-create executable

exception dqr.create.EventTypeError

an exception indicating that the event type is not the desired value

exception dqr.create.ExistingWorkflowError

an exception indicating that there is an existing workflow already

exception dqr.create.FARError

an exception indicating that the FAR was not within the acceptable range

dqr.create.create(graceid, gps, far, configpath, labels=['ADVREQ', 'ADVOK', 'ADVNO', 'EM_COINC'], max_FAR=inf, event_types=None, logbook_labels=['ADVREQ', 'ADVOK', 'ADVNO', 'EM_COINC'], logbook_max_FAR=inf, logbook_event_types=None, do_not_post=False, verbose=False, required_questions=['Did the candidate occur at a suspicious GPS time?', 'Is there a high probability that a glitch was present based on statistical inference of auxiliary information?', 'Are known sources of noise with auxiliary witnesses active?', 'Are known sources of noise without auxiliary witnesses active?', 'Are environmental monitors active?', 'Was the detector in a nominal state?'], do_not_submit=False, do_not_upload=False, do_not_alert=False, do_not_annotate=False, suppress_notification=False, retry=3, sleep=0.0, force=False)

schedule follow-up for this event

gracedb

The DQR provides a simple function that unifies the instantiation of GraceDB REST API classes and FakeDb classes. By delegating to dqr.gracedb.init(), the choice of which is appropriate is abstracted away from the client and relies only on the url (either a server name or a local path).

A library module for the communication with GraceDb and FakeDb

class dqr.gracedb.GraceDbWrapper(*args, **kwargs)

a wrapper around GraceDb that will retry writeLog a few times if errors are received

writeLog(*args, **kwargs)

a wrapper around the default GraceDb.writeLog that will retry a few times if it sees HTTPErrors

dqr.gracedb.graceid2start_end(graceid, gracedb_url='https://gracedb.ligo.org/api/')

figures out appropirate start, end times for analysis based on data stored in GraceDb

dqr.gracedb.init(service_url='https://gracedb.ligo.org/api/', **kwargs)

Initialise a new link to the GraceDb server hosted at url

urlstr

the URL of the server

clientligo.gracedb.rest.Gracedb

the link

interact

This module formats interaction requests and uploads them to GraceDb. It primarily supports dqr-interact.

Module to support dqr-interact

dqr.interact.get_label_questions(state, retract_if_fail=False)

generate a list of questions for the user about automatic labeling this is a bit of hard coding, but it’s probably ok

dqr.interact.get_questions(json_path, report_string, graceid, gracedb_url='https://gracedb.ligo.org/api/')

generate a list of questions for the user this is a bit of hard coding, but we contain everything in one place so it should be ok

dqr.interact.interact(command, graceid, person_name, comment, taskname=None, gracedb_url='https://gracedb.ligo.org/api/', retract_if_fail=False, verbose=False, skip_sanity_check=False, cleanup=True)

delegation for interaction with dqr via submission of JSON packets to GraceDb

dqr.interact.verify(question)

pose a question through the command line and interpret the user’s response. will sit in a loop until we receive a response we understand. responses equivalent to “yes” will be returned as True; responses equivalent to “no” will be returned as False

json

The DQR relies heavily on standardized JSON file formats (see Technical Design). As such, dqr.json provides convenient functions that respect the file format requirements.

Standardization of the json format for reporting results to GraceDb

dqr.json.config(graceid, tiers, questions, tasks, process_name, process_version, librarian, date=None, username='unknown', hostname='runner-qmqxbz1x-project-1511-concurrent-3', loglink=None)

generate a config.json file

dqr.json.format_comment(comment, person_name, process_name, process_version, librarian, date=None, username='unknown', hostname='runner-qmqxbz1x-project-1511-concurrent-3')

generate a comment JSON object

dqr.json.format_failure(process_name, process_version, librarian, traceback_string)

standardizes how failure reports are formatted

dqr.json.format_figure(url, alttext, width=500, height=None)

format the JSON object representing how we want a figure displayed

format the JSON object representing how we want a table to be displayed

dqr.json.format_override(state, person_name, process_name, process_version, librarian, date=None, username='unknown', hostname='runner-qmqxbz1x-project-1511-concurrent-3')

format an override JSON object

dqr.json.format_report(state, process_name, process_version, librarian, date=None, username='unknown', hostname='runner-qmqxbz1x-project-1511-concurrent-3', summary='', figures=[], tables=[], links=[], extra=[])

standardized reporting format for JSON reports

dqr.json.state_logic(new_state, old_state=None, check=True)

encapsulates the state logic used within the javascript library. This is used when specifying states within tables; if a cell has more than one state specified, the reported state follows this logic.

logging

This module standardizes how local logging is performed and formatted.

Standardization of logging

dqr.logging.genFormatter()

standarizes formatting for loggers returns an instance of logging.Formatter

dqr.logging.getLogger(nickname='process', graceid=None, log_dir='.', tag='', verbose=False)

standardize how we instantiate loggers

utils

This module supports some common utilities that may be useful for many tasks. In addition to dqr.utils.utils, this is also where separate tasks should implement their supporting libraries (e.g., dqr.utils.omegascan).

Along with Python source code, all configuration files for individual tasks should live in dqr.utils as package_data and will be installed alongside the source code. In this way, logic within dqr.condor can automatically discover configurations for each scheduled task and build the DAG appropriately.

Below, we only spell out the utilities implemented within dqr.utils.utils, leaving the specifications of each task for elsewhere.

utils.utils

A library module for common tasks encountered by several executables

dqr.utils.utils.gw_data_find(frame_type, gps_start, duration, delay=0.0, lalcache_path=None, check_gaps=True, logger=None)

delegate to gw_data_find to discover frames

dqr.utils.utils.nonoverlapping_lcf(lalcache_path)

filter lalcache so it does not contain overlapping frames

dqr.utils.utils.nonoverlapping_stdout(stdout)

filter “stdout” so that it does not return overlapping frames

dqr.utils.utils.wait(gps_end, logger=None)

wait until the current time is past “stop”