Versioning of Calibration Constants

From GlueXWiki
Jump to: navigation, search

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.

Checking out the versions

Here is what is available.

Current constants

The current set of all constants are in directory tree 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

checks out revision 5432 and

svn checkout --revision '{2009-08-28}'

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 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