V.Fine for STAR collaboration The STAR offline framework and 3D visualization V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.

Slides:



Advertisements
Similar presentations
Introduction to Visual Basic.NET Uploaded By: M.Sheraz anjum.
Advertisements

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.
Introduction To System Analysis and Design
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.
Beamline Takashi Kobayashi 1 Global Analysis Meeting Nov. 29, 2007.
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Status and roadmap of the AlFa Framework Mohammad Al-Turany GSI-IT/CERN-PH-AIP.
11/5/01OO Design1 Design Object-Oriented Design. 11/5/01OO Design2 Object-Oriented Design  The process of determining the architecture, and specifying.
7/16/2015 ACAT'2002 Workshop 1 OO/C++ Reconstruction Model based on GEANT3 Yuri Fisyak, Valery Fine, Pavel Nevski, Torre Wenaus.
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.
Shuei MEG review meeting, 2 July MEG Software Status MEG Software Group Framework Large Prototype software updates Database ROME Monte Carlo.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
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.
Introduction To System Analysis and Design
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.
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.
UML for OOADStefan Kluth 1 2UML for OOAD 2.1What is UML? 2.2Classes in UML 2.3Relations in UML 2.4Static and Dynamic Design with UML.
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.
ACAT 2005 Workshop, May UAL Interactive Analysis Environment Interactive Analysis Environment of Unified Accelerator Libraries V. Fine, N. Malitsky,
November 2013 Review Talks Morning Plenary Talk – CLAS12 Software Overview and Progress ( ) Current Status with Emphasis on Past Year’s Progress:
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.
STAR Event data storage and management in STAR V. Perevoztchikov Brookhaven National Laboratory,USA.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
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.
06/13/2001Dmitry Litvintsev CDF Event Display Dmitry Litvintsev, Fermilab CDF Collaboration Introduction Elements of CDF Run II Event.
Design Patterns David Talby. This Lecture Re-routing method calls Chain of Responsibility Coding partial algorithms Template Method The Singleton Pattern.
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.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Detector Description in LHCb Detector Description Workshop 13 June 2002 S. Ponce, P. Mato / CERN.
V.Fine ALICE-STAR Joint meeting April, 9, 2000 The STAR offline framework* V. Fine *) See also:
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.
V.Fine for STAR collaboration The STAR offline framework V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus.
The V-Atlas Event Visualization Program J. Boudreau, L. Hines, V. Tsulaia University of Pittsburgh A. Abdesselam University of Oxford T. Cornelissen NIKHEF.
Overview Methodology Design Architecture Outline of future work Ideas for discussion.
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
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.
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.
A C++ generic model for the GLAST Geometric Description
SW Architecture SG meeting 22 July 1999 P. Mato, CERN
Geometry checking tools
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 and 3D visualization V. Fine, Y. Fisyak, V. Perevoztchikov, T.Wenaus

V.Fine for STAR collaboration Some conditions To be useful to debug the complex HEP reconstruction / simulation codes and algorithm: 3D graphic should be as simple as histograming Should not involve unfamiliar API and the rare structures Visualization classes must be attractive and useful “in general”

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

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 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 User provided or default one

V.Fine for STAR collaboration “Detector” and “Event” data model model STARSTAR 3D geometry Object ModelModel ============================= TDataSet Legend:TDataSet | "classA” | |"classB" is derived from v v the "classA” TVolume "classB”TVolume ^ | "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 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.