AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20031 “The goal of the AIDA project is to define abstract.

Slides:



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

Maria Grazia Pia, INFN Genova 1 Data analysis with R in an experimental physics environment Andreas Pfeiffer (CERN) and Maria Grazia Pia (INFN Genova)
Computational Physics Java Analysis Studio Dr. Guy Tel-Zur.
June 4-8, 2007 G4ParisAnalysis 2 P. Gueye1 Analysis 2 Histograms and ntuples Paul Guèye Hampton University Hampton VA
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.
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.
Status of PI Analysis Services Lorenzo Moneta CERN AIDA Workshop 1/7/2003.
Ideas on the LCG Application Architecture Application Architecture Blueprint RTAG 12 th June 2002 P. Mato / CERN.
AA Internal Review, 21 October /2/2015 Vincenzo Innocente CERN/EP  Project Status and plan Vincenzo Innocente.
Victor Serbo, CHEP071 JAIDA, JAS3, WIRED4 and the AIDA tag library - experience and new developments DONSZELMANN, Mark (SLAC)DONSZELMANN, Mark JOHNSON,
13 January 2011 Geant4 Data Analysis J. Perl 1 Trivial Data Analysis for Geant4 Joseph Perl, SLAC Geant4 v9.4.
JAS – Distributed Data Analysis Grid Enabled Analysis Workshop Caltech - June 23-25, 2003.
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,
Susanna GuatelliGeant4 Workshop 2004 Use of Analysis Tools Geant4 Workshop 2004, Catania Susanna Guatelli, INFN Genova.
JAS3 – Current Status and Prospects by Victor Serbo, SLAC.
LCIO A persistency framework for LC detector simulation studies Frank Gaede, DESY, IT 4 th ECFA/DESY LC Workshop Amsterdam April 1 st -4 th 2003.
GRACE Project IST EGAAP meeting – Den Haag, 25/11/2004 Giuseppe Sisto – Telecom Italia Lab.
FreeHEP Java Library Mark Dönszelmann, SLAC CHEP, La Jolla, March 2003.
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko, and Lucas Taylor Northeastern University, Boston.
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.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
IX International Workshop on Advanced Computing and Analysis Techniques in Physics Research KEK, Tsukuba, December 2003
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.
Maria Grazia Pia, INFN Genova Test & Analysis Project aka “statistical testing” Maria Grazia Pia, INFN Genova on behalf of the T&A team
Writing Extension Modules (Plugins) for JAS 3 Mark Donszelmann Tony Johnson Victor Serbo Max Turri CHEP2004, 27 september-1 october 2004, Interlaken, Switzerland.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
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.
_______________________________________________________________CMAQ Libraries and Utilities ___________________________________________________Community.
JAS3 - A general purpose data analysis framework for HENP and beyond Tony Johnson, Victor Serbo, Max Turri, Mark Dönszelmann, Joseph Perl SLAC.
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.
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
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria.
JACO JACO - Java Access to C++ Objects Mark Dönszelmann and Tony Johnson 25 May 2000.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Status Report of  Analysis Services Lorenzo Moneta CERN/EP-SFT Application Area Meeting, 9 July 2003.
A PanDA Backend for the Ganga Analysis Interface J. Elmsheuser 1, D. Liko 2, T. Maeno 3, P. Nilsson 4, D.C. Vanderster 5, T. Wenaus 3, R. Walker 1 1: Ludwig-Maximilians-Universität.
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
25th May, 1999 HTL - Histogram Template Library Pavel Binko, LHCb / CERN 1 LHCb Computing Meeting HTL - Histogram Template Library Pavel Binko LHCb / CERN.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
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.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
- LCG Blueprint (19dec02 - Caltech Pasadena, CA) LCG BluePrint: PI and SEAL Craig E. Tull Trillium Analysis Environment for the.
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,
Ianna Gaponenko, Northeastern University, Boston The CMS IGUANA Project1 George Alverson, Ianna Gaponenko and Lucas Taylor Northeastern University, Boston.
AIDA Proxy Unit Tests Hurng-Chun Lee Academia Sinica Computing Centre, Taiwan.
Discussion with Blueprint RTAG August 2002 Tony Johnson SLAC.
GLAST Science Support Center July 16, July Ground Software Workshop Plotting Facilities for the GLAST Science Tools James Peachey, HEASARC Dan.
(on behalf of the POOL team)
Dirk Düllmann CERN Openlab storage workshop 17th March 2003
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:

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March “The goal of the AIDA project is to define abstract interfaces for common physics analysis objects, such as histograms, ntuples, fitters. The adoption of these interfaces makes it easier for developers and users to select and use different tools without having to learn new interfaces or change their code. In addition it is possible to exchange data (objects) between AIDA compliant applications through a standard XML format.” Introduction

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Only pure virtual methods for analysis objects AIDA defines behavior, analysis tool provides implementation Object factories independence of user code from AIDA implementation easy to switch implementations  IAnalysisFactory af = IAnalysisFactory.create(); Features

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Use same code with any AIDA-compliant analysis tool. Used for experiment’s code, e.g. reconstruction or individual user’s analysis User needs to learn only one set of interfaces. Interoperability of analysis tools. AIDAAIDA User code (e.g. GEANT4) Analysis tool 1 Analysis tool 2 Advantages

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Distributed data analysis: GRID enabled AIDA implementation. No need for user to change code. Many places within the GRID where abstract interfaces could be adopted. AIDA working group may be a good model to follow GRID Node Analysis Objects AIDA GRID Node Analysis Objects AIDA GRID-land Speaking of GRID…

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Initial idea formed at HepVis-99 workshop at Orsay. Informal AIDA discussions at CERN in 2000 AIDA workshops: January Paris/Orsay April Boston (preceding HepVis 2001) June 2002 – CERN Informal meetings e.g. during Geant4 meetings and V.C. History

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Open source project No formal collaboration/author list currently an informal CERN-LAL-SLAC effort Interfaces are designed by discussion and (eventual) consensus Takes some time, but result is well though out and robust Past and present contributors: 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 Organization and Developers

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March AIDA Version 3.0 (Oct 2002) second end-user release. AIDA 2.2 first end-user release Interfaces available in C++ and Java automatically generated with AID ( see FreeHEP Java Libraries talk )  easy to add more languages Status

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Interfaces Overview

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms fixed and variable width binning filling access to overall statistics (entries, mean, rms) bin information (center, entries, height, error) arithmetic (add, multiply, divide) projections slices IHistogram

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds unbinned histograms scatter plots auto-conversion to histograms ICloud

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles fill 1D and 2D profile plots access to bin statistics (height, mean, rms) access to overall statistics (entries, mean rms) scaling IProfile

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets sets of n-dimensional points with errors add, remove, get points scaling of values and errors full mathematical arithmetic (+-*/) simple error propagation IDataPointSet

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters fill and retrieve data support folder-like structure projections to histograms, clouds and profiles of “evaluated” quantities with “filtering” chaining, merging ITuple

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters Plotting create plot area, regions control styles (title, text, markers, lines etc.) IPlotter

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters Plotting Fitter fitting to all the data storage types IFitResult result = fitter.fit(data, function) change fit method (  2,max. Likelihood, etc) change optimizer (Minuit, etc) control parameters (bounds, fix, step, etc.) set constraints create scans and contours use function’s analytical gradient IFitter

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters Plotting Fitter Functions create scripted or built-in functions access/change parameter’s values evaluate function and its gradient support of PDFs ( normalized functions over a range ) IFunction

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters Plotting Fitter Functions IO storage for analysis objects XML interchange format standard (.aida files) no APIs; storage is application specific ITree

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March IAnalysisFactory aF = IAnalysisFactory.create(); ITree tree = aF.createTreeFactory().create(); IHistogramFactory histF = aF.createHistogramFactory( tree ); IFitFactory fitF = aF.createFitFactory(); IFitter fitter = fitF.createFitter("Chi2"); IPlotter plotter = aF.createPlotterFactory().create("Plot"); IHistogram1D gaussHist = histF.createHistogram1D("gaussHist", "Gaussian Histogram",100,-5,5); Random r = Random(); for (i=0; i<10000; i++) gaussHist.fill(r.nextGaussian()); IFitResult chi2Fit = fitter.fit(gaussHist,"g"); plotter.createRegions(); plotter.region(0).plot( gaussHist ); plotter.region(0).plot( chi2Fit.fittedFunction() ); plotter.show(); Example code

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March Three implementations are available within: Anaphe/Lizard (C++)  Open Scientist (C++)  JAIDA/JAS (Java) + AIDA-JNI 3.0 (C++)  GEANT4 adopted AIDA for analysis Advanced examples use AIDA See Geant4 workshop held in Feb  Tools and Users

AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, March AIDA has: a comprehensive set of interfaces for data analysis three separate implementations AIDA needs: feedback AIDA news: LHC Computing Grid (LCG) Application Area adopted the AIDA interfaces in the context of their Architectural Blueprint  collaborate with the AIDA team to further develop the interfaces LCG PI (Physicist Interface) project started on a "value-semantic" layer based on the AIDA interfaces  AIDA 4.0 ? Outlook