12/02/2003 05:29 -0800
Use the irfAnalysis package to encapsulate and allow reproducible generation of the constants, in the defined set of bins. There is some documentation and browsing capability for this package here, with plots for current fits here.
Input is the result of an all_gamma run, currently run with GR v3r3p7 and the Rome classification trees. Available via ftp here. This will be replaced by a new version with better trees.
The class Irf:
The class Fitter (written by Jim Chiang) is a useful utility that makes a ROOT table of its fit parameters, and is designed to be subclassed to define specific fit functions, etc.
We use an empirical power law to scale the psf error as a function of
energy and whether it is in the front or back sections. The scaling function
needs to be made available to the latResponse implementation as well.
Currently it is:
// the scaling function:
parameters determined by fits at Perugia
static double
power=-0.8, // exponent of energy
thin100=0.08,
thick100=0.14, // value (radians) at
100 MeV, for thin or thick
cutoff=1e4; // flat above this
energy
double t
= pow(std::min(energy, cutoff)/100., power);
return
isthin ? thin100*t : thick100*t;
}
Jim will implement each of the functions by defining concrete classes to implement the abstract intefaces IEdisp, IPsf, and IAeff, found in the latResponse package. The tables with the constants will be put into its CALDB directory.
The psf cuts depend on proper calculation of four variables designed by Bill Atwood. These are properly implemented in the merit package. However, the background cuts are not reproduced.
A new application in the merit package (run_classification) allows creation or replacement of the CT variables from an existing merit root tuple. This has been applied to the all_gamma, data set, with the result for all events,
The updated file is available here: The filename is ag-v3r3p7-merituple-prune20031102-fulltup.root
This has better high energy response, but still falls off.