
Using modern software technologies for detector and event visualization N. V. Khomutov JINR, Dubna, Russia Developments of Researches in Lepton Flavor Physics with Muons ! Tokyo ❋ 5-7 April 2018 1 Paraview ● ParaView is an open-source, multi-platform data analysis and visualization application for extremely large datasets using distributed memory computing resources ● Developed jointly by Sandia National Labs + Los Alamos National Lab + Kitware Inc. ● Latest binary release 5.4.1 (2017-Aug), available for Linux/Mac/Windows ● ParaView is based on VTK and QT libraries with Python embedding http://www.paraview.org 2 Paraview Main Features ● An open, flexible, and intuitive user interface ● Cross-platforms data analysis ● Client-Server architecture ● Multiple simultaneous data views ● An extensible, modular architecture based on open standards ● Support for distributed computation models to process large data sets on desktop and HPC systems ● Animation possibilities 3 Paraview User Interface ● Menu Bar ● Toolbars ● Pipeline Browser ● Object inspector ● 3D View 4 Two major workflow Paraview modes ● Standalone Mode Client Data Render Server Server ● Client-Server Mode Client 1 HPC System Data Render Client 2 ServerData RenderServer ServerData RenderServer ServerData RenderServer Server Server Client `n` 5 Visualization Toolkit ● VTK is an open-source, freely available software system for 3D computer graphics, image processing, and visualization ● VTK is cross-platform and runs on Linux, Windows, Mac, and Unix platforms ● Integrates seamlessly with a variety of windowing systems including Qt, FLTK, wxWindows, Tcl/Tk, Python/Tk, Java, X11, Motif, Windows, Cocoa, and Carbon ● VTK has excellent support for distributed-memory parallel processing under MPI ● VTK development was started in December 1993 by Will Schroeder, Ken Martin and Bill Lorensen https://www.vtk.org 6 VTK is Language Agnostic ● The core functionality of VTK is written in C++ to maximize efficiency ● VTK’s build system has built-in support to generate primary bindings to Python, Java, and Tcl. ● Interpreted layer generated automatically by VTK wrapping process 7 HepRep XML format ● HepRep format is the basic part of a complete generic interface for client-server HEP Event Display Representables. ● The .heprep file is an XML format, which means that it is self- describing and a hierarchical structure. ● HepRep was not developed specifically for Geant4 but is intended as a generic interface between data sources and display clients. ● HepRep does not have exactly the same set of graphics primitives as Geant4. Geant4 solves this by decomposing some of the more complex Geant4 shapes into simpler polygons. ● HepRep v2.0 served by BaBar HepEventServer since Dec 2000 http://www.slac.stanford.edu/BFROOT/ 8 Geant4 -> HepRep XML -> Paraview ● Install Geant4 with following option: DGEANT4_USE_SYSTEM_ZLIB=ON (by default is OFF) ● Command macros to produce HepRep XML file /vis/open HepRepXML /vis/drawVolume /vis/viewer/flush ● Adam L. Lyon (FNAL g-2 Collaboration) developed plugin for Paraview named ‘GeantToVTK-1.4’ 9 Muon g-2 Event Display Main developer: V. Krylov, JINR ● The main goal is to create a complex application in order to visualize interactive 3D model of Muon g-2 framework for demonstrative and supervisory tasks ● The application should receive significant spot check of data from common online data stream and visualize it in intuitive and well apprehensible forms ● Event Monitor was developed as multithreaded and multi-document application based on Python v2.7 cross- platform language and VTK toolkit v6.3.0 ● Connection to online data steam is implemented by ZeroMQ network client 10 HepRep XML -> Paraview -> VTK ● Memory size and loading time problems o g-2 Geometry.heprep.zip file size is 60.9 GBytes o it includes more then 13,535 graphical objects o workstation need more then 16 GBytes RAM! o Paraview loading time ~ 10 min (MAC workstation) ● Need to translate HepRep to VTK multi block format o g-2 Geometry.vtm.zip file size is 62 MBytes o it includes more then 13,535 vtk files o Loading time ~ 25 sec (notebook) 11 Muon g-2 Event Display user interface 12 Muon g-2 Event Display calorimeters histograms 13 Muon g-2 Event Display presentation view 14 Examples of PIBETA/PEN detector visualisation with VTK 15 Thank you! 16 HepRep XML file example <?xml version="1.0" ?> <heprep version="2.0“ xmlns=http://java.freehep.org/schemas/heprep/2.0 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://java.freehep.org/schemas/heprep/2.0 http://java.freehep.org/schemas/heprep/2.0/HepRep.xsd"> <layer order="Geometry, Event, CalHit, Trajectory, Hit"/> <typetree name="G4GeometryTypes" version="1.0"> <type name="Geometry"> <attvalue name="Generator" value="Geant4"/> <attvalue name="GeneratorVersion“ value=" Geant4 version Name: geant4-10-02-patch-02 (17-June-2016)"/> <type name="world"> <type name="*Face"> <type name="ArcSection[00]"> <type name="Collimator"> <attvalue name="Solid" value="Collimator"/> <attvalue name="Material" value="G4_Cu"/> <attvalue name="Density" type="double" value="5.59239e+19"/> <attvalue name="State" value="Solid"/> <attvalue name="Visibility" type="boolean" value="true"/> </type> … </type> </type> </type> </typetree> <instancetree name="G4GeometryData“ typetreename="G4GeometryTypes" typetreeversion="1.0" version="1.0"> <instance type="Geometry"> <instance type="Geometry/world"> <instance type="Geometry/world/ArcSection[00]"> <instance type="Geometry/world/ArcSection[00]/Collimator"> <instance type="Geometry/world/ArcSection[00]/Collimator/*Face"> <point x="-3598.31" y="3.78554e-13" z="6192.46"/> <point x="-3581" y="3.80392e-13" z="6202.48"/> <point x="-3580.2" y="12.941" z="6200.97"/> <point x="-3597.4" y="12.941" z="6191.01"/> </instance> … </instance> </instance> </instancetree> </heprep> 17 Muon g-2 Event Display Prerequisites ● Along with Python v2.7 the following libraries are used: ➢ Conda v4.3.17 (3-clause BSD license), you should use this repository on Mac OS platform ➢ Python v2.7.3 x64 (GPL compatibility); ➢ VTK Toolkit v6.3.0 x64 (BSD license), the Visualization Toolkit is an open-source cross-platform software system for 3D computer graphics; ➢ wxPython v4.0.0rc x64 (LGPL License), cross-platform GUI toolkit for the Python; ➢ PyZMQ v16.0.2 amd64 (LGPL License), this is the Python bindings for ØMQ. ZeroMQ is a network concurrency framework; ➢ Matplotlib v2.0.0 (PSF License), Python 2D plotting library; ➢ Numpy v1.12.2 (New BSD License), this is well known fundamental package for scientific computing with Python. ➢ Python.app v1.2 (License Unspecified) to use on Mac OS platform only 18 GEANT (GEometry ANd Tracking) ● This is a toolkit for the simulation of the passage of particles through matter. ● The first version of GEANT dates to 1974 ● The first version of GEANT3 dates to 1982 ● Last version of GEANT3 was v3.21 near 2000 ● It was written in FORTRAN and eventually maintained as part of CERNLIB. ● It is available under the GNU General Public License with the exception of some hadronic interaction code contributed by the FLUKA collaboration. 19.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages19 Page
-
File Size-