0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UnROOTの使い方

Last updated at Posted at 2024-11-25

ROOT初心者様へ

ROOT初心者には絶対にJuliaがおすすめです。
これからJuliaを使っていくことで気づくことになるでしょう!!

初めに

このページではUnROOTの簡単な使い方を学習します。対象としてはROOTを初めて使ったり、すでに使っている方が、Juliaで解析したいとなった際に、その手助けになるようなものを目指しました。pyrootの知識がなくても使えるように書いたつもりですので、ぜひ読んでいただければと思います。

UnROOTとは

UnROOTはJuliaの速さと記述しやすさでROOTファイルの中の変数をより自由に編集しちゃおうというモジュールです。早速導入方法を説明していきます。

1.導入方法

Juliaがダウンロードされている前提で話を進めます。
(ダウンロード方法は以下参照)
https://qiita.com/ttabata/items/b05bb43d06239f968035

シェルでJuliaを起動させます

bash
julia

次にモジュールの追加モードに変更します(「]」キーを押しください)


最後に以下を押せば完了です

julia
add UnROOT

これでモジュールのダウンロードは完了です。どうですかPythonなんかに比べて圧倒的に使いやすいでしょう。


では早速次の項目から使い方を見てみましょう。

実践編

1. columnsの数値を取り出そう

Juliaを起動して次のコマンドを打ちましょう

julia
using UnROOT

するとUnROOTが立ち上がります。ここで好きなrootファイルを以下のようにしてJuliaに取り組ませましょう。

julia
f = ROOTFile("rootfile_name.root")

押すと大量の情報が出てくるはずです。これは各ツリーの内容を意味しており、.lsと同じ役割をしてくれます。
スクリーンショット 2024-11-25 11.11.47.png

これでrootfile_name.rootがfとしてJuliaに認識されます。


次にtreeを開いてみましょう。

julia
tree = LazyTree(f,"tree_name")

するとtree_nameの内容が横軸カラム、縦軸数値順で並ぶと思います。
スクリーンショット 2024-11-25 11.13.36.png


これでtreeの準備は整いました。あとは数値を出力するだけです。
julia
tree.カラム名

するとカラムに入っている数値が全て吐き出されます。これを拾って計算などを行ってください。

2.便利機能

次にUnROOTができる便利な事象をお伝えできればと思います。

2.1 treeのカラムを全て確認する

LazyTreeでTreeを読み込んだ後に、以下のコードを押すと、tree内の絡むを書き出してくれます。

julia
names(tree)

2.2 ループの回し方

C並に早いJuliaはとても早くループを回すことができます。
以下のコマンドでループを回すことができます

julia
for entry(ROOTファイルによって異なります) in tree
    ...
end

マルチスレッドでも実行可能です

julia
Threads.@threads for entry in tree
    ...
end

実行タイミングや詳しい遅延条件などは以下の公式サイトを参照してください
https://juliahep.github.io/UnROOT.jl/stable/

2.3 ROOTファイルへの書き込み

UnROOT自体にROOTファイルへの書き込み手段はありません。したがって、PyCallパッケージを利用し、Pythonを呼び出し、そこからROOTファイルに書き込む必要があります。
PyCallで呼び出すPythonの設定はいかになります。

bash
ENV["JULIA_PYTHONCALL_EXE"] = readchomp(`which python`)

本記事での紹介は以上です。より細かい話は引用した引用した公式サイトを見ていただけると助かります。

公式サイト

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?