Andrey Ustyuzhanin (Moscow Institute of Physics and Technology, Moscow) Nikita Kazeev (Moscow Institute of Physics and Technology, Moscow)
The LHCb experiment routinely generates up to 10^10 events per year. Organizing such an amount of data in a convenient manner for interactive analysis is non-trivial. It becomes even more complicated as every event undergoes several versions of reconstructions, and users have to be able to navigate through many different versions of the same event. This paper presents the LHCb EventIndex: an event search system designed for organizing LHCb events. Its primary goal is to allow a fast selection of subsets of events fulfilling a combination of high-level conditions, such as which trigger has fired, or how many muons were found in the event. The system is designed with scalability and extensibility in mind. We describe the part of the system that deals with Grid scanning, event storage and user interface. Events are stored by modern open-source NoSQL solutions, with row keys being organized so that certain searches can be run with only a partial table scan. Such embarrassingly parallel organization makes search time upper bound equal to a full scan of a regional server, a constant independent of the total amount of data stored. User interaction is handled by a master-slave python middleware. We demonstrate the scalability of the system by performance evaluation on the real LHCb datasets. This system is also being evaluated by the LHC ATLAS experiment.
Alexey Artemov (Yandex)