V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also:

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Steps Towards C++/OO Offline Software in STAR Valery Fine, Yuri Fisyak, Pavel Nevski, Victor Perevoztchikov, Torre Wenaus Brookhaven National Laboratory.
Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
25 th March 2003 V.Fine, H.Ma CHEP 2003, San Diego 1 Root Based Persistency in Athena (ATLAS) by Valeri Fine and Hong Ma.
Pavel Nevski STAR simulations and ROOT GSTAR root interface.
Introduction To System Analysis and Design
ACAT 2002, Moscow June 28, 2002 V.Fine Brookhaven National Laboratory Session IV: Innovative (Algorithms and) Tools V.Fine, BNL, USA & JINR, Dubna.
File Systems and Databases
1 Introduction The Database Environment. 2 Web Links Google General Database Search Database News Access Forums Google Database Books O’Reilly Books Oracle.
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
X.Dong, USTC/LBNL Feb. 20th, 04, STAR Collaboration Meeting 1 TOF Software Progress Xin Dong, for TOF Group  TOF detectors in Run IV  Online software.
August 98 1 Jürgen Knobloch ATLAS Software Workshop Ann Arbor ATLAS Computing Planning ATLAS Software Workshop August 1998 Jürgen Knobloch Slides also.
Introduction To System Analysis and design
Week 1 Lecture MSCD 600 Database Architecture Samuel ConnSamuel Conn, Asst. Professor Suggestions for using the Lecture Slides.
Click to edit Master title style 21 st Nov, 2003 Valeri Fine (BNL) ROOT and ROOT4STAR framework V. Fine or Software for “C++ speaking” people.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
STAR C OMPUTING Maker and I/O Model in STAR Victor Perevoztchikov.
Introduzione al Software di CMS N. Amapane. Nicola AmapaneTorino, Aprile Outline CMS Software projects The framework: overview Finding more.
Visualization of the ROOT 3D class objects with Open Inventor-like viewers V. Fine (BNL) A. Kulikov (JINR Dubna) M. Panebrattsev (Dubna University) A.
ALCPG Software Tools Jeremy McCormick, SLAC LCWS 2012, UT Arlington October 23, 2012.
Architecture for a Database System
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Learning to Use Root for STAR Gene Van Buren (UCLA) for the STAR Collaboration Accessing STAR Data Programming for STAR (Makers) Star => Computing => Tutorials.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
The european ITM Task Force data structure F. Imbeaux.
5 May 98 1 Jürgen Knobloch Computing Planning for ATLAS ATLAS Software Week 5 May 1998 Jürgen Knobloch Slides also on:
ALICE Simulation Framework Ivana Hrivnacova 1 and Andreas Morsch 2 1 NPI ASCR, Rez, Czech Republic 2 CERN, Geneva, Switzerland For the ALICE Collaboration.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
19 November 98 1 Jürgen Knobloch ATLAS Computing ATLAS Computing - issues for 1999 Jürgen Knobloch Slides also on:
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
The ALICE Simulation Strategy Andreas Morsch For the ALICE Offline Group Joint STAR/ALICE Offline Meeting Brookhaven National Laboratory, Upton, NY April.
ROOT I/O for SQL databases Sergey Linev, GSI, Germany.
Virtual Monte Carlo and new geometry description in STAR Maxim Potekhin STAR Collaboration Meeting, BNL July 17, 2004 July 17, 2004.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 Software tools for GLC studies Akiya Miyamoto KEK 20 April, 2004 Representing ACFA-Sim Group
STAR Event data storage and management in STAR V. Perevoztchikov Brookhaven National Laboratory,USA.
1 N. BrunerUniv. of New Mexico MuTr Software  Online  Calibration  Offline.
The Object Model to Construct the Mixed “Open Inventor” / ROOT 3D scenes by Valeri Fine, Jerome Lauret STAR Brookhaven National Laboratory.
LM Feb SSD status and Plans for Year 5 Lilian Martin - SUBATECH STAR Collaboration Meeting BNL - February 2005.
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.
V.Fine for STAR collaboration The STAR offline framework and 3D visualization V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 9: Design Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
The MEG Offline Project General Architecture Offline Organization Responsibilities Milestones PSI 2/7/2004Corrado Gatto INFN.
Star Database Tutorial Package Design & Objectivity Discussion Interface Questions – What do you want? -> making requests – What do you get? -> data container.
October 10-12, 1 AliRoot: I/O organisation ROOT in the ALICE experiment I/O Structure Run-Time Data-Exchange.
V.Fine for STAR collaboration The STAR offline framework V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.
G.Govi CERN/IT-DB 1GridPP7 June30 - July 2, 2003 Data Storage with the POOL persistency framework Motivation Strategy Storage model Storage operation Summary.
STAR Persistent Pointers in the STAR Micro-DST V. Perevoztchikov Brookhaven National Laboratory,USA.
StEvent I/O Model And Writing a Maker Or How to Add a New Detector Akio Ogawa BNL 2003 Nov Dubna.
Big picture: What’re the sub-topics of the software framework? What’s the relationship of them? How to arrange data pipe? 1.
Pavel Nevski STAR simulations GSTAR framework OO geometry/event model NOVA components.
VI/ CERN Dec 4 CMS Software Architecture vs Hybrid Store Vincenzo Innocente CMS Week CERN, Dec
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
Outline: - Building the reconstruction software template - Data flow example - What’s next? - Example “results” PHENIX Upgrade Detectors: Reconstruction.
1 SLAC simulation workshop, May 2003 Ties Behnke Mokka and LCDG4 Ties Behnke, DESY and SLAC MOKKA: european (france) developed GEANT4 based simulation.
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
1 GlueX Software Oct. 21, 2004 D. Lawrence, JLab.
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
JUNO Offline Geometry Management
A C++ generic model for the GLAST Geometric Description
OO-Design in PHENIX PHENIX, a BIG Collaboration A Liberal Data Model
The Database Environment
V.Fine, P.Nevski, BNL GSTAR framework OO geometry model event access
Presentation transcript:

V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also: *) See also:

V.Fine ALICE-STAR Joint meeting April, 9, 2000 STAR reconstruction framework* * “… a set of cooperating classes that make up a reusable design for a specific class of software...” by Erich Gamma,et al. “Design Patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley Pub Co, “The framework dictates the architecture of your application. It defines the over-all structure, its partitioning into classes and objects, the key responsibilities thereof, how the classes and objects collaborate, and the thread of control. “ A framework predefines these design parameters so physicists can design their solutions using a proven programming model and can concentrate on the specifics of their applications.

V.Fine ALICE-STAR Joint meeting April, 9, 2000 STAR framework is designed to support the chained components, which can themselves be composite sub- chains, with components (“makers”) managing “datasets” they have created and are responsible for. An St_DataSet class from which data sets and makers inherit allows the construction of hierarchical organizations of components and data, and centralizes almost all system tasks: data set navigation, I/O, database access, inter-component communication.

V.Fine ALICE-STAR Joint meeting April, 9, 2000 Permanent stable interface - various datas Various interfaces - permanent data Abstract interface, hidden data approach Dataset model, transparent data We do not know how our data will look like, but we know how we will access them We do know how our data will look like, but we do not know how we will access them

V.Fine ALICE-STAR Joint meeting April, 9, 2000 Basic St_DataSet properites Dataset Member. Any object from the collection above is called “DataSet Member” Structural member. The “Dataset Member” is its “Structural member” if its “back pointer” points to this object Dataset Owner (parent). We will say this St_DataSet object “owns” (or is an owner / parent of ) another St_DataSet object if the last one is its “Structural Member” Associated member. If some object is not “Structural member” of this object we will say it is an “Associated Member” of this dataset Orphan dataset. If some dataset is a member of NO other St_DataSet object it is called an “orphan” dataset object St_DataSetSt_DataSet object ::= the "named" collection of St_DataSet objectsSt_DataSet

V.Fine ALICE-STAR Joint meeting April, 9, 2000 OO model of the STAR simulation / reconstruction chain: St_DataSet St_DataSetIter “base” container class St_ObjectSet St_Table St_TableSorter St_FileSet St_NodeSt_Node/ St_NodeView StMaker Data definition “ abstract” TObject “file system” description GEANT Geometry structure Flow control St_DataSetSt_DataSet object ::= the "named" collection of St_DataSet objectsSt_DataSet

V.Fine ALICE-STAR Joint meeting April, 9, 2000 StMaker.maker.data.const.data 1. Init() 2. Make() GetDataSet() AddData() “regular” makers communication No transaction changes the dataset relationship

V.Fine ALICE-STAR Joint meeting April, 9, 2000 StMaker.maker.data.const.garb 56 different makers

V.Fine ALICE-STAR Joint meeting April, 9, 2000 Typical STAR St_DataSet/St_Table structure Since St_Table's are subclasses of St_DataSet it is easy to combine them in the various hierarchical structure. This way we compensate lacking of pointers within St_Table objects

V.Fine ALICE-STAR Joint meeting April, 9, 2000 StMaker I/O StMakerStMaker.maker.data.const.data 1. Init() 2. Make() GetDataSet(“name”) AddData() I/O maker File formats: xdf, root, ASCII, MySQL

V.Fine ALICE-STAR Joint meeting April, 9, 2000 Is the table only furniture to be comfortable? Match well with all flavor of databases, file systems, share memory No “died pointer” nightmare Ease to feed the legacy Fortran / C codes Well define the raw experimental data No problem with the schema evolution. It is ease to implement and maintain Feasible to control “memory leak” and “memory violation” Fit well ROOT TClonesArray / TNTuple / TTree model No, since each User has his / her own point view what this data means

V.Fine ALICE-STAR Joint meeting April, 9, 2000 One needs “chairs” TVolume class to define GEANT- like detector geometry. This class gives an access to the full detector definition from GEANT for visualization and coordinate transformation. “Proxy” base class - TChair. To get his / her custom access to one and the same table the USER may derive the class from TChair. Every individual or working group can create as many chairs as they find useful with no argue which chair is better.

V.Fine ALICE-STAR Joint meeting April, 9, 2000 StMaker I/O StMaker StMaker.maker.data.const.data 1. Init() 2. Make() GetDataSet() AddData() display maker Display StMaker.const.data GetDataSet()

V.Fine ALICE-STAR Joint meeting April, 9, 2000 “Detector” geometry supplied by St_geant_Maker (GEANT 3.21) “Event” geometry supplied by “bfc.C” Makers of the reconstruction chain. OO model of STAR geometry

V.Fine ALICE-STAR Joint meeting April, 9, 2000 StEventDisplayMaker “Detector” geometry St_Node / St_NodeView (St_geant_Maker/StDBMaker) “Event” geometry StEventStEvent / St_Table’s ( “bfc” Makers)“bfc” StEventDisplayMaker StVirtualEventFilter 3D “Viewers”: TBrowser TPad X3D OpenGL, etc

V.Fine ALICE-STAR Joint meeting April, 9, 2000 “Detector” and “Event” data model model STARSTAR 3D geometry Object ModelModel ============================= St_DataSet Legend:St_DataSet | "classA” | |"classB" is derived from v v the "classA” St_Node "classB”St_Node ^ | "classQ” | ^ "classQ" has a pointer TShape | to "classT”TShape | "classT” v | | | | | | | |... | | | | | | | v v v v v St_PolyLineShape TBRIK TTUBE TPCON TTRD1St_PolyLineShapeTBRIKTTUBETPCONTTRD1 | ^ | | R O O T S H A P E SR O O T S H A P E S v | (see GEANT 3.21 shapes as well)GEANT 3.21 shapes St_PolyLine3D |St_PolyLine3D | TPoints3DABC | v | | | | V v v v StHits3DPoints StHelix3DPoints St_Table3Points St_Points3DStHits3DPointsStHelix3DPoints St_Table3PointsSt_Points3D ^ ^ ^ ^ | | | | StObjArray StTrack / StHelixD St_TableSorter flat floatingStObjArrayStTrackStHelixD St_TableSorter ^ point array | ( see St_PolyLine3D as well)St_PolyLine3D St_Table S T A R S H A P E S

V.Fine ALICE-STAR Joint meeting April, 9, 2000 These pictures present “ g2t_svt_hit ” (round filled mark) vs packed “ dst_point ” (cross mark). It is clear the hits on the outermost svt layer from g2t are not included into the “packed” dst_point table..x bfc.C(2).x TurnDisplay.C(“no”).x PadControlPanel.C dsMaker->SetTableFlag() dsMaker->ReDraw()

V.Fine ALICE-STAR Joint meeting April, 9, 2000 table name: “point”

V.Fine ALICE-STAR Joint meeting April, 9, 2000

.x bfc.C(1,"off tpc tfs y1b eval fzin global -v0 -xi", "/disk0/star/test/venus412/b0_3/year_1b/set0352_01_35evts.fzd").x TurnDisplay.C("StTrackFilter2").x SetObjectFilter.C.x PadControlPanel.C kaonDecay_withCut_full

V.Fine ALICE-STAR Joint meeting April, 9, 2000 OpenGL viewer

V.Fine ALICE-STAR Joint meeting April, 9, 2000

Current status The present framework has being testing for the last year. It was used to produce 100 GBytes of DST from 3 TBytes of the GEANT- simulated data. It is proved it allows the construction of hierarchical organizations of components and data, and centralizes almost all system tasks such as data set navigation, I/O, database access, and inter-component communication.