raw event conversion service in boss framework

18
Raw Event Conversion Service in BOSS framework Zhangxiaomei 2004.4.7

Upload: aurek

Post on 07-Jan-2016

31 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: Raw Event Conversion Service in BOSS framework

Raw Event Conversion Service in BOSS framework

Zhangxiaomei

2004.4.7

Page 2: Raw Event Conversion Service in BOSS framework

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

Page 3: Raw Event Conversion Service in BOSS framework

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, …)

Page 4: Raw Event Conversion Service in BOSS framework

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.

Page 5: Raw Event Conversion Service in BOSS framework

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.

Page 6: Raw Event Conversion Service in BOSS framework

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

Page 7: Raw Event Conversion Service in BOSS framework

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

Page 8: Raw Event Conversion Service in BOSS framework

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.

Page 9: Raw Event Conversion Service in BOSS framework

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

Page 10: Raw Event Conversion Service in BOSS framework

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

Page 11: Raw Event Conversion Service in BOSS framework

The sequence in accessing the event source

InputIteratorEventSelector OpaqueAddress EventSource

newnextEvent

nextEvent

nextEventEVENT

new

access

setEvent Return reference

Converter

files

Page 12: Raw Event Conversion Service in BOSS framework

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

Page 13: Raw Event Conversion Service in BOSS framework

Using tables to do the mapping between REId and TEId

TEID REIDREIDINDEX

TEIDINDEX

RE2TE TE2RE

Page 14: Raw Event Conversion Service in BOSS framework

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

Page 15: Raw Event Conversion Service in BOSS framework

Raw Event Structure in TDS

Event Header

m dcDig i

em cDig i

to fDig i

m uonDigi

Event Di gi

Event

Page 16: Raw Event Conversion Service in BOSS framework

The Digi Data Object class

MdcDigi:

Identifier getID( );

Int getData( );

EmcDigi:

TofDigi:

MuonDigi:

Page 17: Raw Event Conversion Service in BOSS framework

Classes in eformat

FullEventFragment

FullEventHeader

SubdetectorFragment

SubdetectorHeader

FileStorage

RawMemoryStorage

GzFileStorage

Storage

Data Collection

Page 18: Raw Event Conversion Service in BOSS framework

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