1 OO Implementation for the LHCb Rich Niko Neufeld Dietrich Liko.

Slides:



Advertisements
Similar presentations
USE OF GEANT4 FOR LHCB RICH SIMULATION S. Easo, RAL, LHCB AND ITS RICH DETECTORS. TESTBEAM DATA FOR LHCB-RICH. OVERVIEW OF GEANT4 SIMULATION.
Advertisements

1 Geometry layout studies of the RICH detector in the CBM experiment Elena Belolaptikova Dr. Claudia Hoehne Moscow State Institute of Radioengineering,
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Off-axis Simulations Peter Litchfield, Minnesota  What has been simulated?  Will the experiment work?  Can we choose a technology based on simulations?
Ties Behnke, Vasiliy Morgunov 1SLAC simulation workshop, May 2003 Pflow in SNARK: the next steps Ties Behnke, SLAC and DESY; Vassilly Morgunov, DESY and.
25/03/2003Simulation Application for the LHCb Experiment CHEP March 2003 Presented by: W. Pokorski / CERN Authors: I. Belyaev, Ph. Charpentier,
Computer Organization and Architecture
Unit 221 UML Back Ground Class Diagrams Inheritance Hierarchy UML Patterns.
Design Patterns Standardized Recurring model Fits in many location Opposite of customization Fundamental types of pattern Choose and use as desired and.
The HERMES Dual-Radiator Ring Imaging Cerenkov Detector N.Akopov et al., Nucl. Instrum. Meth. A479 (2002) 511 Shibata Lab 11R50047 Jennifer Newsham YSEP.
REVIEW OF NA61 SOFTWRE UPGRADE PROPOSAL. Mandate The NA61 experiment is contemplating to rewrite its fortran software in modern technology and are requesting.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
Tracking at LHCb Introduction: Tracking Performance at LHCb Kalman Filter Technique Speed Optimization Status & Plans.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
5 May 98 1 Jürgen Knobloch Computing Planning for ATLAS ATLAS Software Week 5 May 1998 Jürgen Knobloch Slides also on:
G.Corti, P.Robbe LHCb Software Week - 19 June 2009 FSR in Gauss: Generator’s statistics - What type of object is going in the FSR ? - How are the objects.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
UML for OOADStefan Kluth 1 2UML for OOAD 2.1What is UML? 2.2Classes in UML 2.3Relations in UML 2.4Static and Dynamic Design with UML.
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
RICH SIMULATION USING GEANT4 S.EASO, RAL OBJECTIVES OF THE SIMULATION. CURRENT STATUS AND PLANS. INTEGRATION WITH LHCb SOFTWARE. SUMMARY.
The calibration and alignment of the LHCb RICH system Antonis Papanestis STFC - RAL for the LHCb Collaboration.
LHCb Lausanne Workshop, 21st March /12 Tracking Software for DC’06 E. Rodrigues, NIKHEF LHCb Tracking and Alignment Workshop  To do list, and done.
LHCb VErtex LOcator & Displaced Vertex Trigger
LHCb production experience with Geant4 LCG Applications Area Meeting October F.Ranjard/ CERN.
GDB Meeting - 10 June 2003 ATLAS Offline Software David R. Quarrie Lawrence Berkeley National Laboratory
Atlas CHEP‘2000 Padova, ITALY February 2000 Implementation of an Object Oriented Track Reconstruction Model into Multiple LHC Experiments.
Debugging of # P. Hristov 04/03/2013. Introduction Difficult problem – The behavior is “random” and depends on the “history” – The debugger doesn’t.
- Early Adopters (09mar00) May 2000 Prototype Framework Early Adopters Craig E. Tull HCG/NERSC/LBNL ATLAS Arch CERN March 9, 2000.
Introduction What is detector simulation? A detector simulation program must provide the possibility of describing accurately an experimental setup (both.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
GLAST LAT Offline SoftwareCore review, Jan. 17, 2001 Review of the “Core” software: Introduction Environment: THB, Thomas, Ian, Heather Geometry: Joanne.
Status of the LAr OO Reconstruction Srini Rajagopalan ATLAS Larg Week December 7, 1999.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
1 Unified Modeling Language, Version 2.0 Chapter 2.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
1 SICBDST and Brunel Migration status and plans. 2 Migration Step 1: SICBMC/SICBDST split  Last LHCb week: Split done but not tested  Software week.
Computing R&D and Milestones LHCb Plenary June 18th, 1998 These slides are on WWW at:
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Ties Behnke: Event Reconstruction 1Arlington LC workshop, Jan 9-11, 2003 Event Reconstruction Event Reconstruction in the BRAHMS simulation framework:
OO Implementation for the LHCb Rich Niko Neufeld Dietrich Liko.
LHCb Software Week, 26th April /23 Tracking in LHCb E. Rodrigues, NIKHEF LHCb Software Week A Status Report.
1 OO Muon Reconstruction in ATLAS Michela Biglietti Univ. of Naples INFN/Naples Atlas offline software MuonSpectrometer reconstruction (Moore) Atlas combined.
RICH Simulation in LHCb LHC Detector Simulation Workshop S.Easo, RAL, On behalf of LHCb–RICH group.
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Overview Methodology Design Architecture Outline of future work Ideas for discussion.
Marco Cattaneo, 6-Apr Issues identified in sub-detector OO software reviews Calorimeters:18th February Tracking:24th March Rich:31st March.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Basic Characteristics of Object-Oriented Systems
LHCb Software Week 25/11/99 Gonzalo Gracia Abril 1 r Status of Geant4 in LHCb. r Ideas on how to populate the LHCb Detector Description Data Base (LHCb.
The Ring Imaging Cherenkov Detectors for LHCb Antonis Papanestis CCLRC – RAL On behalf of the LHCb RICH group.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Systems Analysis and Design With UML 2
Object-Oriented Modeling and Design
Systems Analysis and Design With UML 2
Global PID MICE CM43 29/10/15 Celeste Pidcott University of Warwick
Object-Orientated Programming
Computer Programming.
Data Analysis in Particle Physics
Need for the subject.
Chapter 1 Introduction(1.1)
LHCb Particle Identification and Performance
Simulation and Physics
OORich Implementation Status
2 UML for OOAD 2.1 What is UML? 2.2 Classes in UML
BES III Software: Short-term Plan ( )
Reconstruction and calibration strategies for the LHCb RICH detector
Presentation transcript:

1 OO Implementation for the LHCb Rich Niko Neufeld Dietrich Liko

2 Introduction n Study of OO Implementation of a Reconstruction program n Based on Standalone Program by Roger Forty et al. n Present a comparison n Review Object Oriented features

3 Objective n Results of the FORTRAN u Physics u Resources n To be better then FORTRAN u Object Orientation F Modularity F Interfaces

4 UML Process n Specification using UML u Use cases n Development using UML case tool u Rational Rose n Iterative Development u Several internal iterations UML Unified Modeling Language by Booch, Jacobson & Rumbaugh

5 Program Specification n Technical Proposal n LHCb Note n FORTRAN Program n Summary with all information n Partial capture in use cases

6 One page on physics n Cherenkov Effect n Emission of Photons u Aerogel & Gas Radiator n Reflection of Photons n Observation of Photons u Quantum Efficiency u Detector Geometry

7 One page on algorithm n Local Likelihood n Global Likelihood u Very effective u CPU intensive n Other Algorithm possible u Average emission angle

8 Framework n OO Framework to implement reconstruction algorithms n Simulation also possible n Here the Global Likelihood will be implemented n Benchmark for usability

9 Use Cases n Question a Physicist might ask... u to a particle... u to a pixel... n Global Likelihood

10 Use cases

11 Detector

12 Detector Rich Radiator Reflector Detector Simplified UML Class Diagram Static relations of Classes

13 Event Track Pixel Track Extrapolation Track Segment Photon I should be called DetectorElement !

14 Other Entities PhotonSpectrum PixelID GeneratedPhoton

15 Lifetime n Present for all Events u Rich, Radiator, Reflector, Detector n Present for one Event u Tracks, TrackExtrapolations, Pixel, Photons n Temporary u Photon Spectrum, PixelID, Single Photon

16 Pixel id tube RecPixel signal globalPosition localPosition size Photon Detector But I am smart! Example trivial expensive calculations context questions The PhotonDetector does all the work for me ! I am not so smart...

17 Architecture Interface Detector Event Strategy Algorithm

18 Standalone Program n Minimal Environment n Contains its own Transient Event Model n Parameter Files n Histograms from CLHEP n Only for this test!

19

20

21

22 Optimisations n Since last presentation u two weeks ago u Program about a factor 2 slower n Profiling and Debugging u Allocation of STL container u operator[] u Algorithmic improvements

23 Technical Proposal 500 Events B  background “Clean”

24 Results Difference in particle population, in particular for X particles: Different sample, small differences in the modeling of the inner edges Migration  to  Reduced  Efficiency Reduced  Purity 500 Events B  background “Clean”

25 CPU Comparison 500 Mhz Pentium III G G Sec/Event Events B  Background “Clean”

26 Kuck & Associates, Inc. n Commercial C++ compiler u Standard compliant u Templates u Patented optimization techniques u Precompiled headers u n Time-locked trial version for RH6.1

27 CPU Comparison 500 Mhz Pentium III G G Sec/Event KCC Events B  Background “Clean”

28 Summary n Outlined the development process n Show physics results n Show CPU comparisons n Why an OO program should be better ?

29 Track Segment Length length Aerogel Radiator Track

30 FORTRAN REAL FUNCTION DIST(POS,DIR) C A line is given by POS and DIS REAL POS(3), DIR(3) C Radiator wall is described by its z position REAL ZPOS(2) COMMON /RADIATOR/ ZPOS DIST = ACOS(DIR(3),VMOD(DIR,3))*(ZPOS(2)-ZPOS(1)) END

31 FORTRAN n Does what it should n Math is simple n Probably more complicated in praxis u walls not normal to z u more then one radiator n Some variables which are interpreted in the context n But your program works soon!

32 Sometimes later... u … you want to improve the program F More realistic tracks F More realistic radiators u But assumptions are not isolated F There will be other places which depend on these variables u You have to find all uses of the variables F In your program at n places F In other people programs at unknown places

33 Object Based n Assume two classes present u Plane u Ray (can intersect with plane) n My program has... u class Algorithm u dist method

34 Object Based class Algorithm { Plane Radiator[2]; virtual double dist(const Ray & track) const; } double Algorithm::dist(const Ray & track) const { return Radiator[1].intersect(track) - Radiator[0].intersect(track); }

35 Object Based n More compact n Probably more general n Math is done by somebody else But main critic remains If you want to improve the program, you have to find...  n places in your own program  unknown places in other programs

36 Object Oriented class Track { public: virtual double dist() const; virtual double intersect(const Plane & plane) const; virtual double intersect(……) const; private: Radiator * radiator_; } class Radiator { public: virtual double dist(const Track & track) const; }

37 Sequence Diagram RadiatorTrack dist intersect return dist Simplified UML Sequence Diagram dynamic relation of classes

38 Object Oriented n If one changes the Radiator... u One place to do the modifications n If one changes the Track... u Another single place to do the change n Implementation is hidden behind the interface n No dependency on the implementation details Visitor Pattern

39 Summarize n FORTRAN u does the job u difficult to maintain n Object Based C++ u does the job probably better u still difficult to maintain n Object Oriented C++ u dependencies are reduced

40 Our Program does not depend on... n Track implementation n Pixel implementation n General Detector Geometry n Photon radiation process n Mirror choice n Type of Photon Detector n Photon Detector Assembly Details n Reconstruction Strategy n …..

41 Integration to GAUDI n Algorithm is interfaced n Package is nearly ready n Release next week n Detailed documentation from the Rose Model available n We plan to include some “hand written” documentation for the release

42 Future in GAUDI n Next steps … u Detector Description u Other Algorithms u Photon Detector Implementation n Not addressed u Structure of a general LHCb reconstruction program

43 Final Summary n UML process for software development n Standalone program has similar performance as the TP n Pleasant surprise: you can do a lot OO for reconstruction applications n There is the promise for a program that will be easier to maintain n You can try it yourself in GAUDI