Cargando…

Event Data Modelling for the LHCb Experiment at CERN

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 t...

Descripción completa

Detalles Bibliográficos
Autor principal: Roiser, S
Lenguaje:eng
Publicado: CERN 2003
Materias:
Acceso en línea:http://cds.cern.ch/record/692288
Descripción
Sumario: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 from the raw data, obtained from the detector, to reconstructed analysable physics quantities. All software applications built on top of the experiment specific software will depend on a proper functioning of the event model. It is expected that with the new Large Hadron Collider, currently in construction at CERN, an unprecedented amount of data, in the order of peta bytes per year, will be retrieved from the different experiments. This data 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, such as object oriented programming techniques, or constraints setup by the experiment itself, like programming rules. 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 designers of event objects 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 like their reflection information or documentation about the objects. 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, as not all of them are required for the description of the event model and may also not be provided in all implementation languages. 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.