Archive of posts with tag 'ROOT'

Raspberry Pi 3 (Jessie)にroot 5.34.36をインストール

GROWTH実験で使用するFPGA/高速ADCボードと制御・読み出し用のDAQソフトウエアは、高エネルギー実験でよく使われるCERN/ROOTのROOTファイル形式で波形データを書き出す機能があるのですが、動作試験ができていなかったのでいくつかバグがありました。

4. パルス計測プログラムのビルドと測定実行 - GROWTH FPGA/高速ADCボード

雷雲ガンマ線プロジェクト(GROWTH / Thundercloud Project)で開発したGROWTH FPGA/高速ADCボードに関する記事の第四回です。

PyROOTを起動した時にno current threadというエラーがでる

問題 もうROOTを使うこともあまりないのですが、いざ必要になってPyROOTを起動しようとしたときに、「Fatal Python error: PyThreadState_Get: no current thread」とでて、

HongoWikiを移設しました

新しいサーバへ移動しました 東京大学のサーバが不釣になって見られなくなっていたHongoWikiを、自前のサーバに移動して再開しました。新しいアドレスは以下のとおりです。そのうち、Googleの検索ランクも戻ってくると思います。あと、Mediawiki→Jekyllの変更にともない、コメント管理サービスDisqusを使ってコメント欄も付けているので、質問や改善のコメントがある人は気軽に書き込んでください。

【RubyROOT】ヒストグラムをフィットする例

RubyROOTで1次元ヒストグラムのテキストデータを読みこんで、TH1D(Double型の1次元ヒストグラム)に変換し、一次関数+ガウシアンでフィットしてプロットする例を示します。RubyROOTのインストール方法は「RubyROOTをHomebrewでインストールする」を参照してください。

[ROOT] TGraphからTSpline3を作成する

ROOTのTGraphでデータ列を保持していて、そのスプライン補間関数(cubic splineならTSpline3)を構築したいときは、以下のようにTSpline3::TSpline3(const char* name, const TGraph* g, …)というコンストラクタを使用しましょう。

【ROOT】ファイルを開くとTStreamerInfo::BuildCheckのWarningが出る

TStreamerInfo::BuildCheckのWarning CERN/ROOTを使っている時に、 Mac 1で作成したROOTファイルをMac 2で開こうとすると、TStreamerInfo::BuildCheckが以下のようなWarningを出しました。メッセージの要旨は「ROOTファイルから読み込んだTNamedやTAttMarkerといったクラスの定義情報が、現在使用しているROOTのバイナリにおける定義と異なっている」です。 原因 おかしいなと思って調べると、2台のMacでROOTのバージョンが違っていました。Mac 1ではROOT 5.34.25でファイルを作成して保存していたのに対し、Mac 2ではROOT 5.24.00で開こうとしていました。 解決方法 Mac 2のROOTを5.34.25にアップグレードしたところ、Warningは出なくなりました。実験データの取得を行うDAQ用Macと解析用のMacのソフトウエア環境は揃えましょう、という教訓です。

[ROOT Fitting] 複数のフィット関数を同時に表示する

ガンマ線スペクトル等をROOTのヒストグラムとして扱って、輝線放射に対してpol1+gausのような関数でフィットする際、複数の輝線のフィット結果を同時に描画したいことがあります。以下のように、Fit()メソッドの第二引数として、”+”を指定すると、ヒストグラムオブジェクトのフィット関数リストに追加されていき、Draw()したときに過去のフィット結果も同時にプロットされるようになります(デフォルトでは、ヒストグラムのフィット関数リストは、Fit()をコールするたびに毎回履歴がdeleteされます)。

RubyROOTでDraw()したときに統計情報を表示しない

RubyROOTでヒストグラムをDraw()すると、.rootmacros内でgROOT->SetOptStat(0)していても効かずに、図の右上に統計情報が表示されることがあります。見栄えの問題でこの統計情報を消したい場合は、以下のようにしてください。

RubyROOTをHomebrewでインストールする

RubyからCern/ROOTが使える、めちゃくちゃ便利なRubyROOTというツールがあります。JAXAのHirokazu Odakaさんが開発・メンテしてくれています。

ROOT Version 6のベータ版公開

最近あまり情報についていけていませんでしたが、ROOTのメジャーアップデート版であるVersion 6のベータ版が2013年12月に公開されていたようですね。 何と言ってもVersion 5系からの一番の違いは、CINTからLLVM/clangベースのClingへとC++インタプリタが置き換えられたことですね。CINTも、それが最初に作られた時代のことを考えるとひじょうにすぐれた仕組みでしたが、LLVMの登場とC++1x系のサポートを考慮していよいよ移行となり、感慨深いです。 すでにROOTのgitレポジトリのmasterはVersion6系に切り替わっているとのことで、gitで以下のようにcloneすると取得できます。 ` git clone http://root.cern.ch/git/root.git `