CutLang
CutLang interprets declarative Analysis Description Language (ADL) specifications at runtime to define and execute object definitions, variable calculations, event selection, object combinatorics, and four-vector algebra for collider data analysis including LHC experiments.
Key Features:
- Declarative Language Structure: ADL encodes object definitions, variable specifications, and event selection criteria in human-readable plain text organized into distinct blocks and supports mathematical and logical operations, comparison and optimization operators, reducers, four-vector algebra, and common functions.
- Runtime Interpreter: A runtime interpreter processes ADL descriptions and executes the defined operations and selections directly from the declarative specification.
- Framework Independence: ADL and CutLang operate independently of specific computing frameworks to preserve unambiguous, portable analysis definitions across platforms.
- ADL Syntax Compatibility (v1→v2): Enhanced ADL syntax and CutLang compatibility introduced in the transition from version 1 to version 2 to streamline interpretation and integration.
- Object Combinatorics Handling: Manages complex object combinations required for detailed collider analyses.
- Tables and Weights Integration: Supports inclusion of tables and weights within analyses for weighted calculations and lookups.
- Event Saving: Allows saving events at arbitrary stages of the analysis workflow.
- Hardware Optimization: Optimized to leverage multi-core and multi-CPU hardware configurations to improve computational efficiency on large datasets.
Scientific Applications:
- LHC experimental analyses: Implements event selection and object-level computations for analyses relevant to Large Hadron Collider experiments.
- Phenomenology and model testing: Facilitates testing and interpretation of theoretical models against collider data through standardized analysis descriptions.
- Analysis preservation and portability: Enables long-term preservation and portability of analysis definitions across platforms and time.
- Reproducibility, validation, and combination: Supports reproduction, validation, and combination of analyses across research teams and experiments.
- Abstraction, design, and communication: Provides a standardized declarative layer for abstraction, design, visualization, interpretation, and communication of analysis procedures.
Methodology:
Analyses are described in ADL as structured declarative blocks; the CutLang runtime interpreter processes these ADL descriptions and executes the specified operations and event selections on available hardware resources.
Topics
Details
- License:
- LGPL-2.0
- Cost:
- Free of charge
- Tool Type:
- library
- Operating Systems:
- Mac, Linux, Windows
- Programming Languages:
- C++, Python, C
- Added:
- 10/31/2021
- Last Updated:
- 10/31/2021
Operations
Publications
Unel G, Sekmen S, Toon AM, Gokturk B, Orgen B, Paul A, Ravel N, Setpal J. CutLang v2: Advances in a Runtime-Interpreted Analysis Description Language for HEP Data. Frontiers in Big Data. 2021;4. doi:10.3389/fdata.2021.659986. PMID:34169274. PMCID:PMC8218547.