ROOT

brew/pip3 install ipython の違い

Homebrew を使って IPython を導入する際、brew install を使うやり方と、pip3 install をやり方の主に 2 つの方法があると思います。前者でやると IPython 起動時に PYTHONPATH を勝手に書き換えてしまうことが分かり、少しはまりました。そもそも ipython …

ROOT の TCanvas を綺麗に並べる

大画面液晶を使用中に ROOT でたくさん TCanvas を作った際に、重ならないように自動で綺麗に並べたいとき。ちょっと整理していないコードだけど、とりあえずこれで動く。 void TileCanvases() { auto canvases = gROOT->GetListOfCanvases(); int x0 = 0; i…

ついに ROOT で日本語を使えるようになりました (使わないけども)

(多分) ROOT 5.34 から TMathText という新しい class が導入され、ついにマルチバイト文字の扱いもできるようになりました。QtROOT を使えば以前から同じようなことが出来たのですが、非標準の ROOT は使いたくないので試したことがありませんでした。日本…

CMake と SWIG を使って C++ と Python と ROOT に対応させる

やりたいこと CTA の焦点面カメラの開発に必要なソフトを新たに書く必要があり、以下の条件を満たす必要があります。 速度重視の用途に耐えるため、また multi thread に対応するため、中身は C++ で書かれていること 速度を重視しない場合や簡単な試験にす…

ROOT を CMake で build してみる

CMake の勉強がてら、ROOT 5.34.03 を CMake で build してみます。OS X 10.8.2 です。 $ ll $ROOTSYS lrwxr-xr-x 1 root wheel 20 Dec 18 14:30 /usr/local/root -> root_v5.34.03.source $ cd $ROOTSYS $ make clean $ make distclean $ cd ~ $ mkdir tmp …

gdb で password を要求される

ROOT で seg fault を起こすと gdb が走りますが、うちの環境だと Xcode の update 時に何か設定がおかしくなることがあり、gdb の実行時に password を求められる場合があります。そのため、途中で seg fault の error を表示した状態で止まってしまいます…

Lion で X11 が死ぬ問題の解決法

Lion に移行してから、ROOT で script を複数回走らせると X11 が凍るというか死ぬ問題が発生するようになりました。RootTalk の情報では、これは ROOT の bug ではなく (Apple の) X11 の bug だそうです。同じ thread に解決方法も載っているので、Lion + …

PyROOT を使う時の注意点 (書きかけ)

PyROOT (Python + ROOT) を使う時の注意点をいくつか。適宜更新予定です。公式の PyROOT の manual が参考になります。 1. Memory の開放 1.1. C++ 内部で new したものの扱い Python はメモリ管理を気にしなくて良いと言われますが、気をつけなくてはいけな…

C++ 上では NULL な TObject の扱い

PyROOT だと C の NULL が扱えないので、NULL な TObject を返すような ROOT の関数 (TFile::Get など) では、混乱する時があります。自分は毎回ググってるような…。例えばここなんかに丁寧に説明がありますが、自分用の忘備録として blog にも書いておきま…

ROOT の Makefile.arch が色々と更新されちゃったので、その対処法

最近の ROOT では、Makefile.arch が 2 点変更になりました。 $ROOTSYS/test/Makefile.arch から $ROOTSYS/etc/Makefile.arch へ移動した ld の引数に -undefined を使わなくなったので、明示的に使用する library を与えないといけない そのため、古い ROOT…

ROOT の macro で定義した関数の返り値を受け取る方法

RootTalk で教えてもらったのでメモ。例えば MyScript.C というのがあったとして、この中に MyFunc() という関数があったとします。 MyClass MyFunc() { return MyClass(); } そして、この MyScript.C を CINT に読み込みます。 int main() { (略) gROOT->Lo…

福島県内 1,600 箇所の放射線量を可視化してみた

最新版の 4,400 箇所の可視化も併せてご覧下さい。アクセス集中し過ぎて dropbox.com へのリンクが一時的に落ちてます。 福島県内の各種学校など、1,600 箇所以上で系統的に測定された放射線量を可視化してみました。これは、4 月 5 日から 4 月 7 日の期間…

放射線量率モニター更新中

ここ (本家) に各地で測定されている放射線量率モニターの値をまとめて可視化しました。本家は研究者向けなので、こちらに一般向けの解説とともに掲載します。原発騒動が一段落するまで、自動更新予定です。 ▲ 各地の時系列 (click で拡大) PDF 版 ※dropbox.…

ROOT を使った光線追跡のソフトを公開した

何ヶ月か前ですが、ROBAST というソフトを公開しました。ROot BAsed Simulator for ray Tracing の略です。主には宇宙線望遠鏡の開発者を対象とした、光線追跡 (ray tracing) のソフトです。ROOT に慣れている人であれば、誰でも簡単に使えると思います。 ▲ …

ROOT の build で xrootd でこける

Snow Leopard で ROOT を build するときに、xrootd の build の箇所でこけた。 Creating executable ../../bin/xrdgsiproxy g++ -m64 -D_REENTRANT -D_GNU_SOURCE -Wall -D__macos__ -Wno-deprecated -O2 ../../obj/XrdSecgsiProxy.o -lssl -lcrypto -lz ..…

ROOT で使われる色をプレゼンで見やすく変更しよう

ROOT では色の種類を番号で表します。ROOT で default で用意されており、通常よく使われるものは、1:黒 (K)、2:赤 (R)、3:緑 (G)、4:青 (B)、5:黄色 (Y)、6:マゼンタ (M)、7:シアン (C) です。しかしこれらの色のうち、プレゼン中で使うべきではない色に緑 …

PyROOT で C 配列を使う

なんか毎度やり方を忘れて検索し直すので、本当に自分用の覚え書き。Blog にわざわざ書くネタとしては今さら感があり過ぎますが、ほんと最近物忘れがひどい。ROOT 自体は C++ で書かれているので、C の配列を引数に持つ関数というのはいくらでもあります。例…

HV への印加が起こす libftd2xx の seg fault

FTDI 社製の FT245RL という USB 用の chip と、libftd2xx という純正の library を組み合わせて使用しています。操作は ROOT で class を書いて、libftd2xx の wrapper を走らせています。FT245RL と同じ基板上に HV (高圧) を載せているのですが、こいつの…

ROOT で OpenMP を使う

最近は dual core、quad core の時代になったのに、自分でその性能を引き出すのは困難です。CPU の core 数ばっかり増えても、解析の速度は大して速くなっていない。というわけで、OpenMP を使って ROOT でも並列処理をできないか、というお話。 OpenMP とは…

rootcint の error を回避する

ROOT で自作の class を作るときに、rootcint という command を使って CINT 用の dictionary の作成を行います。これをしないと、CINT からの呼び出しが出来ません (はず)。Mac で rootcint を使った場合、解析させる header file の中身によっては、ちゃん…

ROOT と Python array の型の一覧

PyROOT から TTree の Branch を設定するときに混乱するので、まとめ。大文字と小文字が入れ替わっていて、ややこしい。 C type ROOT typedef ROOT TTree Python array NumPy FITS signed char Char_t 'B' 'b' int8 A or S unsigned char UChar_t 'b' 'B' ui…

Snow Leopard の Clean Install

Stanford に職場が移り、色々と新しい作業を始める前に、Snow Leopard に移行することにしました。新しい研究を始めてから環境移行すると面倒なので。 Snow Leopard Snow Leopard の DVD から、HDD を一旦消去して clean install した。QuickTime 7、Rosetta…

Rintでの色

ROOTの5.26.00から、Rint(ROOTのcommand lineのこと)での表示が色付けされるようになりました。色の設定はいくつかに分かれていて、 型の色(doubleやclassなど) 括弧の色(()、[]、{}) ちゃんと閉じていない括弧の色 promptの色(root [0]の部分) タブ…

ROOTの入門書を書き始めた

最新版へのシンボリックリンクはこれ ※まだ書きかけだから、半年後、1 年後に期待してね。(追記 2016/2/26) こっちに移動しました。 github.com CERNで開発されているROOTというデータ解析ソフトウェアは、高エネルギー物理学分野はもとより、高エネルギー宇…