60 likes | 199 Views
D0 Luminosity Database: Status_Mask Implementation. Elizabeth Gallas Fermilab Computing Division / D0 Computing and Analysis Group. D0 Databases Meeting March 15, 2004. Luminosity Database Schema. Tables w/ a STATUS_MASK column. Table storing all status masks STATUS_MASK_EXPLAIN
E N D
D0 Luminosity Database:Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0 Computing and Analysis Group D0 Databases Meeting March 15, 2004 ElizabethGallas -- D0 Luminosity Db
Luminosity Database Schema ElizabethGallas -- D0 Luminosity Db
Tables w/ a STATUS_MASK column • Table storing all status masks • STATUS_MASK_EXPLAIN • Table storing a centralized STATUS_MASK • LBN (LBN) • Tables with a STATUS_MASK column • LSM (LBN_STATUS_MASK) • TR (TRANSITION_RECORD) • LF (LBN_FACTOR) • RF (RANGED_FACTOR) • GSM (GROUP_STATUS_MASK) • LS (LBN_STREAM) • PFC (PRD_FILE_CHK) • LT (LBN_TRIGGER) ElizabethGallas -- D0 Luminosity Db
STATUS_MASK Overview • Status_Mask - what is it ? • indicate something is WRONG with that data • we need to put that Mask into the DB • we also need to insert related columns that conform to DB constraints • other types of ‘status’ should be indicated elsewhere • Status_Mask Origin • lmValidator.py creates the online dictionaries • input to the lmDB.py program • Status_Mask destination • lmDb.py reads dictionary • inserts into Luminosity Database • Status_Mask users (clients): • Luminosity reports • lmAccess • luminosity group studies of ‘bad’ information ElizabethGallas -- D0 Luminosity Db
STATUS_MASK Implementation • lmVal -- they are dictionary location specific • consist of: • dictionary key • brief explanation (string) • lmDb – put it into the appropriate DB table(s) • STATUS_MASK_EXPLAIN • MASK_TYPE – pointer to ‘other’ table name • BIT_POSITION – a unique identifier for that MASK_TYPE • BIT_DESC – brief explanation (string) • main LBN table (?) • allows us to quickly scan for good LBN’s • specific ‘other’ table • The case we have right now is LBN_TRIGGER table ElizabethGallas -- D0 Luminosity Db
Database considerations • A table with Status_Mask • may have any number of unique SMasks • need to ‘pack’ many of them into a single column • historically, we would set bits in a n-bit word (bitmask) • clients need to quickly parse that word for specific conditions • In a DB? • string types can be searched using the ‘like clause’, while a masked bit would have to be parsed by some program. • STATUS_MASK in LBN table: • [LT.1][TR.3]… • STATUS_MASK in LBN_TRIGGER table: • [1] • STATUS_MASK in TRANSITION_RECORD table: • [3] • DB experts may comment… ElizabethGallas -- D0 Luminosity Db