RICH Software Packages

This page details the various CMT packages in the RICH software.


Like all Gaudi and LHCb specific packages, the RICH code is partitioned into various CMT packages. The following is a brief description of the various RICH packages and relationships between them.

All the packages described below can be browser directly in CVS.

Detector Packages

Packages related to the C++ representation of the RICH XML detector description


The low level classes devoted to the runtime representation of the XML objects.

Rich Event model Packages


The definition of the persistent data representations. This package also contains some small utility classes used to define the "language" with which the higher level classes communicate which each other.

Common Packages

These contain algorithms and tools that are not specific to a given application.


This package is not specific to the RICH detectors but contains common code for all sub-detectors. Certain parts of the RICH software are contained in this package.


The lowest level of definitions, used by all packages including the RichEventModel. This package is complimentary to Kernel/LHCbKernel; In the future all sub-detector specific Kernel packages may be replaced by Kernel/LHCbKernel. However, during the current software development phase it is convenient to separate out the various sub-detectors.


This package provides a component library containing utility algorithms and tools used by all software projects.


This package is similar to Rich/RichTools in that it contains common utilities, but in this case contains software that requires interaction with the Monte Carlo history information and has therefore been placed in a separate library.


This package provides the tools used to perform the encoding and decoding of the RICH Raw Event Buffer.

Simulation Packages


The package providing the RICH specific details of the Geant4 LHCb simulation.

Digitisation Packages


Provides the simulation of the HPD detector response and readout.


Monitoring algorithms for the digitisation algorithms. Run in Boole for quality control.

Common Reconstruction Packages

These packages provide the basic utilities and functionality used by the RICH reconstruction and particle identification algorithms.


Provides the utility and base classes specific to reconstruction. This package also contains the interface header files for the reconstruction tools.


Provides the concrete implementations of the various reconstruction tools.


Similar to Rich/RichRecTools but contains software that requires interaction with the Monte Carlo history information.


Provides generic algorithms that are non-specific to particular particle identification schemes.


Contains the configuration options for the overall reconstruction strategy.


Simple and fast monitoring algorithms for the reconstruction algorithms and PID performance. Run in Brunel for quality control.


Provides detailed monitoring code that are non-specific to particular particle identification schemes.


Provides an example reconstruction algorithm, and an empty starting algorithm, as a convenient starting point to begin working with the RICH reconstruction software.

Particle Identification Packages

These are built upon the functionality provided by the common packages.


The current main pattern recognition algorithm. Performs a likelihood fit to the entire RICH detector response using knowledge from all tracks in the event.


The local approach to pattern recognition, using single track based algorithm. This algorithm is used to seed the global PID results and also in large events when the Global PID is aborted.


Performs a stereographic refit of the Cherenkov rings in RICH2 with the aim of improving the resolution and thus extending the particle identification capabilities to higher momentum values.


The algorithms to merge the results for the various different approaches into a single coherent container of RichPID objects, the main output from the RICH reconstruction algorithms.

Visualisation Packages

Packages devoted to the visualisation of the RICH data within Panoramix.


Package containing the visual converters for the RichEventModel data objects.


Package containing the visual converters for the Rich reconstruction event data objects.

Top Level Applications

In addition to the main front-end application packages (Brunel, Boole etc.) the following packages are also available providing convenient environments for the development of the RICH software.


A reconstruction program for the RICH. Runs only the RICH reconstruction, as in Brunel on DST data, thus removing the need to run the other sub-detector algorithms (such as tracking).

ChrisRJones - 14 Jul 2005
Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2005-07-28 - ChristopherRJones
    • 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-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback