Calibrations and Where to Find Them

Background

Currently new calibrations are registered in the Calibration Metadata Database. One of the fields, data_ident, is the path to the file. As is evident from the rdbGUI screen shot, the path typically contains a reference to an environment variable LATCalibRoot, but not always. It can and sometimes does include other environment variables or none at all. The calibration infrastructure code (CalibSvc package) has no special knowledge of LATCalibRoot; it is merely translated, just like any other environment variable.

We recommend that the official copy of real calibrations to be used with real data (the rules for those concocted for MC are a little looser) be kept at SLAC in the space dedicated to that purpose: /nfs/slac/g/glast/calibrations, and that the standard SLAC site definition for LATCalibRoot be this directory. Such calibrations should be registered in the Metadata Database with a path starting with $(LATCalibRoot). It then is possible for other sites to pick up the full set of production calibrations and, if LATCalibRoot is defined to be the root of the copied hierarchy, CalibSvc will be able to find calibrations in the same manner, regardless of where it's running

Toby's proposal

I think it was: recommend that the definition of LATCalibRoot bear a simple relation to the definition of GLAST_EXT. If calibration infrastructure determines that LATCalibRoot is undefined, it should operate as if it had this default definition.

Note that at SLAC there is no such relation, but it isn't necessary, either, since users there usually do have LATCalibRoot properly defined.

Why not?

There are several reasons why I think the gain to be realized from a default definition of LATCalibRoot is not worth the trouble. More or less in order of increasing importance, they are:


J. Bogart, Last Modified: 01-Jun-2010 15:46:21 -0700     Valid XHTML 1.0!