Speaker
M. Fischler
(FERMILAB)
Description
A new object-oriented Minimization package is available via the ZOOM cvs
repository. This package, designed for use in HEP applications, has all
the capabilities of Minuit, but is a re-write from scratch, adhering to modern
C++ design principles.
A primary goal of this package is extensibility in several directions, so that
its capabilities can be kept fresh with as little maintenance effort as
possible. These flexibility goals have been met, as demonstrated by extensions
of the package to add new types of termination conditions, new domains and
restrictions on the solution space, and a new minimization algorithm. Each
of these extensions was straightforward to implement.
The object-oriented design style also has several advantages at the user level.
One such advantage is the ability to consider several problems simultaneously
within a single program. Another is that we can make the Minimzer objects
easy to coordinate the Minimizer with the use of other products. To verify
that this goal is met, we demonstrate examples of using the Minimizer in the
context of a Root application, and in an application using the "R" statistical
analysis environment and language.
We compare and contrast this package with other free C++ Minimization packages
suitable for HEP (most of which have origins in Minuit). Following Minuit
overly precisely makes it difficult to design an object oriented package
without undue distortions. This package is distinguished by the priority
that was assigned to C++ design issues, and the focus on producing an
extensible system that will resist becoming obsolete.
Primary authors
D. Sachs
(Fermilab)
M. Fischler
(FERMILAB)