Download Java Analysis Studio

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

Business intelligence wikipedia, lookup

Open data in the United Kingdom wikipedia, lookup

Data vault modeling wikipedia, lookup

Information privacy law wikipedia, lookup

Data analysis wikipedia, lookup

Psychometric software wikipedia, lookup

Transcript
Java Analysis Studio - Status
CHEP 98 - September 1998
Tony Johnson - SLAC
Jonas Gifford + Kevin Garwood University of Victoria
Contents
What is Java Analysis Studio
 Java Analysis Studio Features
 Implementation + Java Pro’s and Con’s
 Beta Release Information
 Demo
 Future
 Opportunities for Collaboration
 Conclusion

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
 Rich, easy to use GUI
Java Analysis Studio Features
 Data Format Independent
• Currently Support
– PAW n-tuples, Hippo n-tuples, any SQL database, flat-file ntuples, 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
– XML, Root, CDF/HDF
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
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]
– Event Displays, etc.
• Fitter, Functions, Partitions
Java Analysis Studio Features
 Analyze local or remote data
Desktop
Client
Local Data
DIM
Remote Data
Network
Data Server DIM
• 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
• Great tools available
• Very Productive
– No memory leaks
– No subtle c++ problems
– fun to write
• Cross Platform Easy
– IDE’s
– code optimizers
– object modeling tools
 Con’s
– Develop under NT,
– It just works elsewhere!
• Getting faster all the time:
– Swing 1.1
– Faster Java Virtual Machines
– Hot-Spot
• Sun slow to fix bugs
– printing
– image handling
• 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”
 Working with FLCD, Babar
 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
• [email protected]
 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/