180 likes | 313 Views
Raw Event Conversion Service in BOSS framework. Zhangxiaomei 2004.4.7. Content. brief introduction of Boss framework which is completely based on Gaudi Gaudi main terms The relationship among them (Gaudi object diagram) Raw Event Conversion Service Conversion Service and Converters
E N D
Raw Event Conversion ServiceinBOSS framework Zhangxiaomei 2004.4.7
Content • brief introduction of Boss framework which is completely based on Gaudi • Gaudi main terms • The relationship among them (Gaudi object diagram) • Raw Event Conversion Service • Conversion Service and Converters • The conversion process • The design of Raw Event Conversion Service
Gaudi main terms • Application Manager • steering the data processing, such as creating and maintaining the required services and algorithms, implementing the event loop with event selector, executing the algorithms in sequences. • Algorithm (like modules in belle) • Atomic data processing unit • Data Object and Transient Data Store(based on object-oriented data management system) • Atomic data unit (visible and managed by transient data store) • repository for data objects (concerned about data organiztion, life cycle, data indentification, …)
Gaudi main terms • Services • Globally available software components providing specific functionality • four frequently used service provided by framework: Event Selector;Message Service;JobOptions Service;EventDataService • Converter • Provides conversion from/to persistent data format to/from transient data format.
Gaudi Object Diagram Converter Converter Application Manager Converter Event Selector 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 This object diagram shows the relationship among objects during gaudi framework running time.
Raw Event conversion service Raw Event data object in TDS • The purpose of this service: • Two packages which are involved in this function are EFTDREventCnv and eformat. ByteStream in files or other sources
Data Service (3) Request load (2) Search in Store PersistencyService Request dispatcherObjy, ROOT,.. (5) Register Conversion Service (4) Request creation Data Store Converter Converter Converter Converter Data accessing and conversion service Unsuccessful ifrequested object is not present Algorithm (1) Retrieve object
Main class in RawEvent Conversion Service IConverter clID( ); createObj( ); createRep( ); IConversionSvc EventCnv EventDigiCnv EFTDREventCnvSvc mdcDigiCnv MuonDigiCnv EmcDigiCnv TofDigiCnv IOpaueAddress clID( ) EFTDREventAddress One Converter object with one OpaqueAddress object, only Converters know how to decode his opaque Address Pass around the transient data service,the persistency service and the conversion service, so is used to carry some parameters.
The sequence in the conversion process—ByteStreamTDS converter DB/File ConversionSvc OpaqueAddress clID( ) createObj id createObj new Data object access encoding builder Data to build data object Return reference to dataobject
classes used in accessing data sources To build TDS data object EFTDREventCnv package EventSelector SubdetectorFragment new EventIterator EVENT FullEventFragment unpack access EFTDREventInputIterator Data files eformat package fill access EFTDREventInputIteratorImpl access access FileStorage EventSource
Converter The sequence in accessing the event source InputIterator EventSource EventSelector OpaqueAddress nextEvent new nextEvent nextEvent new EVENT access files setEvent Return reference
theta phi E/w Emc flag theta null E/w/B/C phi Transient Event Identifier and Raw Event Identifier Encodings 13 bits Raw Event ID 32 bits Transient Event ID
Using tables to do the mapping between REId and TEId REID INDEX TEID INDEX TE2RE RE2TE
Builder MdcTEBuilder Transient data objects and Raw Event Digits transformation Data files Raw Event digit MdcREBuilder Transient data Object Identifier( ); Data( ); rec TE to RE Identifier RE to TE
MuonDigi: TofDigi: EmcDigi: MdcDigi: Identifier getID( ); Int getData( ); The Digi Data Object class
Classes in eformat FullEventHeader FileStorage FullEventFragment RawMemoryStorage Storage SubdetectorFragment GzFileStorage SubdetectorHeader Data Collection
Fullevent header Subdetector header data SubdetectorFragment (3)Separate into two parts again (2)Separate into two parts (1)Get an event Storage FulleventFragment Unpacking packing Function in eformat:bytestream packing and unpacking