RubyからCern/ROOTが使える、めちゃくちゃ便利なRubyROOTというツールがあります。JAXAのHirokazu Odakaさんが開発・メンテしてくれています。
マニュアルビルドするには、swigやcmakeを用意する必要があるのですが、簡単にインストールできるようにHomebrewのFormulaを作って、tapに入れました。Macの人はHomebrewをインストールしてから、以下のようにしてtapを取得して、インストールすると使えるようになります。
brew tap yuasatakayuki/hxisgd brew install rubyroot
もしROOTが入っていない場合は、
brew tap homebrew/science brew install root
してください。
天文データを扱う人は、RubyFitsもぜひどうぞ。
brew tap yuasatakayuki/hxisgd brew install rubyfits
でインストールできます。高エネルギー宇宙物理の人は、RubyROOTとRubyFITSを同時に使うと、C++を書かずに論文を書くのに必要なデータ解析ができるようになりますよ。
RubyROOTのサンプルコードはgithubのexamplesフォルダを見るか、HongoWikiの「RubyからROOTを使う」のページも参考にしてください。
たとえば、以下のようにヒストグラムを作成できます(write_hist.rb)。
#!/usr/bin/env ruby require 'RubyROOT' Root::TFile.open('hist.root', 'RECREATE') do h = Root::TH1D.create('hist', 'Histogram', 100, -5.0, 5.0) 1.upto(h.GetNbinsX){|i| h.SetBinContent(i, i*4.0) } h.SetBinContent(32, 547.2) h.FillRandom("gaus", 15000) h.Write end
Leave a Reply