Download presentation
Presentation is loading. Please wait.
Published byPhilomena Pierce Modified over 9 years ago
1
IX International Workshop on Advanced Computing and Analysis Techniques in Physics Research KEK, Tsukuba, December 2003 http://lcgapp.cern.ch/project/pi/ ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP Project Status and Plan Andreas Pfeiffer CERN/EP On behalf of the PI project team
2
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 2 LCG Physicist Interfaces project v LHC Computing Grid (LCG) Application Area project r “Architecture Blueprint” RTAG identified the need for a consistent set of interfaces and tools by which physicists will directly use the software. v Physicist Interface (PI) started end `02 r Review with experiments to define workplan r Project proposal to SC2 end Jan`03, reviewed in July`03
3
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 3 PI in the LCG Application Area Technology Applications MiddlewareCERN FabricGrid deployment SEAL POOL PI Simu SPI
4
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 4 DataSet wizards Detector/Event Display Data Browser Analysis job wizards Generic analysis Tools Exp.Frameworks ROOT LCGtools GRID GEANT4 POOLSEAL Distributed Data Store & Computing Infrastructure Externaltools Architecture Overview Consistent User Interface Coherent set of basic tools and mechanisms Software development and installation
5
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 5 LCG Physicist Interfaces project v Five working areas identified which the interfaces should cover r Analysis Services r Analysis Environment r Pool & Grid PI r Event & Detector Visualization r Infrastructures & Documentation v Not all items have same priority: r Analysis Services first
6
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 6 Analysis Services v AIDA r Review, adapt, extend Interface to Data Analysis v Root implementation of AIDA r Provide an implementation of the Interfaces to Data Analysis, as defined by AIDA, based on Root (using a wrapper to Root) v AIDA interface to SEAL and POOL services r Use SEAL and POOL to provide services such as plugin manager, object whiteboard and persistency. v Blueprint compliant Analysis tool set r Statistics analysis tools based on AIDA interface – Mainly external contributions v Maintenance issue: Re-use – don’t re-invent ! r Integration of existing s/w
7
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 7AIDA v AIDA – Abstract Interfaces for Data Analysis r Started in late 1999 (HepVis WS) r Open collaboration, teams from – PI (CERN) – JAS (SLAC) – OpenScientist (LAL) r Version 3.0 since Oct. 2002 – User level interfaces – Pointers to objects with factories – XML protocol for data exchange – V-3.2 (Oct 2003): small changes r Added value from PI: – Simplified value-semantic layer with constructors and operators – Developer-level interface to ease building generic manipulators and tools
8
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 8 PI Analysis Services AIDA Root (wrapper) Native Open Scientist POOL SEAL JAS Analysis Tools Analysis object manipulators PI_AIDA Experimental Frameworks Exposing/Using AIDA IFs
9
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 9 The Goals v Interoperability r Project any AIDA 2D histogram on an AIDA 1D histogram of different implementation – achieved using PI Proxy r Use different AIDA fitters with different implementations of histograms r Exchange histograms between ROOT (C++) and Jas (Java) (XML format) v Extensions r Generic manipulator such as projectors, rebinners, etc r Build and manipulate aggregate of objects (CANs) v Interface to external applications r Store AIDA histograms in POOL (connected to experiment specific data) r Display AIDA histograms using external tools such as HippoDraw or EXCEL v Framework to develop complex analysis tools r Statistical comparison of data-sets r Modelling parametric fit problems using a MonteCarlo approach
10
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 10 Features of AIDA_Proxy v All AIDA functionality is available r excluding ITree v Easy to use r Hide factories from users v Value semantics r Implemented operator “+” and “=“ v Copy between implementations r AIDA-native to AIDA-Root and vice versa v Choose implementation at runtime r User decides implementation when constructing the objets v Objects are managed by the user (not by AIDA Tree) r Easier integration with other frameworks
11
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 11 Latest Release: 1.1.0 – Main Features v Dynamic loading of implementation: r AnalysisServices/AIDA_Proxy is a proxy to the AIDA interfaces. r Using the SEAL PluginManager to choose at runtime the corresponding implementation of the AIDA interfaces. v ROOT implementation r Providing an AIDA implementation for Root Histograms. All types of binned Histograms (1-,2-,3-D) and Profiles (1-,2-D). v Flexible I/O system r Proxy_Store giving the user the possibility to read/write AIDA objects (all types of Histograms, plus DataPointSets and Tuples) in a compressed XML file using the AIDA XML format. – Used as exchange format among implementations r Other formats (reading and writing) for binned histograms and Profiles – ROOT files, HBOOK files r Easy conversion between all formats v UnitTest Framework
12
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 12 Unit testing Histogram Sources: Filling with fixed and random data Copying from different implementation Reading from XML/ROOT file 3D Histogram 2D Histogram 1D Histogram Mean, RMS binMean, binError... CppUnit I/O CopyImplement Reference Histogram Target Histogram mean Equal? RMS Equal? binRms Equal? Test Case 1 Test Case 2 Test Case n Test Cases Testing Frameworks … … Hurng-Chun Lee Academia Sinica Computing Centre, Taiwan
13
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 13 Testing Results Hurng-Chun Lee Academia Sinica Computing Centre, Taiwan v Purpose r Check the functionalities of AIDA Proxy r Check the consistencies between different histogram implementations through AIDA Proxy r Develop a unit test framework for AIDA Proxy on which test-cases can be easily adapted v 1164 CppUnit assertions r 104 (<10%) failures v Failures are due to implementation differences r Root takes the binCentres instead of the values to calculate the global mean in H3D and Profiles r Root doesn’t store the binMean r Error treatment in Profile
14
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 14 Integration with External Tools (1) v Integration of AIDA and HippoDraw r Prototype integration performed at the Python layer – AIDA Histograms are created and filled using AIDA Python bindings Bindings to AIDA generated with LCGDictionary (SEAL) – Simple Python program to copy the AIDA objects in HippoDraw compatible objects Create an HippoDraw tuple from AIDA analysis objects Can plot also AIDA Clouds and DataPointSets – Use the Boost-Python interface to copy in and plot objects in HippoDraw – Thanks to Paul Kunz for helping
15
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 15 Integration with External Tools (2) v Integration with Root r Bridge to Root from Python r Use Python bindings to Root (PyROOT) from SEAL Done using the Rootcint dictionary r AIDA objects are copied in Root objects at the Python level r Example : – display AIDA Histograms in a Root canvas from Python
16
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 16 Near Term Plan v Port to Windows r End of 2003 v Conformance to AIDA version 3.2 r End of 2003 v Interoperability with other existing AIDA implementations r OpenScientist(C++) and JAIDA/AIDAJNI (Java) r February 2004 v Implement fitting and fit tests r February 2004 v Performance checking infrastructure r March 2004
17
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 17Summary v PI provides Interfaces (and implementations) for Physicists r Tool set compliant with the “Architectural Blueprint” of LCG AA v Analysis Services component developed r Component model, based on AIDA r Flexible, plug-in controlled set of implementations – Making use of SEAL project r Large number of unit tests show differences in implementations r Integration with external components/tools easily possible – Prototypes in Python connecting AIDA with HippoDraw and Root v Review of AIDA completed r Feedback to AIDA collaboration v Development on schedule r First release in May, production version 1.0.0 early october r Latest release 1.1.0 end November
18
ACAT-2003 -- December, 2003 Andreas Pfeiffer, CERN/EP 18 More information v On the PI project : r http://cern.ch/pi http://cern.ch/pi v On AIDA: r http://aida.freehep.org http://aida.freehep.org v On LHC Computing Grid: r http://cern.ch/LCG http://cern.ch/LCG
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.