27 September 2004 to 1 October 2004
Interlaken, Switzerland
Europe/Zurich timezone

How to build an event store - the new Kanga Event Store for BaBar

29 Sep 2004, 17:10
Kongress-Saal (Interlaken, Switzerland)


Interlaken, Switzerland

oral presentation Track 2 - Event processing Event Processing


Dr M. Steinke (Ruhr Universitaet Bochum)


In the past year, BaBar has shifted from using Objectivity to using ROOT I/O as the basis for our primary event store. This shift required a total reworking of Kanga, our ROOT-based data storage format. We took advantage of this opportunity to ease the use of the data by supporting multiple access modes that make use of many of the analysis tools available in ROOT. Specifically, our new event store supports: 1) the pre-existing separated transient + persistent model, 2) a transient based load-on-demand model currently being developed, 3) direct access to persistent data classes in compiled code, 4) fully interactive access to persistent data classes from either the ROOT prompt and via interpreted macros. We will describe key features of Kanga including: 1) the separation and management of transient and persistent representations of data, 2) the implementation of read on demand references in ROOT, 3) the modular and extensible persistent event design, 4) the implementation of schema evolution and 5) BaBar specific extensions to core ROOT classes that we used to preserve the end-user "feel" of ROOT.

Primary author

Dr M. Steinke (Ruhr Universitaet Bochum)

Presentation Materials