Database Logical Interconnections

Database Logical Interconnections (Very Preliminary)

Many of the support databases contain columns which point to information in other support databases. Known or assumed logical interconnections among the support databases are tabulated, displayed graphically, and defined below.

Database Table Column Primary Database Table Column
Data_File_Catalog CDF_Dataset Dataset_Name Trigger_Table_DB Dataset Dataset_Name
" " Proc_Calib_Version Calib_DB Used_Set Proc_Calib_Version
" CDF_File First Run Calib_DB
Run_Conditions_DB
Used_Set
Run_Summary*
Process_Run
Run_Number*
" " Trigger_Table_Name Run_Conditions_DB Run_Summary* Trigger_Table_Name*
Run_Conditions_DB Run_Summary* Trigger_Table_Name Trigger_Table_DB Trigger_Version* Trigger_Table_Name*
" " Prod_Table_Name " Production_Version* Prod_Table_Name*
Calib_DB Hardware_Translation* Crate_Name* Online_Hardware_DB Crate Crate_Name
" " Card_Name* " Card Card_Name
" " Channel_ID* " Channel Channel_ID

* These quantities are not in the current design but it is assumed they will exist in some form in the future.


Database Interconnections.

Definitions of Interconnections

First_Run

This is the integer first run_number of a given file in the Data File Catalog. This number is written to the catalog by production. Note that the CDF_File table of the catalog also saves a Last_Run number of the given file (not shown in the diagram), and that the catalog assumes that the Trigger_Table_Name and Proc_Calib_Version do not change between First_Run and Last_Run. The catalog assumes that a new file will be created every time the Trigger_Table_Name and the Proc_Calib_Version changes. As long as this rule is enforced, either the First_Run or the Last_Run could be used to connect with the Run Conditions DB and the Calib DB.

Run_Number

This is the integer run_number written by Run_Control to the Run_Summary table of the Run Conditions DB along with the Trigger_Table_Name for that run. There is no current design of the Run Conditions DB, but we assume that the run number will be saved there.

Process_Run

This is the integer run_number for which the process Process_Name is requesting calibration constants. This number is written to the Calib DB by the requesting process.

Trigger_Table_Name

This is the unique identifier of a version of the trigger table. It is defined by the Trigger and Dataset Working Group. The Trigger_Table_Name is entered as input to Run_Control by the Ace at the start of the run, and is written to the Run_Summary table of the Run Conditions database run by Run_Control. (Note that the Run_Summary table is not yet defined by the online group, and here we assume either it or something like it will exist). The Trigger_Table_Name is uniquely defined in the Trigger_Version table of the Trigger Table DB (Note that the Trigger_Version table is not yet defined, or approved by the trigger group, and here we assume either it or something like it will exist). The Trigger_Table_Name is written to the CDF_File table of the Data File Catalog by production. The syntax of Trigger_Table_Name has not yet been defined. It may be a character string. For example, if it was like last run it might be PHYSICS_V126_1_L3_110. The data file catalog assumes it is a character string up to 40 characters in length. Note that given that in run 1 we encoded in this string a run type, version number, sub version number, and level 3 version number, perhaps it is more prudent to simply specify a trigger table number ID and save the above information as additional columns in the Trigger_Version table.

Prod_Table_Name

This is the unique identifier of a version of the production table. Like the trigger table, the production table specifies a complete set of cuts and modules for the production farms analysis job. The Prod_Table_Name is written to the Run_Summary table of the run_conditions database by production. (Note that the Run_Summary table is not yet defined, and here we assume either it or something like it will exist). It is the Prod_Table_Name that was actually used by production for that run. If the data is reprocessed, this field is updated, so it is the LAST production table name that was used to process that run. The Prod_Table_Name is uniquely defined in the Production_Version table of the Trigger Table DB. (Note that the Productoin_Version table is not yet defined, or approved by the trigger group or the production group, and here we assume either it or something like it will exist).

Dataset_Name

This is the unique identifier of the production dataset or stream. It is written to the CDF Data File catalog by production. It's exact syntax has not yet been defined. It is likely a character string, and the data file catalog assumes it is a string up to 50 characters in length. For example, for a production dataset of J/Psi decaying to dimuons it might look like, JPSI_DIMUON, or for data stream 6 it might be STREAM_6. The

Proc_Calib_Version

In the Data File Catalog in the CDF Data Set table, this is the integer version number of the complete calibration set used to produce this CDF Data Set. This number is written to the CDF Data File catalog by production. In the Calibration DB in the Used_List table, this is the integer version number of the complete calibration set to be used by production. It is written to the Calib DB by an undetermined process. In either case, the combination of a Proc_Calib_Version, Process_Run (run number), and a Process_Name (production or Run_Control) completely specify all the calibrations, alignments, and other corrections to be used by that process for that run. The Proc_Calib_Version provides the ability to have multiple versions of the calibrations, alignments, and other corrections as more is learned about these corrections and they are improved.

Crate_Name

This is the unique identifier of the crate in the Online Hardware DB. The Hardware_Translation table, which is assumed to exist in the Calib_DB, translates between the logical channel ID and the hardware crate_name.

Card_Name

This is the unique identifier of the card in the Online Hardware DB. The Hardware_Translation table, which is assumed to exist in the Calib_DB, translates between the logical channel ID and the hardware card_name.

Channel_ID

This is the unique identifier of the channel in the Online Hardware DB. The Hardware_Translation table, which is assumed to exist in the Calib_DB, translates between the logical channel ID and the hardware channel_ID.


Notes:

  1. The following relational support databases are assumed to be sufficient for CDF in run 2: Data File Catalog, Calib DB, Trigger Table DB, Run Conditions DB, CDF Conditions DB, Run Configuration DB.

  2. The luminosity information needed for most analyses is stored in the data file catalog. Jaco Konigsberg of the luminosity group believes there is no other luminosity information that needs to be stored in a relational support database.

  3. We have assumed the alignment and data correction information will be stored in the Calib DB and be part of the complete calibration set specified by Process_Run, Process_Name, and Process_Calib_Version. This calibration set would specify all corrections to the data.

  4. The geometry database is not a relational database, but rather a set of C++ classes implemented in Root, and is beyond the scope of this discussion of interconnections among relational databases.


This file is kept on cdfsga.fnal.gov at /cdf/www/offline/database/inerconnect.html
Last updated April 16, 1999 by Robert M. Harris, 630-840-4932,   rharris@fnal.gov