art lessons for scientists

A new product called art allows experiments to build on a common underlying software layer.

A new product called art allows experiments to build on a common underlying software layer.

While many physicists enjoy writing software to reconstruct and analyze the events coming from their detectors, few want to attend to the low-level bookkeeping tools. To date, most high-energy physics experiments have written their code essentially from scratch and independently of each other. They certainly share some software analysis toolkits, but until recently there hasn’t been a convenient, experiment-agnostic product to “plug into” that provides these bookkeeping tools.

By way of a new product called art (written in lower-case), the Scientific Computing Division provides a common, underlying software layer for experiments to build on, thus allowing the scientists to concentrate on the physics code. art is a modular, C++-based event-processing framework that was adapted from the CMS framework, cmsrun. Several Intensity Frontier experiments have already adopted art as the basis of their offline code.

According to SCD’s Rob Kutschke, experience on large-scale software engineering projects, both inside and outside of HEP, has demonstrated the benefits of building software up using abstractions, which effectively form layers of software. Each layer can be tested individually, as can the interactions between them. The result is a product that is many layers deep.

“Many new users of modern HEP software are surprised at the sheer number of software layers that they encounter, from the infrastructure, to dependencies on external products, to the seemingly infinite nesting of their experiments’ C++ classes,” said Kutschke. “This complexity presents a steep learning curve.”

Navigating these layers and using art effectively are important skills for experimenters. To help them acquire these skills, Kutschke is authoring an art Workbook that guides users through a set of exercises designed to illuminate the structure, user environment, configuration language and user-code requirements of art. This is the first phase of a planned documentation suite that will also include a users’ guide, a reference manual and a technical reference for art developers.

Alpha release v. 0.5, made available Aug. 7 on the art website, includes both an introduction outlining prerequisites and the first five Workbook exercises (of about two dozen planned). SCD has been engaging new Intensity Frontier experimenters to test-drive the documentation this summer; the goal is to develop it into an educational tool that will significantly reduce the time that it takes new collaborators to produce scientific results for their experiments.

A version of this article appeared in the July issue of Computing Bits.