Versioning of Calibration Constants
To get reproducible reconstruction results it is necessary not only to have a stable version of the reconstruction software, but also a stable version of the calibration constants. At some point in the future we will have a calibration database that will allow a reproducible choice of a set of constants. At present however, the constants are kept in the Subversion repository. This is an interim measure. Given the situation, the current scheme relies on the versioning provided natively by Subversion.
Contents
Checking out the versions
Here is what is available.
Current constants
The current set of all constants are in directory tree https://halldsvn.jlab.org/repos/trunk/calib. All new versions of constants should be checked into this area.
Versions by date or Subversion revision number
Older versions of the constants can be obtained by specifying the --revision (-r) option. For example:
svn checkout --revision 5432 https://halldsvn.jlab.org/repos/trunk/calib
checks out revision 5432 and
svn checkout --revision '{2009-08-28}' https://halldsvn.jlab.org/repos/trunk/calib
checks out the version at the start of August 28, 2009. These versions are there just by virtue of the file being kept in the repository.
Tagged versions of the calibration constants
Tagged versions are kept in the repository in the directory https://halldsvn.jlab.org/repos/tags. They have descriptive names such as "calib-2010-03-10", and generally match the naming scheme of a tagged release of sim-recon. These tags are created by hand (they are not "naturally occurring" in Subversion).
Pre-checked-out versions at JLab
On the JLab CUE there some versions checked out on the halld group disk. They are in the directory /group/halld/Software/calib. Currently, the latest version and the tagged versions are there:
> ls -l /group/halld/Software/calib/ total 12 drwxr-sr-x 10 gluex halld 4096 Mar 15 14:11 calib drwxr-sr-x 8 gluex halld 4096 Mar 15 14:21 calib-2010-02-11 drwxr-sr-x 10 gluex halld 4096 Mar 15 14:22 calib-2010-03-10 lrwxrwxrwx 1 gluex halld 5 Mar 15 14:11 latest -> calib
Note that "latest" is actually a link to a version checked out from the trunk. This version is updated daily at midnight. The cron job is run by user gluex on ifarml3.
Old location of the calib directory
Up until March 16, 2010, there was only one calib version checked out for public use at JLab. It was located at /group/halld/calib and would get updated occasionally. This location now contains a link to the latest version (for backward compatibility of old environment settings).
Setting the JANA_CALIB_URL environment variable
To use a particular checked-out version of the calibrations, you set the JANA_CALIB_URL environment variable to point to the top-level directory. For example, at JLab, to use the latest version of the constants you say
setenv JANA_CALIB_URL file:///group/halld/Software/calib/latest