Skip to content
This repository has been archived by the owner on Feb 12, 2025. It is now read-only.

cms-DQM/dials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

42c2c5f · Feb 12, 2025
Jan 30, 2025
Nov 6, 2024
Jan 10, 2025
Jan 29, 2025
Feb 12, 2025
Jan 30, 2025
Jan 9, 2025
Nov 7, 2024
Apr 29, 2024
Mar 11, 2024
Mar 13, 2024
Nov 6, 2024
May 30, 2024
Mar 12, 2024
Mar 12, 2024
Jan 30, 2024
Feb 12, 2025
Feb 12, 2025
Jan 29, 2025
Nov 27, 2024
Nov 27, 2024
Mar 13, 2024
Jan 29, 2025

Repository files navigation

Repository migrated to CERN's Gitlab here.


DIALS

What is DIALS?

This repository contains all components that make up the CMS DQM-DC DIALS service.

During a Run, the CMS Experiment collects particle collision data in Lumisection time-frame and the experiment subsystem health is monitored by shifters using DQMGUI. Multiple shifters for many subsystems monitor the most recent lumisection of the current run plots to check a subsystem's health, but given the number of plots and the limited manpower it is not possible to closely pay attention to all plots during the lumisection time-frame. On the other hand, using certified data it is possible to extract knowledge from old runs (at lumisection-level) to help shifters get a glimpse of detector's health on past runs.

Data Inspector for Anomalous Lumi-Sections (DIALS) is an application designed to be an access point to DQMIO per-LS monitoring elements. It is responsible for indexing, storing pre-processed DQMIO data and serving via a WEB UI and REST Api, so that it could be used by any CMS sub-group for exploratory analysis, statistical learning and machine learning.

This application was born in CMS Tracker ML as a prototype under the name "MLPlayground" and was migrated to CMS central DQM-DC as an effort of centralizing anomaly detection techniques and data retrieval for every subsystem.

Tech stack

This project is a full-stack application written in Python (^3.10) and JavaScript (Node.js ^20.11.0). The backend is built using Django (specifically Django Rest Framework), the job queue is managed by Celery and the frontend is built with plain React. It uses a PostgreSQL database instance for storing all data and Redis in-memory database acting as the message broker for the job queue.

Documentation

Contributing

Check development guidelines here and local development instructions here.

Backlog

A dedicated project was created to track the project's backlog.