1 / 13

StoreGate An Event Data Model for ATLAS

StoreGate An Event Data Model for ATLAS. P. Calafiura, H. Ma, M. Marino, S. Rajagopalan, S. Snyder 19 October, 2000 ACAT 2000, Fermilab. The ATLAS Environment. Large Data Volumes (> 1 PB/year) Large globally distributed collaborative developers Long Lived projects (> 15 years)

ekearney
Download Presentation

StoreGate An Event Data Model for ATLAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. StoreGateAn Event Data Model for ATLAS P. Calafiura, H. Ma, M. Marino, S. Rajagopalan, S. Snyder 19 October, 2000 ACAT 2000, Fermilab

  2. The ATLAS Environment • Large Data Volumes (> 1 PB/year) • Large globally distributed collaborative developers • Long Lived projects (> 15 years) • Complex algorithms (> 2M loc) • Object Oriented Programming • Legacy software & programmers • Limited Manpower (fewer professionals) • Reliance on Commercial software • Very similar to enviroment at other collaboration(DØ, CDF, BaBar, CLEO, LHCb) • MUST take advantage of their strengths. Not reinvent the wheel. ACAT 2000, Fermilab, 19 October 2000

  3. Converter Converter Application Manager Converter Transient Event Store Data Files Message Service Persistency Service Event Data Service JobOptions Service Algorithm Algorithm Algorithm Data Files Transient Detector Store Particle Prop. Service Persistency Service Detec. Data Service Other Services Data Files Transient Histogram Store Persistency Service Histogram Service The “Gaudi” adoption ACAT 2000, Fermilab, 19 October 2000

  4. Analysis Hit Reconstruction Track Reconstruction Hits Digits Tracks H D T H T D T D H Transient Data Store Client Access to TDS ACAT 2000, Fermilab, 19 October 2000

  5. The StoreGate EDM • Provides an interface to the Transient Data Store • Layer over the existing Gaudi infrastructure • Features being considered include : • Type safe access to Data Objects • DataHandles and AutoHandles • Keyed access to Data Objects • Selectors to specify retrieval requirements • Associative objects to provide Inter Object Relationships • Data Proxies for on-demand actions • Separation between Transient and Persistent mechanism ACAT 2000, Fermilab, 19 October 2000

  6. TDS Contents • Objects inherit from common base class : DataObjects • Either Collections or single objects in TDS • Corresponding History object for each collection : • Information on how the objectwas made (Algorithms, Run time parameter conditions, etc.) • Will be able to select collections based on this information • Association Objects for marking data objects or specifying bi-directional associations • Store access policy : almost-const? ACAT 2000, Fermilab, 19 October 2000

  7. Access to Data Objects • Type safe access to data objects in transient store. • Ability to register/retrieve objects with keys : (optional) • Keys could be client defined objects (Identifier, string, …) • Narrow selection of collections & contained objects within collections with selectors. • Code snippet: Datahandle<TrackCollection> handle(myselector); Statuscode sc = storeGateSvc()  retrieveObject(handle, key); myhandle  use_me(); ACAT 2000, Fermilab, 19 October 2000

  8. DataHandles • DataHandle returns a const-pointer • Provide iterators associated with DataHandle that iterate over the contained objects in the collection • AutoHandles • Automatically updated when the DataObject it points to goes out of its validity range (run range, time interval, event scope) • Create an AutoHandle once during the job • Check on validity of DataObject when dereferenced • Load new DataObject if out of validity • May prove useful for calibration/alignment and other time dependent DataObjects • Allow client defined DataViews to access DataObjects ACAT 2000, Fermilab, 19 October 2000

  9. Selectors Two types of client defined Selectors : • Those that operate only on Collections (TrackCollections) • No need to know about the TrackObjects that are in the collection • Those that operate over Contained Objects (TrackObjects) • for example, select on the pT of the Track candidate • Selector is passed through the DataHandle: • AutoHandle can apply the Selector if new object is loaded • Downstream user who gets passed a handle has access to Selector • Selection on Contained objects based on the selector • DataHandle.begin() and .end() will iterate only over those contained objects that pass the selector ACAT 2000, Fermilab, 19 October 2000

  10. Store Access Policy • A strict const-access policy would be inefficient • Would force sub-algorithms to bypass TDS and pass around data objects • Almost const-access? • Each package (algorithm) has its private data store • move Data Objects into public store when completed • Locking Mechanism • Until locked, data objects can be modified • ACL list attached to Data Objects • specifies which algorithms can modify the Data Objects • Other variations possible ACAT 2000, Fermilab, 19 October 2000

  11. Inter Object Relationships • Track is constructed from a collection of hits • must maintain a list of (smart) pointers to hits • Other Issues • Can a hit object be marked as being used? • Can a hit object point “back” to a track (bi-directional)? • Associative Objects Track Object list<TrackAssociatedObjects> Hit Object TrackAssociatedHitObject ACAT 2000, Fermilab, 19 October 2000

  12. StoreGate DataStore updates indexes owns refers to DataHandle DataProxy DataObject DBProxy RecProxy Data Proxies • If Data Object is not in TDS, the DataProxy can perform multiple functions: • get DataObject from the Database • initiate a reconstruction on-demand • DataProxy’s specified at run time (per Data Object) • Can enforce Access control policy through DataProxy’s ACAT 2000, Fermilab, 19 October 2000

  13. Conclusion • We have tried to take the best of the existing EDM’s : • DØ, CDF, BaBar, CLEO, LHCb • An implementation with minimal functionality is at hand. • Complete implementation in ~ year. ACAT 2000, Fermilab, 19 October 2000

More Related