280 likes | 421 Views
Category 7 Summary. Organizers: Torre Wenaus and NK Nobu Katayama KEK. HENP software architecture and software engineering. In our category, we have discussed mainly about tools and/or mechanisms to deal with Large number of detector components Large number of people Multiple choices
E N D
Category 7 Summary Organizers: Torre Wenaus and NK Nobu Katayama KEK
HENP software architecture and software engineering • In our category, we have discussed mainly about tools and/or mechanisms to deal with • Large number of detector components • Large number of people • Multiple choices • Integration at active development stages • There are two different scales • One person trying to help 10 software developers • 10 people trying to organize development work by 100 people
Goals • For users, tools should just work; they should be • Simple to use • Easy to understand • Error prone • Stable and reliable • Supported well • Toward generic, non-experiment specific tools? • Standardization • Common “data” format • Coordination among experiments/laboratories • Good tools become being used (slowly) by more and more people • Goodness itself doesn’t always make it happen, though
Talk/poster statistics • LHC • ATLAS(6) • CMS(3) • LHCb(2) • ALICE(2) • Other exp. • CDF(2) • Icecube, GLAST(2), CLEO-III(2), LC • Accelerator/control • DESY(2), BaBar/PEP-II • Non-exp. specific (Root, freeHEP) • LCG projects (SEAL, SCRAM)
Subcategories • Event model, data definition(4) • Package/project building, project management and release tool (7) • Geometry/detector definition(3) • Framework and library (8) • Others (6)
Event model/data definition • Storegate: a Data Model for the Atlas Software Architecture (ATLAS) • Event Data definition in LHCb • Athena Data Dictionary and Description Language (ATLAS) • (as I understand it), we are waiting for LCG version of it • Event as an Object-Relational Database; Avoiding the Dependency Nightmare (CLEO-III) • Dependencies kept in one “library”
Object Relational Approach Track:1 Hit:1 EM Shower:1 1:data:1 1:data:1,2 2:data:1 Hit:2 EM Shower:2 4:data:1 Hit:3 7:data:1 2:data:2 Hit:4 EM Shower:3 3:data:2 Hit:5 Track:2 5:data:2 Hit:6 6:data:2 Hit:7 8:data:2 Hit:8 Describe N-M relations
Package/project building, project management, release tool • OVAL: CMS testing tool • User-friendly tools for managing projects (VCMT, GLAST) • Athena Startup Kit (ASK, ATLAS) • User need to know only few commands when jumping into analysis • GLAST Nightly Package Builds and Code Release System Tests • BOA: framework for automated builds (CMS) • NICOS system of nightly build for distributed development (ATLAS, LCG) • SCRAM (poster, LCG)
General Description • Original goal : help to detect automatically the changes in the physics performances of the CMS software used for data production. • Current features of the tool : compile the provided testprograms, run them in specified runtime conditions (shell variables + auxiliary files), compare the output with references. • User interface is CVS-like, configuration files are XML-like. It is written in PERL and can be configured for any build system (scram, make). From OVAL
Configuration : OvalFile <difflineexpr="^OVAL:"><diffnumberexpr="^OVAL NUM: .* is (.*)$" tolerance="5%"> <file name=".orcarc">MaxEvents = 500Random:Seeds = 0 3</file> <var name="FEDERATION"value="cmsuf01…"> <environment name="pt15"><var name="DATASET"value="eg_ele_pt15"><program name="Clusters.cpp"><program name="Electrons.cpp" args="-geo detailed"></environment> <environment name="flow"><var name="DATASET"value="jm_minbias"><program name="EnergyFlow.cpp"></environment> From OVAL
Root Histogram Files Root Files, Stdio Dumps Architecture of System Tests Executive Script (Perl) Oracle DB Web Interface (Carrot, JAS,…, Scripts) Suite of Simulations Run on Supported Platforms Root Scripts
Detector/geometry definition • Detector Description Framework in LHCb • GraXML – Modular Geometric Modeler (ALICE) • Waiting for LCG decision • Use of a generic identification scheme connecting events and detector description in the ATLAS experiment • IDs for 100 million channels in the ATLAS detector!
Box Isotope Mixture Sphere Element Calibration Condition Alignment Condition Readout Condition EcalClusterCondition MuonStation MuonStationAlignment EcalCluster VeloReadout Data Diagram Points to Lvolume Solid Material Resolved on demand Inherits from * Pvolume Geometry Info DetElem Geometry Material Condition Structure Conditions
Lvolume Lvolume Lvolume Geometry Db Lvolume Geometry Transient Store Detector Data Service Persistency Service Ask for Object Check presence Ask creation Load Cnv Algorithm Retrieve pointer • Tree-like structure • Items identified by a logical name • Load/update on demand • Automatic update when new event
Lvolume Lvolume Lvolume Lvolume Condition Db Geometry CondDB Implementation • Additional service of the framework • Independent of the type of data contained (XML) • Based on an abstract interface with several possible backends (Objectivity, ORACLE, MySQL) Detector Data Service Persistency Service Condition Service Ask for Object Check presence Ask creation Ask for data Retrieve them from Database Algorithm Abstract interface Cnv Retrieve pointer
Framework/library • Root: Status and Future (See slides by yourself) • The FreeHEP Java Library • SEAL: Common core libraries and services for LHC applications • The AliRoot framework (ALICE) (See slides by yourself) • Dynamically configurable system for fast simulation and reconstruction for CMS (FAMOS) • Java Physics Generator and Analysis Modules • The Virtual Monte Carlo (ALICE) • Reconstruction and Analysis on Demand: A Success Story (CLEO-III)
Physics package 3-vector, 4-vector’s and utilities Jet Finding, Event Shape routines Diagnostic Event Generator HEP IO Access to a number of common HEP formats: StdHEP MCFIO HBook Root HEP3D Extensions to Java3D specific for Geant4 YaPPI – Yet another Particle Property Interface XML Particle Property Database AIDA - Abstract Interfaces for Data Analysis Interfaces and JAIDA - Java reference implementation AIDAJNI – C++ wrapper around AIDA More on this in Max Turri’s talk on Tuesday HepRep - HEP Representables for Event Display Interfaces and JHepRep - Java reference implementation HepRepJNI – C++ wrapper around HepRep see several other talks and posters Future Plot Widget (JAS) HEP Specific Components CHEP, La Jolla, 24-28 March 2003
Application Framework General framework for Java applications using plugin and service technology. AID – Abstract Interface Definition Compiler to make C++ headers and Java Interfaces from aid files. Graphics3D Non-Java3D implementation of 3D graphics, for WIRED. FreeHEP IO Extensions to the JavaIO system to handle specific encodings, ASCII85, … PSViewer PostScript Viewer to embed viewing of EPS in applications, or for previews. Swing Extensions FreeHEP Tools JNeeds – java package dependency Ant – extensions to the build system VectorGraphics Low level Input and Output of binary vector graphics formats (CGM, EMF, PDF, SVG) Vector output files, extension to Java2D XML XMLIO – classes to store/restore state of an application Future RecordLoop/EventLoop (IceCube) and more… General Components CHEP, La Jolla, 24-28 March 2003
Domain Coverage SEAL
Simulation/Reconstruction Chain Simulation: OSCAR MC 4-vector MC 4-vector Reconstruction: ORCA 100-200 sec SimHit 1-10 sec RecHit / Digi 10-100 sec FAMOS/ORCA Analysis object Analysis object FAMOS/OSCAR Start with fastest modeAIM: 1000 times faster FAMOS/ORCA
Interoperability Event Generators DetectorSimulation Pythia LCD FastMC Pandora Event Selection TESLA SimDet Analysis Code Whizard JLC QuickSim Java Fortran C, C++
VMC Concept User Code VMC Geant3 Input Geant4 Particles Hits Geant3 VMC Fluka Geant4 VMC Output Fluka VMC
Other • Revision control in the Grid Era – the unmet challenge (CDF) • Commissioning the CDF Offline • Concrete uses of XML in software development and data analysis (IceCube) • Improving the Security and Performance of the BaBar Detector Controls System (poster) • Concepts for Integrating Information systems (poster, DESY) • UML and explorative prototyping for developing interactive applications (DESY)
Ominous clouds in the LHC era • The detector components, computer systems, software, and people are • Complex • Inter dependent • Rapidly changing • Globally distributed • How can we be dealing with the situation? • How can we integrate all software to work together?
Trends • XML is coming (+ RDMS is back) • Describe, describe, describe • Plug-ins • Handle multiple choices (how lucky!) • Nightly builds • Just to see if anything has broken yesterday • On demand (just in time?) reconstruction • Ever expanding roots? • VMC, AliEn, Geometry ,(PROOF, AliEnFS on other sessions)
KEKB upgrade strategy larger beam current smaller by* long bunch option crab crossing L~1036 ILER=20A Constraint: 8GeV x 3.5GeV wall plug pwr.<100MW crossing angle<30mrad dt =3000fb-1 ~10PB/year L=1035 before LHC!! ILER=9.4A One year shutdown to: replace vacuum chambers double RF power upgrade inj. linac g C-band Present KEKB L=1034 ILER=1.5A2.6A dt =500fb-1~1PB/year 2002 03 04 05 06 07 08 09 10 11
My personal favorites • For Belle, when I go home, I would investigate more about • OVAL, GraXML, FreeHEP Java library • Root and related works • For Super KEKB planning and work, • Virtual Monte Carlo and other MC frameworks • Definition tools • Nightly build tools • On demand reconstruction, analysis processing • I am eager to see progresses of the LCG projects and adopt