Raw Event Conversion Service in BOSS framework

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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 • The conversion process• The design of Raw Event Conversion Service

Gaudi main terms

– Application Manager • steering the data processing, such as creating and maintaining t

he 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;EventData Service

– Converter• Provides conversion from/to persistent data format to/f

rom transient data format.

Transient Event Store

Gaudi Object Diagram

Converter

Algorithm

Event DataService

PersistencyService

DataFiles

AlgorithmAlgorithm

Detec. DataService

PersistencyService

DataFiles

Transient Detector

Store

MessageService

JobOptionsService

Particle Prop.Service

OtherServices Histogram

ServicePersistency

ServiceDataFiles

TransientHistogram

Store

ApplicationManager

ConverterConverterEventSelector

This object diagram shows the relationship among objects during gaudi framework running time.

Raw Event conversion service• The purpose of this service:

• Two packages which are involved in this function are EFTDREventCnv and eformat.

Raw Event data object in TDS

ByteStream in files or other sources

Data accessing and conversion service

Algorithm

(1) Retrieve object

Unsuccessful ifrequested object is

not present

(3) Request load

PersistencyService

ConverterConverterConverterConverter

(4) Request creation

ConversionService

Request dispatcher

Objy, ROOT,..

Data Store

DataService

(2) Search in Store

(5) Register

Main class in RawEvent Conversion Service

EFTDREventCnvSvc

IConversionSvcEventCnv

EventDigiCnv

EFTDREventAddressIOpaueAddress

clID( )

IConverterclID( );createObj( );createRep( );

One Converter object with one OpaqueAddress object, only Converters know how to decode his opaque Address

mdcDigiCnv

EmcDigiCnv

TofDigiCnv

MuonDigiCnv

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

converterConversionSvc OpaqueAddress DB/File

clID( )

createObjid createObj

Data objectnew

Data to build data object

Return reference to dataobject

builder

encoding

access

classes used in accessing data sources

EventSelector

EventIterator

EventSource

FullEventFragment

SubdetectorFragment

EFTDREventInputIterator

EFTDREventInputIteratorImpl

FileStorage

Data files

EVENT

EFTDREventCnvpackage

eformatpackage

new

fill

To build TDS data object

access

access

accessaccess

unpack

The sequence in accessing the event source

InputIteratorEventSelector OpaqueAddress EventSource

newnextEvent

nextEvent

nextEventEVENT

new

access

setEvent Return reference

Converter

files

Transient Event Identifier and Raw Event Identifier Encodings

E/w theta phi

Emc flag null E/w/B/C theta phi

Raw Event ID

Transient Event ID

13 bits

32 bits

Using tables to do the mapping between REId and TEId

TEID REIDREIDINDEX

TEIDINDEX

RE2TE TE2RE

Transient data objects and Raw Event Digits transformation

Builder

MdcTEBuilder

MdcREBuilderRaw Event digit

Transient data ObjectIdentifier( );Data( );

Identifier

rec

Data files

TE to RE

RE to TE

Raw Event Structure in TDS

Event Header

m dcDig i

em cDig i

to fDig i

m uonDigi

Event Di gi

Event

The Digi Data Object class

MdcDigi:

Identifier getID( );

Int getData( );

EmcDigi:

TofDigi:

MuonDigi:

Classes in eformat

FullEventFragment

FullEventHeader

SubdetectorFragment

SubdetectorHeader

FileStorage

RawMemoryStorage

GzFileStorage

Storage

Data Collection

Function in eformat:

bytestream packing and unpacking

data SubdetectorFragment

Subdetector header

Fulleventheader

FulleventFragment Storage

(1)Get an event

(2)Separate into two parts

(3)Separate into two parts again

Unpacking

packing

Recommended