一、ROOT简介

ROOT是欧洲核子中心开发的,用于高能物理数据分析的开源软件。ROOT拥有独特的数据存储格式,可以迅速处理海量数据,并将其可视化。

简单地理解,ROOT可以被认为是C++的解释器,关于数据的处理指令可以通过类似C++的语法写入脚本,ROOT根据脚本处理数据、绘制图形。

20世纪90年代中期,欧洲核子中心(CERN)升级之后的对撞机产生的数据量激增,急需能胜任的数据处理软件;另一方面,CERN的一些软件开发人员已经有丰富的面向对象的软件开发经验。在这种背景下,ROOT应运而生。

目前,ROOT正被全世界所有主要的高能物理和核物理实验室用于监测、存储和分析数据。在其他科学、医疗和金融行业,许多人也都在使用ROOT。

不管怎样,ROOT都值得你去尝试!

二、ROOT安装

如果你只需要学习ROOT,那么ROOT的安装过程算是比较简单的了,不信你可以看看genie、Geant4和NuWro吧。

1.安装ROOT依赖

目前(2020-4-22)ROOT官网提供的依赖软件包仍然是基于Ubuntu16和CentOS 7,但是目前Ubuntu18.04都发布两年了,20.04也即将发布稳定版,CentOS也发布了8版本。

很多软件包名字有所更改,本文的软件包基于Ubuntu18.04,如果有些包有问题,建议根据出错提示修改

为了便于复制粘贴,下面给出整行的包名称:

sudo apt install git dpkg-dev cmake g++ gcc binutils libx11-dev libxpm-dev libxft-dev libxext-dev libpng-dev libjpeg-dev python

sudo apt install gfortran libssl-dev libpcre3-dev libglew1.5-dev libftgl-dev libmysqlclient-dev libfftw3-dev libcfitsio-dev libavahi-compat-libdnssd-dev libldap2-dev libxml2-dev libkrb5-dev libgsl-dev libmesa-glu-dev graphviz-dev python-dev python-numpy-dev r-base

2.编译安装ROOT

(1)首先说明目录结构:

Linux的/opt是提供给用户安装本地软件的目录,我们假设配置、编译、安装在此位置


此处root_v6.20.04.source.tar.gz是ROOT的源代码压缩包, root-6.20.04-src是ROOT解压后的源代码, root-6.20.04是想要安装ROOT的目录。

(2)配置ROOT

首先解压源代码,默认解压后的源代码名字为 root-6.20.04,手动改成上面所示的目录结构:

 tar -xvf root_v6.20.04.source.tar.gz

 mv root_v6.20.04 root-6.20.04-src

 mkdir root-6.20.04

进入 root-6.20.04:

 cd root-6.20.04

cmake配置ROOT:

 cmake ../root-6.20.04-src   -DCMAKE_INSTALL_PREFIX=/opt/root-6.20.04

上述命令中 -DCMAKE_INSTALL_PREFIX=/opt/root-6.20.04 表示ROOT安装到 /opt/root-6.20.04 里

更一般的,如果不指定安装目录,不需要其他配置,直接:

  cmake ../root-6.20.04-src 

就可以

(3)编译ROOT

执行完cmake就可以直接:

 cmake --build . -- -j4

或者简单一点:

 make -j4

这里-j4 表示用4个核同时编译,具体选取几个核取决于你的电脑

编译时间会相当漫长、CPU长期满载,只有不出现error,你就可以慢慢等,准备一部你喜爱的电影看吧!

(4)安装ROOT

漫长的make之后,你就可以安装了,安装就是把编译好的文件--复制--到预先设定的安装目录:

 make install

这一步一般很快,而且基本不会有error出现。

至此,ROOT编译安装完全结束!


附录:二进制安装ROOT

很多初学者,特别是刚刚接触Linux的同学,看到上面编译就很晕菜。但是做物理的人,不必拘泥于软件安装过程,能正常运行,满足学习需求就足够了,学有余力而又学编译。

怀着这一想法,这里提供一种更简单的安装方法:

下载二进制包

到cern root官网下载编译好的二进制包,这是6.20.04的下载页。

你可以轻易看到“Binary distributions”字样,这就是预先编译好的二进制包,根据你的操作系统把它下载下来。

解压

假设我们下载到了 /opt 文件夹

 tar -xvf root_v6.20.04.Linux-ubuntu18-x86_64-gcc7.5.tar.gz

得到:root-6.20.04文件夹

设置环境

 source /opt/root-6.20.04/bin/thisroot.sh

这里source什么路径下的 bin/thisroot.sh 文件,取决于你的root解压后的文件夹名称、解压到哪里。

三、ROOT使用

ROOT的使用是个远比安装庞杂的事情,等我有时间再补充。同时非常欢迎志同道合的同学一起完善这一部分。

感兴趣的请到我的github项目主页 一起commit



四、ROOT参考网站

五、联系我们

邮箱:zhaoww2013@126.com ; zhaoww1998@outlook.com