140 likes | 240 Views
The ZEUS Event Store. An object-oriented tag database for physics analysis Adrian Fox-Murphy, DESY. The ZEUS Experiment. ZEUS experiment at HERA, Hamburg. Electron-proton collisions at 318GeV. Operational since 1992
E N D
The ZEUS Event Store An object-oriented tag database for physics analysis Adrian Fox-Murphy, DESY CHEP2000, Padova
The ZEUS Experiment • ZEUS experiment at HERA, Hamburg. • Electron-proton collisions at 318GeV. • Operational since 1992 • In 1996, started to augment existing offline environment with a tag database (ZES)based on Objectivity/DB. • First experience with OO software for ZEUS. • Tag database operational since 1997. CHEP2000, Padova
ZEUS Offline Environment • Raw data rate: 10 Terabyte / year, 1MB/s • Event rate: ~10Hz, 100Kb/event • Centralised batch processing for physicists’ jobs • 3 SGI Challenge XL machines • Migrating soon to farm of 30 Linux PCs • (M. Kowal’s talk) • Raw and reconstructed data stored in ADAMO database • User analysis jobs in FORTRAN. CHEP2000, Padova
ZEUS Event Store (ZES) • Must access required events efficiently • Formerly • Calculated 128 ‘DST bits’ • Made boolean selection of bits • Now... • Populate a database with (250) physical variables calculated at reconstruction for each event. • Kinematics, electrons, muons, hadrons, jets • Calorimetry, triggers • Select data on the values of the physical quantities. CHEP2000, Padova
ZES (contd.) • Use commercial product Objectivity/DB • (v3.8 and v4.02). • Pros: • exists; meets our current and future requirements; tested in HEP community; OO/C++. • Cons: • need special interface to existing event database (ADAMO); different language • depend on Objectivity (support, survival) CHEP2000, Padova
Database schema • Objectivity persistent object hierarchy • Federated Database • Database (correspond to 200-450MB files) • Container (HERA Run) • Basic object (Event, ADAMO File) • Currently 315 databases. • Data in ooVarray variable length arrays • gives flexibility for expansion CHEP2000, Padova
Lots of glue... • 18k lines of C++ provide • Interfaces and tools • Interface to main ADAMO database • Interface to EAZE analysis job environment • Predicate string querying • User command line query tool • Ntuple generation tool • Administration • Database population • consistency checking, troubleshooting
Selecting Events • Card file interface • select run range • select triggers • cut on physical variables using Objectivity/DB predicate strings : ((Ee>5)and(Zvtx>-50)and(Zvtx<50) and(Eminpz>35)and(Eminpz<65)and(Yjb>0.04)) • Intuitive for physicist. Precisely tailored event selection (efficient). CHEP2000, Padova
Populating the database • Two things required : • The physical variables to load. Calculated during offline reconstruction. • A pointer to the location of the event in the ADAMO database. • Actually use a two-step process • first store physical variables temporarily in ntuples (used also for data quality monitoring) • then load ZES OO database from ntuples CHEP2000, Padova
Status of the ZES database CHEP2000, Padova
Experience • Positive response from users. Adopted as standard. • Can greatly reduce the time required to analyse the data. Factor 3-10 improvement typical. • On request, the number of physical variables stored for each event was increased from 93 to 250. • Problems • database population must be done with care. Many things can go wrong. Consistency checking vital. CHEP2000, Padova
Summary • ZES is an efficient and flexible tag database • Successfully integrated into ZEUS (ADAMO/EAZE). • Now holds 100 Million events from 5 years. Variables expanded to 250. • Jobs run faster. • ZES and Objectivity are flexible and powerful enough to meet current and future requirements. • OO/C++ advantages • Development, maintenance • HEP OO analysis and visualisation tools • Future evolution into fully OO software.