HLT Software Scrutiny 2008


The HLT software scrutiny taskforce will review the HLT software. Particular emphasis will be put on

  • understanding HLT timing and memory usage
  • reviewing the general robustness of the code, including the event model and configuration
  • identifiying what HLT-output users need
  • checking correct use of the Gaudi (and LHCb) infrastructure

Some of the more relevant questions are

  • How can we make the HLT faster? Is the order in which selections are made optimal?
  • Is Gerhard on the right track with his model for loading and persisting configuration?
  • What should be in the HLT summary bank to satisfy the needs of people doing physics analysis? What exactly is needed to calculate phase space and proper time acceptance?
  • What should we do about the HLT event model? Can we replace the extensive use of the LHCb::Track model with something more generic and tuned for HLT?
  • Is the software sufficiently easily maintainable? Can it easily be extended?
  • Can we improve particle parameter resolutions in the HLT? Can we run the track fit for a small number of tracks?

The task force will produce a short document with recommendations, eventually supported by some prototyping for modifications of the HLT code (like the event model).

The task force will report regularly on its activities to Hans Dijkstra and Gerhard Raven. First feed back to the HLT is aimed for the end of Feburary.


  • if nothing else, this review should render two more people (Stefan, Wouter) reasonable experts in HLT software.
  • there is no real time-scale for this project, but finishing everything by the end of march seems a reasonable target.

Who is the taskforce?

  • Stefan Nies <stephan.nies@physik.uni-dortmund.de>
  • Tomasz Skwarnicki <tomasz@physics.syr.edu>
  • Wouter Hulsbergen <wouter.hulsbergen@cern.ch>


The task force meets first on Wednesday 06/02/2008 at 3pm.


For now the review is limitted to functionality implemented in these core packages:

  • HLTBase (cvs, doxygen)
  • HLTCommon (cvs, doxygen)
  • HLTTracking (cvs, doxygen)
The alleys may be reviewed at a later time.


So, how do we start?

Phase 1 ~ from now till end of february

  • talk to experts in order to idenify weak points in the software. Jose, Gerhard, ...
  • run the HLT, produce statistics on timing and memory usage
    • distribution of event time per event
    • break down of time over sub routines (e.g. using cachegrind)
  • understand what is needed from the HLT for physics analysis

Phase 2

  • formulation of draft document
  • prototyping of e.g. proposed changes in HLT event model
  • ...

Talks, presentations, links etc

Instructions for running the HLT

  • set up DaVinci v19r10 (for example with setenvDaVinci v19r10)
  • getpack Phys/DaVinci head and compile
  • copy $HLTSYSROOT/options/HltJob.opts, uncomment the line with the data card and run

Instructions for profiling the HLT with callgrind

  • follow the instructions for running the HLT as above
  • run this script
   source /afs/cern.ch/lhcb/group/rich/vol4/jonrob/scripts/new-valgrind.csh
   valgrind --tool=callgrind -v --dump-instr=yes --trace-jump=yes --toggle-collect="HltSequencer*execute*"  \
      $DAVINCIROOT/$CMTCONFIG/DaVinci.exe HltJob.opts >! cachegrindlog.txt
  • use kcachegrind to look at the output

-- WouterHulsbergen - 21 Feb 2008

Edit | Attach | Watch | Print version | History: r10 < r9 < r8 < r7 < r6 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r10 - 2008-03-19 - WouterHulsbergen
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback