Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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/