Victor Serbo, SLACACAT’2002, Moscow, June 24-28, 20021 Status of AIDA and JAS 3 by Victor Serbo What is AIDA History/Collaboration/Documentation Some Details.

Slides:



Advertisements
Similar presentations
Physicist Interfaces Project an overview Physicist Interfaces Project an overview Jakub T. Moscicki CERN June 2003.
Advertisements

Control System Studio (CSS)
1 Trieste, April 17 th 2008Lucio Zambon Electronic Graphic Interface for Global Archiving Technology: PHP, MySQL, JavaScript, JPGraph, etc Development.
Why ROOT?. ROOT ROOT: is an object_oriented frame work aimed at solving the data analysis challenges of high energy physics Object _oriented: by encapsulation,
Computational Physics Java Analysis Studio Dr. Guy Tel-Zur.
JAS in SDA. My Experience My assignment was to use JAS to read SDA data and make plots. –I used OSDA and OSDAphysics to read SDA data. OSDA and OSDAphysics.
Java Analysis Studio CHEP 2000 February 2000 Tony Johnson
O. Stézowski IPN Lyon AGATA Week September 2003 Legnaro Data Analysis – Team #3 ROOT as a framework for AGATA.
Victor Serbo, CHEP071 JAIDA, JAS3, WIRED4 and the AIDA tag library - experience and new developments DONSZELMANN, Mark (SLAC)DONSZELMANN, Mark JOHNSON,
JAS – Distributed Data Analysis Grid Enabled Analysis Workshop Caltech - June 23-25, 2003.
Eclipse Introduction Dwight Deugo Nesa Matic
Analysis with Geant4 and AIDA Tony Johnson SLAC-Geant4 Workshop February 2002 Tony Johnson.
Victor Serbo, SLAC30 September 2004, Interlaken, Switzerland JASSimApp plugin for JAS3: Interactive Geant4 GUI Serbo, Victor (SLAC) - presenter Donszelmann,
ICS 665 Jesse Abdul. jQuery UI Overview  jQuery UI javascript library Includes all UI component functionality  jQuery UI CSS framework Includes standard.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Bertrand Bellenot root.cern.ch ROOT I/O in JavaScript Reading ROOT files from any web browser ROOT Users Workshop
Overview of Mini-Edit and other Tools Access DB Oracle DB You Need to Send Entries From Your Std To the Registry You Need to Get Back Updated Entries From.
Sept 11, 2003ROOT Day1, Suzanne Panacek39 ROOT An object oriented HEP analysis framework. Day 1.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
JAS3 – Current Status and Prospects by Victor Serbo, SLAC.
FreeHEP Java Library Mark Dönszelmann, SLAC CHEP, La Jolla, March 2003.
Java Analysis Studio May Mark Dönszelmann (CERN) Tony Johnson (SLAC)
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
Advanced Analysis Environments What is the role of Java in physics analysis? Will programming languages at all be relevant? Can commercial products help.
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
JAIDA, AIDA-JNI, JAS3 Status and Plans Mark Dönszelmann, Tony Johnson, Joseph Perl, Victor Serbo, Max Turri AIDA Workshop CERN July 2003.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
IX International Workshop on Advanced Computing and Analysis Techniques in Physics Research KEK, Tsukuba, December 2003
JAS/Wired + Geant 4 Tony Johnson July Contents What is JAS? What is WIRED? –Future Directions JAS+AIDA+GAG+Wired + Geant 4= ? Making it easy to.
Java Root IO Part of the FreeHEP Java Library Tony Johnson Mark Dönszelmann
G.Barrand, LAL-Orsay OpenScientist Status (v11) Relationship with AIDA
N ATIONAL E NERGY R ESEARCH S CIENTIFIC C OMPUTING C ENTER Charles Leggett A Lightweight Histogram Interface Layer CHEP 2000 Session F (F320) Thursday.
Experiment Support CERN IT Department CH-1211 Geneva 23 Switzerland t DBES PhEDEx Monitoring Nicolò Magini CERN IT-ES-VOS For the PhEDEx.
Writing Extension Modules (Plugins) for JAS 3 Mark Donszelmann Tony Johnson Victor Serbo Max Turri CHEP2004, 27 september-1 october 2004, Interlaken, Switzerland.
CERN - IT Department CH-1211 Genève 23 Switzerland t DB Development Tools Benthic SQL Developer Application Express WLCG Service Reliability.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
WaveMaker Visual AJAX Studio 4.0 Training Basics: Building Your First Application Binding Basics.
07 Apr, 2000 GAUDI Histograms Pavel Binko, LHCb / CERN 1 LHCb Software Week GAUDI Histograms Pavel Binko LHCb / CERN.
Using JAS3 for LCD Analysis Tony Johnson 20 th May 2003.
JAS3 - A general purpose data analysis framework for HENP and beyond Tony Johnson, Victor Serbo, Max Turri, Mark Dönszelmann, Joseph Perl SLAC.
The FreeHEP Java Library ACAT 2000 Fermilab – October 2000 Mark Donszelmann, Julius Hrivnac – CERN Gary Bower, Tony Johnson, Joseph.
SiD Workshop October 2013, SLACDmitry Onoprienko SiD Workshop SLAC, October 2013 Dmitry Onoprienko SLAC, SCA FreeHEP based software status: Jas 3, WIRED,
WIRED 4 An extensible generic Event Display Mark Donszelmann SLAC, Stanford, U.S.A. CHEP2004, 27 september – 1 october Interlaken, Switzerland.
AIDA Web Interface Tony Johnson, Victor Serbo, Max Turri AIDA Workshop, CERN, July 2003.
CLAS12 software paradigm My two cents… Vardan Gyurjyan Friday, August 26, 2005.
Java Analysis Studio Atlas Software Week February 2000 Tony Johnson
GranSasso, Jul-2002 Andreas Pfeiffer, CERN/IT-API, AIDA Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT/API
Fitting in AIDA General Concepts Requirements JAIDA Examples Interfaces Overview Conclusions.
GranSasso, Jul-2002 Andreas Pfeiffer, CERN/IT-API, AIDA Abstract Interfaces for Data Analysis Andreas Pfeiffer CERN IT/API
Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria.
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
Java Analysis Studio and the hep.lcd class library Mike Ronan - LBNL Joanne Bogart, Gary Bower, Tony Johnson - SLAC Nick Sinev - Oregon Don Benton - U.
25th May, 1999 HTL - Histogram Template Library Pavel Binko, LHCb / CERN 1 LHCb Computing Meeting HTL - Histogram Template Library Pavel Binko LHCb / CERN.
Interactive Data Analysis on the “Grid” Tech-X/SLAC/PPDG:CS-11 Balamurali Ananthan David Alexander
FreeHEP, JAS and WIRED Mark Dönszelmann, CERN/IT Charles Loomis, UC, Santa Cruz ATLAS Software Week, 30 November 2000.
Postgraduate Computing Lectures PAW 1 PAW: Physicist Analysis Workstation What is PAW? –A tool to display and manipulate data. Learning PAW –See ref. in.
Applications Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007.
WIRED for LCD Analysis Mark Dönszelmann Linear Collider Simulation Workshop May 19-22, 2003, SLAC.
JAS and JACO – Status Report Atlas Graphics Group August 2000 Tony Johnson.
Features of JAS Plots Plots update in real time. Data for plots can be local or remote (use Java RMI to connect to JAS Data Server). Rich variety of styles.
Summary of the AIDA workshop AIDA Workshop, July What is AIDA  AIDA defines today interfaces for some common analysis data objects  IHistogram,
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March “The goal of the AIDA project is to define abstract.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Discussion with Blueprint RTAG August 2002 Tony Johnson SLAC.
Scientific Plotting for J2EE
Potential use of JAS/JAIDA etc. SAS J2EE Review
Project Status and Plan
Java Analysis Studio - Status
WIRED 4 Event Display Linear Collider Simulation Workshop
Presentation transcript:

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Status of AIDA and JAS 3 by Victor Serbo What is AIDA History/Collaboration/Documentation Some Details Examples Future plans JAS: Description and Status Conclusion

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, What is AIDA Abstract Interfaces for Data Analysis (AIDA) “The goals of the AIDA project are to define abstract interfaces for common physics analysis objects, such as histograms, ntuples, fitters, IO etc.The adoption of these interfaces should make it easier for developers and users to select to use different tools without having to learn new interfaces or change their code. In addition it should be possible to exchange data (objects) between AIDA compliant applications.”

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Abstract Interfaces Only define “protocol” that analysis objects have to understand, no internal details Can use object only through Abstract Interface Define only pure virtual methods –AIDA defines behavior, analysis tool provides implementation Use Factories to be able to switch implementations easily: –IAnalysisFactory af = IAnalysisFactory.create();

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Motivation Advantages –The user needs to learn only one set of interfaces –Same user code can be used with different AIDA- compliant analysis applications –Different analysis tools can exchange analysis objects same storage format, use functionality from other tools –Pool experience of different developer teams LHC++, OpenScientist, JAS Two versions of AIDA interfaces –One for C++ –One for Java –As identical as possible

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, AIDA Example Use same code with any AIDA-compliant analysis tool. AIDAAIDA User code (e.g. GEANT4) Analysis tool 1 Analysis tool 2

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, History Initial idea formed during discussion at HepVis-99 workshop at Orsay –Informal AIDA discussions at CERN in 2000 –AIDA workshops: January Paris/Orsay April Boston (preceding HepVis 2001) Informal meetings (e.g during Geant4 meetings and video conferences) June 2002 – CERN –Interfaces have been designed by discussion and (eventual) consensus Takes some time, but result is well though out and robust

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Organization - Developers No formal collaboration/author list. Some people who have contributed (ideas, code, etc). –Guy Barrand, Pavel Binko, Grzegorz Chwajol, Mark Donszelmann, Wolfgang Hoschek, Tony Johnson, Emmanuel Medernach, Dino Ferrero Merlino, Lorenzo Moneta, Jakub Moscicki, Ioannis Papadopoulos, Andreas Pfeiffer, Max Sang, Victor Serbo, Max Turri Apologies to people accidentally missed

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Organization – Code, Documentation AIDA – open source project –CVS repository: cvs.freehep.org “anonymous” download available –Web page: General information, relevant links Tutorial, users’ guide, examples Downloads and web-browsable source code Test cases (coming soon)

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Current Status AIDA Version 2.2 released (December 2001) –First “End User” release –Three implementations of AIDA exist Anaphe/Lizard (C++) – Open Scientist (C++) – JAIDA/JAS (Java) + AIDA-JNI 1.0 (C++) – –GEANT4 adopted AIDA for analysis AIDA 3.0 Currently under discussion –Release: end of September 2002

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, AIDA Interfaces Summary AIDA Factories ITuple IHistogram ICloud ITree

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Example Program (Java) Create, fill, and view 1D and 2D histograms Factories: –Can switch implementations without recompiling –Framework can hide factories l ;

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, ITuple ITuple - interface to the DataITuple –“get/set” methods for double, float, int, … –Information about columns: min, max, mean, rms –Navigating: start(), next(), skip(int nRows) –Project ITuple into 1D, 2D, 3D histogram –New features for AIDA 3.0: Support for complex internal structures (subfolders) Chaining of ITuples

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, IHistogram (1D-3D) Binned histogram: IHistogram1D, 2D, 3DIHistogram1D –“fill” methods (with/without weight) –Histogram info: entries, mean, rms, axis –Bin info: centre, entries, height, error –Histogram arithmetic: add, multiply, divide –Convenience methods, like coordinate-to-index conversion

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, ICloud Unbinned collection of points: ICloud1D, 2D, 3DICloud1D –Can represent scatter plot, dynamically rebinnable histogram –Can be converted to a binned histogram –Standard “get/set” methods for entries –Collection info: lower, upper, mean, rms

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, IFunction and Fitting Fitting: IFunction, IFitFunction –IFunction – simple interface, allows to set parameters and get function value –IFitFunction – fit function to a histogram Extends IFunction Various fit control methods: step size, bounds, etc. Allows to perform fit and get results AIDA 2.2 fitting functionality fairly limited –AIDA 3.0 (Under discussion) extended functionality

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, ITree –directory-like structure (Unix directory convention) Methods like: cd, ls, mkdir, etc. –AIDA analysis objects (tuples, histograms, clouds, ets.) exist within ITree directories –“save/restore” functionality, hides storage details from the user Compatible with database or file storage Can support multiple file formats Mount/Unmount functionality (like unix) allows multiple stores to be seamlessly merged AIDA XML format is defined for data interchange

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Future (unofficial ideas) Developer-level interfaces –Code sharing –More robust operation Put AIDA-based utilities in CVS –Utility to test AIDA implementations –User contributions Common binary storage format More development in fitting interfaces –IFitter, IOptimizer, IFitResult, IPlotter

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, JAS Java Analysis Studio (JAS) –Written entirely in Java – really portable –Originally targeted at offline analysis – but also used extensively for online monitoring –Rich, easy to use GUI Can view trees, plots, HTML pages with embedded active objects –Built-in editor/compiler for writing analysis code Based on open source JEdit editor (pure Java editor, syntax highlighting, auto indent, parenthesis matching, etc.) –Local and Client-Server Operation Access local or remote analysis objects Can send analysis code to the data and ship back only the results

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, JAS (continue) Java Analysis Studio –Modular/Extensible via Plugins Plugins extend basic JAS functionality –Define experiment-specific utilities (event display, analysis utilities, specialized tables) –Add menus, create control areas, consoles, and output pages Data Format Independent through Data Interface Modules (DIM) –DIM is special type of Plugin – makes data available for JAS –DIMs exist for PAW, Root, Flat Files, SQL, stdHEP, HepTuples –You can write your own DIM for your data format Plugin examples: –Particle decay tree –WIRED event display

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, JAS GUI Built-in HTML viewer with embeddable “objects” (plots, buttons, etc.). Pages can display histograms. User can control layout, add, remove plots. Tree area provides access to analysis objects. Each item has popup menu and double- click action. Plot Widget, shows data in real time, optimized for fast refresh performance.

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, JAS Usage BaBar Online Monitoring –Online Monitoring API –Static HTML pages with embedded live and reference plots. Plots can be overlaid. US Linear Collider Studies –Have an entire recon+analysis package written in Java Using JAS as analysis interface Making use of remote data access using repository at University of Pennsylvania Other smaller scale users

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, JAS 3 Major rewrite of many JAS components –Use AIDA interfaces and JAIDA implementation for analysis: histograming, histogram arithmetic, fitting, tuples etc. –The JAS plot widget will become the FreeHEP plotterFreeHEP plotter –JAS itself will become a modular application framework, into which various analysis components can be plugged. Major plugins will include WIRED, the JAS Plotter, and JAIDA. WIREDJAIDA –Scripting support (Jython ?) –New module Example: JAS Tuple Explorer, is being used by the Babar Ambient Data explorer

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Tuple Explorer Display Tree Leaves –Plot –Histogram –XY Plot –Create new columns –Apply cuts BaBar uses Tuple Explorer as Ambient DB browser Demo after talk

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Conclusion AIDA is becoming mature project –Functionally sound –Regular meetings –Release schedule Next release of AIDA and AIDA-compliant analysis tools – September 2002 JAS 3 –Easy to use and extend –Uses Java implementation of AIDA for analysis

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details (backup): Histogram Cloud Tuple Tree FreeHEP Plotter

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details - ITuple Interface to the Data:

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details – IHistogram (1D-3D) IHistogram: Common functionality for all histograms (like entries, label, dimension,) IHistogram1D IHistogram2D IHistogram3D

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details - ICloud Unbinned collection of points: ICloud1D, 2D, 3D –Can represent scatter plot, dynamically rebinnable histogram –Can be automatically converted to a binned histogram ICloud: Common functionality for all histograms (like entries, label, dimension,) ICloud1D ICloud2D ICloud3D

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details – ITree Directory-like structures: ITree

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details - FreeHEP PlotterFreeHEP Plotter FreeHEP Plotter The FreeHEP plotter will be based on the existing JAS Plotter (JASHist), but with changes to add new features requested by users, a plugin structure to make adding new plot types easier, and a more flexible data model to make attaching various different data types possible. The FreeHEP plotter will fully support displaying all AIDA plots types.JASHistAIDA A partial list of design goals include: –Support for histogram, XYPlot, ScatterPlot, 2D color maps, lego plots, contour plots.. –Must be able to use any object as annotation or labels (arrows, latex, etc.) –Must be able to build complex plots (multiple axes, shared axes, etc.) –Extensible set of renderer –Extensible set of data source interfaces –Arbitrary map from axis to coordinate system (log, linear) –Support 2D and 3D drawing (and in principle also inventor, opengl etc.) –Able to support strings (sorted?), dates, numeric axis –Binned and non-binned axes, rebinning for binned axis –Output as postscript, SVG etc. –Variable bin size –Able to support legends, titles, annotations etc –Able to select a range in 1D and 2D plots for zooming, fitting in range, cuts etc –Labels should resize to fit bounds –Support for functions, directly setting initial values (next page …)

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, Details - FreeHEP Plotter (continue)FreeHEP Plotter –User able to directly interact with objects, move them around (including outside plot boundaries) –Property pages and popup menus for customization –Arbitrary interactions between plot and data (rebinning, zooming etc.) –External objects should be able to insert (or delete) items into property pages, popup menus –Extensible using OO techniques (e.g. Specialized Axes) –Plot should be able to provide menus to external GUI –Saving/Restoring from XML –Real time updating –High performance (rapid updates)

Victor Serbo, SLACACAT’2002, Moscow, June 24-28, June 2002 Developers Workshop 2 Day “Users Workshop” 3 Day “Developer Workshop” –Items under discussion Fitting (two proposals, from SLAC, CERN) Improved plotting (IPlotter) Graph (XYData) Tuple chaining, merging Small updates/extensions to API –Input/Participation from new people welcomed!