Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

TODO: Playbook for starting a new run from scratch

Stuff

For previous runs, the Monitoring Application has been used to run the reconstruction off of the ET ring and produce plots in a custom Java GUI.

This tool has some serious limitations such as:

  • Requiring a large amount of configuration for each reconstruction station
  • Not being able to scale horizontally by utilizing multiple CPUs to run reconstruction in parallel
  • Taking a lot of system memory per process
  • Being monolithic and difficult to extend/improve
  • Using a no longer maintained plotting backend based on JFreeChart

With these limitations in mind, a new systems was developed around components such as a server, client, and reconstruction (ET) stations. Instead of all the components being run in the same system process, each reconstruction station is given its own system process and dedicated station on the ET ring. The stations run in headless mode (not displaying graphics) and provide real-time plot data using a remote AIDA tree which can be connected to and browsed/displayed as the data is streaming from the ET ring over an RMI connection. The server manages the aggregation of plot and performance data from each reconstruction station. A simple event bus was developed to replace the loop-based system in the old monitoring app. A client provides a command line and console interface for creating, starting, monitoring, stopping and removing stations managed by the server. Commands are sent to the server as JSON using a TCP/IP socket connection, and the server may send back a JSON response or stream data back to the client (e.g. for streaming station log data).

Histograms are booked and filled within the station's Driver code. The plots are stored in an AIDA tree which is remotely accessible (read only). The server mounts these station trees into its remote tree and performs aggregation of histograms, clouds, and profiles into a combined tree. One to three dimensional histograms are supported, depending on the type (profiles have no 3D type). The combined histogram data can be saved to ROOT or AIDA files.

Display clients such as JAS3 or a Java webapp can connect to the server's remote tree and view both the remote (station) plots and the combined plots in real time.