没有合适的资源?快使用搜索试试~ 我知道了~
首页Linux下C++开源数据处理软件ROOT Users Guide
Linux下C++开源数据处理软件ROOT Users Guide
需积分: 3 4 下载量 128 浏览量
更新于2024-08-02
收藏 10.17MB PDF 举报
"Linux下的数据处理软件包ROOT的用户指南5.24版,发布于2009年6月,由ROOT团队编写,编辑包括Ilka Antcheva、Olivier Couet等。特别感谢Nick West(牛津大学)、Elaine Lyons、Suzanne Panacek(FNAL)和Andrey Kubarovsky对指南的贡献。该软件包是开源的,以C++为基础,专为科学编程设计,尤其擅长数据分析和可视化。"
在Linux操作系统中,ROOT是一个强大的数据处理软件包,它被广泛应用于粒子物理学、天体物理学和其他需要高效数据管理和分析的科学领域。ROOT的核心特性包括:
1. **对象导向编程**:ROOT是用C++编写的,支持面向对象编程,这使得代码结构清晰,易于维护和扩展。
2. **模板功能**:早期版本中,ROOT利用了C++的模板特性来提高代码的灵活性和效率,尽管在特定平台和编译器上遇到了挑战,但最终开发出了一个无需模板且性能更优的版本。
3. **高效的数据存储和检索**:ROOT提供了高效的数据结构,如I/O系统,用于存储和检索大量数据,这对于高能物理实验的数据处理至关重要。
4. **统计分析**:ROOT内置了丰富的统计分析工具,包括直方图、图形和拟合函数,方便科学家进行数据分析和结果可视化。
5. **多平台兼容性**:虽然在最初开发时遇到了只在一个特定平台和编译器上运行的问题,但经过优化,ROOT现在已经可以在多个操作系统和硬件配置上运行,体现了其跨平台的能力。
6. **用户界面和图形界面**:ROOT提供了TBrowser,一个交互式的图形界面,用户可以通过它浏览、操作和分析数据,增强了用户体验。
7. **网络和并行计算**:ROOT支持网络功能,允许分布式处理和并行计算,这在处理大数据集时非常有用。
8. **社区支持和持续发展**:作为开源项目,ROOT有一个活跃的开发者社区,不断更新和完善软件,解决新出现的问题,并添加新功能。
9. **文档和教程**:《ROOT用户指南》是学习和使用ROOT的重要参考资料,包含了详细的教程和示例,帮助用户快速上手。
10. **应用领域**:除了基础科学研究,ROOT也被广泛应用于金融建模、生物信息学等领域,展现了其在复杂数据处理方面的通用性。
通过ROOT,科研人员可以构建复杂的分析流程,处理和可视化海量数据,从而推动科学发现。这个开源软件包的持续发展和广泛采用证明了其在数据处理领域的价值和影响力。
xiv Table of Contents
Qt-ROOT Implementation of TVirtualX Interface (BNL) ....................... 423
Installation .................................................................................. 423
Applications ................................................................................ 424
TQtWidget Class, Qt Signals / Slots and TCanvas Interface ...... 429
GSI QtROOT ............................................................................................ 430
Create a New Project in the Designer ......................................... 431
main() ......................................................................................... 432
27 Automatic HTML Documentation 433
Reference Guide ....................................................................................... 433
Product and Module Documentation .......................................... 433
Converting Sources (and Other Files) to HTML ...................................... 434
Special Documentation Elements: Directives ........................................... 434
Latex Directive ........................................................................... 434
Macro Directive .......................................................................... 435
Customizing HTML .................................................................................. 435
Referencing Documentation for other Libraries ......................... 435
Search Engine ............................................................................. 435
ViewCVS .................................................................................... 435
Wiki Pages .................................................................................. 435
Tutorial ..................................................................................................... 436
28 Appendix A: Install and Build ROOT 437
ROOT Copyright and Licensing Agreement: ........................................... 437
Installing ROOT ....................................................................................... 437
Choosing a Version ................................................................................... 437
Installing Precompiled Binaries ................................................................ 438
Installing the Source ................................................................................. 438
Installing and Building the Source from a Compressed File ...... 438
More Build Options .................................................................... 438
File system.rootrc...................................................................................... 439
TCanvas Specific Settings .......................................................... 440
THtml Specific Settings.............................................................. 441
GUI Specific Settings ................................................................. 442
TBrowser Settings ...................................................................... 443
TRint Specific Settings ............................................................... 443
ACLiC Specific Settings ............................................................ 443
PROOF Related Variables .......................................................... 443
Documentation to Download .................................................................... 446
29 Index 447
Table of Figures xv
Table of Figures
Figure 1-1 ROOT framework directories .................................................................... 4
Figure 1-2 ROOT libraries dependencies .................................................................... 5
Figure 2-1 A canvas with drawing ............................................................................ 11
Figure 2-2 A context menu ....................................................................................... 15
Figure 2-3 The SaveAs... dialog ................................................................................ 16
Figure 3-1 The class hierarchy of histogram classes ................................................. 23
Figure 3-2 The "E1" bars' option ............................................................................... 29
Figure 3-3 Different draw options ............................................................................. 30
Figure 3-4 The TEXT option .................................................................................... 30
Figure 3-5 Different contour options ........................................................................ 31
Figure 3-6 The earth.C macro output ................................................................... 31
Figure 3-7 "LEGO" and "SURF" options ................................................................. 32
Figure 3-8 Different surface options ......................................................................... 32
Figure 3-9 Vertical bar charts.................................................................................... 33
Figure 3-10 Horizontal bar charts ............................................................................. 33
Figure 3-11 The picture produced by spectrumpainter.C macro ............................... 36
Figure 3-12 The picture produced by fit2a.C macro ................................................. 36
Figure 3-13 Superimposed histograms with different scales ..................................... 37
Figure 3-14 Histograms with alphanumeric bin labels .............................................. 40
Figure 3-15 Using a *char variable type in TTree::Draw ......................................... 41
Figure 3-16 Stacked histograms ................................................................................ 42
Figure 3-17 A profile histogram example ................................................................. 44
Figure 3-18 A TProfile2D histogram example .......................................................... 45
Figure 3-19 Iso surfaces ............................................................................................ 45
Figure 3-20 3D implicit function .............................................................................. 46
Figure 3-21 The picture generated by tutorial macro piechart.C............................... 47
Figure 4-1 A graph drawn with axis, * markers and continuous line (option AC*).. 51
Figure 4-2 A graph drawn with axis and bar (option AB)......................................... 52
Figure 4-3 A graph drawn with axis and fill (option AF) ......................................... 52
Figure 4-4 Graph markers created in different ways ................................................. 53
Figure 4-5 Superimposing two graphs ...................................................................... 54
Figure 4-6 Graphs with different draw options of error bars .................................... 54
Figure 4-7 A graph with asymmetric error bars ........................................................ 55
Figure 4-8 A graph with asymmetric bent error bars ................................................ 56
Figure 4-9 A polar graph ........................................................................................... 57
Figure 4-10 Graphs with exclusion zones ................................................................. 58
Figure 4-11 Examples of qq-plots of 2 datasets ........................................................ 59
Figure 4-12 Examples of qq-plots of 1 dataset .......................................................... 59
Figure 4-13 A multigraph example ........................................................................... 60
Figure 4-14 Delaunay triangles and Voronoi diagram .............................................. 60
Figure 4-15 Graph2D drawn with option "surfl" and "tril p0" .................................. 61
Figure 4-16 Output of macro graph2dfit.C ............................................................... 62
Figure 4-17 A graph with axis titles .......................................................................... 63
Figure 4-18 A zoomed graph .................................................................................... 63
Figure 5-1 The function x*sin(x) ......................................................................... 66
Figure 5-2 Fitting a histogram with several Gaussian functions ............................... 69
Figure 5-3 The output of the FittingDemo() example ............................................... 71
Figure 5-4 The neural net output ............................................................................... 79
Figure 5-5 The original and the neural net for Br ..................................................... 79
Figure 7-1 ROOT object inspector of TFile .............................................................. 92
Figure 7-2 The object inspector of fKeys, the list of keys in the memory .............. 92
Figure 8-1 The ROOT Object Browser ................................................................... 102
Figure 9-1 Context menus of different objects in a canvas ..................................... 106
Figure 9-2 A histogram drawn in a pad ................................................................... 109
Figure 9-3 Pad coordinate systems .......................................................................... 110
Figure 9-4 The status bar ......................................................................................... 110
Figure 9-5 Dividing a pad into 6 sub-pads .............................................................. 112
xvi Table of Figures
Figure 9-6 Different arrow formats ......................................................................... 114
Figure 9-7 Different types of ellipses ...................................................................... 114
Figure 9-8 A rectangle with a border ...................................................................... 115
Figure 9-9 Markers .................................................................................................. 115
Figure 9-10 Different marker sizes ......................................................................... 115
Figure 9-11 The use of non-symmetric markers ..................................................... 116
Figure 9-12 The picture generated by the tutorial macro feynman.C ...................... 116
Figure 9-13 The picture generated by the tutorial macro latex.C ............................ 119
Figure 9-14 The picture generated by the tutorial macro latex2.C .......................... 120
Figure 9-15 The picture generated by the tutorial macro latex3.C .......................... 120
Figure 9-16 PaveLabels drawn with different options ....................................... 121
Figure 9-17 PaveText examples .............................................................................. 121
Figure 9-18 A PaveText example ............................................................................ 121
Figure 9-19 Y-axis with and without exponent labels ............................................. 124
Figure 9-20 Time axis examples ............................................................................. 126
Figure 9-21 A histogram with time axis X .............................................................. 127
Figure 9-22 The first axis example ......................................................................... 128
Figure 9-23 The second axis example ..................................................................... 129
Figure 9-24 An axis example with time display ...................................................... 129
Figure 9-25 Font’s examples ................................................................................... 131
Figure 9-26 The various patterns ............................................................................ 133
Figure 9-27 The basic ROOT colors ....................................................................... 134
Figure 9-28 Diferent draw options .......................................................................... 136
Figure 9-29 A legend example ................................................................................ 138
Figure 9-30 Invoking external 3D viewers from canvas menus .............................. 143
Figure 9-31 The GL 3D Viewer .............................................................................. 144
Figure 9-32 GL Viewer camera interactions ........................................................... 145
Figure 9-33 GL Viewer draw styles ........................................................................ 146
Figure 9-34 GL Viewer interactive box clipping .................................................... 146
Figure 9-35 GL Viewer object manipulators .......................................................... 147
Figure 9-36 Overview of 3D viewer architecture .................................................... 150
Figure 9-37 TBuffer3D class hierarchy................................................................... 151
Figure 10-1 Tasks in the ROOT browser ................................................................ 158
Figure 11-1 The browser with 15 created histograms ............................................. 159
Figure 11-2 ROOT File/Directory/Key description ................................................ 164
Figure 11-3 The structure of TFile .......................................................................... 165
Figure 11-4 The file before and after the call to Write ......................................... 167
Figure 11-5 Compression and precision of Double32_t .......................................... 173
Figure 11-6 A diagram of a streamed TH1F in the buffer ....................................... 174
Figure 11-7 Streaming object pointers .................................................................... 175
Figure 11-8 The ROOT schema evolution .............................................................. 178
Figure 11-9 The schema evolution for objects written on disk and in memory ...... 179
Figure 12-1 Activating the tree viewer.................................................................... 191
Figure 12-2 The TreeViewer ................................................................................... 191
Figure 12-3 A couple of graphs............................................................................... 192
Figure 12-4 The TTree class ................................................................................... 193
Figure 12-5 The tree1.root file and its tree in the browser ...................................... 200
Figure 12-6 A leaf histogram .................................................................................. 200
Figure 12-7 The tree viewer .................................................................................... 201
Figure 12-8 The tree viewer with tree4 example..................................................... 212
Figure 12-9 Using draw options in trees ................................................................. 215
Figure 13-1 Math libraries and packages ................................................................ 233
Figure 13-2 PDF, CDF and quantiles in the case of the normal distribution .......... 250
Figure 14-1 Overview of matrix classes.................................................................. 257
Figure 14-2 Speed comparison between the different matrix packages .................. 270
Figure 16-1 The inheritance hierarchy of the primary collection classes ................ 284
Figure 16-2 The internal data structure of a TList .................................................. 287
Figure 16-3 The internal data structure of a TObjArray ......................................... 288
Figure 16-4 The internal data structure of a TClonesArray ................................... 288
Figure 18-1Concentration of C14 derived elements ............................................... 304
Figure 18-2 Concentracion of elements derived fromCa53+Sr78 ........................... 304
Figure 18-3 Primitive Shapes - the general inheritance scheme.............................. 305
Figure 18-4 TGeoBBox class .................................................................................. 306
Table of Figures xvii
Figure 18-5 TGeoPara class .................................................................................... 306
Figure 18-6 TGeoTrd1 class ................................................................................... 307
Figure 18-7 TGeoTrd2 class ................................................................................... 307
Figure 18-8 TGeoTrap Class ................................................................................... 307
Figure 18-9 TGeoGtra class .................................................................................... 308
Figure 18-10 TGeoArb8 class ................................................................................. 308
Figure 18-11 TGeoTube Class ................................................................................ 309
Figure 18-12 TGeoTubeSeg Class .......................................................................... 309
Figure 18-13 TGeoCtub Class ................................................................................ 309
Figure 18-14 TGeoEltu Class .................................................................................. 310
Figure 18-15 TGeoHype Class ................................................................................ 310
Figure 18-16 TGeoCone Class ................................................................................ 311
Figure 18-17 TGeoConeSeg Class .......................................................................... 311
Figure 18-18 TGeoSphere Class ............................................................................. 311
Figure 18-19 TGeoTorus Class ............................................................................... 312
Figure 18-20 TGeoParaboloid Class ....................................................................... 312
Figure 18-21 TGeoPcon Class ................................................................................ 313
Figure 18-22 TGeoPgon Class ................................................................................ 313
Figure 18-23 TGeoXtru Class ................................................................................. 314
Figure 18-24 The composite shapes structure ......................................................... 315
Figure 18-25 Representation of A+B+C ................................................................. 315
Figure 18-26 Internal representation for composite shapes ..................................... 316
Figure 18-27 A composite shape example .............................................................. 317
Figure 18-28 A geometry hierarchy in memory ...................................................... 319
Figure 18-29 Assemblies of volumes ...................................................................... 326
Figure 18-30 Extruding volumes ............................................................................. 335
Figure 18-31 Overlap checking ............................................................................... 336
Figure 18-32 Safety computation checking ............................................................. 336
Figure 18-33 Random points ................................................................................... 337
Figure 18-34 Random rays ...................................................................................... 337
Figure 18-35 Ray-traced view in a pad ................................................................... 339
Figure 18-36 Ray-tracing example with box-clipping ............................................ 339
Figure 18-37 Navigation in the geometry hierarchy ............................................... 342
Figure 18-38 Finding the location of a point in the geometry hierarchy ................. 343
Figure 18-39 Finding the distance to the next crossed boundary ............................ 344
Figure 18-40 The geometry manager editor ............................................................ 346
Figure 18-41 Accessing/creating different categories of editable objects ............... 346
Figure 18-42 Selection dialogs for different TGeo objects ..................................... 347
Figure 18-43 Editors for shapes, materials, media, matrices ................................... 347
Figure 18-44 Setting volume properties and modifying volume hierarchy ............. 348
Figure 18-45 Volume visualisation settings and division interface for volumes .... 348
Figure 20-1 Native GUI widgets ............................................................................. 370
Figure 22-1 Server - Client setting-up and closing the connection ......................... 378
Figure 24-1 The Multi-tier structure of a PROOF cluster ....................................... 387
Figure 25-1 Widgets created by ROOT GUI classes .............................................. 395
Figure 25-2 The GUI classes hierarchy ................................................................... 396
Figure 25-3 The layout classes hierarchy ................................................................ 399
Figure 25-4 Histogram, pad and axis editors .......................................................... 418
剩余488页未读,继续阅读
163 浏览量
237 浏览量
355 浏览量
440 浏览量
176 浏览量
115 浏览量
118 浏览量
2021-02-04 上传
119 浏览量
zllsxzz
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功