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 it 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_databaseis 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 principally the file 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.
- ntuple.dat
- SNOMAN does not demand NTPR (ntuple request) banks (see section 5.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.cmdYou will see that this command file also contains the line:$sdb_enable_verificationwhich 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 123200which 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 existPay 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.
In short you can run SNOMAN with the database by moving all .dat
files from the prod/ area except
!file member=RUN_SNODB library=SNOMAN language=cmd !file DATE=30:Jun:1995 echo * Standard Command File: run_snodb.cmd 22 May 1996 noecho * Contact: G. Jonkmans, CRL. * Perform standard run. $enable_database titles ntuple.dat titles job_control.dat * Terminate command processing end !endfile member=RUN_SNODB