EPJ Web of Conferences (Jan 2019)

RDataFrame: Easy Parallel ROOT Analysis at 100 Threads

  • Piparo Danilo,
  • Canal Philippe,
  • Guiraud Enrico,
  • Pla Xavier Valls,
  • Ganis Gerardo,
  • Amadio Guilherme,
  • Naumann Axel,
  • Tejedor Enric

DOI
https://doi.org/10.1051/epjconf/201921406029
Journal volume & issue
Vol. 214
p. 06029

Abstract

Read online

The Physics programmes of LHC Run III and HL-LHC challenge the HEP community. The volume of data to be handled is unprecedented at every step of the data processing chain: analysis is no exception. Physicists must be provided with first-class analysis tools which are easy to use, exploit bleeding edge hardware technologies and allow to seamlessly express parallelism. This document discusses the declarative analysis engine of ROOT, RDataFrame, and gives details about how it allows to profitably exploit commodity hardware as well as high-end servers and manycore accelerators thanks to the synergy with the existing parallelised ROOT components. Real-life analyses of LHC experiments’ data expressed in terms of RDataFrame are presented, highlighting the programming model provided to express them in a concise and powerful way. The recent developments which make RDataFrame a lightweight data processing framework are described, such as callbacks and I/O capabilities. Finally, the flexibility of RDataFrame and its ability to read data formats other than ROOT’s are characterised, as an example it is discussed how RDataFrame can directly read and analyse LHCb’s raw data format MDF.