GLAST LAT Offline Software Core review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne Monte Carlo: THB, Masanobu Reconstruction: Ian Planning: THB GLAST LAT Offline Software Core review, Jan. 17, 2001 Coding technology choices • Platforms: Win NT/2000, linux, solaris • Language: Object-oriented C++, w/ coding rules • Documentation: Doxygen • Repository: CVS at SLAC, remote access via ssh. • Organization/build tool: CMT • Framework: GAUDI Introduction, T. Burnett 2 GLAST LAT Offline Software Core review, Jan. 17, 2001 CMT • Inspired by bad experience with SRT (sorry, BaBar) • Executable that creates build instructions (makefiles, DevStudio files) for products, like executable programs. • Defines a basic unit of software, the package; a package can have multiple versions, accessible simultaneously. • Defines use relation ships among packages/version combinations • Supported by Orsay, used by many experiments – documentation, web site – mail list • Independent of CVS, but maps well, has explicit support – CMT version CVS revision Introduction, T. Burnett 3 GLAST LAT Offline Software Core review, Jan. 17, 2001 CMT disk structure root has package name Version name: root for clients Documentation Public header files Source files Introduction, T. Burnett contains requirements file; All build files 4 GLAST LAT Offline Software Core review, Jan. 17, 2001 Package model server server server server “uses”, or depends on Joe package provides services for client Introduction, T. Burnett client client client 5 GLAST LAT Offline Software Core review, Jan. 17, 2001 The GAUDI Framework • A framework that defines an architectural style for event-oriented analysis • Used by four other experiments, excellent support, documentation • Implication: software components, containing classes that implement abstract interfaces of specific types: – Service (many exist already, easy to add new ones ) – DataObject (Transient Data Store: Ian’s talk) – Algorithm (where use code goes Ian’s 2nd talk) – Converter (Heather’s talk) • Summary: – A CMT package may define a Gaudi component and a test program – The component may implement one or more DataObjects, Algorithms, etc. Introduction, T. Burnett 6 GLAST LAT Offline Software Core review, Jan. 17, 2001 Coding environment for developers • – • • Traditional: 1. insert debug printout statements 2. compile, link, execute 3. study output 4. go back to step #1 More efficient alternative: – GUI interface with 3-D graphics – Debugger 3-D graphics available: Two new packages: – GuiSvc, a Service which transforms Gaudi app to use windowing env. and makes the gui operations available – IrfDisplay: initial example of an Algorithm that displays hits from glastsim. Future: probably integrate with, and adopt the HepRep/WIRED sheme – Joe Perl’s talk tomorrow Introduction, T. Burnett 7 GLAST LAT Offline Software Core review, Jan. 17, 2001 A look back to 21 June 1999 create instrument response glastsim.xml .irf read back response run parameters instrument.xml glastsim .tup instrument description reconstruct , write output ntuple merit standard analysis Introduction, T. Burnett 8 GLAST LAT Offline Software Core review, Jan. 17, 2001 Now: • It is “GlastSim”, WBS 4.1.D.2 Introduction, T. Burnett 9 GLAST LAT Offline Software Core review, Jan. 17, 2001 Simulation in five easy pieces 1. Source description, including spectrum, rate, angular dependence, geomagnetic latitude, orbit orientation, GLAST inclination 2. External geometry description 3. Concrete rendering of the detector for the simulation package 4. Generation of hits (and thus a definition of the hit classes.) 5. Conversion of hits to digis for analysis Introduction, T. Burnett 10 GLAST LAT Offline Software Core review, Jan. 17, 2001 Traudl’s picture 1 3 4 2 5 Introduction, T. Burnett 11 GLAST LAT Offline Software Core review, Jan. 17, 2001 Simulatation status, plans • Old glastsim converted to packages, still in use. Output available as Gaudi event service. Start of display. • Geometry interface – (Joanne’s talk) not critical path for balloon • Simulation as a Gaudi service: – Geant4: LHCb has done it? – Gismo: on TO-DO list for THB • Hit classes for interface to digi code: see Masanobu’s talk. Introduction, T. Burnett 12 GLAST LAT Offline Software Core review, Jan. 17, 2001 To-do’s • Framework – Need procedures (reviews?) to give meaning to coding rules – Definition of releases – Validation of critical code – Enable display of detector, tracks, recon objects • Monte Carlo – Instantiate geometry – Define Gaudi service – Create hits – hits digis • Reconstruction Introduction, T. Burnett 13