[email protected] Off-line Graphics Tools Ianna Osborne Northeastern University.

23
[email protected] Off-line Graphics Tools Ianna Osborne Northeastern University

Transcript of [email protected] Off-line Graphics Tools Ianna Osborne Northeastern University.

Page 1: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Off-line Graphics Tools

Ianna OsborneNortheastern University

Page 2: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Outline

Graphics and graphics tools

IGUANA

Demo

Page 3: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics

The New Oxford Dictionary of English defines graphics as:

the products of the graphic arts, especially commercial design or illustration;

the use of diagrams in calculation and design;

visual images produced by computer processing.

the use of computers linked to display screens to generate and manipulate visual images.

Graphics tools for GUI, 2D and 3D graphics

Page 4: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics Application Layers

X11X11 GLXGLX OpenGLOpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI 2D2D3D3D

3D/GUI3D/GUI

User ApplicationUser Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Page 5: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics Application Layers

X11X11 GLXGLX OpenGLOpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI 2D2D3D3D

3D/GUI3D/GUI

User ApplicationUser Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Page 6: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics Application Layers

X11X11 GLXGLX OpenGLOpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI 2D2D3D3D

3D/GUI3D/GUI

User ApplicationUser Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Page 7: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics Application Layers

X11X11 GLXGLX OpenGLOpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI 2D2D3D3D

3D/GUI3D/GUI

User ApplicationUser Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Page 8: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Graphics Application Layers

X11X11 GLXGLX OpenGLOpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI 2D2D3D3D

3D/GUI3D/GUI

User ApplicationUser Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Page 9: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

IGUANA

Interactive Graphics for User ANAlysis

Main IGUANA focus - interactivedetector and event visualisation:

High- performance 2D/3D graphics;

Graphical user interfaces;

Data browsers.

Integration of other tools, components

The goal is to provide common look and feel for the CMS interactive graphical applications

Interactive analysis is not considered a primary goal. It is assumed that this functionality will be provided by other tools (JAS, Hippodraw, Lizard, ROOT, or OpenScientist)

Page 10: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

GUI Toolkits

X11 GLX OpenGL

OS

Spe

cifi

c (L

inux

)

GUIGUI2D

3D

3D/GUI

User Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Qt

Motif

gtk

Standard DialogsStandard Dialogs

MenusMenus

WidgetsWidgets

Page 11: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Qt Toolkit

Page 12: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Qt ToolkitImplicitly and Explicitly Shared Classes that use reference counting for fast copying.

Input/Output and Networking Classes to provide file input and output along with directory and network handling.

Multimedia Classes that provide support for graphics, sound, animation, etc.

The Qt application framework's underlying object model.

Organizers: splitters, tab bars, button groups, etc.

Plugin Classes.

Template Library: container classes.

Text Related and XML Classes (DOM, SAX)

Threading Classes

Widget Classes

Database related classes, e.g. for SQL databases.

Date and Time Classes for handling date and time.

Drag and Drop Classes dealing with drag and drop and mime type encoding and decoding.

Environment Classes to create and handle events and to provide various global services (event handling, access to system settings,internationalization.

Non-GUI Collection Classes such as list, queue, stack and string, along with other classes that can be used without needing QApplication.

Graphics and Printing Classes to provide drawing (and printing) primitives, including OpenGL and digital image encoding, decoding and manipulation.

Layout Management Classes to handle automatic resizing and moving of widgets, for composing complex dialogs.

Page 13: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Qt Example#include <qapplication.h>#include <qpushbutton.h>#include <qfont.h>

int main( int argc, char **argv ){ QApplication a( argc, argv );

QPushButton quit( "Quit", 0 ); quit.resize( 75, 30 ); quit.setFont( QFont( "Times", 18, QFont::Bold ) );

QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );

a.setMainWidget( &quit ); quit.show(); return a.exec();}

#include <qapplication.h>#include <qpushbutton.h>#include <qfont.h>

int main( int argc, char **argv ){ QApplication a( argc, argv );

QPushButton quit( "Quit", 0 ); quit.resize( 75, 30 ); quit.setFont( QFont( "Times", 18, QFont::Bold ) );

QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );

a.setMainWidget( &quit ); quit.show(); return a.exec();}

Page 14: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Qt Toolkit

Platforms: Qt/Windows is designed for MS Windows 95/98/Me, NT4, 2000 and XP.

Qt/X11 is designed for Linux, Solaris, HP-UX, IRIX, AIX, and many other Unix variants.

Qt/Mac is designed for Apple Mac OS X.Windows

A non-commercial version of Qt/X11 is the de facto standard C++ toolkit for GUI applications on Linux. The KDE desktop environment is based on Qt/X11.

Used by CMS, LHCb, D0, etc.

Recommended by LCG

Page 15: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

3D Graphics Packages

X11 GLX OpenGL

OS

Spe

cifi

c (L

inux

)

GUI2D

3D3D

3D/GUI

User Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Low-level 3D graphics: OpenGL

High-level 3D graphics:Open Inventor

Integration of 3D graphics with GUI toolkit: SoQt

HEP-specific 3D extensions: IGUANA (HEPVis)

Page 16: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

2D Graphics

X11 GLX OpenGL

OS

Spe

cifi

c (L

inux

)

GUI 2D2D3D

3D/GUI

User Application

Gra

phic

s T

oolk

itsan

d L

ibra

ries

Qt

Qwt

Qplotter

Kmatplot

HEPVis

ROOT

Page 17: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

User Application

FederationFederationwizardswizards

Detector/EventDetector/EventDisplayDisplay

Data BrowserData Browser

Analysis jobAnalysis jobwizardswizards

Generic analysis Generic analysis ToolsTools

ORCAORCA

FAMOSFAMOS

ObjyObjytoolstools

GRIDGRID

OSCAROSCAR COBRACOBRADistributedDistributedData StoreData Store

& Computing& ComputingInfrastructureInfrastructure

CMSCMStoolstools

Consistent User Consistent User Interface: IGUANAInterface: IGUANA

Coherent basic tools and Coherent basic tools and mechanismsmechanisms

Page 18: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

IGUANA Plugin Architecture

Plug-InCachePlug-In

Cache

ObjectFactoryObject

FactoryComponentDatabase Plug-In

Cache

Plug-InPlug-In

Plug-InPlug-In

Plug-In ObjectFactory

Attached

Unattached

IGUANA provides a platform that makes it easy to integrate GUIs as a coherent whole, to provide application services and to visualise any application object

Many categories / layers: GUI gadgets & support, application environment, data visualisers, data representation methods, control panels, …

Designed to integrate with and into other applications

Virtually everything is in plug-ins (can still be statically linked)

Page 19: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Frameworks

ODBMS

GEANT 3 / 4

CLHEPPAW

Replacement

C++ Standard Library

+ Extension Toolkits

CalibrationObjects Generic Generic

Application Application FrameworkFramework

Physics modulesPhysics modulesGrid-UploadableGrid-Uploadable

BasicBasicServicesServices

Adapters and ExtensionsAdapters and Extensions

ConfigurationObjects Event

Objects

(Grid-aware) Data-Products

SpecificSpecificFrameworksFrameworks

EventEventFilterFilter

ReconstructionReconstructionAlgorithmsAlgorithms

PhysicsPhysicsAnalysisAnalysis

DataDataMonitoringMonitoring

Page 20: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

ORCA Visualisation with IGUANAInteractive 3D CMS Detector geometry (Geant3) for sensitive volumes with level of details;Interactive 3D reps of reconstructed and simulated events including visualisation of physics quantities such as tangent of a simhit;Access event by event or automatically fetching events (no batch mode);Event and run number displayed;

Interactive picking;Correlated selection;Projections (a la 2D);Save .iv and print (gif, jpeg, tiff, bitmap and vector postscript);

Multiple (cloned) views;Slices and cuts;Printout for selected objects;Zoom and search;

Context help;Viewpoints;

Page 21: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

OSCAR (Geant4) Visualisation

Page 22: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

Tracker selection map:

display a layer/ring in a 3D window;

open a 2D map of a layer/ring.

2D selection maps:

display a module in a 3D window.

Print information

for selected

module

Draw SimHits

for selected

modules

Custom tracker selection is

implemented by Maria Mennea

and Guiseppe Zito, INFN

Vertex visualisation is

implemented by

Stephanie Moreau, IN2P3

PRS Contributions to IGUANA

Detector units

along

SimTracks

Improved performance;

New development by PRS groups:

● custom tracker selection,

● vertex visualisation

Tracker reconstruction geometry

implemented by

Eric Chabanat and Stephane

Olivie Perries, IN2P3

Page 23: Ianna.Osborne@cern.ch Off-line Graphics Tools Ianna Osborne Northeastern University.

[email protected]

A bug in the HCAL noise simulation:"virtual" HCAL barrel towers (No. 16, 17) R = 280 cm (depth = 3) produce noise

Found and Fixed Problems: Digis in HCAL