SEAL-ROOT Math Plans for 2005 Math work package Andras Zsenei, Anna Kreshuk, Lorenzo Moneta, Eddy Offermann LCG Application Area Internal Review, 30 March,

Slides:



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

Introduction to Computer Science 2 Lecture 7: Extended binary trees
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
An Open-Source, Object-Oriented General Cartographic Transformation Program (GCTP) Michael S. Williams, Michael P. Finn*, and Robert A. Buehler** United.
Introduction to Function Minimization. Motivation example Data on height of a group of people, men and women Data on gender not recorded, not known.
ROOT courses1 The ROOT System A Data Access & Analysis Framework June 2003 Ren é Brun/EP Histograming & Fitting.
Designing Tensile Structures Using Generic CAD Applications. Structural membranes 2007, Barcelona, September 2007 Javier Sánchez, Tecnun, University.
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
15th September 2005PHYSTAT 05, Oxford 1 Statistics in ROOT René Brun, Anna Kreshuk, Lorenzo Moneta PH/SFT group, CERN ftp://root.cern.ch/root/phystat05.ppt.
MathMore Lorenzo Moneta, Andràs Zsenei ROOT Workshop 30/9/2005.
Colorado Center for Astrodynamics Research The University of Colorado STATISTICAL ORBIT DETERMINATION Project Report Unscented kalman Filter Information.
Photon reconstruction and calorimeter software Mikhail Prokudin.
SEAL V1 Status 12 February 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Math LHCb Ivan Belyaev LHCb, CERN & ITEP/Moscow.
ROOT: A Data Mining Tool from CERN Arun Tripathi and Ravi Kumar 2008 CAS Ratemaking Seminar on Ratemaking 17 March 2008 Cambridge, Massachusetts.
Recent and Proposed Changes to ZOOM Recent entries Intended future additions Possibilities –D0 and CDF users can affect which new “possible” additions.
Framework for track reconstruction and it’s implementation for the CMS tracker A.Khanov,T.Todorov,P.Vanlaer.
New ROOT Math Libraries W. Brown 1), M. Fischler 1), L. Moneta 2), A. Zsenei 2) 1) Fermi National Accelerator Laboratory, Batavia, Illinois, USA 2) CERN.
30th September 2005ROOT2005 Workshop 1 Developments in other math and statistical classes Anna Kreshuk, PH/SFT, CERN.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
Chapter 3 List Stacks and Queues. Data Structures Data structure is a representation of data and the operations allowed on that data. Data structure is.
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
Victor Eijkhout and Erika Fuentes, ICL, University of Tennessee SuperComputing 2003 A Proposed Standard for Numerical Metadata.
Comparison of Bayesian Neural Networks with TMVA classifiers Richa Sharma, Vipin Bhatnagar Panjab University, Chandigarh India-CMS March, 2009 Meeting,
Mixture Models, Monte Carlo, Bayesian Updating and Dynamic Models Mike West Computing Science and Statistics, Vol. 24, pp , 1993.
Performance Analysis Of Generics In Scientific Computing Laurentiu Dragan Stephen M. Watt Ontario Research Centre for Computer Algebra University of Western.
Using JAS3 for LCD Analysis Tony Johnson 20 th May 2003.
ROOT Application Area Internal Review September 2006.
New ROOT Mathematical Libraries SMatrix Package with matrix and vector classes of arbitrary type (initially developed by T. Glebe for HeraB software) complementary.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
SIMO SIMulation and Optimization ”New generation forest planning system” Antti Mäkinen & Jussi Rasinmäki Dept. of Forest Resource Management.
Global Tracking Software Status H. Greenlee Run II Meeting May 12, 2000.
AMB HW LOW LEVEL SIMULATION VS HW OUTPUT G. Volpi, INFN Pisa.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Vertex finding and B-Tagging for the ATLAS Inner Detector A.H. Wildauer Universität Innsbruck CERN ATLAS Computing Group on behalf of the ATLAS collaboration.
Parallelization of likelihood functions for data analysis Alfio Lazzaro CERN openlab Forum on Concurrent Programming Models and Frameworks.
SEAL Project Core Libraries and Services 18 December 2002 P. Mato / CERN Shared Environment for Applications at LHC.
ECE 103 Engineering Programming Chapter 55 C Math Library Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Not Invented Here: The Re-use of Commercial Components in HEP Computing Jeremy Walton The Numerical Algorithms Group Ltd, UK.
Lorenzo Moneta,LHCb Software week, 26 May Proposal for ROOT Math Libraries MathLib work package from ROOT SEAL merge new proposed structure for.
Feedback from LHC Experiments on using CLHEP Lorenzo Moneta CLHEP workshop 28 January 2003.
SEAL and PI Project Status LHCC Comprehensive Review of LCG November 2004 P. Mato / CERN.
STATUS OF THE UNIFIED SOLIDS LIBRARY Gabriele Cosmo/CERN Tatiana Nikitina/CERN.
SEAL Project Overview LCG-AA Internal Review October 2003 P. Mato / CERN.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
Recommending Adaptive Changes for Framework Evolution Barthélémy Dagenais and Martin P. Robillard ICSE08 Dec 4 th, 2008 Presented by EJ Park.
- LCG Blueprint (19dec02 - Caltech Pasadena, CA) LCG BluePrint: PI and SEAL Craig E. Tull Trillium Analysis Environment for the.
The KOSMOSHOWS What is it ? The statistic inside What it can do ? Future development Demonstration A. Tilquin (CPPM)
Slava Bunichev, Moscow State University in collaboration with A.Kryukov.
SEAL Project Status SC2 Meeting 16th April 2003 P. Mato / CERN.
Lorenzo Moneta,LHCb Software week, 26 May New ROOT Math Libraries Activities MathLib work package from ROOT SEAL merge new proposed structure for.
MathMore Lorenzo Moneta, Andràs Zsenei ROOT Meeting 19/8/2005.
Follow-up to SFT Review (2009/2010) Priorities and Organization for 2011 and 2012.
20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting.
Project Work Plan SEAL: Core Libraries and Services 7 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Martin Kruliš by Martin Kruliš (v1.0)1.
SEAL Project Status LCG Applications Area Internal Review
Developments in other math and statistical classes
ROOT Mathematical Libraries
Progress Report— 11/06 宗慶.
Test and Validation Studies of Mathematical Software Libraries
structures and their relationships." - Linus Torvalds
S.Linev, J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel
Statistical Methods for Data Analysis Random numbers with ROOT and RooFit Luca Lista INFN Napoli.
Standard Template Library
SEAL Project Core Libraries and Services
structures and their relationships." - Linus Torvalds
SPL – PS1 Introduction to C++.
Presentation transcript:

SEAL-ROOT Math Plans for 2005 Math work package Andras Zsenei, Anna Kreshuk, Lorenzo Moneta, Eddy Offermann LCG Application Area Internal Review, 30 March, 2005

Lorenzo Moneta,AA internal review, 30 March Math Work Package Main responsabilities for this work package: Basic Mathematical functions TMath, SEAL MathCore Functions and Fitting Parametric function classes (TF1) Minimizers (Minuit, Fumili) and linear and robust fitters, quadratic programming, etc.. Random Numbers Linear Algebra Physics Vector Not discussed now, but still relevant : Histograms Statistics (confidence level ) Neural Net, multivariate analysis, etc..

Lorenzo Moneta,AA internal review, 30 March Outline Preliminary proposal for SEAL - ROOT integration and evolution for short-medium term SEAL MathCore vs TMath Improvements for Function classes (TF1) integration of SEAL MathCore numerical algorithms Fitting and Minimization integration of SEAL Minuit and SEAL Fitting framework Possible proposal for merging ROOT and CLHEP Random numbers Physics Vectors Linear Algebra Milestones Conclusions

Lorenzo Moneta,AA internal review, 30 March SEAL Math Lib Contents MathCore library with the basic Math functionality used GSL in implementation interfaces could be re-implemented using another library design reviewed by CMS Minuit re-implementation of Minuit in C++ stand-alone package (no ext. dependencies) FML (Fitting and Minimization Library) defines some generic interfaces for fitting and minimization use Minuit

Lorenzo Moneta,AA internal review, 30 March SEAL, CLHEP and ROOT Math Libraries

Lorenzo Moneta,AA internal review, 30 March Differences TMath-MathCore TMath and MathCore both contain large variety of special and statistical functions MathCore implements proposed interfaces to C++ standard for special functions MathCore has a more complete set ( ~ 70 functions) MathCore uses GSL in implementation good library but with GPL license TMath has its own implementation some functions are coming from Numerical Recipes also license problem and not quality as GSL Need to develop our implementation or take one from an open source free license some available for basic functions (i.e. cephes)

Lorenzo Moneta,AA internal review, 30 March Proposal for Math Functions Separate functions according to use ROOT mathCore CVS directory with most used functions: Beta and Gamma functions, Erf, etc.. from these we can derive majority of the functions used in statistics (i.e. Chi2 probability) we keep and maintain these implementations part of ROOT libCore (size should be ~ 500 kB) A new Math directory with the other less used functions: Bessel, Legendre polynomial, Hypergeometric, etc.. use GSL for the implemention as in SEAL MathCore build as an independent libMath distribute with GPL license

Lorenzo Moneta,AA internal review, 30 March Special Functions Use new SEAL interfaces (C++ standard proposal) Have a separate namespace (specfunc) easy transition in the future when they will be in std namespace Example of new interfaces and how to keep backward compatibility namespace specfunc { double cyl_bessel_i (double nu, double x); } namespace TMath { double BesselI(double x, int n) { return cyl_bessel_i(static_cast (n),x); }..... }

Lorenzo Moneta,AA internal review, 30 March Further TMATH Improvements Possible work for long term (end of the year) use STL for sorting algorithm, min/max etc. evaluate the performances and eventually drop the old algorithms use std::vector in interface in addition to C arrays performances are the same when accessing elements separate also statistic functions acting on containers: mean, RMS, median, skewness have template functions for all of them move in a new Statistics library (libStat)

Lorenzo Moneta,AA internal review, 30 March Function Classes and Algorithms SEAL MathCore Generic function interfaces (i.e IParametricFunction) Classes for numerical algorithms Integration, Derivation, Root Finders, Interpolation separation between functions and algorithms ROOT Function classes parametric function classes (i.e TF1) mathematical functionality but also Fitting, Random and plotting functionality algorithms (integration, derivation) implemented inside the TF1 and derived classes

Lorenzo Moneta,AA internal review, 30 March Proposal for Functions Separate plotting functionality from TF1 make independent of plotting (use TVirtualHistPainter) Finalize design of function interfaces started in SEAL Implement TF1 using new interfaces of MathCore Separate implementation of the numerical algorithms from the function classes have integration, derivation in separate classes have different implementations for the same algorithm develop and maintain the basic implementation have also alternatives based on GSL (or others libs) put basic implementations in libCore while others in the extended new Math library (same as TMath) TF1 classes will use the interfaces and will not have direct dependency on libMath

Lorenzo Moneta,AA internal review, 30 March Fitting and Minimization Fitting in ROOT goes through the TVirtualFitter abstract class but designed for Minuit mixes fitting and minimization TVirtualFitter implementations: TFitter (TMinuit), TLinearFitter and TFumili code duplication (for example in setting parameters) In SEAL we have FML (fitting framework) FML defines generic interfaces for fitting and minimization one implementation is new C++ Minuit (MinuitCpp) We should start from SEAL fitting libraries and aim to have a real fitting framework in ROOT combine with proposed re-design of the Function classes

Lorenzo Moneta,AA internal review, 30 March Fitting Proposal Short term (first development release of ROOT 5) have a new Fitter class (TMinuitCpp) implementing the TVirtualFitter interface and using new C++ Minuit some work already done by Matthias Winkler continue evaluation and plan to make default engine Medium/Long term (end of the year): integrate FML in ROOT, redesigning and adapting to the new Function interfaces of MathCore make best solution to integrate all existing implementations: Linear and Robust Fitters, Fumili, Minuit, quadratic optimizer and also TMultiDimFit and TFractionFitter isolate common functionality in a libFitter library various plug-in libraries for the various implementations

Lorenzo Moneta,AA internal review, 30 March CLHEP CLHEP packages (which are the most used ones): Random Vector (Physics Vectors) Matrix Similar functionality exist in ROOT TRandom classes TVector2 (3) and TLorentzVector classes new ROOT linear algebra package Major difference is TObject inheritance for ROOT classes Otherwise there is lots of duplication problem for long term maintenance make sense aiming to merge in a new library

Lorenzo Moneta,AA internal review, 30 March Random (CLHEP vs ROOT) CLHEP Random package Nice separation engine - distributions abstract class for engines with various implementations Ranmar, Ranecu, Mersenne-Twister, RanLux,... classes for each distribution RandFlat, RandExponential, RandGauss, etc ROOT Random: base class (TRandom) with default engine rndm() from Cernlib fast generator but with small period (10**8) and obsolete in Cernlib base class defines functionality for random distributions possibility to store in a file (TRandom.Write() ) TRandom2 ( based on rdm2() ) TRandom3 ( based on Mersenne-Twister generator) both inheriting from TRandom

Lorenzo Moneta,AA internal review, 30 March Proposal for Random Improve ROOT random (for first dev. release) make TRandom3 the default engine and rename it (TMersenneTwister) add missing engines from CLHEP RanLux, HepJames (RANMAR) add more distributions (taking from CLHEP and/or GSL): Gamma, Chi2, LogNormal, F-dist, t-dist, geometric, etc.. have still Random as part of the core Math packages (in ROOT libCore) Proposed work for the long term: Evaluate random number proposal to C++ standard template classes on Engines and Distribution Type a similar implementation already exists in Boost re-implement using the new proposed interface?

Lorenzo Moneta,AA internal review, 30 March CLHEP & ROOT Physics Vectors CLHEP Hep2Vector, Hep3Vector, HepLorentzVector HepRotation, HepLorentzRotation, HepBoost ROOT TVector2, TVector3, TLorentzVector TRotation, TLorentzRotation originated from CLHEP in `98 and developed in parallel Large overlap of functionality (> 90 % ) Bloat interface for CLHEP ( from CLHEP-ZOOM merger) lots of duplications ( getX() and x() ) Slightly more functionality in CLHEP classes nearness concept, ordering, etc.. probably reside better in some utility classes

Lorenzo Moneta,AA internal review, 30 March Physics Vector Proposal Short term work proposal base on existing ROOT classes eventually add missing functionality from CLHEP Medium/Long term (end of the year) work proposal improve interface of physics vector classes merging CLHEP and ROOT good occasion for a clean-up and redesign CLHEP interfaces were designed more than 10 years ago evaluate pro/cons of TObject inheritance need to involve some of CLHEP authors and experiments it would require some time we must consider that these classes are heavily used problem of migration to new classes

Lorenzo Moneta,AA internal review, 30 March Linear Algebra More functionality in ROOT Linear Algebra decompositions for solving LA systems support for sparse matrices support for external data storage Both have optimized support for small matrices pre-allocation on the stack up to 6x6 matrix and optimized inversion Proposal is to base on ROOT Linear Algebra Consider to move in the long term to template classes for supporting complex matrices Continue detailed evaluation with other LA packages follow evolution of new GLAS (Boost) project

Lorenzo Moneta,AA internal review, 30 March Linear Algebra Tests Important to continue detailed performance evaluation of existing LA packages test also in real experiment applications

Lorenzo Moneta,AA internal review, 30 March Additional Activities Combine in a Statistic library (libStat) statistical functions and classes to estimate confidence level (TLimit, TFeldmanCousin, TRolke) Improve multivariate analysis methods neural net classes (TMultiLayerPerceptron) and add new algorithms (i.e. Boost Decision Trees) TPrincipal, cluster finders algorithms Improve Histogram library add peak finders in 2D Possible new Math functionality to be added: quasi-random number generators Monte Carlo integration methods and tools (Foam, PI) ongoing discussions with S. Jadach and F. Kraus

Lorenzo Moneta,AA internal review, 30 March Proposed new Math Structure

Lorenzo Moneta,AA internal review, 30 March Math Milestones 30 June 2005 new mathCore CVS directory in ROOT with the basic math functions new libMath containing GSL wrappers (from SEAL) Integration of SEAL Minuit in ROOT (TMinuitCpp) Improve ROOT random number package 30 Sep 2005 (ROOT Workshop) Complete re-factor of TF1 classes Design of new Physics Vector interfaces Design of new Fitting framework 15 Dec 2005 first release of new Physics Vector library first release of new Fitter library

Lorenzo Moneta,AA internal review, 30 March Math Conclusions Smooth integration of SEAL packages in ROOT expect to finish migration for end of the year opportunity to re-factor and redesign functions and fitting in ROOT Merger also with CLHEP lots of duplicated functionality ROOT-CLHEP make sense for long-term maintenance to have a single package used by the experiments Propose to build new physics vectors library occasion for redesigning and merging the functionality Important to develop in collaboration with the experiments need agreement in using the new libraries