JupyterLabを用いたroot解析¶
JupyterLabはpythonとかの開発プラットフォーム
python以外にroot, clang, R言語とかも使えるらしい.
以下のように
In [1]:
import sys
print(sys.version)
3.10.13 (main, Aug 24 2023, 22:36:46) [Clang 14.0.3 (clang-1403.0.22.14.1)]
とか書くとインタプリタで入出力が見れる.
cernのrootはver.6.22から標準でpythonをサポートしてるから適当にインストールしてpython側で
In [2]:
import ROOT as R
Welcome to JupyROOT 6.29/01
としてあげるとpythonでrootのライブラリが読み出せる.
ここではROOTをRとしてインポートしてる.
適当にtutorialのコードをコピペして遊んでみる.
In [3]:
h = R.TH1F("gauss","Example histogram",100,-4,4)
h.FillRandom("gaus")
c = R.TCanvas("myCanvasName","The Canvas Title",800,600)
h.Draw()
c.Draw()
注意として,インタープリタだから下手に再実行を繰り返すとメモリーリークしてお亡くなりになる.
いろいろ条件を変えたいところと変えないところを分けてcodeを書くこと.
jsrootの使用¶
jsroot を使うといつものTCanvasみたいに右クリックで拡大,のようなことができる
In [4]:
#%jsroot on
R.enableJSVis()
c.Draw()
In [5]:
%%cpp
cout << "This is a C++ cell" << endl;
This is a C++ cell
とつけてあげるととc++のライブラリが使える.
root コマンドの使用¶
上記例はあくまでもPythonベースでrootを使っている. これではroot (c++)のコーディングしかできない人(特に自分)にはつらい. これをコマンドラインで使用するrootと同様に行うには
cp -r /root_installed_dir/etc/root/notebook/kernels/root $Users/Library/Jupyter/kernels
でrootのカーネルをJupyterに食わせる.
In [6]:
#final update
!date '+%b %d %Y (%a)'
9 28 2023 (木)
In [ ]:
In [ ]: