next up previous contents
Next: Event I/O Up: SNOMAN - Operating Instructions Previous: Reproducing 2.09 Results   Contents

The SNO Database

As from 2.09, SNOMAN has an interface to SNO Database which is implimented using the CERN package HEPDB. SNOMAN 3.00 is incompatible with the Database available when 2.09 was released. In 2.09, the database used lower case aliases whereas in 3.00 they are upper case. Quite apart from this certain titles banks are not backward compatible and so conflicts will arise if you try to run SNOMAN 3.00 with a 2.09 titles file set or database and vice versa.

You must rebuild the database before using with SNOMAN 3.00

To allow people time to get an up to date CERNlib and set up a database, SNOMAN 3.00 does not require a database to run. Indeed, by default, it will not even initialise the database software unless the symbolic command:-

$enable_database
is issued. Even that is insufficient to get it to read from the database as titles banks coming from titles files take priority. As SNOMAN comes with a complete set of title files, there is no need to search the database for them. To force loading from the database it is necessary to remove TITLES commands from the .cmd files and in particular the file called READ_UNIVERSAL_TITLES.CMD. To test out the database you could try commenting out lines in this file (assuming that the files have been loaded into the database!). However, do NOT comment out the following files:-

JOB_CONTROL.DAT
This contains the TMTT titles bank which controls enabling of the database. As such, it could hardly be useful if the database had to be accessed to get it! It also contains TSDB which controls database initialisation which is there for the same reason. The database uses HBOOK, which is initialised by HBOOK Support (HBK) so its control bank, THBK, is also in this titles file.

NTUPLE.DAT
SNOMAN does not demand NTPR (ntuple request) banks (see section 6.1; instead it just uses those that the user has provided via titles files.

A simple way to test the database is to use the command file:-
@run_snodb.cmd
You will see that this command file also contains the line:-
$sdb_enable_verification
which is recommended as it does checksum validation of the data as it reads it from the database. The above switch changes the SDB titles bank TSDB. This bank contains other switches but they should, for the most part, be left at their default settings. The only possible exception is e.g.:-
$sdb_max_ins_date 19970912 123200
which will mask off any updates placed in the database after that date time and would be used when reproducing an old analysis, to ensure that only those banks that existed at the time of the original analysis are used.

When you run with the database you may see a warning of the type:-

RZOPEN. Error - input file ... sn.dbs does not exist
Pay no attention to it; it refers to an obsolete file and will be fixed with the next release of SNODB.

In 2.09 you were warned not to load the PMT_POSITIONS_MINISNO_*.DAT files into the database as the GEDP banks they contain would overwrite the SNO ones and you would end up with rather few PMTs! This is no longer a problem; miniSNO data from Mini-SNO has a different data type to SNO and the access to the database is data type sensitive. So you should load the 90 PMT MINISNO file (PMT_POSITIONS_MINISNO_90.DAT) into the database. If you want the 128 PMT set, input them via a titles file, which will override the default 90 PMT version.

Once the SNO database has been established throughtout the collaboration, SNOMAN will become dependent on it and titles files will, for the most part, disappear. However titles file support will remain part of SNOMAN because, as its banks take priority over the database, it provides a mechanism for overriding existing titles and adding new ones without having to update the database.

Sites that are sources of database data can check that database updates have suceeded by:-

  1. Set up a trivial one event Monte Carlo of any type.

  2. Include TITLES commands for all the titles files that are to be checked.

  3. Include the command $enable_titles_check

  4. Run SNOMAN.

At the start of termination MTT will compare banks loaded via titles files against their database counterparts. N.B. Identical banks may have real data that is not bit identical if bank was originally loaded into the database from another platform. This will show as a "Reals within tol." comparison result.


next up previous contents
Next: Event I/O Up: SNOMAN - Operating Instructions Previous: Reproducing 2.09 Results   Contents
sno Guest Acct 2009-09-09