Data Monitor

From CLONWiki
Jump to navigation Jump to search

Data Monitor is the data quality check program. It runs online being attached to the ET System.

Juan's work

The file juanlib.c analyzes data from drift chamber wires to determine whether there exists a hardware malfunction within the drift chamber. After 90,000 events (~30 seconds) the program stores the hits from each wire into 6x6 groups designated by sector, superlayer, and wire number. Using these groups as a reference, the program can look at future events to scan for alarming activity.


At the 180,000 event mark and for every 90,000 events afterward, the program compares the past 90,000 events with the reference to determine whether suspicious activity occurs. Any 6x6 group that changes by 63% or more, with respect to the reference, is marked as an error. The 63% threshold was determined by trial and error on many data sets. A drop of roughly 63% across all regions generally corresponds to a drop in beam current. Errors are stored in a separate data structure named errorlist.


Alarms are only sent if greater than 5 errors occur and only if they occur within the same sector. This was implemented due to small inconsistencies with beam current leading to small regions being flagged as errors. If 5 or more of these errors fall within the same superlayer only a superlayer alarm will occur, rather than multiple 6x6 alarms. If greater than 100 errors are recorded, only an alarm warning that major drops are found in many areas will appear. This type of alarm usually corresponds to a drop in beam current.


Juanlib.c also creates histogram files from the data collected. Marked as 101-106, 201-206 and 301-306, these plots correspond to data from the 6 respective sectors. Histograms 101-106 correspond to one dimensional histograms, 201-206 to two dimensional histograms (hits in wire and layer), and 301-306 to normalized changes in 6x6 groups with respect to the reference. The box feature is recommended for the 301-306 plots.

Drift Chamber Hardware Mapping

  • TDC mapping
  • Low voltage mapping
  • fuses mapping
  • HV mapping
  • ADB mapping

dmlib.c algorithm

So-called 'tree' is used to obtain all sets which suppose to be filled using particular data channel.