20
Java Analysis Studio - Java Analysis Studio - Status Status CHEP 98 - September 1998 CHEP 98 - September 1998 Tony Johnson - SLAC Tony Johnson - SLAC Jonas Gifford + Kevin Jonas Gifford + Kevin Garwood - University of Garwood - University of Victoria Victoria

Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Embed Size (px)

Citation preview

Page 1: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio - Java Analysis Studio - StatusStatus

CHEP 98 - September 1998CHEP 98 - September 1998

Tony Johnson - SLAC Tony Johnson - SLAC

Jonas Gifford + Kevin Jonas Gifford + Kevin Garwood - University of Garwood - University of VictoriaVictoria

Page 2: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

ContentsContents

What is Java Analysis StudioWhat is Java Analysis Studio Java Analysis Studio FeaturesJava Analysis Studio Features Implementation + Java Pro’s and Con’sImplementation + Java Pro’s and Con’s Beta Release InformationBeta Release Information DemoDemo FutureFuture Opportunities for CollaborationOpportunities for Collaboration ConclusionConclusion

Page 3: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

What is Java Analysis What is Java Analysis Studio?Studio?

HEP Data Analysis ApplicationHEP Data Analysis Application Easy to use + powerful GUI Easy to use + powerful GUI Support Analysis Modules written in JavaSupport Analysis Modules written in Java Experiment and Data Format IndependentExperiment and Data Format Independent Supports n-tuple or Structured (object) DataSupports n-tuple or Structured (object) Data Data Location Independent (Local or Remote)Data Location Independent (Local or Remote) Extensible (via Plug-ins and Data Interface Modules Extensible (via Plug-ins and Data Interface Modules

(DIMS))(DIMS)) Web + Internet compatibleWeb + Internet compatible Combination of custom and Commercial Combination of custom and Commercial

components (but no runtime license fees)components (but no runtime license fees) Based on Industry StandardsBased on Industry Standards

Page 4: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

Rich, easy to use GUI Rich, easy to use GUI

Page 5: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

Data Format IndependentData Format Independent• Currently SupportCurrently Support

– PAWPAW n-tuples, n-tuples, HippoHippo n-tuples, any n-tuples, any SQLSQL database, database, flat-fileflat-file n-tuples, n-tuples, StdHepStdHep MC events MC events

– Any data format via user supplied Data Interface Any data format via user supplied Data Interface Module (DIM)Module (DIM)

• Experimenting withExperimenting with– Object databases (Object databases (ObjectstoreObjectstore, , ObjectivityObjectivity))– Random access Java based IO (similar to root IO]Random access Java based IO (similar to root IO]

• FutureFuture– XMLXML, , RootRoot, CDF/HDF , CDF/HDF

Page 6: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

Supports Supports bothboth n-tuplesn-tuples and and Structured Structured DataData• n-tuples are fast and allow for simplifications in GUIn-tuples are fast and allow for simplifications in GUI

– Simple Interactive cutsSimple Interactive cuts– Simple plot generationSimple plot generation

but n-tuples ultimately limitingbut n-tuples ultimately limiting• Arbitrarily Structured Data provides ultimate Arbitrarily Structured Data provides ultimate

flexibilityflexibility– Requires slightly more work from end-userRequires slightly more work from end-user– Complete Object Oriented Analysis EnvironmentComplete Object Oriented Analysis Environment– Flexible enough to write (or prototype) Flexible enough to write (or prototype)

reconstruction codereconstruction code

Page 7: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

Histogram/ScatterPlot DisplayHistogram/ScatterPlot Display• Commercial plot package used in earlier Commercial plot package used in earlier

versions replaced with custom plot packageversions replaced with custom plot package– Supports strings, dates, multiple axes, direct Supports strings, dates, multiple axes, direct

user interaction, overlays, fitting, scatter user interaction, overlays, fitting, scatter plots plots

Page 8: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

User analysis modules written in JavaUser analysis modules written in Java• Java Excellent Language for Physics Java Excellent Language for Physics

AnalysisAnalysis– Easy to learnEasy to learn yet very yet very powerfulpowerful, fully , fully OOOO

languagelanguage– FastFast (and getting faster] (and getting faster]– Very fast code, load, test, fix cycleVery fast code, load, test, fix cycle

• JAS provides JAS provides built-in editor, compilerbuilt-in editor, compiler, plus:, plus:– hep.analysis package hep.analysis package

– for creating/filling/manipulating histogramsfor creating/filling/manipulating histograms

– hep.physics packagehep.physics package– simple particle, track manipulation packagesimple particle, track manipulation package

Page 9: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria
Page 10: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

hep.analysis packagehep.analysis package

Histogram delegates binning to:Histogram delegates binning to: • ““partition classespartition classes” [idea stolen from LHC++ at last ” [idea stolen from LHC++ at last

CHEP]CHEP] – Map from X, Y to bin numberMap from X, Y to bin number

– supports real, integer, string, date’s etc.supports real, integer, string, date’s etc.

– Calculation of contents, errors in binCalculation of contents, errors in bin– allows efficiency plots, mean/rms plots etcallows efficiency plots, mean/rms plots etc

– Data storage method Data storage method – immediate binning (c.f. Hbook)immediate binning (c.f. Hbook)– delayed binning, allows rebinning, axis changes via GUIdelayed binning, allows rebinning, axis changes via GUI

• Many standard partitions provided.Many standard partitions provided.• User can provide own partition functionsUser can provide own partition functions

Page 11: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

User Extensible, viaUser Extensible, via• Analysis ModulesAnalysis Modules• Data Interface ModulesData Interface Modules

– Access to experiment specific data, Access to experiment specific data, native language modulesnative language modules

• Plug In’sPlug In’s (c.f. Web Applets] (c.f. Web Applets]– Event Displays, etc.Event Displays, etc.

• FitterFitter, , FunctionsFunctions, , PartitionsPartitions

Page 12: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Analysis Studio Java Analysis Studio FeaturesFeatures

Analyze local or remote data Analyze local or remote data

• User interface independent of Data LocationUser interface independent of Data Location• Does not assume fast network (works well at 28.8 bps]Does not assume fast network (works well at 28.8 bps]• Analysis code moves (transparently) to dataAnalysis code moves (transparently) to data

Desktop Client DIM

Local Data

Network Data Server DIM

Remote Data

Page 13: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

JAS ImplementationJAS Implementation

““100% Java100% Java” Application” Application• Uses Sun’s Java Foundation Classes (Uses Sun’s Java Foundation Classes (SwingSwing) for GUI) for GUI• [optional] interfaces to legacy data (PAW, hippo, [optional] interfaces to legacy data (PAW, hippo,

StdHep) uses StdHep) uses Java Native InterfaceJava Native Interface [JNI] [JNI]

Leverage Commercial ComponentsLeverage Commercial Components• Java itselfJava itself

– compiler, GUI, debugger, networking, Remote compiler, GUI, debugger, networking, Remote Method InvocationMethod Invocation

• Help system from OracleHelp system from Oracle• Plot component (not currently used]Plot component (not currently used]• Object databases, SQL databasesObject databases, SQL databases• No runtime license feesNo runtime license fees

Page 14: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Pro’s and Con’sJava Pro’s and Con’s

Pro’sPro’s• Very ProductiveVery Productive

– No memory leaksNo memory leaks– No subtle c++ problemsNo subtle c++ problems– fun to writefun to write

• Cross Platform EasyCross Platform Easy– Develop under NT,Develop under NT,

– It just works elsewhere!It just works elsewhere!

• Getting faster all the time:Getting faster all the time:– Swing 1.1 Swing 1.1 – Faster Java Virtual MachinesFaster Java Virtual Machines– Hot-SpotHot-Spot

• Great tools availableGreat tools available– IDE’s IDE’s – code optimizerscode optimizers– object modeling toolsobject modeling tools

Con’sCon’s• Sun slow to fix Sun slow to fix bugsbugs

– printingprinting– image handlingimage handling

• No control over No control over memory allocationmemory allocation

Page 15: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

Java Pro’s and Con’sJava Pro’s and Con’s

Is Java Fast Enough for HEP Is Java Fast Enough for HEP reconstruction??reconstruction??

Page 16: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

1.0 Beta Release now 1.0 Beta Release now availableavailable

Windows (Windows (NTNT, , 9595, , 9898] self extracting ] self extracting executableexecutable

Unix (Unix (SolarisSolaris++LinuxLinux) binary distribution ) binary distribution availableavailable

Should be easy to port to other Unix, Mac etc.Should be easy to port to other Unix, Mac etc. LimitationsLimitations

• Detailed documentation still under developmentDetailed documentation still under development• May still be some changes to user APIMay still be some changes to user API

Download from: Download from: • http://www-sldnt.slac.stanford.edu/jashttp://www-sldnt.slac.stanford.edu/jas

Page 17: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

DemoDemo

Page 18: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

FutureFuture

More Data Interface ModulesMore Data Interface Modules More types of plots (lego plots etc.)More types of plots (lego plots etc.) Built in debugger, code profilerBuilt in debugger, code profiler More n-tuple handling tools (c.f. More n-tuple handling tools (c.f.

HippoDraw]HippoDraw]

Page 19: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

CollaborationCollaboration

Integrate Wired event display as “Plug Integrate Wired event display as “Plug In”In”

Working with FLCD, BabarWorking with FLCD, Babar Looking for collaborators onLooking for collaborators on

• hep.analysishep.analysis• hep.physics packages (c.f. CLHEP)hep.physics packages (c.f. CLHEP)

Looking for other experiments Looking for other experiments interested in trying Java Analysis Studio interested in trying Java Analysis Studio outout

Page 20: Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria

ConclusionsConclusions

Please try it:Please try it:• http://www-sldnt.slac.stanford.edu/jashttp://www-sldnt.slac.stanford.edu/jas

Please give us feedbackPlease give us feedback• [email protected]@sld-mail.slac.stanford.edu

Mailing List:Mailing List:• http://www.slac.stanford.edu/cgi-bin/lwgate/JAS-L/http://www.slac.stanford.edu/cgi-bin/lwgate/JAS-L/

Also general mailing list for Java in Also general mailing list for Java in HEP:HEP:• http://www.slac.stanford.edu/cgi-bin/lwgate/HEP-JAVA/http://www.slac.stanford.edu/cgi-bin/lwgate/HEP-JAVA/