Java Analysis Studio - Status
Jonas Gifford + Kevin Garwood - University of Victoria
Contents
- What is Java Analysis Studio
- Java Analysis Studio Features
- Implementation + Java Pro’s and Con’s
- Opportunities for Collaboration
What is Java Analysis Studio?
- HEP Data Analysis Application
- Easy to use + powerful GUI
- Support Analysis Modules written in Java
- Experiment and Data Format Independent
- Supports n-tuple or Structured (object) Data
- Data Location Independent (Local or Remote)
- Extensible (via Plug-ins and Data Interface Modules (DIMS))
- Web + Internet compatible
- Combination of custom and Commercial components (but no runtime license fees)
- Based on Industry Standards
Java Analysis Studio Features
Java Analysis Studio Features
- Data Format Independent
- Currently Support
- PAW n-tuples, Hippo n-tuples, any SQL database, flat-file n-tuples, StdHep MC events
- Any data format via user supplied Data Interface Module (DIM)
- Experimenting with
- Object databases (Objectstore, Objectivity)
- Random access Java based IO (similar to root IO]
- Future
Java Analysis Studio Features
- Supports both n-tuples and Structured Data
- n-tuples are fast and allow for simplifications in GUI
- Simple Interactive cuts
- Simple plot generation
but n-tuples ultimately limiting
- Arbitrarily Structured Data provides ultimate flexibility
- Requires slightly more work from end-user
- Complete Object Oriented Analysis Environment
- Flexible enough to write (or prototype) reconstruction code
Java Analysis Studio Features
- Histogram/ScatterPlot Display
- Commercial plot package used in earlier versions replaced with custom plot package
- Supports strings, dates, multiple axes, direct user interaction, overlays, fitting, scatter plots
Java Analysis Studio Features
- User analysis modules written in Java
- Java Excellent Language for Physics Analysis
- Easy to learn yet very powerful, fully OO language
- Fast (and getting faster]
- Very fast code, load, test, fix cycle
- JAS provides built-in editor, compiler, plus:
- hep.analysis package
- for creating/filling/manipulating histograms
- hep.physics package
- simple particle, track manipulation package
PPT Slide
hep.analysis package
- Histogram delegates binning to:
- “partition classes” [idea stolen from LHC++ at last CHEP]
- Map from X, Y to bin number
- supports real, integer, string, date’s etc.
- Calculation of contents, errors in bin
- allows efficiency plots, mean/rms plots etc
- Data storage method
- immediate binning (c.f. Hbook)
- delayed binning, allows rebinning, axis changes via GUI
- Many standard partitions provided.
- User can provide own partition functions
Java Analysis Studio Features
- User Extensible, via
- Analysis Modules
- Data Interface Modules
- Access to experiment specific data, native language modules
- Plug In’s (c.f. Web Applets]
- Fitter, Functions, Partitions
Java Analysis Studio Features
- Analyze local or remote data
- User interface independent of Data Location
- Does not assume fast network (works well at 28.8 bps]
- Analysis code moves (transparently) to data
JAS Implementation
- “100% Java” Application
- Uses Sun’s Java Foundation Classes (Swing) for GUI
- [optional] interfaces to legacy data (PAW, hippo, StdHep) uses Java Native Interface [JNI]
- Leverage Commercial Components
- Java itself
- compiler, GUI, debugger, networking, Remote Method Invocation
- Help system from Oracle
- Plot component (not currently used]
- Object databases, SQL databases
- No runtime license fees
Java Pro’s and Con’s
- Pro’s
- Very Productive
- No memory leaks
- No subtle c++ problems
- fun to write
- Cross Platform Easy
- Develop under NT,
- Getting faster all the time:
- Swing 1.1
- Faster Java Virtual Machines
- Hot-Spot
- Great tools available
- IDE’s
- code optimizers
- object modeling tools
- Con’s
- Sun slow to fix bugs
- No control over memory allocation
Java Pro’s and Con’s
- Is Java Fast Enough for HEP reconstruction??
1.0 Beta Release now available
- Windows (NT, 95, 98] self extracting executable
- Unix (Solaris+Linux) binary distribution available
- Should be easy to port to other Unix, Mac etc.
- Limitations
- Detailed documentation still under development
- May still be some changes to user API
- Download from:
- http://www-sldnt.slac.stanford.edu/jas
-
Demo
Future
- More Data Interface Modules
- More types of plots (lego plots etc.)
- Built in debugger, code profiler
- More n-tuple handling tools (c.f. HippoDraw]
Collaboration
- Integrate Wired event display as “Plug In”
- Looking for collaborators on
- hep.analysis
- hep.physics packages (c.f. CLHEP)
- Looking for other experiments interested in trying Java Analysis Studio out
Conclusions
- Please try it:
- http://www-sldnt.slac.stanford.edu/jas
- Please give us feedback
- jas-feedback@sld-mail.slac.stanford.edu
- Mailing List:
- http://www.slac.stanford.edu/cgi-bin/lwgate/JAS-L/
- Also general mailing list for Java in HEP:
- http://www.slac.stanford.edu/cgi-bin/lwgate/HEP-JAVA/