600 likes | 785 Views
Software Projects in the IT/API Group API = Applications for Physics and Infrastructure. Software Panel of the LHC Computing Review Jürgen Knobloch. Slides available on: http://nicewww.cern.ch/~knobloch/slides/hhapi/index.htm. IT Division - Structure from January 2000. Controls CO
E N D
Software Projects in the IT/API GroupAPI = Applications for Physics and Infrastructure Software Panel of the LHC Computing Review Jürgen Knobloch Slides available on: http://nicewww.cern.ch/~knobloch/slides/hhapi/index.htm LHC Computing Review - Software Panel
IT Division - Structure from January 2000 Controls CO Computing for Engineering CE Internet Applications IA Database (Object and Relational) DB Windows Infrastructure and Services WIN Physics and Desktop Partnership PDP Applications for Physics and Infrastructure API Shrinking staff numbers Half of the people are working on general CERN infrastructure Outsourcing of standard tasks Windows Infrastructure and Services atabases Computing for Desktop Partnership Physics and PDP DB Controls CO CE IA WIN Engineering Internet Applications (Object and Relational) Applications for Physics Applications for Physics API API and Infrastructure and Infrastructure D Division Leader’s Office / Divisional Officers DL, DDL, TLO, DSO, DTO, DAO User Support and Training US nning / Administrative Services Project Support Team Technical Services TS Divisional Pla Communication Services CS User and Management Committees CAEC, DTF, ELEC, FOCUS, LEPC, LHCC, MB, RB, SPSC LHC Computing Review - Software Panel
API Group Group Organization AIDA/Lizard/HTL/n-Tuple Fitting WIRED Commercial Components CLHEP GEANT 3 CERNLIB-PAW GEANT 4 Software process support Languages, Software Development Tools, Documentation (LIGHT) Testing, Distribution, Installation, License Management Contact with & Support of other projects: JAS, OpenScientist, EDMS, Pythia 7, CORAL ... LHC Computing Review - Software Panel
What is the role of a CERN-IT software group? • Experiments have recognized the need of “common solutions” • Historic example: CERNLIB • Cannot do all the work in IT • Example GEANT 4: • 3 staff in API, 2 FTE on average as visitors in API • 60 people in the experiments and other institutes • Act as catalyst: • Work with experiments on specific solutions • Small components - short “time to market” • Productize for other experiments • Share the work with other labs and institutes LHC Computing Review - Software Panel
Products GEANT 4 AIDA/Lizard/HTL/n-Tuple Fitting CLHEP Commercial Components WIRED GEANT 3 CERNLIB-PAW OO toolkit for simulation Libraries for HEP Computing Was called LHC++ C++ replacement of CERNLIB Mathematical libraries, graphics Event display in JAVA (Mostly) FORTRAN software Limited maintenance: next and final release of CERNLIB ever: 1Q/2002 LHC Computing Review - Software Panel
Geant4: object oriented toolkit for simulation, Slides prepared by John Apostolakis, CERN/IT/API LHC Computing Review - Software Panel
Geant4 Collaboration • Collaboration based on MoU, consists of • Laboratories: CERN, SLAC, KEK, TRIUMF, Jefferson, • Experiments: Atlas, CMS, LHCb, BaBar, • Institutes, Groups: IN2P3, IGD, TERA, Frankfurt • for the production service, maintenance and development of Geant4 • About 80 collaborators worldwide • physicists and computer scientists • G4 was developed by worldwide RD44 project • RD44 ended with first production release in December 98 LHC Computing Review - Software Panel
Class Category Diagram Readout Run Geant4 ODBMS Digi Event Event Gen. Visualization Detector Tracking Particle Definition Utilities Hit Physics Material Magnetic Fields Track Geometry CAD Interface LHC Computing Review - Software Panel
In Context: Theoretical Hadronic Processes • Theoretical models, from low E to high E • Pre-Compound Model + Evaporation Phase • Cascades, CHIPS and QMD models • String models • Interface to event generator(s) LHC Computing Review - Software Panel
Pre-Compound Model + Evaporation Phase • Traditional pre-equilibrium model • as good as existing ones • Evaporation: • Weisskopf-Ewing model • Fermi breakup model • Model for fission • Multifragmentation model (Bondarf) • Photon Evaporation • only missing Internal Conversion • (suppressed by more than 10^4) • Future: 2nd Pre-Compound, from HETC re-eng. (in 2000) LHC Computing Review - Software Panel
Other Hadronics • Data driven and parameterized approaches • Neutrons • from numerous evaluated data libraries • down to thermal energies, up to 20 MeV • Isotope production (see earlier slide) • Induced Fission & Capture (H.Fesefeld) • used above 20 MeV • Parameterized models • Gheisha + fixes • New parameterizations LHC Computing Review - Software Panel
High Energy K,pi on Al, Au LHC Computing Review - Software Panel
Photon evaporation Sn(120), 80 MeV Sn(112), 80 MeV MeV MeV Photon energy, discrete levels LHC Computing Review - Software Panel
Induced fissionU235, 10MeVneutrons LHC Computing Review - Software Panel
Isotope Production • Isotopes produced by neutrons on Lead 208 • Small dots: evaluated data • Circles with error bars: Geant • latest model • is in currrent release: Geant4 1.0 LHC Computing Review - Software Panel
Electro-Magnetic physics • Gammas: • Gamma-conversion, Compton scattering, Photo-electric effect • Leptons(e, mu) + charged particles(hadrons, ions): • Ionisation, Bremstrahlung, Energy loss, Multiple scattering, transition radiation, Synchrotron radiation, PI model energy loss • Photons: • Cerenkov, Rayleigh, Reflection, Refraction, Absorption, Scintillation • High energy muons and lepton-hadron interactions • Implementation of EM physics to 250 eV • using ICRU and Ziegler parameterisations for hadrons, ions • using evaluated data libraries (for e-, gammas) LHC Computing Review - Software Panel
Shower profile • 1 GeV electron in H2O G4 Data G3 • Very good agreement seen with the data LHC Computing Review - Software Panel
Sampling calorimeter • Sampling calorimeter • visible energy • tests • all EM processes for e-, e+ and photon • Data from Sicapo Col. NIM A332 (85-90) 1993 LHC Computing Review - Software Panel
Multiple scattering • Example of comparisons: • 6.56 MeV proton • on 93 microns Si LHC Computing Review - Software Panel
Changing cuts • Results very stable with variation of cuts • even track length • Shower profiles for different cuts stable • between 10mm and 50 microns LHC Computing Review - Software Panel
Electromagnetic processes • All processes at least at level of Geant-3 • New process: Transition radiation • Multiple Scattering: new model • no path length restriction • added lateral displacement • measured effect on result • Energy Loss: two types of approaches • two approaches: differential and integral • several alternatives: PAI model (thin), Super E-loss • Integration of cross section over Energy • hadronic resonances can be seen (future) LHC Computing Review - Software Panel
Low energy EM processes • Photons, electrons down to 250 eV • Xsec from evaluations • with thanks to J. Stepanek CERN/ ESA A. Forti M.G. Pia P. Nieminen LHC Computing Review - Software Panel
Software Engineering • Software Engineering in HEP • The software process: distributed development • ESA PSS-05: URD v.06 • Object-Oriented methodology: Booch+unified • OOA&D: Rational Rose CASE • QA: Insure, Logiscope, code inspection, coding guidelines, scripts • Testing at class-level (ex: 375 test-cases for processes) • System integration testing LHC Computing Review - Software Panel
Geant4 geometries • EM Calorimeter, BaBar (SLAC) • Borexino Detector for Low Energy Solar Neutrinos • URL: http://almime.mi.infn.it/ LHC Computing Review - Software Panel
CMS Geometry in GEANT4April 1999 • Beam Pipe • Tracker • Si Pixel Detectors • Barrel Si Pixel • Forward Si Pixel • Si Strip Detectors • Barrel Si Strip • MSGC • Barrel MSGC • Calorimeters • Electromagnetic Calorimeter • Barrel ECAL • Hadron Calorimeter • Barrel HCAL • Muon System • Barrel Muon LHC Computing Review - Software Panel
Prototype Atlas Geometry LHC Computing Review - Software Panel
Milestones for Geant4 in 2000 • Comparison projects with ‘experiments’ • agree mini-projects, work & publish together • Create a training kit • and continually improve documentation, examples • Re-examine & improve the software process • Other goals • new development • publishing results LHC Computing Review - Software Panel
Milestone 1: comparison projects • Select key ‘detector’ setups • from experimental groups (eg test beams) • Perform in-depth simulations • with combined resources • Analyse results and publish together • Set of ‘detectors’ should be complementary • short projects (~ 6 months), few at a time (~3); • e.g. Calorimeters - Trackers - Radiation studies LHC Computing Review - Software Panel
Other Proposed Milestones • Create a training kit • to aid in teaching the capabilities of G4 toolkit • bringing together all GEANT 4 training experience • Must address needs of user communities • type, length of training , proposed audiences • Software Process Improvement • Identify areas needing new analysis/design cycle • Create team for QA & optimisation monitoring • Fully integrate testing & QA in development cycle. LHC Computing Review - Software Panel
Libraries for HEP Computing (LHC++) Name is being changed! Slides extracted from CHEP2000 talk by Andreas Pfeiffer CERN/IT/API andreas.pfeiffer@cern.ch LHC Computing Review - Software Panel
Strategy for AIDA, Lizard et al. (was LHC++) • Based on components • Defining abstract interfaces • Phasing out of Explorer • Reuse of components developed previously • C++ is still required • Two purposes: • “Out of the box” analysis • Toolset - Library • Mathematical functions provided by external source LHC Computing Review - Software Panel
LHC++ • Aim: physics data analysis in OO-environment • Needs libraries and tools • functionally as complete as possible (full replacement of CERNLIB) • making use of OO tools and methodologies • started in late 1995 LHC Computing Review - Software Panel
LHC++: what it is (I) • Modular replacement of current CERNLIB for use in HEP experiments • memory management (C++) • persistency (“I/O”) • mathematical library • foundation classes • random number generators • histogramming • fitting • simulation LHC Computing Review - Software Panel
LHC++: what it is (II) • Based on OO methodology • eases long term maintenance and extensibility • quick way to (basic) functionality • flexible wrt. changing user requirements • Initial choice: C++ • performance close to C/FORTRAN • Java for the future ? • In close collaboration with LHC (and other) experiments • “use standards as far as possible” LHC Computing Review - Software Panel
Present configuration • Object persistency • from RD45 collaboration (Objectivity/DB) • Foundation classes • HEP specific foundation classes (CLHEP) • Random number generators (CLHEP) • Mathematical library from NAG (NAG_C) • covers broad range of functionality • extensions required by CERN will be added in next release (Mark 6) • quality assurance LHC Computing Review - Software Panel
Present configuration (cont.) • Histogramming: HTL • Fitting: Gemini, HepFitting packages • interface to any minimizer (at present: NAG, Minuit) • Event generators • Lund people started Pythia-7 (C++) • StdHep++ in process to become part of CLHEP LHC Computing Review - Software Panel
LHC++ packages and dependencies Being replaced LHC Computing Review - Software Panel
New Data Analysis Tool • First iteration on physics data anlysis tool (based on IRIS Explorer) • data driven approach • GUI based, not command line driven • majority of users didn’t like it • Request made in September 1999 to create new physics analysis tool • new requirements defined together with experiments • Try to maximise re-use of existing components LHC Computing Review - Software Panel
OO approach to create tool • Start with OO analysis • collection of user requirements • Study critical path(s) • user interface, distributed processing, ... • OO design phase • define categories and classes, find patterns • Create prototype • get feedback from users • Iterate LHC Computing Review - Software Panel
User requirements for a physics analysis tool • Easy to use for “end user” • "like PAW” • Foresee customization/integration wrt. existing frameworks of experiments • e.g., use persistency/messaging/... from experiment • needs to be compatible with experiment’s framework • Plan for extensions • Maximize flexibility/interoperability • "plug-and-play-like" use of components from other frameworks (shared libs using the same interfaces) LHC Computing Review - Software Panel
Categories and dependencies LHC Computing Review - Software Panel
Designing the Abstract Interfaces • AIDA project started by HepVis’99 workgroup: Abstract Interfaces for Data Analysis • http://wwwinfo.cern.ch/asd/lhc++/AIDA/index.html • In close collaboration with users and developers from experiments and providers of other packages • Iguana, HippoDraw, JAS, OpenScientist • Starting with Histogram classes • presently in final iteration • Next items are Ntuples, Vectors and Fitting LHC Computing Review - Software Panel
User interface design • Create abstract interface for UserIF • decouple functionality from presentation • makes UI independent of implementation • using SWIG for flexibility wrt. scripting language • Starting with Python based UserIF • OO scripting language • Other implementations will come • Also GUI based user interfaces easy by design • "Controller" category defines interface to user interface LHC Computing Review - Software Panel
Status • Libraries are ready • http://wwwinfo.cern.ch/asd/lhc++/index.html • Data analysis tool • first prototype ready • http://wwwinfo.cern.ch/asd/lhc++/Lizard/index.html • Work on defining interfaces • AIDA project (from HepVis’99 workgroup) • http://wwwinfo.cern.ch/asd/lhc++/AIDA/index.html LHC Computing Review - Software Panel
Plans • AIDA • Continue abstract interface definitions together with users and other projects (JAS, OpenScientist,…) • Lizard • Use AIDA interfaces where available • First release in October 2000 (LINUX only) • Histogramming, Ntuples, Vectors, Persistency • Functions, plotting, fitting • Scripting, GUI • Release on LINUX first • Next release in April 2001 LHC Computing Review - Software Panel
Lizard - October 2000 (1) • Histograms • create, destroy, manipulate, store/retrieve from DB, plotting • Ntuples • retrieve from DB, scan/project according to 'full' C++ cuts • Vectors • retrieve/store from ASCII file, creation from histogram, plotting • Functions • definition of arbitrary functions, plotting • Fitter: chisquare/ML fitting of vectors/histograms with simple models (Gaussian, Exponential, Polynomial and linear combinations). LHC Computing Review - Software Panel
Lizard - October 2000 (2) • Plotter • plotting on several zones, overlaying plots, colors, titles/labels • 1D representations (histo,line,errors,markers) • 2D representations (Box, Contour) • Postscript • Locate feature. • Controller: PAW like interface • Analyzer • dynamic compiling and loading of experiment specific code,creation of histograms which can then be accessed from Lizard LHC Computing Review - Software Panel
Lizard - April 2001 • Ntuples: creation/storing in DB • Fitter • fitting with user defined functions, store/retrieve fit context from DB. • Plotter • more graphics representations, more powerful locate feature. Visual editor. • Lizard available on Linux, Solaris (and NT?). • Another script interface (Tcl, Perl, CINT?) • AIDA interfaces used where available. LHC Computing Review - Software Panel
WIRED World-Wide Web Interactive Remote Event Display Slides extracted from CHEP2000 talk by Mark Dönszelmann, IT/API, CERN LHC Computing Review - Software Panel
Features • Framework for building Event Displays • 10% of code is experiment specific • Client Server Architecture • Client can be used as Application or Applet (browser mode) • Written entirely in Java • Client in Java, Server can be in a different language • Access to data • reads files or connects to Java, FORTRAN, C and C++ • Graphics Engine to do HEP specific projections • 3D as well as non-linear (fish-eye) projections • ATLAS, BaBar, CHORUS, DELPHI and LHCb • Development infrastructure available for collaboration LHC Computing Review - Software Panel