March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask...

6
March 15, 2004 ElizabethGallas -- D0 Lum inosity Db 1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0 Computing and Analysis Group D0 Databases Meeting March 15, 2004

Transcript of March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask...

Page 1: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

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

Page 2: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

March 15, 2004 ElizabethGallas -- D0 Luminosity Db 2

Luminosity Database Schema

Page 3: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

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)

Page 4: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

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

Page 5: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

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

Page 6: March 15, 2004ElizabethGallas -- D0 Luminosity Db1 D0 Luminosity Database: Status_Mask Implementation Elizabeth Gallas Fermilab Computing Division / D0.

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…