The Event as an Object-Relational Database: Avoiding the Dependency Nightmare
/ Authors
/ Abstract
With the use of object-oriented languages for HEP, many experiments have designed their data objects to contain direct references to other objects in the event (e.g., tracks and electromagnetic showers have references to each other to denote matches). Unfortunately this creates tremendous dependencies between packages which lead to brittle development systems (e.g., if the electromagnetic code has a problem you may not be able to compile the tracking code) and makes the storage system more complex. We discuss how the CLEO III experiment avoided these problems by treating an event as an object-relational database. The discussion will include: the constraints we placed on our objects; our use of a separate Association class to deal with inter-object references; and our ability to use multiple sources to supply different data items for one event.
Journal: arXiv: High Energy Physics - Experiment