Raw Event Conversion Service in BOSS framework

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Computer Architecture
SYMBOL TABLES &CODE GENERATION FOR EXECUTABLES. SYMBOL TABLES Compilers that produce an executable (or the representation of an executable in object module.
Application Graphic design / svetagraphics.com 01 FRAMEWORK data service.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
15 March, 2000LHCb Computing1 Software Review Panel LHCb Answers to Architecture, Data Model and Program Infrastructure Pere Mato for the LHCb Collaboration.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
Architecture & Data Management of XML-Based Digital Video Library System Jacky C.K. Ma Michael R. Lyu.
An introduction to systems programming
Calibration Infrastructure & Gaudi Design and Status.
 A data processing system is a combination of machines and people that for a set of inputs produces a defined set of outputs. The inputs and outputs.
1 Client API Goals: evolvable, easy to use Design decision: –event-driven, non-blocking programming model –Data items are immutable Main data structure:
Gaudi Framework Tutorial, April Introduction.
A Simple Two-Pass Assembler
LHCb Software week November, 1999 M.Frank LHCb/CERN N-Tuples within Gaudi ã Definition ã Usage ä Run through simplified example ã The persistent.
M.Frank LHCb/CERN - In behalf of the LHCb GAUDI team Data Persistency Solution for LHCb ã Motivation ã Data access ã Generic model ã Experience & Conclusions.
3 Sept 2001F HARRIS CHEP, Beijing 1 Moving the LHCb Monte Carlo production system to the GRID D.Galli,U.Marconi,V.Vagnoni INFN Bologna N Brook Bristol.
Event Data History David Adams BNL Atlas Software Week December 2001.
GLAST Gaudi Code Review, 10 Sept. 2002, H. Kelly, 2-1 GLAST Event Data Model and Persistency.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER 1 ACAT 2000, Fermilab Oct Control States... Control States for the Atlas Software Framework.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
Introduction to Gaudi LHCb software tutorial - September
Use of Gaudi in Reconstruction Weidong Li 23/06/2004.
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett Interval of Validity Service IOVSvc ATLAS Software Week May Architecture.
Alternative Architecture for Information in Digital Libraries Onno W. Purbo
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
Claudio Grandi INFN-Bologna CHEP 2000Abstract B 029 Object Oriented simulation of the Level 1 Trigger system of a CMS muon chamber Claudio Grandi INFN-Bologna.
Object storage and object interoperability
General requirements for BES III offline & EF selection software Weidong Li.
CERN Tutorial, February Introduction to Gaudi.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Athena StoreGate Tutorial: May 30, Objectives Learn how to access data objects using StoreGate How to record/retrieve by TYPE Optionally using keys.
CC410: System Programming Dr. Manal Helal – Fall 2014 – Lecture 10 – Loaders.
David Adams ATLAS Hybrid Event Store Integration with Athena/StoreGate David Adams BNL March 5, 2002 ATLAS Software Week Event Data Model and Detector.
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
Cliquez pour modifier le style du titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième.
Root I/O and the Gaudi Framework
Moving the LHCb Monte Carlo production system to the GRID
Chapter 12: File System Implementation
GLAST Gaudi Review T. Burnett H.Kelly 10 Sept 02 Gaudi code review
BYTE AND STRING MANIPULATON
Chapter 4 The Von Neumann Model
Introduction to Gaudi LHCb software tutorial - December 2010.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Programming Models for Distributed Application
File service architecture
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
SDMX Reference Infrastructure Introduction
Tag based analysis Ziyan DENG.
Data Persistency Solution for LHCb
Detector Description in LHCb
Chapter 10 IGMP Prof. Choong Seon HONG.
Objectives In this lesson you will learn about: Need for servlets
A Simple Two-Pass Assembler
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
GAUSS - GEANT4 based simulation for LHCb
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Chapter 15: File System Internals
The Stored Program Computer
The status of raw data Zhangxiaomei
An introduction to systems programming
Use Of GAUDI framework in Online Environment
Accessing Event Data Schedule: Timing Topic 20 minutes Lecture
Calibration Infrastructure Design
Chapter 4 The Von Neumann Model
Presentation transcript:

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 Algorithm (like modules in belle) 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;EventData Service Converter Provides conversion from/to persistent data format to/from transient data format.

Gaudi Object Diagram Converter Application Manager Converter 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 Application Manager is the most import component in framework, who bootstrap and control 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. Event Selector is used for event selection, it knows which is the next event. Message Service outputs the message info. JobOptions service is to supply options for clients during running time, such as algorithm executing sequence, etc. EventData Service manages the transient data store, including retrieves and registers data objects to the transient data store. 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 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 Unsuccessful if requested object is not present Data Store Data Service (2) Search in Store Algorithm (3) Request load Persistency Service (1) Retrieve object Converter (4) Request creation Conversion Service Request dispatcher Objy, ROOT,.. (5) Register Understanding Data Stores: Loading Whenever client requests an object from the data service the following sequence is invoked: The data service searches in the data store whether the transient representation of the requested objects already exists. If the object exists, a reference is returned and the sequence ends here. Otherwise the request is forwarded to the persistency service. The persistency service dispatches the request to the appropriate conversion service capable of handling the specified storage technology. The selected conversion service uses a set of data converters - each capable of creating the transient representation of the specified object type from its persistent data. The data converter accesses the persistent data store, creates the transient object and returns it to the conversion service. The conversion service registers the object with the data store, the sequence completes and the object is returned to the client. Once registered with the corresponding data store, the object knows about its hosting service.

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—ByteStreamTDS 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

The sequence in accessing the event source InputIterator EventSource EventSelector OpaqueAddress nextEvent new nextEvent nextEvent new EVENT access files setEvent Return reference Converter

Transient Event Identifier and Raw Event Identifier Encodings 13 bits E/w theta phi Raw Event ID 32 bits Emc flag null E/w/B/C theta phi Transient Event ID

Using tables to do the mapping between REId and TEId INDEX TEID INDEX TE2RE RE2TE

Transient data objects and Raw Event Digits transformation Data files Raw Event digit MdcREBuilder Builder MdcTEBuilder Transient data Object Identifier( ); Data( ); rec TE to RE Identifier RE to TE

Raw Event Structure in TDS

The Digi Data Object class MdcDigi: Identifier getID( ); Int getData( ); EmcDigi: TofDigi: MuonDigi:

Classes in eformat FullEventHeader FileStorage FullEventFragment RawMemoryStorage Storage SubdetectorFragment GzFileStorage SubdetectorHeader Data Collection

Function in eformat: bytestream packing and unpacking data SubdetectorFragment Subdetector header Fullevent header FulleventFragment Storage (1)Get an event (2)Separate into two parts (3)Separate into two parts again Unpacking packing