LIGOLwMon

A monitor for displaying trigger information contained in LIGO lightweight XML documents

Author: Duncan Brown <dbrown@ligo.caltech.edu>


Monitor Description

LIGOLwMon is a DMT monitor which reads trigger data from LIGO lightweight XML documents and displays the data as time series which can be viewed from the DMT Viewer. After given interval (default 300 seconds), the monitor scans a specified directory for new XML files and updates the time series using data from these files.

The input XML data should contain the time interval(s) analyzed to generate the input data and zero or more triggers which are characterized by time, amplitude, confidence and frequency. The monitor generates 11 output time series of length 12 hours with a user defined time step (default 60 seconds). These are served to the DMT viewer and contain:

Name of channelDescription of time series data
Analyzed_DataZero if time not analyzed, unity if time analyzed.
Number_of_TriggersNumber of triggers in each time step of series.
Amplitude_MeanMean trigger amplitude in each time step of series.
Amplitude_MaxMaximum trigger amplitude in each time step of series.
Amplitude_MinMinimum trigger amplitude in each time step of series.
Confidence_MeanMean trigger amplitude in each time step of series.
Confidence_MaxMaximum trigger amplitude in each time step of series.
Confidence_MinMinimum trigger amplitude in each time step of series.
Frequency_MeanMean trigger amplitude in each time step of series.
Frequency_MaxMaximum trigger amplitude in each time step of series.
Frequency_MinMinimum trigger amplitude in each time step of series.

The exact format of the XML input is documented below.


Command Line Arguments

ArgumentDefaultDescription
-dt300.0Update interval in seconds.
-pathNone: must be specifiedPath to scan for XML files.
e.g. /cluster/inspiral/dmt/inspiralbns/H1
-nameNone: must be specifiedName with which the monitor will register with the DMT Viewer Server.
e.g. InspiralMon_BNS_H1
-step60.0Time series step in seconds.


Format of input XML data

The input data for the monitor should be a standard LIGO lightweight XML file, as defined by the document T990023-01-E. The actual data should be contained in table elements in the LIGO LW file, as defined by the LIGO_LW XML Format Guidelines. The monitor reads its input data from two tables in each XML file, segment and ligolw_mon.

Each XML file should contain the following:

  1. A mandatory segment table with at least one row which contains the interval(s) of the start and end times of the data analyzed to generate the file. The monitor will print an error and exit if it encounters an XML file that is missing the segment table. The analyzed time interval is read from the columns start_time, start_time_ns, end_time and end_time_ns. If the nanosecond columns are omitted, they are assumed to be zero. If the file contains data from multiple intervals, then the segment table may contain multiple rows. The intervals may be either disjoint or overlap.

  2. An optional ligolw_mon table which contains the trigger data to be processed by the monitor. The ligolw_mon table may be absent from the file, or empty, in which case the monitor assumes that there are no triggers in the interval. Each row in the ligolw_mon table may contain any combination of the columns amplitude, confidence and frequency. If a column is omitted, then LIGOLwMon assumes that all triggers have the value zero for this column. If a column is present, it must be present for all rows in the table, as defined by the LIGO lightweight standard.

Any additional tables (such as process, process_params, etc.) are ignored. Additional columns in the segment or ligolw_mon tables, besides those listed above, are also ignored.


Example XML Input File

The following XML data is acceptable as input to LIGOLwMon. Notice that

  1. The file contains extra tables, which are ignored.
  2. The order of the tables in the file is irrelevant.
  3. The segment and ligolw_mon tables contain extra columns, such as event_id and process_id, which are ignored.
  4. The order of the columns in the tables is irrelevant.
  5. The whitespace formatting of the file is irrelevant.
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE LIGO_LW SYSTEM "http://ldas-sw.ligo.caltech.edu/doc/ligolwAPI/html/ligolw_dtd.txt">
<LIGO_LW>
 <Table Name="process:table">
  <Column Name="process:comment" Type="lstring"/>
  <Column Name="process:node" Type="lstring"/>
  <Column Name="process:domain" Type="lstring"/>
  <Column Name="process:unix_procid" Type="int_4s"/>
  <Column Name="process:version" Type="lstring"/>
  <Column Name="process:process_id" Type="ilwd:char"/>
  <Column Name="process:start_time" Type="int_4s"/>
  <Column Name="process:jobid" Type="int_4s"/>
  <Column Name="process:username" Type="lstring"/>
  <Column Name="process:program" Type="lstring"/>
  <Column Name="process:end_time" Type="int_4s"/>
  <Column Name="process:is_online" Type="int_4s"/>
  <Column Name="process:ifos" Type="lstring"/>
  <Column Name="process:cvs_repository" Type="lstring"/>
  <Column Name="process:cvs_entry_time" Type="int_4s"/>
  <Stream Name="process:table" Type="Local" Delimiter=",">
   "","ldas-pcdev1.ligo-la.caltech.edu","",18622,"1.3","process:process_id:0",
     824256416,0,"dbrown","ligolw_inspiral2mon",824256416,0,"","lscsoft",824277558
  </Stream>
 </Table>
 <Table Name="process_params:table">
  <Column Name="process_params:process_id" Type="ilwd:char"/>
  <Column Name="process_params:program" Type="lstring"/>
  <Column Name="process_params:type" Type="lstring"/>
  <Column Name="process_params:value" Type="lstring"/>
  <Column Name="process_params:param" Type="lstring"/>
  <Stream Name="process_params:table" Type="Local" Delimiter=",">
   "process:process_id:0","ligolw_inspiral2mon","lstring",
     "L1-INSPIRAL_ONLINE_V01-824219640-128.xml","--input",
   "process:process_id:0","ligolw_inspiral2mon","lstring",
     "monitor.xml","--output"
  </Stream>
 </Table>
 <Table Name="search_summary:table">
  <Column Name="search_summary:comment" Type="lstring"/>
  <Column Name="search_summary:nevents" Type="int_4s"/>
  <Column Name="search_summary:lal_cvs_tag" Type="lstring"/>
  <Column Name="search_summary:out_start_time" Type="int_4s"/>
  <Column Name="search_summary:shared_object" Type="lstring"/>
  <Column Name="search_summary:in_start_time" Type="int_4s"/>
  <Column Name="search_summary:nnodes" Type="int_4s"/>
  <Column Name="search_summary:out_start_time_ns" Type="int_4s"/>
  <Column Name="search_summary:process_id" Type="ilwd:char"/>
  <Column Name="search_summary:in_end_time" Type="int_4s"/>
  <Column Name="search_summary:out_end_time_ns" Type="int_4s"/>
  <Column Name="search_summary:lalwrapper_cvs_tag" Type="lstring"/>
  <Column Name="search_summary:in_start_time_ns" Type="int_4s"/>
  <Column Name="search_summary:in_end_time_ns" Type="int_4s"/>
  <Column Name="search_summary:out_end_time" Type="int_4s"/>
  <Column Name="search_summary:ifos" Type="lstring"/>
  <Stream Name="search_summary:table" Type="Local" Delimiter=",">
   "",273,"",824219640,"standalone",824219640,1,0,"process:process_id:0",
     824219768,0,"",0,0,824219768,""
  </Stream>
 </Table>
 <Table Name="segment:table">
  <Column Name="segment:start_time_ns" Type="int_4s"/>
  <Column Name="segment:start_time" Type="int_4s"/>
  <Column Name="segment:segment_id" Type="ilwd:char"/>
  <Column Name="segment:process_id" Type="ilwd:char"/>
  <Column Name="segment:end_time" Type="int_4s"/>
  <Column Name="segment:active" Type="int_4s"/>
  <Column Name="segment:end_time_ns" Type="int_4s"/>
  <Stream Name="segment:table" Type="Local" Delimiter=",">
   0,824219640,"segment:segment_id:0","process:process_id:0",824219768,1,0
  </Stream>
 </Table>
 <Table Name="ligolw_mon:table">
  <Column Name="ligolw_mon:time_ns" Type="int_4s"/>
  <Column Name="ligolw_mon:confidence" Type="real_8"/>
  <Column Name="ligolw_mon:event_id" Type="ilwd:char"/>
  <Column Name="ligolw_mon:process_id" Type="ilwd:char"/>
  <Column Name="ligolw_mon:frequency" Type="real_8"/>
  <Column Name="ligolw_mon:amplitude" Type="real_8"/>
  <Column Name="ligolw_mon:time" Type="int_4s"/>
  <Stream Name="ligolw_mon:table" Type="Local" Delimiter=",">
   2929687,0.0,"ligolw_mon:event_id:0","process:process_id:0",1294.106,
     6.218897,824219640,
   845703125,0.0,"ligolw_mon:event_id:1","process:process_id:0",1064.971,
     6.191286,824219724,
   847167968,0.0,"ligolw_mon:event_id:2","process:process_id:0",1116.271,
     6.468824,824219724,
   848388671,0.0,"ligolw_mon:event_id:3","process:process_id:0",1172.389,
     6.683881,824219724,
   848876953,0.0,"ligolw_mon:event_id:4","process:process_id:0",1252.294,
     6.107915,824219724,
   850830078,0.0,"ligolw_mon:event_id:5","process:process_id:0",1234.879,
     6.534908,824219724,
   851318359,0.0,"ligolw_mon:event_id:6","process:process_id:0",1290.043,
     6.631763,824219724,
   856201171,0.0,"ligolw_mon:event_id:7","process:process_id:0",1291.458,
      6.30611,824219724,
   860351562,0.0,"ligolw_mon:event_id:8","process:process_id:0",1165.619,
      6.113579,824219724,
   266113281,0.0,"ligolw_mon:event_id:9","process:process_id:0",1078.112,
      6.031587,824219739,
   266845703,0.0,"ligolw_mon:event_id:10","process:process_id:0",1145.321,
      6.12049,824219739,
   269042968,0.0,"ligolw_mon:event_id:11","process:process_id:0",1204.459,
      6.081482,824219739,
   270019531,0.0,"ligolw_mon:event_id:12","process:process_id:0",1188.209,
      6.114973,824219739,
   270507812,0.0,"ligolw_mon:event_id:13","process:process_id:0",1270.524,
      6.283709,824219739,
   270507812,0.0,"ligolw_mon:event_id:14","process:process_id:0",1285.704,
      6.234788,824219739,
   843017578,0.0,"ligolw_mon:event_id:15","process:process_id:0",1058.319,
      6.07639,824219722,
   848632812,0.0,"ligolw_mon:event_id:16","process:process_id:0",1166.423,
      6.11094,824219722,
   921386718,0.0,"ligolw_mon:event_id:17","process:process_id:0",1198.178,
      6.312629,824219724,
   921875000,0.0,"ligolw_mon:event_id:18","process:process_id:0",1278.243,
      6.052587,824219724,
   922851562,0.0,"ligolw_mon:event_id:19","process:process_id:0",1260.904,
      6.038467,824219724,
   923339843,0.0,"ligolw_mon:event_id:20","process:process_id:0",1328.338,
      6.025877,824219724,
   850341796,0.0,"ligolw_mon:event_id:21","process:process_id:0",1170.852,
      6.021769,824219728,
   113525390,0.0,"ligolw_mon:event_id:22","process:process_id:0",1169.59,
      6.047554,824219738,
   115234375,0.0,"ligolw_mon:event_id:23","process:process_id:0",1232.543,
      6.057192,824219738,
   978759765,0.0,"ligolw_mon:event_id:24","process:process_id:0",1152.936,
      6.01578,824219749,
   979003906,0.0,"ligolw_mon:event_id:25","process:process_id:0",1124.789,
      6.277905,824219749,
   980224609,0.0,"ligolw_mon:event_id:26","process:process_id:0",1226.736,
      6.216428,824219749,
   981201171,0.0,"ligolw_mon:event_id:27","process:process_id:0",1179.278,
      6.487427,824219749,
   981933593,0.0,"ligolw_mon:event_id:28","process:process_id:0",1291.468,
      6.440663,824219749,
   981933593,0.0,"ligolw_mon:event_id:29","process:process_id:0",1255.91,
      6.268609,824219749,
  </Stream>
 </Table>
</LIGO_LW>

$Id: LIGOLwMon.html,v 1.1 2006/02/18 00:20:43 duncan Exp $