Histogram fits and Dhp comparisons
Draft Requirements V0

Functional Requirements

The following is a preliminary list of functional requirements for extending Dhp comparisons to make tests based on fits to histograms:

  1. We wish to extend Dhp comparisons to be based on a fit parameter and its error, after a fit has been performed to a live histogram.
  2. The reference will frequently be a parameter of a fit to reference histogram, although it may be a specified function.
  3. Comparisons should be at the level of individual parameters, so that responses can be tailored to the deviation observed. One may also want to have a comparison on a global fit characteristic (CL, Chi2/dof) to check for a meaningful fit.
  4. Several comparisons may stem from the same fit, i.e. on several parameters of the fit. The fit should not be repeated if already executed.
  5. Dhp fits should be a general enhancement of Dhp functionality and not purely of DhpComparisonRecord, i.e. there should be a public interface directly to the fits, so that they can be performed by user code. This same interface can then be used by fits configured through DhpToken and executed through DhpComparisonRecord. In some cases, it is sensible to have the fits made _before_ the comparisons are established, and make the comparisons to histograms of the fit results. This is particularly applicable to iterated fits, e.g. slice-by-slice-fits of a 2D histogram, where it is sensible to store individual fit parameters as a histogram vs an axis of slice co-ordinate. Comparisons can the be performed on the histograms of fit results, rather than requiring the comparisons to establish such complicated fit procedures.
  6. Specification of the comparisons/fits should be with minimal overhead in the CRI file, to avoid large-scale rewriting of the DhpToken parser.
  7. Would also like to avoid excessive replication of information in the CRI file concerning specification of closely-related comparisons, i.e. comparisons of different fit parameters for the same histogram. DhpComparisonRecordToken specification is already >50% by volume concerned with the result of the individual comparison, rather than the (common) source of the comparison.
  8. Want to offer a range of pre-defined fit functions, where user has to do little more than name the fit parameters and give optional best-guess starting values. A provisional list of necessary functions is:
  9. May want to support 2D fit functions.
  10. Probably also want to allow user more flexibility in introducing a user-defined fit function.
  11. Want to be able to limit fits to certain bin ranges of the input histograms [in fact, want to limit all Dhp comparisons to CRI-defined ranges].
  12. May want to support 2D fit functions.
  13. Want to fit slices of 2D histograms as individual 1D histograms, keeping track of parameters for each slice [this is probably best implemented "upstream", resulting in a histogram of fit parameter values vs slice co-ordinates, which can then be subjected to a comparison].
  14. Parameters should be named, and users should be able to add optional initial values, bounds and step sizes.
  15. User should have optional control over convergence limits, iteration limits, fit minimization strategies etc .... but suitable defaults must be provided.
  16. Fit parameter values and errors should be reported in the messages generated by a failed comparison concerning those parameters.
  17. Ultimately need to record fit parameters to databases, so that history can be examined (longer-term objective).


Implementation points

A few points relating to the potential implementation:



Questions

Dunno ...



Information prepared by Paul Bright-Thomas
Last modified Tue Jul 27 14:00:00 BST 1999