Fermi Physics Class Libraries Package: CLHEP
ZOOM
ZOOM
ZOOM's CLHEP Package
A Uniform Version of CLHEP, with Selective Validation
CLHEP is
a packaged collection of useful classes contributed by phyicsists
from around the world.
The ZOOM CLHEP package represents our approach to making these available
in a standardized form, for Fermilab Run2 experimenters.

Contents:

May 24, 2000:
-
StdHepC++, a New ZOOM-validated package in CLHEP.
A C++
implementation of StdHep, which
contains a set of translation routines which convert Herwig, Jetset, Isajet,
or QQ events to and from standard formats including the HEP event format.
-
Random package enhancements, since the
last news on this page, include:
- Stateless table-driven distributions RandGaussT and
RandPoisson
- Quicker (but only 8-digit perfect versions
RandGaussQ and
RandPoissonQ
- RandLandau distribution
- RandMultiGauss distribution
- NonRandomEngine, useful class for testing code that uses
a random engine by supplying a sequence
Archive
of previous (outdated) information.

Organization of ZOOM CLHEP Repository
CLHEP is
a packaged collection of useful classes contributed by phyicsists
from around the world.
Its "editors" (as of 1/21/98) are
- Andreas Pfeiffer, CERN IT/API
(editor-in-chief)
- Nobu Katayama, KEK, Belle
-- Matrix --
- Gabriele Cosmo, CERN, GEANT-4
-- Random --
- Evgueni Tcherniaev,
CERN, GEANT-4
-- Vector, Geometry --
- Mark Fischler, FNAL
-- Random --
- Lynn Garren, FNAL
-- StdHepC++ --
- Bob Jacobsen, LBL, BaBar
- Leif Lönnblad, Nordita, Lund
(RD44)
The ZOOM CLHEP package represents our approach to making these available
in a standardized form, for Fermilab Run2 experimenters.
The approach is to categorize each sub-package of CLHEP as either:
- PRESENT
The sub-package is available through the ZOOM CLHEP repository,
but ZOOM involvement is limited to:
- Checking that the code compiles on all the
ZOOM-supported platforms.
- Learning the identity of the sub-package's editor.
- Feeding back the changes necessary for compilation.
- Forwarding bug reports and suggestions from the
FNAL community.
- At times, guided by the Run2 Steering
Committee, updating the sub-package to reflect
CLHEP improvements.
Updates will not be done if they involve re-doing
work that had been fed back to CLHEP but is still
absent from their distribution.
We are providing these copies for convenience but make
no assertion
that a given package is appropriate for use
or validated for correctness.
- VALIDATED
These sub-packages are a full-fledged components of ZOOM, each
filling a need
in our user community. In addition to all the elements for "PRESENT"
sub-packages, the ZOOM task force has verified (by
doing some work ourselves if necessary) that:
- The concepts, semantics and user interface
are reasonable.
- The sub-package contains adequate tests to be
reasonably certain of its proper behavior.
- The available documentation is adequate.
- There are no obvious missing pieces
-- of value to our
users -- in the functionality supported.
- Somebody (if necessary, ZOOM) is committed to
maintaining
the sub-package -- especially accepting and
responding to bug reports.
In addition, by saying we have "VALIDATED" a sub-package, ZOOM implies
a commitment to:
- Feed back
to the CLHEP author/editors any certification
tests, documentation, bug-fixes, or extensions devloped
by ZOOM.
- Collect input
from our users as to problems encountered
and desirable extensions, and feed these back to the
CLHEP editors.
- Accept upgrades
made by CLHEP and provide the upgraded
sub-package in a timely fashion.
We are asserting that each VALIDATED sub-package is suitable
for use by our community, and ZOOM has no intention of producing
a new package with similar functionality.
Although the validation process may include testing and development
of missing features, the idea is to stick with the established interface
and implementation. Thus the amount of work required of ZOOM will be
much less than for a from-scratch development.
The benefits, of course, are uniformity within
the HEP community, and compatability with code already using these
classes.

Validated Sub-Packages
In this part we will list CLHEP components that ZOOM validates.
(Links in italics are to CLHEP web pages or documentation.)
HEP Random
Random number engines and random numbers generated according to a variety of
distributions.
Validation, extensions, and corrections are discussed in detail on the
CLHEP Random ZOOM Validation Page.
- Testing for Proper Behavior of CLHEP Random sub-package
- Random Engine Validation
We have applied the "DIEHARD" suite of statistical
tests to each of the engines:
Results
- Distribution Generator Validation
StdHepC++

Present Sub-Packages
In this part we will list CLHEP components that ZOOM does not intend to
validate.
The extent of ZOOM work on these is that we have made them compile on the
ZOOM reference platforms, and have fed back (and will continue to feed back)
the necessary changes to the CLHEP authors/editors.
These CLHEP components are presented "as is" and ZOOM makes no representation
as to their usefulness or correctness.
Originally this category was to be called "AS IS" but the
European HEP community
has made use of that terminology in another context.
These links refer to the CLHEP Reference Guide page for each sub-package.
Unless otherwise indicated, each of these CLHEP sub-packages in the ZOOM
repository reflect the contents of
CLHEP Version 1.1 .
HEP Alist
HEP Geometry
HEP Matrix
The ZOOM
LinearAlgebra package covers the functionality of this CLHEP package.
HEP String
HEP Vector
The ZOOM
PhysicsVectors package covers the functionality of this CLHEP package.
It also contains a compatability headers, HepThreeVector.h and so forth,
allowing unmodified code using the CLHEP Vectors syntax to substitute the
ZOOM PhysicsVectors implementation and take advantage of the expanded feature
set.
The CLHEP Hist sub-package, which is HepTuple, is superseded by the
ZOOM HepTuple package.
This is being fed back to CLHEP.
The original CLHEP Hist sub-package
is not present in the ZOOM CLHEP repository.

ZOOM Home Page -
Fermilab at Work -
Fermilab Home
Mark Fischler
Last modified: April 9, 1998