CDF production integration page


This page contains information relevant to users of the production executable and developers of production modules.

Contents:


The production executable: ProductionExe

The production executable, ProductionExe, is built from the Production package. The package includes standard scripts for running the executable in validation. The script used during production processing on the farms is constructed from the trigger table using the mechanisms developed for Level-3.

Information on production releases and operations

Compiling, linking and running production

User documentation

This section will contain information on the basics of the EDM, using various high-level physics and reconstruction objects, and using the offline reconstruction packages in general. For the moment, we have only this:

Guidelines for writing production modules

Production modules are those that are intended for use in the production executable (ProductionExe) during primary dataset creation. Special rules must be followed in the development of these modules in order to insure reproducibility of the output and proper operation in the production environment, as well as to simplify the tracing or results through each stage of processing. Compliance with the Event Data Model (EDM) is central to obtaining these goals and is a major element of the rules.

Rules for production modules

  1. CDF Coding Guidelines and rules of physical coupling must be followed for all code in the production executable.
  2. Handling of event data must conform to the EDM.
  3. Production modules must adhere to the policies set forth by the integration group regarding the use of external packages.
  4. To facilitate debuggin of the production executable, each reconstruction module or group of modules that perform related functions should have an associated monitoring module that performs the following tasks:

    The monitoring module should operate on the input and output objects of the reconstruction module, and should be a separate module from the reconstruction algorithm.

  5. For each production module or group of modules that perform related functions. there must be a nightly validation job. No module will be included in ProductionExe unless this validation job produces a successful result.
  6. Each production module must be tested using "purify" or an equivalent memory-checking program prior to being included in ProductionExe.
  7. Production modules should produce a minimum of output to the terminal. The "verbose" and "production" talk-to commands of modules may be used to control the level of output. Setting "production" equal to "true" should result in the minimum level of output.

Production modules should be derived from one of the following AC++ module base classes:

Required and recommended utility packages

Certain functions and utilities are provided by packages that are developed and maintained outside CDF. The following list includes all external packages approved for use in production modules. In some cases, more than one package provides the required functionality. Only the recommended package is listed. Additional packages may be added to this list with the approval of the integration group.

Local support for most of the below packages is provided by the Fermilab Physics Class Library Task Force (ZOOM). Links to documentation are provided in the table.

Note that most ZOOM packages are approved. We note below those that are recommended or required. Also note that this list includes only those packages approved for use in production modules, and does not include all external packages supported by CDF (see the CDF Root policy) and allowed in other standard executable (such as the event display).

Approved external packages

Function

Package name

Comments

Documentation /

Support

Error logging

ErrorLogger

Multi-level error reporting package.

ErrorLogger home page (ZOOM)

Euclidean geometry

CLHEP

Geometry sub-package. Includes 2-vectors, 3-vectors, planes and transformations in 3-space.

Although the CLHEP/Vector sub-package also contains 3-vectors, only those in the Geometry sub-package are approved.

ZOOM version of CLHEP.

CLHEP/Geometry documentation from CERN

Histogramming

HepTuple

Can be used as interface to HBook/Paw, Histoscope and Root.

Only histograms and N-tuples of built-in data types are allowed in production modules.

HepTuple home page (ZOOM)

Linear algebra

LinearAlgebra

General linear algebra package. Includes Lorentz vectors and transformations.

LinearAlgebra home page (ZOOM)

Lorentz vectors

CLHEP

The CLHEP Vector sub-package provide Lorentz vectors and transformation.

ZOOM version of CLHEP.

CLHEP/Vector documentation from CERN.

Process timing

ZMtools

ZMtimer sub-package. Utilities for measuring CPU and real times

ZMtimer home page (ZOOM)

Random numbers

CLHEP

Random sub-package. Includes standard distributions and distributions drawn from a vector of probabilities.

ZOOM HEP Random extensions;

CLHEP/Random documentation from CERN

Standard CDF utilities

The following packages or classes are maintained by CDF and should be used for access to the prescribed information.

This section is still under construction, but will include at least the following topics:

Problems?

Please report problems and bugs to sexton@fnal.gov and rs@fnal.gov.

ProductionExe validation

Still under construction


For information regarding this page, please contact sexton@fnal.gov or rs@fnal.gov

This page was last modified April 4, 2002 .