Download presentation
Presentation is loading. Please wait.
Published byPaula White Modified over 9 years ago
1
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 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 http://aida.freehep.org
2
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20032 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
3
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20033 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
4
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20034 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…
5
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20035 Initial idea formed at HepVis-99 workshop at Orsay. Informal AIDA discussions at CERN in 2000 AIDA workshops: January 2001 - Paris/Orsay April 2001 - Boston (preceding HepVis 2001) June 2002 – CERN Informal meetings e.g. during Geant4 meetings and V.C. History
6
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20036 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
7
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20037 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
8
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20038 Interfaces Overview
9
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 20039 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
10
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200310 Histograms Clouds unbinned histograms scatter plots auto-conversion to histograms ICloud
11
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200311 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
12
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200312 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
13
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200313 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
14
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200314 Histograms Clouds Profiles Data Point Sets Ntuples Evaluators Filters Plotting create plot area, regions control styles (title, text, markers, lines etc.) IPlotter
15
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200315 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
16
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200316 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
17
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200317 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
18
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200318 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
19
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200319 Three implementations are available within: Anaphe/Lizard (C++) http://anaphe.web.cern.ch/anaphe http://anaphe.web.cern.ch/anaphe Open Scientist (C++) http://www.lal.in2p3.fr/OpenScientist http://www.lal.in2p3.fr/OpenScientist JAIDA/JAS (Java) + AIDA-JNI 3.0 (C++) http://java.freehep.org/lib/freehep/doc/aida http://java.freehep.org/lib/freehep/doc/aida GEANT4 adopted AIDA for analysis Advanced examples use AIDA See Geant4 workshop held in Feb. 2002 http://geant4.slac.stanford.edu/UsersWorkshop http://geant4.slac.stanford.edu/UsersWorkshop Tools and Users
20
AIDA Abstract Interfaces for Data Analysis Massimiliano Turri, SLACCHEP, La Jolla, 24-28 March 200320 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 http://lcgapp.cern.ch/project/pi/ started on a "value-semantic" layer based on the AIDA interfaces http://lcgapp.cern.ch/project/pi/ AIDA 4.0 ? Outlook
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.