AIDA Tuple Service Manuel Domenech Wednesday 26-10-2005.

Slides:



Advertisements
Similar presentations
Demonstration Speech Goal: To convey clear instructions to enable a person to effectively complete a task Opener Introduction Benefits Task Breakdown Use.
Advertisements

Inheritance and object compatibility Object type compatibility An instance of a subclass can be used instead of an instance of the superclass, but not.
Voyager Interest Group Voyager Access Reports: what they are and how they work October 29, 2008.
Chapter 10 ADO. What is ADO? ADO is a Microsoft technology ADO stands for ActiveX Data Objects ADO is a programming interface to access data in a database.
David Adams ATLAS DIAL Distributed Interactive Analysis of Large datasets David Adams BNL March 25, 2003 CHEP 2003 Data Analysis Environment and Visualization.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
F DIGITAL MEDIA: COMMUNICATION AND DESIGN INTRODUCTION TO XML AND XHTML.
ObjectStore Martin Wasiak. ObjectStore Overview Object-oriented database system Can use normal C++ code to access tuples Easily add persistence to existing.
Calibration Infrastructure & Gaudi Design and Status.
Informs Seminar Texas A&M Spring 2008 Brandon Pope Anurag Verma Some Material in this Presentation was created by Heungjo An (Thank you) Create Your Website.
Microsoft Access – Tutorial 1 if you need to review general Microsoft Office procedures such as: menus toolbars task panes files help printing please go.
Course Topics Administering SQL Server 2012 Jump Start 01 | Install and Configure SQL Server04 | Manage Data 02 | Maintain Instances and Databases05 |
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
CHAPTER 9 DATABASE MANAGEMENT © Prepared By: Razif Razali.
Introduction to Data Structures. About the document. The document is prepared by Prof. Shannon Bradshaw at Drew University. The key concepts in data structure.
Project Agenda Project Introduction Project Developing for Microsoft the new Project Easy to acquire, try and validated by Microsoft! I like it – exactly.
© Paradigm Publishing Inc. 9-1 Chapter 9 Database and Information Management.
Microsoft Excel 2003 Illustrated Complete And Editing Worksheets Building.
LHCb Software week November, 1999 M.Frank LHCb/CERN N-Tuples within Gaudi ã Definition ã Usage ä Run through simplified example ã The persistent.
Microsoft Access – Tutorial 1 if you need to review general Microsoft Office procedures such as: menus toolbars task panes files help printing please go.
MICROSOFT ACCESS Database Applications. Database Management System A database is a collection of organized data whose elements are in some way related.
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Overview of Data Access MacDonald Ch. 15 MIS 324 Professor Sandvig.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 4 Communication.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
G.Barrand, LAL-Orsay OpenScientist Status (v11) Relationship with AIDA
Trees! =) Write up-add tree which behaves in this manner: 1 31 / \ / \ 3 5  21 9 / | \ \ / | \ \
Andrew S. Budarevsky Adaptive Application Data Management Overview.
Nika Kasradze INF240 Project 1: Personal website.
Module 7: Accessing Data by Using ADO.NET
GLAST Gaudi Code Review, 10 Sept. 2002, H. Kelly, 2-1 GLAST Event Data Model and Persistency.
Data Driven Designs 99% of enterprise applications operate on database data or at least interface databases. Most common DBMS are Microsoft SQL Server,
Introduction to Morpho BEAM Workshop Samantha Romanello Long Term Ecological Research University of New Mexico.
HTML ( HYPER TEXT MARK UP LANGUAGE ). What is HTML HTML describes the content and format of web pages using tags. Ex. Title Tag: A title It’s the job.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
Lesson 01: Introduction to Database Software. At the end of this lesson, students should be able to: State the usage of database software. Start a database.
Jose A. Hernando Trigger Gaudies Reconstruction Tools & Algorithms Inspectors MC & Data Algorithms Template preserved container Jose A. Hernando.
Connect. Communicate. Collaborate PerfsonarUI plug-in tutorial Nina Jeliazkova ISTF, Bulgaria.
ADAPTING YOUR ETL SOLUTION TO USE SSIS 2012 Presentation by Devin Knight
Homework due Test the random number generator Create a 1D array of n ints Fill the array with random numbers between 0 and 100 Compute and report the average.
GRIN-Global Public Interface Presentation to the TSG Wednesday, August 12, 2009.
MICE Configuration DB Janusz Martyniak, Imperial College London MICE CM39 Software Paralell.
Saturday, January 23, 2016 Towards an easy use of CIRCABC Communication and Information Resource Centre for Administrations, Businesses and Citizens By.
RSS Interfaces and Standards Chander Iyer. Really Simple Syndication (RSS) Web data format providing users with frequently updated content. Make a collection.
The Lisbon Team - 8 December 2003The Lisbon team - 25 November 2003 ConditionsDB – Lisbon API Wide access to CondDB data and schema LCG Conditions DB Workshop.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
ENEE150 – 0102 ANDREW GOFFIN More With Pointers. Importance of Pointers Dynamic Memory (relevant with malloc) Passing By Reference Pointer Arithmetic.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
Singleton Academy, Pune. Course syllabus Singleton Academy Pune – Course Syllabus1.
DATA MANAGEMENT 1) File StructureFile Structure 2) Physical OrganisationPhysical Organisation 3) Logical OrganisationLogical Organisation 4) File OrganisationFile.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Proposal for extension of GaudiAlgorithm and GaudiTool classes Vanya Belyaev CERN & ITEP/Moscow.
ACCESS CHAPTER 2 Introduction to ACCESS Learning Objectives: Understand ACCESS icons. Use ACCESS objects, including tables, queries, forms, and reports.
D. Duellmann, IT-DB POOL Status1 POOL Persistency Framework - Status after a first year of development Dirk Düllmann, IT-DB.
Gaudi Framework Tutorial, April Histograms And N-tuples.
ATLAS Physics Analysis Framework James R. Catmore Lancaster University.
Generating XML Data from a Database Eugenia Fernandez IUPUI.
Gaudi Framework Tutorial, April Histograms And N-tuples.
Mobile Application Development Data Storage. Android provides several options for you to save persistent application data. The solution you choose depends.
Project Management: Messages
Y.-H. Chen International College Ming-Chuan University Fall, 2004
Performing Mail Merges
BASIC PHP and MYSQL Edward S. Flores.
Microsoft Excel 2003 Illustrated Complete
Chapter 10 ADO.
Introduction to Access
Establish, configure and maintain a website/system
Presentation transcript:

AIDA Tuple Service Manuel Domenech Wednesday

Main idea  Substitute for the current NTuple Service  Follows the AIDA specification  Easy to maintain:  Few code in GaudiSvc package  Main part outside (PI project)  Well documented

Contents of AIDATupleSvc (I)  AIDATupleSvc.h /.cpp  Inherits from DataSvc  Common tasks (connect, book, find, register, unregister…)  Interface to PI Stores  Support for ROOT, POOL, HBOOK and XML persistency  POOL persistency the most interesting for Gaudi

Contents of AIDATupleSvc (II)  AIDATuple.h /.cpp  Inherits from DataObject to make it storable  Holds a normal pi_aida::Tuple and a pi_aida::Filter  Can store:  Basic data types  User-defined objects (Dictionary needed)  POOL Tokens (POOL persistency)  IOpaqueAddresses (Event Tag Collections)

Contents of AIDATupleSvc (III)  AIDAEvtCollSelector.h /.cpp  Choosing names is not my best  Inherits from IEvtSelector  Still not ready (hopefully this Friday)  Access to original events from IOpaqueAddress stored in normal tuples

How to use it (Overview)  Examples in the GaudiExamples package  AIDATuple folder  First versions: basic usage  AIDATupleAlgorithRead and AIDATupleAlgorithWrite  Last version: simple write/read and event write/read  AIDASimpleWrite and AIDASimpleRead  AIDAEventWrite and AIDAEventRead

How to use it (Writing I)  Declaring an AIDATuple  Include GaudiKernel/IAIDATuple.h  IAIDATuple* m_tuple  Booking an AIDATuple  Through the atupleSvc(): atupleSvc()->book(PATH, TITLE, STRUCTURE)  Structure as std::string std::string columns = “float px; float py; float mass”

How to use it (Writing II)  Filling the tuple  Basic types and IOpaqueAddress: “fill” method m_tuple->fill(COLUMN_INDEX, DATA)  Objects: “setAddress” method  Build a new object  Bind the address to the column Object* myObject = new Object() m_tuple->setAddress(COLUMN_NAME, &myObject)  After filling a row, commit changes m_tuple->addRow()

How to use it (Reading I)  Retrieving and registering an existing tuple  Through the atupleSvc(): atupleSvc()->retrieveObject(FULLPATH, m_tuple) atupleSvc()->registerObject(STORE, TUPLE, m_tuple)  Initialize the tuple m_tuple->start()  Reading an AIDATuple  Sequential access while(m_tuple->next()…  Basic types and IOpaqueAddress: “getTYPE” method  Objects: “setAddress” method  Empty pointer to the object  Bind the address to the column

How to use it (Reading II)  Filtering data  Server side: “setCriteria” method  Client side: “setFilter” method  Both before call “start()” method  Cut criteria passed as std::string m_tuple->setCriteria(“mass > 1”) or m_tuple->setFilter(“mass > 1”) m_tuple->start()

Last minute problems  PI project discontinued  PI moved inside GAUDI (GaudiPi package soon avaliable)  Someone responsible to maintain this code

Thanks for your attention… … and for not making compromising questions about the new service