Cargando…

PODIO: recent developments in the Plain Old Data EDM toolkit

PODIO is a C++ toolkit for the creation of event data models (EDMs) with a fast and ecient I/O layer. It employs plain-old-data (POD) data structures wherever possible, while avoiding deep object-hierarchies and virtual inheritance. A lightweight layer of handle classes provides the necessary highle...

Descripción completa

Detalles Bibliográficos
Autores principales: Gaede, F., Hegner, B., Stewart, G. A.
Formato: info:eu-repo/semantics/article
Lenguaje:eng
Publicado: EPJ Web Conf. 2020
Materias:
Acceso en línea:https://dx.doi.org/10.1051/epjconf/202024505024
http://cds.cern.ch/record/2719146
Descripción
Sumario:PODIO is a C++ toolkit for the creation of event data models (EDMs) with a fast and ecient I/O layer. It employs plain-old-data (POD) data structures wherever possible, while avoiding deep object-hierarchies and virtual inheritance. A lightweight layer of handle classes provides the necessary highlevel interface for the physicist. PODIO creates all EDM code from simple instructive YAML files, describing the actual EDM entities. Since its original development PODIO has been very actively used for Future Circular Collider (FCC) studies. In its original version, the underlying I/O was entirely based on the automatic streaming code generated with ROOT dictionaries. Recently two additional I/O implementations have been added. One is based on HDF5 and the other uses SIO, a simple binary I/O library provided by LCIO.We briefly introduce the main features of PODIO and then report on recent developments with a focus on performance comparisons between the available I/O implementations. We conclude with presenting recent activities on porting the well-established LCIO EDM to PODIO and the recent EDM4hep project.