没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
目录
1 软件背景与简介 ........................................................................................................................... 5
2 ROOT 基础 ................................................................................................................................... 6
2.1 ROOT 作为计算器 ............................................................................................................ 6
2.2 在 ROOT 命令行学习 C++ ............................................................................................... 7
2.3 ROOT 画函数图像 ............................................................................................................ 8
2.4 控制 ROOT ..................................................................................................................... 11
2.5 ROOT 绘制测量值 ............................................................................................................ 11
2.6 ROOT 绘制直方图 ........................................................................................................... 12
2.7 与 ROOT 交互 ................................................................................................................. 14
2.8 ROOT 初学者常见问题 .................................................................................................. 16
2.8.1 数据类型在 ROOT 的声明 .................................................................................. 16
2.8.2 在启动时配置 ROOT ........................................................................................... 16
2.8.3 ROOT 历史命令 ................................................................................................... 16
2.8.4 ROOT 全局指针 .................................................................................................... 17
3 ROOT 宏 ..................................................................................................................................... 18
3.1 宏的简介 .......................................................................................................................... 18
3.2 一个更完整的例子 .......................................................................................................... 19
3.3 图形美化 .......................................................................................................................... 22
3.3.1 颜色和图形标记 ................................................................................................... 22
3.3.2 箭头与直线 ........................................................................................................... 22
3.3.3 文本 ....................................................................................................................... 23
3.4 解释和编译 ....................................................................................................................... 23
3.4.1 使用 ACLiC 编译宏 .............................................................................................. 23
3.4.2 用编译器编译宏 ................................................................................................... 23
4 图表 ............................................................................................................................................ 25
4.1 从文件中读取图形点 ...................................................................................................... 25
4.2 极坐标图像 ...................................................................................................................... 27
4.3 2D 图表 ............................................................................................................................ 28
4.4 多个图表 .......................................................................................................................... 30
5 直方图......................................................................................................................................... 33
5.1 你的第一个直方图 .......................................................................................................... 33
5.2 组合与拆分直方图 .......................................................................................................... 34
5.3 二维直方图 ...................................................................................................................... 37
5.4 多个直方图 ...................................................................................................................... 40
6 函数拟合与参数估计 ................................................................................................................. 42
6.1 用函数拟合伪随机数 ...................................................................................................... 42
6.2 Toy Monte Carlo Experiments .......................................................................................... 45
7 文件 I/O 和并行计算 ................................................................................................................. 47
7.1 存储 ROOT 对象 ........................................................................................................... 47
7.2 ROOT 的 N-tuples ............................................................................................................ 49
7.2.1 存储简单的 N-tuples ............................................................................................ 49
7.2.2 读取 N-tuples ........................................................................................................ 51
7.2.3 存储任意类型的 N-tuples ................................................................................... 51
7.2.4 处理跨文件的 n-tuple .......................................................................................... 53
7.2.5
对于进阶用户:使用选择器脚本处理树
........................................................... 54
7.2.6 对于进阶用户:使用
PROOF lite
进行多核处理
............................................ 57
7.2.7 关于 N-tuples 的优化 ........................................................................................... 59
8 ROOT in Python .......................................................................................................................... 59
8.1 PyROOT ........................................................................................................................... 59
8.1.1 More Python- less C++ .......................................................................................... 62
8.2 自定义代码:从 C ++到 Python .................................................................................... 63
9 结束语......................................................................................................................................... 64
References ....................................................................................................................................... 64
摘要:
ROOT 是一个用于数据分析和 I / O 的软件框架:一个强大的工具,可以应对最先进的科学
数据分析的典型任务。 它的突出特点包括高级图形用户界面,非常适合交互式分析,C ++
编程语言的解释器,快速高效的原型设计和 C ++对象的持久性机制,还用于写入大型强子
对撞机实验记录的每年 PB 级数据(1PB=1024TB 译者注)。 本入门指南说明了 ROOT 的主
要特征,这些特征与数据分析的典型问题相关:输入和绘制测量数据和分析功能的拟合。
原创作者 - D. Piparo - G. Quast - M. Zeise
译者注:本文均是 Google 翻译结果,仅对代码和板式作调整,欢迎修改分享
1 软件背景与简介
欢迎来到数据分析 ROOT!
测量与理论模型的比较是实验物理学中的标准任务之一。在最简单的情况下,“模型”只
是提供测量数据预测的函数。通常,模型取决于参数。这种模型可以简单地表示“电流 I 与
电压 U 成比例”,并且实验者的任务包括从一组测量中确定电阻 R.
作为第一步,需要数据的可视化。接下来,通常必须应用一些操作,例如,校正或参数
转换。通常,这些操作是复杂的,并且应该提供强大的数学函数和程序库 - 例如,考虑应
用于输入光谱的积分或峰值搜索或傅立叶变换以获得模型描述的实际测量值。
实验物理学的一个特点是影响每个测量的不可避免的不确定性,可视化工具必须包括这
些。在随后的分析中,必须正确处理错误的统计性质。
作为最后一步,将测量值与模型进行比较,并且需要在此过程中确定自由模型参数。有
关适合数据点的函数(模型)的示例,请参见图 1.1。有几种标准方法可供使用,数据分析
工具应能方便地访问其中一种以上。还必须提供量化测量和模型之间一致性水平的方法。
通常,要分析的数据量很大 - 考虑借助计算机累积的细粒度测量。因此,可用工具必须包
含易于使用且有效的方法来存储和处理数据。
在量子力学中,模型通常仅根据许多参数预测测量的概率密度函数(“pdf”), 并且实验
分析的目的是从观察到的频率分布中提取参数,其中观察测量。这种测量需要生成和可视化
频率分布的装置,所谓的直方图和严格的统计处理,以从纯粹的统计分布中提取模型参数。
预期数据的模拟是数据分析的另一个重要方面。通过重复生成“伪数据”,其以与用于真实数
据的预期相同的方式进行分析,可以验证或比较分析过程。在许多情况下,测量误差的分布
并不是精确已知的,并且模拟提供了测试不同假设的影响的可能性。
满足上述所有要求的强大软件框架是 ROOT,这是一个由日内瓦欧洲核子研究中心欧洲
核研究组织协调的开源项目。
ROOT 非常灵活,既可以在自己的应用程序中使用编程接口,也可以提供用于交互式数
据分析的图形用户界面。本文档的目的是作为初学者指南,并根据学生实验室中解决的典型
问题为您自己的用例提供可扩展的示例。本指南有望为您未来科学工作中更复杂的应用奠定
基础,建立在现代,最先进的数据分析工具之上。
本指南以教程的形式向您介绍 ROOT 包。根据“边做边学”的原则,这个目标将通过具
体的例子来完成。也正因为这个原因,本指南无法涵盖 ROOT 包的所有复杂性。然而,一旦
您对以下章节中介绍的概念有信心,您将能够欣赏 ROOT 用户指南(The Root Users Guide
2015)并浏览类参考(根参考指南 2013)以查找所有详细信息您可能会感兴趣。您甚至可以
查看代码本身,因为 ROOT 是一个免费的开源产品。与本教程并行使用这些文档!
ROOT 数据分析框架本身是编写的,并且在很大程度上依赖于 C ++编程语言:需要一
些关于 C ++的知识。如果您不了解这种语言的含义,Jus 可以利用有关 C ++的大量文献。
ROOT 可用于许多平台(Linux,Mac OS X,Windows ...),但在本指南中我们将隐含地假设
您使用的是 Linux。你需要做的第一件事就是安装 ROOT,不是吗?获取最新的 ROOT 版本
非常简单。只需在此网页 http://root.cern.ch/downloading-root 上寻找“专业版”。您将找到针对
不同体系结构的预编译版本,或者您自己编译的 ROOT 源代码。只需拿起您需要的味道并
按照安装说明操作即可。
让我们深入了解 ROOT!
剩余63页未读,继续阅读
资源评论
- youjunyoujun2020-01-19挺好,很不错
- wa_terwood2021-08-08挺好的,不错
问道中山
- 粉丝: 5
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功