@phdthesis{605, author = {Stefan Roiser}, title = {Event data modelling for the LHCb experiment at CERN}, 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.

}, year = {2003}, journal = {Institute of Visual Computing and Human-Centered Technology}, pages = {99}, publisher = {TU Wien}, address = {Vienna}, }