ROOT
ROOT とは、欧州原子核研究機構(CERN) が開発しているデータ分析ツールです。
主に高エネルギー物理学を専門とする研究者の間で使用されています。
ROOTでできることは以下の通り。
- データの可視化(ヒストグラム、グラフ、散布図...)
- フィッティング(線形、多項式など任意の関数で使用できる)
- 統計解析(検定など)
- 機械学習
といったように、基本的になんでもできる便利なツールです。
C++やPythonでプログラミングする必要がありますが、Pythonを用いて紹介していきます。
インストール
環境
- CentOS7 (AWS上に作成)
- AMI: CentOS 7 (x86_64) - with Updates HVM
- ROOT 6.14.06 (2018年12月25日現在、最新バージョン)
インストール手順
基本的に公式ページに書かれた手順通りに行えばできるはず。
今回はbinary版で行ってみました。
- ダウンロード
wget https://root.cern.ch/download/root_v6.14.06.Linux-centos7-x86_64-gcc4.8.tar.gz
- 解凍
tar -zxf root_v6.14.06.Linux-centos7-x86_64-gcc4.8.tar.gz
- パスを通す
source /path/to/install-or-build/dir/bin/thisroot.sh
- 起動してみる
root
これで下図のような画面が出ればインストール完了。
この画面はroot -l
とオプションをつけることで消すことができます。
ヒストグラムを描画する
test1.py
from ROOT import TCanvas, TH1F, TRandom
c = TCanvas()
h = TH1F("h1", "", 10, 0, 1)
rdm = TRandom()
rdm.SetSeed(1)
# ガウス分布にしたがって発生させた乱数をヒストグラムにつめる
for i in range(10):
h.Fill( rdm.Gaus(0.5, 0.2) )
# 描画して画像を保存
h.Draw()
c.SaveAs("test.png")
これをpython test1.py
で実行した結果が下図。
こんな感じで簡単に図を作ることができました。