Roiser, S. (2003). Event data modelling for the LHCb experiment at CERN [Dissertation, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-9890
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2003
-
Number of Pages:
99
-
Keywords:
LHC; Experiment; Datenmodell
de
Abstract:
In this thesis a new technique for event data modelling for the LHCb experiment at CERN will be presented. The event model of a high energy physics experiment is one central ingredient of the experiment specific software. A coherent event model has to be shared between algorithms which will use it to process the data in several iterations. It is expected that with the new Large Hadron Collider at CERN an unprecedented amount of data will be retrieved from the different experiments which has to be stored according to the event model. Due to the long lifetime of experiments over several decades the consistency and maintenance of a coherent event model has to be guaranteed. Requirements for the description of the event model derive from implementation language constraints or constraints setup by the experiment. In addition it has to be taken into account that new programming techniques or new programming languages for the implementation of the event model may have to be supported in the future. To meet all the requirements a system for event object description was designed. This system requires developers to provide a single file with the description of their event objects in a high level language. From this description it will be possible to derive the actual implementations of the event objects and other information. Several possible outputs for different object oriented implementation languages will be discussed. A high level language for the description of the event model will be proposed. The description language has to be defined as such, that it will be flexible enough to enable future enhancements but also strict enough to be able to constrain the language to a subset of the current features of object oriented programming. A discussion of different possibilities for definition languages will elaborate the advantages and shortcomings of the most popular ones. The features of the chosen description language together with its syntax will be presented. When using the tools, several generic and implementation specific rules will be applied, which will be explained. As a practical example for the extension of the event data modelling tools, a software package which supports reflection in C++ was developed. This package is used for tasks like persistence of event data or interactive usage and will be discussed in depth. The tools that have been developed as part of this research work have been evaluated both in terms of description language and usage in the experiment and their integration into the LHCb software build procedure will be explained. The event data modelling tools have been used successfully for several iterations of the description of the LHCb event model.
en
In dieser Doktorarbeit wird eine neue Technik der Datenmodellierung fuer das LHCb Experiment am CERN vorgestellt. Das Event Modell eines Hochenergiephysik Experiments ist einer der zentralen Bestandteile der experimentspezifischen Software. Ein einheitliches Event Modell wird von Algorithmen benutzt um Daten in mehreren Iterationen zu bearbeiten. Es wird erwartet dass mit dem neuen Large Hadron Collider am CERN eine noch nie dagewesene Menge von Daten von den einzelnen Experimenten produziert werden wird welche gemaess dem Event Modell gespeichert wird. Mit der langen Laufzeit der Experimente, ueber mehrere Jahrzehnte hinweg, muss die Konsistenz und Wartbarkeit eines koherenten Event Modells garantiert sein. Anforderungen an die Datenbeschreibung des Event Modells kommen von Beschraenkungen in der Implementationssprache oder vom Experiment selbst. Des weiteren muessen zukuenftige Programmiertechniken und Implementationssprachen unterstuetzt werden. Um alle diese Anforderungen zu erfuellen wurde ein System zur Beschreibung von Event Objekten entwickelt. Dieses System erfordert von den Entwicklern ein einzelnes File mit der Beschreibung der Objekte in einer hoeheren Sprache. Von dieser Beschreibung ist es moeglich Implementationen der Event Objekte in verschieden Implementationssprachen und weitere Informationen abzuleiten. Einige Moeglichkeiten der Implementierung in objektorientierten Sprachen werden beschrieben. Eine hoehere Sprache zur Beschreibung des Event Modells wird vorgestellt. Diese Beschreibungssprache muss derart definiert werden, sodass sie fuer kuenftige Erweiterungen flexibel genug ist aber auch Moeglichkeiten bietet die Sprache einzugrenzen. Die populaersten Definitionssprachen mit ihren Vor- und Nachteilen werden besprochen. Die Eigenschaften der gewaehlten Definitionssprache zusammen mit ihrer Syntax werden praesentiert. Bei der Verwendung des Systems werden allgemeine und implementationsspezifische Regeln aus LHCb angewandt, die genau besprochen werden. Als praktisches Beispiel fuer die Erweiterung des Systems wurde ein spezielles Softwarepaket fuer Reflection in C++ entwickelt, welches fuer Anwendungen wie Datenspeicherung und interaktive Analyse verwendet wird. Das Paket wird im Detail beschrieben. Es erfolgte eine Evaluierung der im Rahmen dieser wissenschaftlichen Arbeit entwickelten Tools, sowohl was die Beschreibungssprache als auch deren Verwendung im Experiment angeht. Die Integration in die LHCb Software Build Prozedur wird erklaert. Das System wurde erfolgreich fuer mehrere Iterationen zur Beschreibung des LHCb Event Modells verwendet.