会议论文详细信息
16th International workshop on Advanced Computing and Analysis Techniques in physics research
Using Functional Languages and Declarative Programming to analyze ROOT data: LINQtoROOT
物理学;计算机科学
Watts, Gordon^1
Department of Physics, University of Washington, Box 351560, Seattle
WA
98195-1650, United States^1
关键词: Data preservations;    Declarative Programming;    Functional languages;    Language tools;    Multiple pass;    Open sources;    Related variables;    Separate analysis;   
Others  :  https://iopscience.iop.org/article/10.1088/1742-6596/608/1/012024/pdf
DOI  :  10.1088/1742-6596/608/1/012024
学科分类:计算机科学(综合)
来源: IOP
PDF
【 摘 要 】
Modern high energy physics analysis is complex. It typically requires multiple passes over different datasets, and is often held together with a series of scripts and programs. For example, one has to first reweight the jet energy spectrum in Monte Carlo to match data before plots of any other jet related variable can be made. 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 the analyser is really interested in. With most modern ROOT based tools this requires separate analysis loops for each pass, and script files to glue to the results of the two analysis loops together. A framework has been developed that uses the functional and declarative features of the C# language and its Language Integrated Query (LINQ) extensions to declare 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 analyser 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. A by-product of the design is the ability to cache results between runs, dramatically reducing the cost of adding one-more-plot and also to keep a complete record associated with each plot for data preservation reasons. 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.
【 预 览 】
附件列表
Files Size Format View
Using Functional Languages and Declarative Programming to analyze ROOT data: LINQtoROOT 1027KB PDF download
  文献评价指标  
  下载次数:7次 浏览次数:20次