![Page 1: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/1.jpg)
JAS/Wired + Geant 4
Tony Johnson
July 2001
![Page 2: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/2.jpg)
Contents
• What is JAS?
• What is WIRED?– Future Directions
• JAS+AIDA+GAG+Wired + Geant 4= ?
• Making it easy to use
• Future Directions
• Demo?
![Page 3: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/3.jpg)
Introduction to JAS• Pure Java Analysis Environment
– Data Format Independent– Modular/Extensible via Plugins/Data Interface
Modules– Rich Easy to use GUI– Built in editor/compiler for writing analysis
code– Local and Client-Server Operation– Originally targeted at offline analysis – but also
used extensively for online monitoring– Written entirely in Java
![Page 4: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/4.jpg)
JAS GUITree provides access to analysis objects:•Histograms•Plots•Data Sets•Analysis RoutinesIn principle any object.Each item has popup menus and double click action.
Built in HTML viewer with embeddable “objects” (buttons, plots, etc).
Plot Widget, shows data in real time, optimized for fast refresh performance
![Page 5: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/5.jpg)
JAS Plotter
Pages can display histograms. User can control layout, add remove plots, etc.
Plots are highly interactive, can be manipulated by the user by dragging on the axis, or bounding box. Labels (title, legend, axis labels) can be updated by clicking and typing.
Rebin slider can be used to dynamically change # of bins.
![Page 6: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/6.jpg)
JAS Editor/CompilerBuilt in code editor
with syntax highlighting (based
on open-source JEdit)
Built-in Java compiler. Can dynamically load (and unload) analysis code.
![Page 7: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/7.jpg)
Extensible via Plugins
• Plugins can:– Define experiment specific utilities (event display,
analysis utilities, specialized tables).
– Define data interfaces to handle new types of data.
– Define new plotting routines (e.g. to display special display).
– Add menus, create control areas, consoles, and output pages.
– Plugins will be more flexible in JAS 3.0 (see discussion of FreeHEP application framework, later).
![Page 8: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/8.jpg)
Examples of Plugins
Particle decay tree
Particle tabulation
![Page 9: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/9.jpg)
Remote Data Access• Rather than transporting peta-bytes of data to the physicist
– Transport the physics analysis code to the data
– Transparently - so that it feels just like local data access
– Just ship histogram contents back to the physicists desktop (on demand)
• Allows remote analysis with modest network bandwidth
• Allows user to “feel” as if using local machine even when accessing remote data.
![Page 10: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/10.jpg)
WIRED
• Experiment Independent Event Display– Typically requires very little customization for
new detectors/experiments• Client can be completely experiment independent
– Large amount of functionality built in• Greatly reduces time needed to create event display
– Works in client-server mode– Transfers HepReps from client to server
• Via XML, RMI, Corba, …
– Written entirely in Java
![Page 11: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/11.jpg)
JAS+Wired
![Page 12: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/12.jpg)
Future of JAS+Wired• Java FreeHEP library repository for
common utilities and common framework– Open source library includes:
• Graphics utilities– Plotter, EPS utilities
• Physics specific classes– Four vectors, jet finders, particle properties, …
– IO utilities for Root, StdHEP…
– Encourage extensive (Java) code reuse– Six code developers + many contributions from
students etc.
![Page 13: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/13.jpg)
FreeHEP Application Framework
Application
MDI Application
Studio
Data StudioProvides•Set properties via "application properties" file •User preferences stored between sessions•A services package which allows to run as:
•Local application•trusted JNLP applications•untrusted JNLP applications.
•Use of XML to define menus and toolbars •Use of a command manager for dispatching commands to command targets. •Command line parsing •About dialog •Print Preview capabilities •Recent File menu(s) maintained between sessions •Reporting of errors to the user. •JDK compatibility testing. •Dynamic Look and Feel switching and persistency between sessions •Window size and position maintained between sessions •Splash Screen •Status bar with message area and progress meter - including support for canceling time consuming operations.
Adds•pages, control(s) and console(s) areas. •dynamic switching of page managers to allow pages to be organized as tabbed panes, or as movable windows on a desktop. •multiple toolbars
Adds•Extensible via plugins•Maintainance of user “session” using XML.
Adds•Facilities for data access (DIMs)
JAS WIREDYour
Application
![Page 14: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/14.jpg)
JAS 3Studio will extend plugin concept so application becomes bare
framework, with:– Data Access Plugin (c.f. JAS DIM’s)– Histogramming (AIDA) Plugin – Plotting Plugin– Editing Plugin– Compiler Plugin– Scripting Plugin– WIRED (Event Display) Plugin– Etc. etc. etc.
• Plugins can communicate either explicitly, or (better) though– “service interfaces”– “service registries”
![Page 15: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/15.jpg)
JAS 3 Prototype
![Page 16: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/16.jpg)
JAS+Wired+Geant4
• For Geant 4 we have combined– JAS– Wired + HepRep– AIDA – Abstract Interface for Data Analysis– GAG – Geant4 Adaptive GUI– Geant4
• JAWGGH?
![Page 17: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/17.jpg)
JAS+WIRED+Geant4
G4
GAGUI
AIDA
Vis
JASClient
RMI
HepRep/XML
GAG Pipe
![Page 18: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/18.jpg)
C++ -> Java
C++ program: Athena, Geant4, …
C++JAida, JHepRep, … JavaVM
JNI
JavaAida, HepRep,…
XML
RMI
JAS WIRED CORBA
![Page 19: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/19.jpg)
JACO (Java Access to C++ Objects)
• Interoperability of Java and C++ is certainly possible– But tedious
• Code must be written for each method
• Need to deal with starting JavaVM
• Need to deal with object lifetimes
• JACO – Aims to solve this– Automatic generation of glue code
– Small library to deal with details
• Aimed at Event Display and Event Analysis
.hh files
RTTI
Code Generator
.java .hh .cc
Runtime Library
![Page 20: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/20.jpg)
Geant 4 menu. Used to start G4 executable
Currently Available CommandsG4 Output
Command Arguments
![Page 21: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/21.jpg)
Available Histograms Histos update in real time
![Page 22: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/22.jpg)
Wired Event Display shows current event
![Page 23: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/23.jpg)
Problems with Current System• Too hard for users to configure
– Must build Geant 4 with correct environment variables set (to select for example GAG, JAS)
• User should not need to recompile/relink to use different analysis tool.
– Need to link with JavaVM for JAS histogram access
• Still uses AIDA 1.0 – Need to move ASAP to AIDA 2.x
• Protocol underneath is a mess– GAG uses pipe and many special @@ commands
– JAS uses Remote Method Invocation (RMI)
– Wired uses HepRep + XML (currently written to file)
• Need to support distributed analysis
![Page 24: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/24.jpg)
Future…???Warning – half baked ideas
ahead
![Page 25: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/25.jpg)
Unified Analysis Tool Interface• Global UIAT
– Reads commands from standard input (or macro)• Can be used in batch
– AND listens for commands on socket connection• UIAT must be multi-threaded, but not G4 itself
• Should use XML/RPC for communication– Simple, light-weight, language neutral, open source– Uses http and XML for communication
![Page 26: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/26.jpg)
Geant4(+AIDA)
UIAT
Analysis Tool
XML/RPCHepRep XML (exists) (visualization)GAGXML (commands)AIDAXML (partly exists) (histograms)
Analysis tool may use/understand all protocolsor subset (or superset)
UIAT readyhttp://node.xyz.cc:8888/g4
Only thing user needs to know to connect with analysis tool
![Page 27: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/27.jpg)
Naturally extends for GRIDification
Controller
G4
G4
G4
G4
G4
G4
Analysis Tool
XML/RPC
![Page 28: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/28.jpg)
Conclusion
• JAS+WIRED+GAG+AIDA – Gives single GUI combining
• Visualization
• Histogram Filling/Viewing/Saving
• GUI/Command interface
• Needs more work on ease to setup– Perhaps can make communication independent
of analysis tool?
![Page 29: JAS/Wired + Geant 4 Tony Johnson July 2001. Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to](https://reader036.vdocuments.us/reader036/viewer/2022062408/56649ea35503460f94ba7451/html5/thumbnails/29.jpg)
Acknowledgments + Links
• Thanks to:– Wired Team, GAG Team, AIDA Team,
FreeHEP developers
• Links– http://jas.freehep.org– http://aida.freehep.org– http://wired.cern.ch– http://heprep.freehep.org– http://java.freehep.org