Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...

Page created by Ivan Lang
 
CONTINUE READING
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Development of a DCU monitoring web
application for CMS ECAL
Assignee: Olov Günther-Hanssen
Supervisor: Giacomo Cucciati
CMS Department
18th September 2019
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Introduction
This report summarizes the project done by summer student Olov Günther-Hanssen, who
stayed at CERN during the months of July and August 2019. The project was supervised by
Giacomo Cucciati. What follows describes the background and motivation of the project, the
process and lastly the result of the project.

Beside Giacomo Cucciati, I would like to acknowledge Davide Valsecchi and Roberta
Arcidiacono for the help they provided me during the project.

Definitions and acronyms
APD          Avalanche Photo Diode
CCU          Communication and Control Unit
CMS          Compact Muon Solenoid
CSS          Cascade Style Sheets
DCU          Detector Control Unit
ECAL         Electromagnetic calorimeter
ECAL-View Web application built on Node.js (serverside) and Vue.js (frontend) for
monitoring ECAL
Git          Version control software
HTTP         Hypertext Transfer Protocol
LHC          Large Hadron Collider
LVR          Low Voltage Regulator
MEM          Monitoring Electronic Module
Node.js      Javascript run-time environment running on the serverside
REST API     Representational state transfer application interface
TT           Trigger Tower
SM           Super Module
XDAQ         Software platform for distributed data acquisition systems at the CMS
Vue.js       Javascript-based framework for creating user-interfaces in the browser

Background
In 2008, the construction of the Large Hadron Collider (LHC) at CERN was completed. LHC
is the world’s largest and most powerful particle accelerator and is used in general physics
research to study the matter and laws that form our universe. Experiments are generally
performed by making particles collide at certain points (called interaction points) along the
LHC. When particles collide at high energy (mainly proton-proton in LHC), they generate
other particles, which can be detected. One of the detectors of LHC is the Compact Muon
Solenoid (CMS), which is a hermetic general purpose detector which surrounds the
interaction point and detects among others: muons, hadrons, electrons and photons. The
CMS weights over 14’000 tonnes and is divided into several subsystems. One of these
subsystems is the electromagnetic calorimeter (ECAL), which detects electrons and photons
from the collision in the LHC. ECAL is shaped like a cylinder: with two so called end caps on

                                                                                            1
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
either side of the interaction point, and a barrel, connecting the end caps, see figure 1. The
barrel is divided, by a plane normal to the axial direction, into two sections, named EB+ and
EB-. Similarly, the two end caps are named EE+ and EE-.

                             Figure 1: Cross-section of the ECAL

The smallest detection entity in ECAL are the lead tungstate (PbWO​4​) scintillating crystals, in
the shape of rectangular 20x5x5 cm bars. These are grouped into 5x5 matrices, forming
trigger towers (TT). The trigger towers are in turn grouped into supermodules. The barrel is
made up of 36 supermodules and the end caps are made up of 9 supermodules each.
To be able to detect any particles, avalanche diode photodetectors (APD) are attached to
the end of the crystals. The photodetectors measures the light intensity in the crystals, which
is a product of the passage of a particle in the matter and is proportional to the energy of the
particle. For every TT, the APDs are connected to 5 electronic board, called very front-end
board (VFE). Connecting to all 5 VFE of a TT is another electronic board, called front-end
board (FE), see figure 2.

                                                                                                 2
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Figure 2: Schematic view of the TT electronics

The electronics receives and handles the data which is later used for analysis of the LHC
collisions. Control chips (DCUs) have been installed on these boards to measure
environmental data, such as temperature of the APD and the chips, leak current of the APDs
and low voltage provided to the boards. The purpose of these data is to be used by ECAL
experts to study the stability of the detector during runs of the LHC and investigate sources
of problems and dead channels.
These readouts are controlled by a chip called the Communication and Control Unit (CCU).
The CCUs are distributed all over the ECAL, and coincides with the TT in the barrel (thus
making up 68 CCUs in every supermodule), while in the end caps, there are between 32 and
34 CCUs in each supermodule. This seemingly unstructured layout of the CCUs in the end
caps can be seen in figure 3.

Figure 3: The layout of the CCUs (marked by the numbering) in the negative end caps. The
different colors represent the supermodules. The layout is mirrored in the positive end cap.

The readouts collected (referred to in this report as DCU data) in the CCUs are currently
read twice per CMS run, once in the beginning of the run, and once in the end. This data is
sent to a XDAQ C++ program called DCUConverter​,​ which converts the voltage readouts to
celsius, microampere and volts, for the temperatures, currents and voltages respectively.
The data is saved in 5 files per supermodule, one for each data type, which are listed in
Table 1.

 Data type    Description                                  Number of readouts per CCU

 DCUtemp      Internal temperatures of the DCU chips       8

 APDtemp      Temperatures of the thermistors in the       1-3
              APD capsules

 APDcurr      Leak current of the APD (pedestal not        25

                                                                                           3
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
subtracted)

 LVRdata      Low voltage regulator voltage levels and       18
              board temperatures

 MEMdata      Voltages and temperatures from the MEM         5
              box
                          Table 1: Description of the DCU data files.

The DCUConverter saves the readouts in a database, and saves the files on a machine on
the CMS network.

Goal of the project
The current problem for the ECAL experts is that there is no streamlined way to read the
DCU system data, since there are currently no software available for displaying them. The
fallback is then to access the CMS network machines and read the converted files directly
through a terminal window, a workflow which is clumsy and non-efficient.
The goal of the project was therefore set to develop a web application, with an interface for
monitoring the DCU data, built on a stack of Node.js and Vue.js. The monitoring application
should be able to collect the latest data from the DCU files and also display a history of the
previous data. An additional feature would be for the application to send out notifications to a
ECAL expert whenever there is a problem detected from the DCU data. An idea was also to
integrate this DCU monitoring application with the already existing all-purpose monitoring
application for ECAL, called ECAL-View.

Working on the project
The development of the application began at the start of July 2019. As a first step of the
project I tried to get familiar with the data to visualize and the developer environment. As I
was adding new features with not too much focus on stability, the initial development was
made in a separate Git repository. In the beginning I also spent time getting familiar with
Vue.js and the different data visualisation libraries used in the project.
To be able to have some data to work with, I copied some DCU files from the CMS network
into the repository, then parsed them and inserted them into a MongoDB database. The data
was then exposed through a REST API running on a simple Node.js Express server.
During the project, solutions for collecting data from the DCUConverter files have also been
explored. Some ideas for reading the files and streaming the data with already existing
solutions were considered (e.g. Logstash + ElasticSearch database). However, after meeting
with the sysadmins, who preferred as few instances of software on the CMS machines as
possible, this idea was modified to instead involve data collection through a XDAQ
framework called Flashlist, already available in CMS. The DCUConverter would save the
correct data onto a Flashlist, which in turns should be read by another service, ultimately
saving the data in a centralized ElasticSearch database. This planned flow of the data is
visualised in figure 5. As I knew very little about the XDAQ framework, this part of the project
was however not prioritised. Instead focus was put into having a fully working user interface.

                                                                                              4
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Figure 5: Schematic of the flow of the DCU data from the DCU Converter to the ECAL
   expert. The blue boxes are results of the project, and the light grey boxes are yet to be
  implemented. The circular arrows show that the data is polled with a certain time interval.

At the end of the project, the application developed separately was integrated with
ECAL-View, by creating 2 new monitoring tabs in the already existing Vue application (the
features are described below) and 1 new server-side monitor, which is serving the data
through a common REST API. Currently the data is randomly generated, but the idea is to
connect this monitor with the database in a later stage, since the database integration with
the Flashlist system is yet to be finished.

Technologies used

                        Figure 6: Logos of the frontend libraries used.

The frontend part of the application was forked of a boilerplate project called
vue-webpack-boilerplate, which is a boilerplate ​Vue.js​ application with an already set up
developer environment with code linting, file serving and more. From here the monitoring
interface was developed. To be in line with the styling of ECAL-View, the CSS framework
Bulma​ was chosen, along with Vue components from ​Buefy​. The Javascript data

                                                                                                5
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
visualization libraries ​D3.js​ and ​Highcharts​ was used for creating rich visual components and
displaying the data in charts.

Outcome

Frontend web application
The final frontend interface of the DCU Monitoring system is two integrated tabs in
ECAL-View, seen in figures 7-9. These pictures corresponds to the three main features of
the frontend result:
    ● DCU real-time monitoring, allowing to see all of the latest collected DCU data of any
        chosen CCU
    ● DCU history, allowing to see the history of a readout of a specific CCU, with the
        opportunity to limit the time frame.
    ● DCU heatmap, allowing to view the latest collected DCU data of a specific readout,
        over a whole SM

               Figure 7: A screenshot of the monitoring of the latest DCU data

 Figure 8: Screenshot of the DCU history, allowing to view the readout from a sensor over a
                                      period of time.

                                                                                               6
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Figure 9: Screenshot of the DCU heatmap, monitoring a whole SM.

Backend REST API
The backend REST API which provides the DCU data to the frontend is an integrated
monitor on the serverside of ECAL-View. Is it currently composed by an 'interface
component', which handles the HTTP REST API calls, and a 'logic component', which
collects and handles the data to be served. As the DCU data is still not available in a
database, the DCU data is mocked by random generation. By mocking the data, a working
prototype of the interface component and the frontend can be used live, and It allows the
developing of the monitor using the data structure already defined in the mock-up.

Other outcomes
Besides the code which is now integrated into ECAL-View, the project produced also some
scripts for data handling from the converted DCU data files, whose structure and logic may
be used if parsing needs to be done on the converted DCU data files.

Final remarks
Looking at figure 5, it gives a good overview of what the outcome of the project have been
so far, with the currently implemented parts marked in blue. The goal was to pipe the DCU
data from the DCU Converter, all the way to a web application which could display the data
to the ECAL expert. What I have completed is the HTTP server, which has an interface for
serving the DCU data through a REST API. In addition to this, I have also built a new user
interface in the browser with Vue.js, for fetching and displaying the DCU data in the browser.
However, the boxes in light grey in figure 5 represent the parts that are still to be
implemented. The DCU Converter does not send the information to a Flashlist yet, and the
HTTP server does not fetch the data from a database, it is instead randomly generated.
These features, as well as the database serving and the piping from the Flashlist to the
database, is still to be finished. This will require looking more into the XDAQ framework and
database serving (where inspiration can be taken from the initial repository). Additional work
could also be put into the frontend part to enhance the user experience and add more
features useful for the ECAL experts.

                                                                                             7
Development of a DCU monitoring web application for CMS ECAL - Assignee: Olov Günther-Hanssen Supervisor: Giacomo Cucciati CMS Department 18th ...
Useful links
Information about the meaning of the readouts
http://ecal-od-software.web.cern.ch/ecal-od-software/documents/DCU/dcuManual.htm
Report about the DCU data monitoring system as a whole and mentioning of older,
now deprecated, DCU monitoring applications
http://inspirehep.net/record/859486/files/jpconf10_219_022013.pdf
Comprehensive presentation slides about the DCU data monitoring system
https://indico.cern.ch/event/35523/contributions/839747/attachments/705095/967962/CHEP
09_marone.pdf
Information about the MEM system
http://cms-ecal-monitoring.web.cern.ch/cms-ecal-monitoring/MEM_electronics/MEM_electro
nics.html

                                                                                     8
You can also read