Published December 13, 2012 | Version v1
Journal article

Using Functional Languages and Declarative Programming to Analyze Large Datasets: LINQtoROOT

Creators

  • 1. Box 351560 Department of Physics, University of Washington Seattle, WA, 98195 (United States)

Description

Modern HEP analysis requires multiple passes over large datasets. For example, one has to first reweight the jet energy spectrum in Monte Carlo to match data before you can make plots of any other jet related variable. This requires a pass over the Monte Carlo and the Data to derive the reweighting, and then another pass over the Monte Carlo to plot the variables you are really interested in. With most modern ROOT based tools this requires separate analysis loops for each pass, and script files to glue to the two analysis loops together. A prototype framework has been developed that uses the functional and declarative features of Cnumber sign and LINQ to specify the analysis. The framework uses language tools to convert the analysis into C++ and runs ROOT or PROOF as a backend to get the results. This gives the analyzer the full power of an object-oriented programming language to put together the analysis and at the same time the speed of C++ for the analysis loop. The tool allows one to incorporate C++ algorithms written for ROOT by others. The code is mature enough to have been used in ATLAS analyses. The package is open source and available on the open source site CodePlex.

Availability note (English)

Available from http://dx.doi.org/10.1088/1742-6596/396/2/022057

Additional details

Publishing Information

Journal Title
Journal of Physics. Conference Series (Online)
Journal Volume
396
Journal Issue
2
Journal Page Range
[11 p.]
ISSN
1742-6596

Conference

Title
International conference on computing in high energy and nuclear physics 2012
Acronym
CHEP2012
Dates
21-25 May 2012
Place
New York, NY (United States)