ROOTを使おう
0. 準備
環境変数を設定。
マイコンピューターを右クリックしてプロパティを選択。
詳細設定のタグの環境選択をクリック。ユーザーの環境変数に以下の2つを加える。
システム環境変数でまずROOTSYSを追加します。
新規ボタンを押して、
変数名にROOTSYS、変数値にC:\ROOT
(ここではCD-DriveをC:であるとしています。)を記入します。
またPATHを通すため、変数名にPATH、
変数値に%ROOTSYS%\binを加えます。
%変数名%で環境変数を参照することが出来ます。
1. ROOTをやってみよう
CD-ROMをCD-Driveに入れる。
すると自動的にROOTが立ち上がります。とりあえす、
>.q
と入れてROOTを終了します。
TutorialをやってみてROOTで何ができるか見てみましょう。
windowsのスータト→すべてのプログラム→アクセサリ→コマンドプロンプト
でコマンドプロンプトを立ち上げます。
> C:
> cd ROOT
> cd tutorials
これでディレクトリ(フォルダ)を移動してROOTを使うためのいろいろなサンプルが置いてあるディレクトリに来ました。ここで
> root
と打つとROOTが立ち上がります。
> .x benchmarks.C
と入れるといろいろなプログラムが実行され、ヒストグラムが作られたり、グラフが作られたり、絵が描かれたりします。
> .x domos.C
ボタンをクリックするとプログラムが実行されます。
> .q
でROOTを終了します。
2. ROOTファイルを開こう。
Web pageにいって、ファイルをダウンロードしましょう。
http://www-nh.scphys.kyoto-u.ac.jp/~miwa9/others/A6.html
ここにROOTのためのファイルが幾つか置いてあります。
これらのファイルをダウンロードしてください。
hsimple.root → 幾つかのヒストグラムが入っているROOTファイル
hsimple.C → hsimple.rootを作るためのマクロファイル
これを作業フォルダ(たとえばMy Documentにrootというフォルダを作っておくと良いでしょう)に置きましょう。
そしてコマンドプロンプトをまた開き、そのフォルダに移動しましょう。
> m: (ワークステーションではMy Documentはmディスクになっているようです)
> cd root
> dir (またはls)
これでファイルがあるかを確認します。あったらrootを立ち上げましょう。
> root
立ち上がったら
> f = TFile(“hsimple.root”)
これでROOTファイルを開いたことになります。fというのはTfileクラスの変数になります。
> f.ls( )
とするとファイルの中身が確認できます。
3. ヒストグラムをプロットしよう
このファイルにはTH1Fクラスのヒストグラムが全部で10個あります。
> hgauss->Draw( )
とするとヒストグラムがかかれます。
矢印のあとのDraw( )はこのクラスが持っている関数(Method)です。
他のヒストグラムも表示してみましょう。
4. ヒストグラムをfitしよう
フィットするには
> hgauss->Fit(“gaus”)
とします。するとhgaussのヒストグラムがガウス関数でフィットされます。
ガウス関数以外にも
expo exponential関数
pol0 0次関数
pol1 一次関数
landau ランダウ関数
などがあります。
Fitする範囲を指定するときは
> hgauss->Fit(“gaus”,””,””,15, 35)
とすれば15から35までの範囲でフィットしてくれます。
また自分でfitする関数を定義することも可能です。
たとえばhist0は0次関数のバックグラウンドとガウス関数のピークからなります。
> TF1 *f1 = new TF1(“f1”,”pol0(0)+gaus(1)”)
>
f1->SetParameter(0, 180)
>
f1->SetParameter(1, 500)
>
f1->SetParameter(2, 25)
>
f1->SetParameter(3, 5)
>
hist0->Fit(“f1”)
とすれば0次関数とガウス関数の足し合わせの関数でfitすることができます。
マクロファイルを用いてfitすることも可能です。
fitLolenzian.Cはローレンツ関数でfitするためのものです。
> .x fitLolenzian.C(hbwigner)
とするとfitしてくれます。