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 workof artificial intelligence, which forms the content of this project

Document related concepts

Data vault modeling wikipedia , lookup

Information privacy law wikipedia , lookup

Psychometric software wikipedia , lookup

Open data in the United Kingdom wikipedia , lookup

Business intelligence wikipedia , lookup

Data analysis 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/