November 29, 2021 to December 3, 2021
Virtual and IBS Science Culture Center, Daejeon, South Korea
Asia/Seoul timezone

Declarative interfaces for HEP data analysis: FuncADL and ADL/CutLang

contribution ID 781
Dec 1, 2021, 6:40 PM
Auditorium (Virtual and IBS Science Culture Center, Daejeon, South Korea)


Virtual and IBS Science Culture Center, Daejeon, South Korea

55 EXPO-ro Yuseong-gu Daejeon, South Korea email: +82 42 878 8299
Oral Track 2: Data Analysis - Algorithms and Tools Track 2: Data Analysis - Algorithms and Tools


Burak Sen (Middle East Technical University) Changgi Huh (Kyungpook National University (KR)) Gokhan Unel (University of California Irvine (US)) Gordon Watts (University of Washington (US)) Harry Prosper (Florida State University (US)) Mason Proffitt (University of Washington (US)) Sezen Sekmen (Kyungpook National University (KR))


We present two applications of declarative interfaces for HEP data analysis allowing users to avoid writing event loops that simplify code and enable performance improvements to be decoupled from analysis development. One example is FuncADL, an analysis description language inspired by functional programming developed using Python as a host language. In addition to providing a declarative, functional interface for transforming data, FuncADL borrows design concepts from the field of database query languages to isolate the interface from the underlying physical and logical schemas. This way, the same query can easily be adapted to select data from very different sources and formats and with different execution mechanisms. FuncADL is part of a suite of analysis software tools being developed by IRIS-HEP for highly scalable physics analysis for the LHC and HL-LHC. FuncADL is demonstrated by implementing the example analysis tasks designed by HSF and IRIS-HEP. The other example is the domain-specific analysis description language ADL that expresses the physics content of an analysis in a standard and unambiguous way, independent of computing frameworks. In ADL, analyses are described in human-readable plain text files, clearly separating object, variable and event selection definitions in blocks having a keyword-expression structure with a self-descriptive syntax that includes mathematical and logical operations, comparison and optimisation operators, reducers, four-vector algebra and commonly used HEP functions. Two infrastructures are available to render ADL executable: CutLang, a direct runtime interpreter written in C++, using lex and yacc for ADL parsing; and adl2tnm, a transpiler converting ADL into C++ or python code. ADL/CutLang are already used in several physics studies and educational projects, and are adapted for use with LHC Open Data. A growing ADL analysis database is available on GitHub.

Speaker time zone Compatible with Europe

Presentation materials