March 15, 2004 ElizabethGallas -- D0 Luminosity Db 1
D0 Luminosity Database:Status_Mask Implementation
Elizabeth Gallas
Fermilab Computing Division /
D0 Computing and Analysis Group
D0 Databases MeetingMarch 15, 2004
March 15, 2004 ElizabethGallas -- D0 Luminosity Db 2
Luminosity Database Schema
March 15, 2004 ElizabethGallas -- D0 Luminosity Db 3
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)
March 15, 2004 ElizabethGallas -- D0 Luminosity Db 4
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
March 15, 2004 ElizabethGallas -- D0 Luminosity Db 5
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
March 15, 2004 ElizabethGallas -- D0 Luminosity Db 6
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…
Top Related