next up previous contents
: 対話モードで ROOT を使う : Dis45 ユーザーのための ROOT 入門 : なぜ ROOT を使うのか?   目次

ROOT 事始

まず、ROOT をインストールしなくてはならないが、${\tt tar}$ の展開だけなので 何のことはない。 著者の場合、${\tt /opt}$ 以下に展開している。


  # tar -zxvf root_v2.25.02_..._tar.gz -C /opt
ソースファイルからコンパイルしたい場合(ソースをいじりたい場合) については付録に簡単に説明した。 動作環境については、ROOT のホームページに 説明があるが、以下の説明では基本的に LINUX で bash 環境を使っていると仮定している (著者の環境は linuxppc 2k)。 そうでない環境の人は適当に読み変えること。

次に若干の環境変数の設定。


  $ export ROOTSYS=/opt/root 
  $ export PATH=$PATH:$ROOTSYS/bin 
  $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib
いちいち手で打つのが面倒なら、 これらは、 ${\tt .bash\_profile}$${\tt .bashrc}$ に書いておいても良い。 これで、取り敢えず準備完了だ。

まずは ${\tt /opt/root/tutorials}$ にあるデモを走らせてみよう。 適当なディレクトリーに例題をコピーする。


  $ cd <somewhere>/ 
  $ cp -R $ROOTSYS/tutorials . 
  $ cd tutorials

ROOT の 対話セッションを開始するには、


  $ root
と打てば良い。 ロゴが表示されセッションが始まる。

図 2.1: ROOT のロゴ
\begin{figure}
\centerline {
\epsfig{file=figs/rootlogo.eps,width=8cm}}\end{figure}

このロゴがうっとうしければ、${\tt -l}$ をつける。


  $ root -l

root コマンド自体のコマンドラインオブションは ${\tt -?}$ で見られる。 こんな感じだ。


  $ root -?
  Usage: root [-l] [-b] [-n] [-q] [dir] [file1.C ... fileN.C]
  Options:
    -b : run in batch mode without graphics
    -n : do not execute logon and logoff macros as specified in .rootrc
    -q : exit after processing command line macro files
    -l : do not show splash screen
   dir : if dir is a valid directory cd to it before executing
${\tt -b}$${\tt -q}$ は、バッチモードで解析をする際にいずれ お世話になる便利なオプションである。 特にイベント毎にプロットの更新をすると大変時間がかかるので、 ${\tt -b}$ は助かるオプションである。

さて、ROOT の対話セッションが始まると、


    *******************************************
    *                                         *
    *        W E L C O M E  to  R O O T       *
    *                                         *
    *   Version   2.25/02    23 August 2000   *
    *                                         *
    *  You are welcome to visit our Web site  *
    *          http://root.cern.ch            *
    *                                         *
    *******************************************
  CINT/ROOT C/C++ Interpreter version 5.14.47, August 12 2000
  Type ? for help. Commands must be C++ statements.
  Enclose multiple statements between { }.
  root [0]
と出てくる。 ${\tt root [0]}$ というのが、root のインタープリター (RCINT) の プロンプトである。 ${\tt [0]}$ は打ち込んだコマンドラインの番号で、 以前のコマンドのヒストリーは、普通のシェル環境のように、 矢印の上下ボタンで行ったり来たりできる。 ${\tt CNTRL+P}$ または ${\tt CNTRL+N}$ でも良い。 実際、ROOT のコマンドラインは emacs のような 編集ができ、また ${\tt TAB}$ をたたけば、 コマンドライン補間もしてくれる。 クラスとか関数、変数の名前なども補間してくれるので とても便利である。

さて、早速デモを走らせてみよう。


  root [0] .x benchmarks.C
  root [1] .q
${\tt .x}$ はプログラム ${\tt benchmarks.C}$ のロードと実行、 ${\tt .q}$ が ROOT の対話セッションの終了である。 既に述べたように、コマンドライン補間が効くので、 ${\tt .x~be}$ あたりまで打って ${\tt TAB}$ をたたけば ${\tt .x~benchmarks.C}$ まででてくるはずである。 そこでリターンキーを押せば、ROOT のベンチマークが実行される。 これは ROOT でできることの例題の集合であり、 見ていて結構楽しいし、対話セッションでできることの おおよその感じがつかめる。 ${\tt .x~demos.C}$ とやれば、ほぼ同じ例題のセットが対話的に実行できる。 ちなみに、図2.2は、hsum というボタンを 押したところ。

図 2.2: demo.C の実行画面。hsum のボタンを押してみたところ。 実際にはヒストグラムがフィルされるようすが 動的に見られる。 動くところが見せられないのが残念である。
\begin{figure}
\centerline {
\epsfig{file=figs/demo.eps,width=16cm}}\end{figure}

基本的に、"${\tt .}$" で始まるのが対話セッション独自のコマンドで、 それ以外は RCINT という内蔵の C++ インタープリターに C++ プログラムとして渡される。

次章より、仕事に使おうとしたときやりたくなることについて どうしたらできるか考えてみよう。


next up previous contents
: 対話モードで ROOT を使う : Dis45 ユーザーのための ROOT 入門 : なぜ ROOT を使うのか?   目次
Keisuke Fujii 平成12年12月22日