HEP-Frame: an Efficient Tool for Big Data Applications at the LHC
HEP-Frame is a new C++ package designed to efficiently perform analyses of data sets from a very large number of events, like those available at the Large Hadron Collider (LHC) at CERN, Geneva. It mainly targets high performance servers and mini-clusters, and it was designed for natural science experts with a user-friendly interface to access structured databases. HEP-Frame automatically evaluates the underlying computing resources and builds an adequate code skeleton when creating a data analysis application. In run-time, HEP-Frame analyses a sequence of data sets exploring the available parallelism in the code and hardware resources: it concurrently reads inputs from an user-defined data structure and processes them, following the user specific sequence of requirements to select relevant data; it manages the efficient execution of that sequence; and it outputs results in user-defined objects (e.g., ROOT structures), stored together with the input data used. This paper shows how a domain expert software development can benefit from HEP-Frame, and how it significantly improved the performance of analyses of large data sets produced in proton-proton collisions at the LHC. Two case studies are discussed: the associated production of top quarks together with a Higgs boson (ttH) at the LHC, and a double and single top quark productions at the High-Luminosity phase of the LHC (HL-HLC). Results show that the HEP-Frame awareness of the analysis code behavior and structure, and the underlying hardware system, provides powerful and transparent parallelization mechanisms that largely improve the execution time of data analysis applications.