FuncADL: Functional Analysis Description Language

The traditional approach in HEP analysis software is to loop over every event and every object via the ROOT framework. This method follows an imperative paradigm, in which the code is tied to the storage format and steps of execution. A more desirable strategy would be to implement a declarative lan...

Full description

Bibliographic Details
Main Authors: Proffitt Mason, Watts Gordon
Format: Article
Language:English
Published: EDP Sciences 2021-01-01
Series:EPJ Web of Conferences
Online Access:https://www.epj-conferences.org/articles/epjconf/pdf/2021/05/epjconf_chep2021_03068.pdf
_version_ 1819101300231503872
author Proffitt Mason
Watts Gordon
author_facet Proffitt Mason
Watts Gordon
author_sort Proffitt Mason
collection DOAJ
description The traditional approach in HEP analysis software is to loop over every event and every object via the ROOT framework. This method follows an imperative paradigm, in which the code is tied to the storage format and steps of execution. A more desirable strategy would be to implement a declarative language, such that the storage medium and execution are not included in the abstraction model. This will become increasingly important to managing the large dataset collected by the LHC and the HL-LHC. A new analysis description language (ADL) inspired by functional programming, FuncADL, was developed using Python as a host language. The expressiveness of this language was tested by implementing example analysis tasks designed to benchmark the functionality of ADLs. Many simple selections are expressible in a declarative way with FuncADL, which can be used as an interface to retrieve filtered data. Some limitations were identified, but the design of the language allows for future extensions to add missing features. FuncADL is part of a suite of analysis software tools being developed by the Institute for Research and Innovation in Software for High Energy Physics (IRIS-HEP). These tools will be available to develop highly scalable physics analyses for the LHC.
first_indexed 2024-12-22T01:16:28Z
format Article
id doaj.art-17662c42279348b7bff7a023f68ff422
institution Directory Open Access Journal
issn 2100-014X
language English
last_indexed 2024-12-22T01:16:28Z
publishDate 2021-01-01
publisher EDP Sciences
record_format Article
series EPJ Web of Conferences
spelling doaj.art-17662c42279348b7bff7a023f68ff4222022-12-21T18:43:50ZengEDP SciencesEPJ Web of Conferences2100-014X2021-01-012510306810.1051/epjconf/202125103068epjconf_chep2021_03068FuncADL: Functional Analysis Description LanguageProffitt Mason0Watts Gordon1University of WashingtonUniversity of WashingtonThe traditional approach in HEP analysis software is to loop over every event and every object via the ROOT framework. This method follows an imperative paradigm, in which the code is tied to the storage format and steps of execution. A more desirable strategy would be to implement a declarative language, such that the storage medium and execution are not included in the abstraction model. This will become increasingly important to managing the large dataset collected by the LHC and the HL-LHC. A new analysis description language (ADL) inspired by functional programming, FuncADL, was developed using Python as a host language. The expressiveness of this language was tested by implementing example analysis tasks designed to benchmark the functionality of ADLs. Many simple selections are expressible in a declarative way with FuncADL, which can be used as an interface to retrieve filtered data. Some limitations were identified, but the design of the language allows for future extensions to add missing features. FuncADL is part of a suite of analysis software tools being developed by the Institute for Research and Innovation in Software for High Energy Physics (IRIS-HEP). These tools will be available to develop highly scalable physics analyses for the LHC.https://www.epj-conferences.org/articles/epjconf/pdf/2021/05/epjconf_chep2021_03068.pdf
spellingShingle Proffitt Mason
Watts Gordon
FuncADL: Functional Analysis Description Language
EPJ Web of Conferences
title FuncADL: Functional Analysis Description Language
title_full FuncADL: Functional Analysis Description Language
title_fullStr FuncADL: Functional Analysis Description Language
title_full_unstemmed FuncADL: Functional Analysis Description Language
title_short FuncADL: Functional Analysis Description Language
title_sort funcadl functional analysis description language
url https://www.epj-conferences.org/articles/epjconf/pdf/2021/05/epjconf_chep2021_03068.pdf
work_keys_str_mv AT proffittmason funcadlfunctionalanalysisdescriptionlanguage
AT wattsgordon funcadlfunctionalanalysisdescriptionlanguage