データフレームしたい(RDataFrame

1// イベント数を指定してRDataFrameを作成
2auto df = ROOT::RDataFrame(100)
3    .Define("x", "gRandom->Gaus(0, 1)")
4    .Define("y", "gRandom->Gaus(0, 1)");
5df.Describe();

RDataFrameは、ROOTにおいてpandasのような宣言的なデータフレーム操作を提供するクラスです。

TTreeの上に構築された解析専用の高レベルAPIで、従来のTTreeのイベントループをベースとしたコードよりも簡潔で効率的なデータ分析が可能になります。

ファイルから読み込みたい

1auto df = ROOT::RDataFrame("events", "source.root");

RDataFrameはROOTファイルのTTreeを直接読み込むことができます。 第一引数(name)にはTTreeの名前、 第二引数(files)にはファイル名を指定します。

1auto df = ROOT::RDataFrame(
2    "events",
3    {"file1.root", "file2.root", "file3.root"}
4);

複数のファイルを同時に読み込むことができます。

TTreeを読み込みたい

1TFile *source_file = TFile::Open("source.root");
2TTree *tree = source_file->Get<TTree>("events");
3
4auto df = ROOT::RDataFrame(tree);

RDataFrameは、すでに読み込んだTTreeを引数にして作成することもできます。 この方法は、TTreeを読み込む際に特別な設定が必要な場合に便利です。

リファレンス