とりあえず使ってみる

まず、e391a libraryを使うためのシェルの設定をします。以下ではcsh系のシェルの場合で説明しますので、csh系以外のシェル(bashとか)を使っている人は適当に読み変えて設定してください。(tcshはcsh系のシェルです。)

以下の3行を自分のシェル設定ファイル(~/.cshrc)の最後に付け加えて下さい。

if ( ! $?E391_HOME )     setenv E391_HOME     /pub/ktev/e391
if ( ! $?E391_LEVEL )    setenv E391_LEVEL    pro
source ${E391_HOME}/local/etc/cshrc_e391

.cshrcを編集したあとは、その変更を有効にするためにsourceコマンドで一度.cshrcを読み直さないといけません。(次回ログインしたときからは、自動的にされますのでこの作業は必要ないです。)

[hoge@justice]> source ~/.cshrc

以上でe391a libraryを使う設定が整いました。

次に、自分の作業場をつくります。例えば、適当なworkディレクトリ(/work[0-18]とか)の下に自分のアカウント名のディレクトリをつくって、そこを自分の作業場とします。ちなみに私の場合は、/work13/kenshです。

その下に、e391シミュレーション用のディレクトリを作ります。/work13/kensh/e391をシミュレーション用のディレクトリにしてもいいのですが、私の場合/work13/kensh/e391をe391関係の一般的な仕事場とし、/work13/kensh/e391/e391をシミュレーション用のディレクトリとしました。各自適当につくってください。ただ、以下の説明ではこのディレクトリ構成で話しますので、各自適当に読み変えてください。

自分用のe391シミュレーション用ディレクトリを作ったら、シェルの環境変数MY_TOP_DIRを設定します。

[hoge@justice]> setenv MY_TOP_DIR /work13/kensh/e391/e391

[hoge@justice]> source $E391_HOME/local/etc/cshrc_e391

次に、自分の作業場に標準的なe391aのGEANT 3ベースなシミュレーションのソースツリーを展開します。

まず、自分のe391シミュレーション用ディレクトリの下にsrcディレクトリをつくります。

[hoge@justice]> cd $MY_TOP_DIR

[hoge@justice]> mkdir src

で、srcの下に行ってget_packagesコマンドでソースツリーを取ってきます。今回の場合は、標準的なGEANT 3 シミュレーションであるgsim-e391aをとってきます。

[hoge@justice]> cd src

[hoge@justice]> get_packages gsim-e391a

次のようなメッセージが最後に現れたらOKです。

Command "get_package" completed.
Type "make" here to build all the packages.

現在いるところ($MY_TOP_DIR/src/)に下のようなファイルができたと思います。

合計 16k
-rw-r--r--    1 kensh    users          11 May  6 00:21 PACKAGES
drwxr-xr-x    3 kensh    users        4.0k May  6 00:21 gsim-e391a
drwxr-xr-x    2 kensh    users        4.0k May  6 00:21 config
-rw-r--r--    1 kensh    users         378 May  6 00:21 Makefile

それでは、ここでデフォルトの状態でシミュレーションのインストールを行ないませう。ただ単に、いまいるところでmakeするだけです。

[hoge@justice]> gmake

インストールが終ると、ひとつ上のディレクトリに先ほどまであったsrcの他にbin、include、libというディレクトリができていると思います。

さっそく、使ってみましょう。

ひとつ上のディレクトリ($MY_TOP_DIR)にいって、適当なディレクトリをつくって下さい。

[hoge@justice]> cd ../

[hoge@justice]> mkdir gsim-work

このディレクトリの下に行って、シミュレーション本体のリンクと必要なファイルをコピーして来ます。

[hoge@justice]> cd gsim-work

[hoge@justice]> ln -s ../src/gsim-e391a/bin/gsim ./

[hoge@justice]> ln -s ../src/gsim-e391a/bin/gxsim ./

[hoge@justice]> cp $E391_TOP_DIR/examples/gsim-e391a/disp.kumac ./

[hoge@justice]> cp $E391_TOP_DIR/examples/gsim-e391a/gsim.dat ./

ここで簡単に2つのシミュレーション本体の説明をします。gsimという名前のプログラムは、gsim.datの設定に従って、粒子の発生から崩壊、検出器との反応まで行ない、標準的な情報をHBOOK形式で書きだします。例えば、KL -> 2pi0 を10^6イベント発生させたいとかは、こちらを使います。gxsimという名前のプログラムは、基本的にはgsimのチェック用プログラムです。次のステップで自分の目的にあわせてgsimを書き換えたときに、ちゃんと動くか否かを1イベントちょっと見てみたいとかは、こちらを使います。ちなみにこの2つ、中見は全く一緒です。フロントエンドのところだけがちがいます。

ここでは、試しにgxsimを使って、今さっき作ったgsimがちゃんと動くかどうかを確かめてみましょう。

[hoge@justice]> ./gxsim

すると、いつもPAWを使っているときに現れるHIGZ windowが開いて、ターミナルでは"GEANT> "とプロンプトが出ていると思います。ちなみに、~/.pawlogon.kumacなどでopt fitとかopt statとかを設定している人は、文句をいわれるかもしれません。その場合は、~/.pawlogon.kumacのなかをgraph/opt fitとかgraph/opt statと書き換えて下さい。

ここで

GEANT> exec disp

とすると、HIGZ windowにE391a Detectorの絵が出てくると思います。

GEANT> trig 1

とすると、gsim.datで設定されている粒子(デフォルトはKL)が飛んで運がよければ崩壊します。崩壊せず点線しかあらわれなかったら、何度かtrig 1をしてみて下さい。たぶんデフォルトのままだと3回目で崩壊すると思います。

こんな感じで、gxsimは1イベントづつ見たい場合には便利です。また、gsimの中でのDetectorの構成等もgxsimでGEANTのコマンドをつかって見ることができます。

最後にgsimの使い方です。何も引数なしでgsimを使おうとするとusageがでるので、それに従えばいいのですが、例えば100イベント発生させて、書き出されるHBOOKをhoge.hbookという名前のファイルで保存したかったら、

[hoge@justice]> ./gsim -o hoge.hbook -gen 100

ってしたら動きます。ちなみにデフォルトでは崩壊したイベントしかHBOOKに書き出しません。

これで、とりあえずE391a libraryを使えるようになりました。めでたし。(2002/05/06, kensh)


Copyright 2002 KTeV group@Yamanaka-Taku Lab.