V.Fine for STAR collaboration The STAR offline framework V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Software Reuse SEII-Lecture 28
Steps Towards C++/OO Offline Software in STAR Valery Fine, Yuri Fisyak, Pavel Nevski, Victor Perevoztchikov, Torre Wenaus Brookhaven National Laboratory.
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.
1 Databases in ALICE L.Betev LCG Database Deployment and Persistency Workshop Geneva, October 17, 2005.
Pavel Nevski STAR simulations and ROOT GSTAR root interface.
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
ACAT 2002, Moscow June 28, 2002 V.Fine Brookhaven National Laboratory Session IV: Innovative (Algorithms and) Tools V.Fine, BNL, USA & JINR, Dubna.
Status and roadmap of the AlFa Framework Mohammad Al-Turany GSI-IT/CERN-PH-AIP.
1 Objective of today’s lesson S oftware engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on.
7/16/2015 ACAT'2002 Workshop 1 OO/C++ Reconstruction Model based on GEANT3 Yuri Fisyak, Valery Fine, Pavel Nevski, Torre Wenaus.
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
V.Fine The STAR “Integrated" Geometry Browser. 12/6/2006 STAR BNL S&C STAR weekly meeting. V.Fine
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.
Mokka and integration of the geometry AIDA kick-off meeting WP2 session: Common software tools 17 February 2011 – CERN Paulo Mora de Freitas and Gabriel.
An Introduction to Software Architecture
Introduzione al Software di CMS N. Amapane. Nicola AmapaneTorino, Aprile Outline CMS Software projects The framework: overview Finding more.
ALICE Offline week, CERN 21 February 2005 I. Hrivnacova 1 New geometry framework in MUON I.Hrivnacova IPN, Orsay ALICE Offline week, CERN 21 February 2005.
Visualization of the ROOT 3D class objects with Open Inventor-like viewers V. Fine (BNL) A. Kulikov (JINR Dubna) M. Panebrattsev (Dubna University) A.
Chapter 9 Moving to Design
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
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.
MINER A Software The Goals Software being developed have to be portable maintainable over the expected lifetime of the experiment extensible accessible.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
ACAT 2005 Workshop, May UAL Interactive Analysis Environment Interactive Analysis Environment of Unified Accelerator Libraries V. Fine, N. Malitsky,
Virtual Monte Carlo and new geometry description in STAR Maxim Potekhin STAR Collaboration Meeting, BNL July 17, 2004 July 17, 2004.
1 Software tools for GLC studies Akiya Miyamoto KEK 20 April, 2004 Representing ACFA-Sim Group
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Learners Support Publications Object Oriented Programming.
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 CMS Simulation Software Julia Yarba, Fermilab on behalf of CMS Collaboration 22 m long, 15 m in diameter Over a million geometrical volumes Many complex.
The Object Model to Construct the Mixed “Open Inventor” / ROOT 3D scenes by Valeri Fine, Jerome Lauret STAR Brookhaven National Laboratory.
06/13/2001Dmitry Litvintsev CDF Event Display Dmitry Litvintsev, Fermilab CDF Collaboration Introduction Elements of CDF Run II Event.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
LM Feb SSD status and Plans for Year 5 Lilian Martin - SUBATECH STAR Collaboration Meeting BNL - February 2005.
CBM ECAL simulation status Prokudin Mikhail ITEP.
V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also:
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
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.
STAR Analysis Meeting, BNL – oct 2002 Alexandre A. P. Suaide Wayne State University Slide 1 EMC update Status of EMC analysis –Calibration –Transverse.
Page 1 of 18 Bjorn S. Nilsen, ALICE November 16 ITS Software meeting ITS Alignment Status Plus other things By Bjørn S. Nilsen The Ohio State University.
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.
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.
STAR Simulation. Status and plans V. Perevoztchikov Brookhaven National Laboratory,USA.
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
Outline: - Building the reconstruction software template - Data flow example - What’s next? - Example “results” PHENIX Upgrade Detectors: Reconstruction.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
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
V.Fine, P.Nevski, BNL GSTAR framework OO geometry model event access
Presentation transcript:

V.Fine for STAR collaboration The STAR offline framework V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus

V.Fine for STAR collaboration 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 for STAR collaboration 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 for STAR collaboration 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 for STAR collaboration OO model of the STAR simulation / reconstruction chain: St_DataSet St_DataSetIter “base” container class St_ObjectSet St_Table St_TableSorter St_TableIter St_FileSet TVolumeTVolume/ TVolumeView 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 for STAR collaboration StMaker.maker.data.const.data 1. Init() 2. Make() GetDataSet(“name”) AddData() “regular” makers communication “Maker” knows the name of the dataset it needs. It has (should) has no idea about the code this data supplies

V.Fine for STAR collaboration StMaker.maker.data.const.garb 56 different makers

V.Fine for STAR collaboration 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 No problem with legacy Fortran /C modules No problem with DB No problem with the share memory (for on-line for example) No problem to provide the custom access to the data via “helper” classes and a lot of fun (thanks ROOT)

V.Fine for STAR collaboration 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 for STAR collaboration StMaker I/O StMaker StMaker.maker.data.const.data 1. Init() 2. Make() GetDataSet() AddData() display maker Display StMaker.const.data GetDataSet()

V.Fine for STAR collaboration “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 for STAR collaboration StEventDisplayMaker “Detector” geometry TVolume / TVolumeView (St_geant_Maker/StDBMaker) “Event” geometry StEventStEvent / St_Table’s ( “bfc” Makers)“bfc” StEventDisplayMaker StVirtualEventFilter 3D “Viewers”: TBrowser TPad X3D OpenGL User provided or default one

V.Fine for STAR collaboration “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 for STAR collaboration StMaker I/O StMakerStMaker geantMaker Display StMaker 1. Init().const 2. Make().data GetDataSet() AddData().data “hits” “Event geometry” GetDataSet() AddData().data “STAR” hall “Detector geometry” GetDataSet(“hits”) GetDataSet(“hall”).data AddData()

V.Fine for STAR collaboration 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 for STAR collaboration table name: “point”

V.Fine for STAR collaboration

V.Fine for STAR collaboration

V.Fine for STAR collaboration.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 for STAR collaboration OpenGL viewer

V.Fine for STAR collaboration

V.Fine for STAR collaboration 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.

V.Fine for STAR collaboration How to access this from outside of STAR ? Thanks ROOT team, almost all present classes have been included in the last version of ROOT system: ROOT 2.23/12