RICH Software Packages

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

Introduction

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

Det/RichDet

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

Rich Event model Packages

Event/RichEvent

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.

Kernel/LHCbKernel

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.

Rich/RichKernel

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.

Rich/RichTools

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

Rich/RichMCTools

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.

Rich/RichDAQ

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

Simulation Packages

Sim/GaussRICH

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

Digitisation Packages

Rich/RichReadout

Provides the simulation of the HPD detector response and readout.

Rich/RichDigiQC

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.

Rich/RichRecBase

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

Rich/RichRecTools

Provides the concrete implementations of the various reconstruction tools.

Rich/RichRecMCTools

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

Rich/RichRecAlgorithms

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

Rich/RichRecSys

Contains the configuration options for the overall reconstruction strategy.

Rich/RichRecQC

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

Rich/RichRecMonitors

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

Rich/RichRecExamples

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.

Rich/RichGlobalPID

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

Rich/RichLocalPID

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.

Rich/RichRingRefit

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.

Rich/RichPIDMerge

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.

Vis/SoRich

Package containing the visual converters for the RichEventModel data objects.

Vis/SoRichRec

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.

Rec/RichDSTRecon

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-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