Learning Center
Plans & pricing Sign in
Sign Out
Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>



  • pg 1

Implementation of an Object Oriented
    Track Reconstruction Model
  into Multiple LHC Experiments
  Atlas                 Outline
• Overview of LHC, CMS and Atlas
• Review of the OO track reconstruction model
• Implementation of the OO model into CMS
  ORCA (Object-oriented Reconstruction for CMS Analysis)
• Implementation of the OO model into Atlas
  LVL-2 trigger reference SW and performance
• Experience and lessons learned
• Summary and prospects
CMS & Atlas                                                2
  Atlas       LHC

CMS & Atlas         3
  Atlas       CMS and ATLAS

CMS & Atlas                   4
  Atlas   Trackers of CMS and Atlas



CMS & Atlas                           5
  Atlas         OO Tracker Model (I)
• Brief history
-- Initial analysis and design by Irwin GAINES and Sijin QIAN (3/1995)
-- Started C++ coding based on a Fortran Kalman filter tracking package (9/95)
-- The model re-design by using STL (2/1996)
-- Accomplished the tracking finding and fitting (autumn 1996)
-- Ported to Windows NT (the beginning of 1997)
          ** a contribution published in proceedings of CHEP’97, Berlin, Germany (4/1997)
-- A partial re-design to form an abstract Track_builder class (summer 1997)
-- Tested in Atlas environment (end of 1997) and started LVL-2 implem. (9/98)
          ** a presentation by Irwin at CHEP’98, Chicago, U.S.A. (9/1998)
-- Produced the pure C++ version (3/1999)
          ** a presentation by Sijin at AIHENP’99, Crete, Greece (4/1999)
-- Released to Atlas LVL-2 reference SW (5/1999) and Ctrig (8/1999)
-- Preliminarily integrated into ORCA (8-9/1999)
CMS & Atlas                                                                             6
  Atlas       OO Tracker Model (II)
• Main ingredients of the OO model:
    – Problem statement ==> class diagram
    – Function statement ==> object diagrams and message trace diagrams

• Main features of the model:
    – Use well known HEP concepts for classes
    – Extensive use of Standard Template Library (STL), in both model
      design and C++ coding
    – Initially successful re-use of FORTRAN legacy code (for Kalman
      filtering method) in the member functions of various classes; later
      converted them to C++ in a straightforward manner; now pure C++
    – Flexible enough to be re-used in multiple HEP experiments (only
      implementation of layer class is different)
CMS & Atlas                                                                 7

The latest
version of
class diagram

CMS & Atlas     8
  Atlas              Object Diagrams
          First scenario         Second scenario

CMS & Atlas                                        9
  Atlas       CMS Implementation
• Uses first scenario (internal hit triplets as seeds)
• Conceptual structure of “mytest.cpp” in the
  ORCA example directory
   – RecHit objects (in ORCA) are converted to “hit” object of the OO model.
   – Layer objects of OO model are instantiated with hard-wired code at this
     stage, can be done from ORCA tracker geometry in future.
   – All classes in the OO KF tracking model are brought in straightforwardly
     without any major change.

• Examples of reconstructed tracks from the
  output log file
CMS & Atlas                                                                10

 structure of
 in ORCA

CMS & Atlas     11

CMS & Atlas   12

CMS & Atlas   13
  Atlas       A Reconstructed Event

CMS & Atlas                           14
  Atlas       Atlas Implementation (I)
• LVL-2 trigger requirement (O(10ms) time slot)
  ==> execution time is a factor of concern.
    – use 2nd scenario (outside seeds)
    – do reconstruction in Region of Interest (RoI) instead of in full f-h range

• Frameworks
    – LVL-2 Reference Software system (OO designed, input ASCII data)
    – Ctrig (input from ASCII files, produce ntuples, etc.)

• Seed modes: (1) TRT guided (inward pattern recognition)
                        (2) pixel guided (outward pattern recognition)

• Tracking corrections: (1) Multiple scattering (yes);
    (2) Energy loss (yes for electrons); (3) Non-uniform B field (in near future).

CMS & Atlas                                                                    15
  Atlas        Energy Loss Correction
                D (1/Pt) distribution (1/GeV)
    1 GeV                   5 GeV                20 GeV
   electrons              electrons             electrons

CMS & Atlas                                                 16
  Atlas       Atlas Implementation (II)
• Performance:
   – Execution speed (on 300 MHz Pentium II, under Linux)
                                          TRT seeded          Pixel seeded
       Single m (no pile-up)             <1.3> ms/event             --
       B-physics (at low luminosity)     <725> ms/event      <320> ms/event
                                          (<262> seeds)       (<122> seeds)
   –   Memory usage is in O(10 MB), depends on data volume
   –   Efficiencies (single track events, B-physics events)
   –   Resolutions (momentum, impact parameter, etc.)
   –   B-physics study in the channel B --> pp
   –   Many more results are at
CMS & Atlas                                                                   17
  Atlas       Efficiencies for m and e
              muons             electrons

CMS & Atlas                                 18
  AtlasEfficiencies for B-physics (1)
  e vs. Pt    e for e from B0 --> J/f   e vs. h

CMS & Atlas                                       19
  AtlasEfficiencies for B-physics (2)
  e vs. Pt    e for e from B0 --> pp   e vs. h

CMS & Atlas                                      20
  Atlas               Resolutions
    1/Pt      20 GeV m (tops: barrel;   bottoms: endcap)   D0

CMS & Atlas                                                     21
  Atlas   B-physics mass reconstruction

   Reconstruction of
   B --> pp mass hypothesis
   in ATLAS Level-2
   trigger using the
   Kalman filtering method

CMS & Atlas                               22
  Atlas             Lessons Learned
• C++’s new features (for previous Fortran
  programmers) now can be handled by some
  powerful debugging tools, e.g.
    – “INSURE++” to detect the memory leaks
    – “DDD” graphic debugger to detect the pointer bugs

• Integration of an OO model into a general OO
  environment of whole experiment needs a stable
  framework with a stable interface. As soon as all
  functionality of I/O objects needed by the model
  are available, the integration is straightforward.
CMS & Atlas                                               23
  Atlas           Conclusions
• OO makes it easier to do cooperative
  development among widely separated
  collaborators (promotes truly modular designs)
• OO makes re-use easier: the implementation of
  this OO model into two LHC experiments
  -- the implementation structure is very similar for
      different experiments
  -- the experience in code development can be shared
      among different experiments immediately
CMS & Atlas                                             24
  Atlas       Summary and Prospects
• We are moving towards a realistic OO track
  reconstruction model for HEP experiments
   – the memory usage of this OO model is moderate
   – the track finding efficiency is satisfactory
   – the execution speed is approaching the LVL-2
     trigger requirement

• It can be used in different experiments with
  only minor modifications
CMS & Atlas                                          25
  Atlas   Ongoing and Future Work
• CMS:
  -- Investigate more efficient I/O functions
  -- Use finalized CMS detector and track classes
  -- Overhaul the package with CMS coding rules
• Atlas:
  -- Implement the non-uniform B-field correction
  -- Optimize the performance by investigating
      new seeding methods and by exploring
      new reconstruction strategies
CMS & Atlas                                    26

To top