Cargando…

DAQling: an open-source data acquisition framework

The Data AcQuisition (DAQ) software for most applications in high energy physics is composed of common building blocks, such as a networking layer, plug-in loading, configuration, and process management. These are often re-invented and developed from scratch for each project or experiment around spe...

Descripción completa

Detalles Bibliográficos
Autores principales: Boretto, Marco, Brylinski, Wojciech, Lehmann Miotto, Giovanna, Gamberini, Enrico, Sipos, Roland, Sonesten, Viktor Vilhelm
Lenguaje:eng
Publicado: 2020
Materias:
Acceso en línea:https://dx.doi.org/10.1051/epjconf/202024501026
http://cds.cern.ch/record/2756295
Descripción
Sumario:The Data AcQuisition (DAQ) software for most applications in high energy physics is composed of common building blocks, such as a networking layer, plug-in loading, configuration, and process management. These are often re-invented and developed from scratch for each project or experiment around specific needs. In some cases, time and available resources can be limited and make development requirements difficult or impossible to meet. Moved by these premises, our team developed an open-source lightweight C++ software framework called DAQling, to be used as the core for the DAQ systems of small and medium-sized experiments and collaborations. The framework offers a complete DAQ ecosystem, including a communication layer based on the widespread ZeroMQ messaging library, configuration management based on the JSON format, control of distributed applications, extendable operational monitoring with web-based visualisation, and a set of generic utilities. The framework comes with minimal dependencies, and provides automated host and build environment setup based on the Ansible automation tool. Finally, the end-user code is wrapped in so-called “Modules”, that can be loaded at configuration time, and implement specific roles. Several collaborations already chose DAQling as the core for their DAQ systems, such as FASER, RD51, and NA61/SHINE. We will present the framework and project-specific implementations and experiences.