雛型プログラムの実行

gmake と叩けば ZZ ができるはずです。
では、./ZZ と叩いてみます。
すると、atlasj> というプロンプトがでます。
終了するためには、quit、exit、end、terminate、q、.q、のどれかを打ちこみます。
次に入力パラメータとして使えるキーワードは次の8つです。

input
treename
output
from
to
input_data_unit
friend
user_

inputは解析用のデータファイルの場所を入力するために使います。
treenameはROOTファイルの中のどのツリーを解析するのか、という情報を与えるときに使います。
outputは必要なイベントだけ保存したいときに出力するROOTファイル名です。
ヒストグラムを保存するためのキーワードではありません。
fromtoを使用すれば解析するイベントに制限を与えることができます。
単純に前からの番号で、ゼロ始まりの数え方です。
input_data_unitはデータファイルに保存されている値の単位を指定するために使います。
DC2以降のデータでは
input_data_unit mev
としてください。
friendはまだ動作確認していませんので無視してください。
user_はユーザー定義の入力パラメータを与えるための接頭語です。
例えば、user_rootfileとすればプログラム中でGetParam("rootfile")とすれば
その値(必ずstd:string)を得ることができます。(詳しくは後述)
最後に実行を始めるためには、processrun を打ち込みます。
現状では解析した後のプロンプトは戻って来ません。
では、実際に打ち込んでみましょう。以下の赤い部分を打ち込みます。
./ZZ
atlasj> treename CBNT/t3333
atlasj> treename: CBNT/t3333
atlasj> input /home/atljphys/datafiles/dc2/atlj/atlfast808/000009/CBNT/atlj.000009.gghzz4l_mh200.atlfast._00001.root
atlasj> input: /home/atljphys/datafiles/dc2/atlj/atlfast808/000009/CBNT/atlj.000009.gghzz4l_mh200.atlfast._00001.root
atlasj> to 999
atlasj> to: 999
atlasj> process

大量のDoitという文字が現れた後、Finalizationという文字を出力して終るはずです。
これはZZ.cxxでそのようなメッセージが出るように書いているためです。
注意1: この他に以下のようなエラーメッセージらしきものもでますが無視してください。
Error in : unknown branch -> DetCellsLArFCal
これはCBNTに保存される変数名が変更されたり、追加されたり、削除されたり等のため
一部のデータにアクセスできないことを表しています。
注意2: processを実行するとquit等を行わなくても自動的にプログラムは終了してしまいます。
次に、以下の4行を書いたファイルをsignal.scriptという名前で準備します。

treename CBNT/t3333
input /home/atljphys/datafiles/dc2/atlj/atlfast808/000009/CBNT/atlj.000009.gghzz4l_mh200.atlfast._00001.root
to 99
process

csh系なら
./ZZ < signal.script >& log
sh系なら
./ZZ < signal.script > log 2>&1
と実行します。この方法を用いれば何度もプロンプトに打ち込む必要はありません。

less log等でログファイルを確認してください。
Error in ...は無視すると、
Initialization
Doitの繰り返し
Finalization
が表示されているはずです。

Doitが100回表示されていることを確認する場合は、
grep Doit log | wc -l
としてください。
100とでるはずです。

Go to the next page
Go to the previous page

Go to the index page

jtanaka