CMS Trigger Supervisor Framework Ildefons Magrans de Abril Marc Magrans de Abril Gian Pieo Di Giovanni Philipp Glaser Tobias Noebauer Alexander Winkler Philipp Wagner Jose Melo Franz Mittermayr Christian Hartl
CMS and the need for the TS Like the entire CMS experiment, the L1 trigger is a very complex system. “64 crates, O(103) boards with an average of 15 MB of downloadable firmware and O(102) configurable registers per board, 8 independent DAQ partitions, and O(103) links that must be periodically tested in order to assure the correct connection and synchronization” “27 research institutes from Europe, Asia and America”
The Trigger Supervisor RCMS Trigger Supervisor CSC ECAL 1 DT HCAL CSCTF Trigger Supervis or RPC GMT DTTF GT/TCS GCT RCT CSCTF
Goals Present a unified interface to the entire L1 trigger system to RCMS* to allow Configuration Monitoring Interconnection Tests Logging Error Management * Run Control and Monitoring System
Disconnected development of subsystems Different software environments Other constraints Distributed system Disconnected development of subsystems Different software environments RCMS in Java Subsystem applications in C++ Partially based on CMS-developed XDAQ framework
It's almost as bad as the internet! Distributed design based on web services What is distributed? Subsystem application development Running the subsystems What is centralized? Development repository (TriDAS CVS) Build system All parts of the system based on TS framework Configuration database
The Trigger Supervisor Cell The building blocks of the TS system are called cells. A central cell coordinates global operations. Each subsystem crate runs its own cell. Cells support defined protocol for standard operations. Additionally, cells are extensible to provide subsystem-specific features.
Architecture Central Cell GUI RCMS Controller side SOAP TS Cell 1 Common configuration DB TS Cell Subsystem Cell GUI 1 0..n SOAP 1 1 1 TS Cell TS Cell TS Cell customized by every subsystem … 1 1 1 1 1 1 Hardware access OSWI OSWI OSWI Tree like structure where the central node and the leafs are based on a common “control cell” implemented with XDAQ
The TS framework C++ (server-side) Based on XDAQ Runtime Web services support Build system Logging Parts of the monitoring Database access
Adding functionality to TS cells TS framework provides “empty” cell Main entry points for extension: Commands Function calls Operations Stateful interactions Panels Web GUI DataSources Monitoring
Defining commands yields A generic GUI A SOAP interface for remote calls
Operations Operations are based on finite state machines
Operations 2 Implicit GUI/remote call support Transitions work like commands
Ajaxell, an AJAX GUI library Panels Ajaxell, an AJAX GUI library Client side based on Dojo toolkit Allows much nicer web GUIs than older HTTP/CGI paradigm Prime example: L1 TM Editor
Panels 2
Data Sources A DataSource defines a set of variables for monitoring, accessible over a standard interface. Implicitly supports Cell GUI, central collection and storage in a database through XMAS*. *XDAQ Monitoring and Alarming Service
Data Sources 2
Communication with other subsystems Since we can create so many nice SOAP interfaces, we also want to call them Also need to interact with XDAQ services for database access etc TS framework provides varisous “CellXhannel” implementations to simplify this CellXhannelCell to call other TS cells CellXhannelTStore for DB access
Role of the Central Cell
References and Documentation Trigger Supervisor TWiki page: https://twiki.cern.ch/twiki/bin/view/CMS/TriggerSupervisor Concepts & Design: The CMS Trigger Su pervisor: Control and Hardware Monitoring System of the CMS Level-1 Trigger at CERN, PhD Thesis, Universitat Autònoma de Barcelona, I. Magrans Concept of the CMS Trigger Supervisor, CMS NOTE 2005/011, Ildefons Magrans, Joao Varela, Claudia Wulz Code level information User's Guide TS v.1.6 CV S: http://isscvs.cern.ch/cgi-bin/cvsweb.cgi/TriDAS/?cvsroot=tridas
Class Diagram XDAQ TS Subsystem