Event Data Definition in LHCb

Slides:



Advertisements
Similar presentations
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Advertisements

DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Seal Dictionary Applications Area Internal Review 20 October 2003 Stefan Roiser / CERN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
ILDG File Format Chip Watson, for Middleware & MetaData Working Groups.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Portability CPSC 315 – Programming Studio Spring 2008 Material from The Practice of Programming, by Pike and Kernighan.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
UML class diagrams and XML schemas Karl Lieberherr UBS AG Northeastern University.
CS 174: Web Programming April 16 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Games Development 2 Entity / Architecture Review CO3301 Week
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Pemrograman Berbasis WEB XML part 2 -Aurelio Rahmadian- Sumber: w3cschools.com.
XML Anisha K J Jerrin Thomas. Outline  Introduction  Structure of an XML Page  Well-formed & Valid XML Documents  DTD – Elements, Attributes, Entities.
Lecture 6 of Advanced Databases XML Schema, Querying & Transformation Instructor: Mr.Ahmed Al Astal.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
XML & Mediators Thitima Sirikangwalkul Wai Sum Mong April 10, 2003.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
What it is and how it works
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
SEAL Project Core Libraries and Services 18 December 2002 P. Mato / CERN Shared Environment for Applications at LHC.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
XML eXtensible Markup Language. XML A method of defining a format for exchanging documents and data. –Allows one to define a dialect of XML –A library.
- Athena Data Dictionary (28nov00 - SW CERN) Athena Data Dictionary Craig E. Tull HCG/NERSC/LBNL Software CERN November 28,
CHEP /21/03 Detector Description Framework in LHCb Sébastien Ponce CERN.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Event Data Definition in LHCb Marco Cattaneo Markus Frank Silvia Miksch Gloria Corti Pere Mato Vila Stefan Roiser.
Martin Kruliš by Martin Kruliš (v1.1)1.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Project Work Plan SEAL: Core Libraries and Services 7 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Marco Cattaneo, 3-June Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
Marco Cattaneo, 20-May Event Reconstruction for LHCb  What is the scope of the project?  What are the goals (short+medium term)?  How do we organise.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Extensible Markup Language (XML) Pat Morin COMP 2405.
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
The Object-Oriented Thought Process Chapter 11
XML QUESTIONS AND ANSWERS
A C++ generic model for the GLAST Geometric Description
CPSC 315 – Programming Studio Spring 2012
POOL persistency framework for LHC
XML in Web Technologies
Array Array is a variable which holds multiple values (elements) of similar data types. All the values are having their own index with an array. Index.
Abstract descriptions of systems whose requirements are being analysed
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
SQL – Application Persistence Design Patterns
Markup Languages Gilok Choi 9/17/2018
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
Portability CPSC 315 – Programming Studio
Towards Automatic Model Synchronization from Model Transformation
Various News From Detector Description
Detector Description in LHCb
Software Design Lecture : 14.
Presented by: Jacky Ma Date: 11 Dec 2001
CSE591: Data Mining by H. Liu
SEAL Project Core Libraries and Services
SQL – Application Persistence Design Patterns
Games Development 2 Entity / Architecture Review
TieFlow Workflow Toolkit Process Definition XML
Presentation transcript:

Event Data Definition in LHCb Marco Cattaneo Markus Frank Silvia Miksch Gloria Corti Pere Mato Vila Stefan Roiser

Content The problem Description of the data-model Example Benefits / Drawbacks Current Status / Prospects Migration to LCG software Conclusion Mar. 24th, 2003 Stefan Roiser

The Problem Long lifetime of experiment (> 10 years) Change of programming-paradigms Change of implementation-language Storing large amounts of data Uniform way of handling objects Many sub-detectors define bits of event-model Coherency is an important issue Avoid different look and feel Mar. 24th, 2003 Stefan Roiser

Gaudi Object Description (GOD) The Goals Definition of objects on a higher level Easy language for defining objects Ability to derive several implementations from this source Uniform layout of objects Easily extensible Gaudi Object Description (GOD) Mar. 24th, 2003 Stefan Roiser

Overall View of Gaudi Object Description LHCb rules internal model specific C++ mapping rules C++ Dictionary XSLT java C++ headers dictionary headers html docu java classes doxygen make .so docu dictionary library Mar. 24th, 2003 Stefan Roiser

Object Definition Languages ASCII-text simple to write but parsing difficult IDL interface-language, not flexible enough UML description-language also not flexible XML strong syntax (DTD, XML Schema) still flexible and easily extendable Mar. 24th, 2003 Stefan Roiser

Example <class name=“MCParticle” id=“210” location=“MC/Particles” author=“Gloria Corti” desc=“The MC particle kinematics information”> <base name=“KeyedObject<int>”/> <attribute name=“momentum” type=“HepLorentzVector” init=“0.0,0.0,0.0,0.0” desc=“4-momentum-vector”/> <relation name=“endVertices” type=“MCVertex” mulitplicity=“M” desc=“Vector of Pointers to decay vertices”/> <method name=“virtualMass” type=“double” const=“TRUE” desc=“Retrieve virtual mass”/> <code> return m_momentum.m(); </code> </method> </class> Mar. 24th, 2003 Stefan Roiser

C++ Code Generation Unknown types looked up in database and included Generation of setters/getters for attributes Depending on multiplicity handling of relations only setter/getter for 1-1 relation additional addTo/removeFrom/clear vector for 1-M relations Use of smart-pointers for relations Generation of class-id Documentation in doxygen-style Generation of serializers/deserializers Handling plurals … Mar. 24th, 2003 Stefan Roiser

Example (cont’d) Mar. 24th, 2003 Stefan Roiser

.h-files + dictionary-files Ratio* .h-files + dictionary-files (67.694 loc) 1:12,5 dictionary-files (44.591 loc) 1:8,2 .h-files (23.373 loc) 1:4,3 .h-files (23.373 loc) 1:4,3 xml-source (5.427 loc) *(LHCb Event-model taken from LHCb-project v11r9) Mar. 24th, 2003 Stefan Roiser

Benefits & Drawbacks XML XML Automatic Documentation Strong syntax (DTD) Still flexible for expansion (new elements/attributes) Use of default-values Simple (13 elements, ~4 attributes/element) Automatic Documentation Obeys coding-conventions Object-introspection Other backends possible No change of source-code XML verbose language escape sequences (eg. “<”) Mar. 24th, 2003 Stefan Roiser

Reflection Reflection is the ability to obtain information about an object at runtime and interact with it query it’s layout get/set values invoke functions Can be used in: Persistency Interactive environments Reflection-information of event-objects is generated from the same xml-source Development started in LHCb, now LCG/SEAL Mar. 24th, 2003 Stefan Roiser

Reflection Model Item Class Field Method PropertyList Array Modifiers declaringClass propertyList superclasses Class Field Method PropertyList Array type fields returnType Modifiers argumentTypes methods Mar. 24th, 2003 Stefan Roiser

Current Status and Prospects Gaudi Object Description proved to be usable and stable Used for 24 iterations of the LHCb-event-model (since Dec. 2001) Features seem to be sufficient for doing LHCb physics Adaptations maybe needed for future iterations of the event-model Review of LHCb-event-model scheduled for this autumn Mar. 24th, 2003 Stefan Roiser

Migration to LCG Software LCG/SEAL Dictionary-information-generation will be adapted to work with SEAL-Reflection Python binding to LCG-Reflection LCG/POOL Dictionary and meta-information about objects will be used for persistency No more need for generated serializers/deserializers Mar. 24th, 2003 Stefan Roiser

Conclusions Gaudi Object Description has been in production for more than a year Accepted by physicists Model proved to be useable XML as underlying language was a good choice Model is flexible enough for short-term adaptations Good input/output ratio Even more advantages on long-term Integration with LCG software We don’t expect major difficulties Mar. 24th, 2003 Stefan Roiser