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.