Directory LIB$DISK:[QPAW.DOC] QPAW-SYSTEM.TXT;8 25/28 15-SEP-1995 16:05:06.52
QPAW system 〜市原Qシステム用〜
1.QPAWシステム
QPAWシステムは、CERNで開発されたPAWシステムに、今後のオンライン
での操作性を考えてQシステムがもつ使い勝手の良さを加えたものです.市原Qシス
テムで作られたローデータから、これまでQシステムで使われていた解析プログラム
をそのまま使ってヒストグラムを作ります.ただし、アルファ上でフォートランのプ
ログラムを動かすため、若干の変更が必要かもしれません.
2.プログラムのインストール
<ディレクトリの設定>
以下のようにディレクトリを設定します.
USER$DISK:[username.QPAW] QPAWシステムを使うホームディレクトリ
USER$DISK:[username.QPAW.MACRO] PAWシステムのマクロ、プログラム
USER$DISK:[username.QPAW.PAR] 各種パラメーターファイル
USER$DISK:[username.QPAW.PROGRAM] 実験グループ固有のプログラム
<ファイルのコピー>
以下のディレクトリに入っているファイルをコピーします.
また,実験グループ固有のプログラムやテストファイル,パラメーターファイルは、
Qシステムで使っていたものを使います.
ライブラリから
LIB$DISK:[QPAW.USER_COM]
qstart.com,qend.com,qtt.com ---> USER$DISK:[username.QPAW]
compile.com,link.com ---> USER$DISK:[username.QPAW.PROGRAM]
LIB$DISK:[QPAW.MACRO]
*.kumac,*.for ---> USER$DISK:[username.QPAW.MACRO]
LIB$DISK:[QPAW.PROGRAM]
p2p_scaler_proc.for ---> USER$DISK:[username.QPAW.PROGRAM]
Qシステムのファイル
USER$DISK:[username.Q.PROGRAM]
*.for ---> USER$DISK:[username.QPAW.PROGRAM]
USER$DISK:[username.Q.HISTOGRAM]
*.hse ---> USER$DISK:[username.QPAW.HISTOGRAM]
USER$DISK:[username.Q.PAR]
*.par ---> USER$DISK:[username.QPAW.PAR]*.par
def.par ---> USER$DISK:[username.QPAW.PAR]prm.def
USER$DISK:[username.Q.TST]
*.tst ---> USER$DISK:[username.QPAW.PAR]*.tst
<ファイルの書き換え>
PAWのログインコマンドPAWLOGON.KUMACの中の、Global-sectionを定義する部分を自
分のユーザー名に書き換えます.
.....
macro/default 'QPAW$MACRO:'
global username$P
exec Init
....
<プログラムのコンパイル、リンク>
次の順序でアナライザーを作ります.
(1)コンパイル
$ set default [username.QPAW.PROGRAM]
$ @compile
=== Now, Compiling P2P_AINIT1.FOR ===
=== Now, Compiling P2P_CNTL.FOR ===
=== Now, Compiling P2P_LIB.FOR ===
=== Now, Compiling P2P_PROC4.FOR ===
=== Now, Compiling P2P_PROC5.FOR ===
=== Now, Compiling P2P_PROC6.FOR ===
=== Now, Compiling P2P_PROC7.FOR ===
=== Now, Compiling P2P_SCALER_PROC.FOR ===
$ .....
(2)リンク
$ @link
Analyzer Name: analyzer
LIB$ = CERN:[NEW.LIB]MATHLIB/LIB,PHTOOLS/LIB,PACKLIB/LIB,KERNLIB/LIB
$ .....
3.使い方
<アナライザーの起動>
アナライザは以下のように起動します.アナライザを起動すると、username$HISTと
username$CHARの2つのサブプロセスが同時に走ります.アナライザを起動したら、この
2つのプロセスが走っていることを確認してください.
また、QPAWシステムに必要なロジカル名の設定は同時に行われます.
$ @qstart
%DCL-I-SUPERSEDE, previous value of QPAW$EXE has been superseded
%DCL-I-SUPERSEDE, previous value of QPAW$TEMP_DISK has been superseded
ANALYZER NAME: analyzer
%DCL-S-SPAWNED, process username$HIST spawned
QPAW> ..........
QPAW> show process /sub
25-FEB-1995 04:26:35.96 User: username Process ID: 44E01854
Node: RCNPAX Process name: "username$HIST"
There are 3 processes in this job:
username;0
username$HIST (*)
username$Char
QPAW> ..........
QPAW> @qend
=== Analyzer was ended.
$...
<他のプロセスで>
他のプロセス(ウインドウ)ではロジカル名の設定をする必要があります.
QPAW> @qtt
<入力ファイル>
入力ファイルは市原Qシステムで作られたローデータです。市原Qシステムではスケー
ラーイベントは各バッファーの最後にスケーラーのチャンネル数のデータが入っている
ため、入力ファイルを定義する度にチャンネル数を入力する必要があります。
QPAW> qnt temp$disk1:[***]run1001.iii
How many scaler CHANNELs ? (Def. = 96ch. ) ; 64
<RUNのスタート>
この時に、解析したいイベントのイベント番号を同時に入力します。ただし、イベント
番号の8と9はスケーラーイベントのために既に使われているので使用しないでくださ
い.
QPAW> qru 4,5,6,7
または、
QPAW> qru
EVENT to Process = 4,5,6
<RUNの中断>
QPAW> qsu
QPAW> qre
<RUNの終了>
QPAW> qfi
<別の入力ファイル>
QPAW> qnt temp$disk1:[***]run1002.iii
How many scaler CHANNELs ? (Def. = 96ch. ) ; 64
<新しいRUNのスタート>
QPAW> qru/rw 5,6
このとき、解析したいイベント番号を変えたいときは、イベント番号も入力します.
また、前回のRUNと同じであれば、イベント番号は省略できます。
<RUNの状態>
QPAW> qst
=== Now, the time is 22:33:12.67, on 20-FEB-1995 ===
=== RUN status : RUN has started.
INIT = 0
TAPE = 1 SCALER = 64 FILENAME = DATA1:APR94P2P2036.III
RUN = 1 SUS = 0 RUN# = 2036 RW = 0
Process Event = 4 5 6 7 8 9
START TIME : 20-FEB-1995 22:33:05.57
Comment : (10:29:30)40CA(P2P) (GR,LAS)=(25.5,59.95)(911.607,693.72) :
ENDED TIME :
Comment :
ANALYZED EVENT = 2171
ANALYZED BLOCK SIZE = 768
<ヒストグラムの定義>
ヒストグラムの定義はQシステムと同様にできます。入力ファイルも全く同じものが使
えます。また、ヒストグラムや以下で説明するテスト、パラメーターはRUNの途中で
も定義あるいは再定義ができます.
=1次元ヒストグラム=
QPAW> hsu x4/xp:11:-1000:1000:2/te:10/bl:1
name/xp:IND:low:up:step/te:tst/bl:blk
=2次元ヒストグラム=
QPAW> hsu x4y4/xp:11:-1000:1000:2/yp:12:-500:500:10/te:10/bl:1
name/xp:IND:low:up:step/yp:IND:low:up:step[/te:tst][/bl:blk]
定義されたヒストグラムを消すときは
QPAW> hsu ad7/de
name/de
ヒストグラムを定義し直すときは
QPAW> hsu x4/xp:11:-2000:2000:4/te:20/su
name/xp:IND:low:up:step[/te:tst][/bl:blk]/su
これらをファイルにまとめて、
QPAW> hsu @p2p.hse
QPAW> hsu @p2p.hse/de
QPAW> hsu @p2p.hse/su
とすることもできます。
定義されたヒストグラムは、houtで画面に表示されます。
QPAW> hout
--- Max Number ---
BLK1 BLK2 BLK3 BLK4 BLK5 BLK6 BLK7 BLK8 BLK9 BLK10 TOTAL
1D-Hist 4 1 0 0 0 0 0 0 0 0 5
2D-Hist 3 0 0 0 0 0 0 0 0 0 3
--- 1D Histogram ---
No NAME INDx MIN MAX BIN INDy MIN MAX BIN TST BLK
1 AD1 1001 0 2000 1 0 0 0 0 0 1
2 AD2 1002 0 2000 1 0 0 0 0 0 1
3 AD3 1003 0 2000 1 0 0 0 0 0 1
4 AD4 1004 0 2000 1 0 0 0 0 0 1
5 ESEP 505 -6000 6000 2 0 0 0 0 121 2
--- 2D Histogram ---
No NAME INDx MIN MAX BIN INDy MIN MAX BIN TST BLK
1001 X4A4 21 -6000 6000 100 22 700 1300 10 121 1
1002 X4Y4 21 -6000 6000 100 23 -300 300 10 121 1
1003 X4X0 21 -6000 6000 100 221 -3000 3000 100 121 1
ひとつのヒストグラムのみを見る時は,
QPAW> hout x4a4
No NAME INDx MIN MAX BIN INDy MIN MAX BIN TST BLK
1001 X4A4 21 -6000 6000 100 22 700 1300 10 121 1
ファイルに書き出すには
QPAW> hout 10
とすると,ファイル"FOR010.dat"に定義されたヒストグラムが書き出されます。
<テスト>
ヒストグラムにかけるゲートのことです.定義の仕方は同様にできます。また、テスト
ファイルもQシステムと全く同じものが使えます。テストは定義する度に前のテストが
消去されます.
QPAW> tsu 14,AND,10,11
または、ファイルにまとめて、
QPAW> tsu @p2p.tst
<パラメーターの設定>
これもQシステムと同様に定義できます。
QPAW> prm kcalib=1
または、ファイルにまとめて、
QPAW> prm @p2p.par
設定したパラメーターの値を見るときは、
QPAW> prm kcalib
KCALIB= 0
<スケーラーの表示>
スケーラーはRUNの開始とともにカウントされ始めます.また、RUNを再開すると
きには自動的にリセットされます.
QPAW> scl
Event_No.(Block_No.)= 678 Number_of_scalers = 64
CH Module-1 Module-2 Module-3 Modele-4 Module-5 Module-6 Module-7
0 10591 10514 925 905
1 884612 1112502 12621 22485
2 3743100 4200447 21718 11647
3 2113536 0 19125 19156
4 2550121 2712097 23006 22363
5 7357 8790 1027 0
6 8463 8987 857 723
7 11234 15704 2570 2492
8 16060 23377 5920 5775
9 94107 93895 0 0
10 80882 77205 0 0
11 746977 894658 0 0
12 0 0 0 0
13 0 0 0 0
14 0 0 0 0
15 0 0 0 0
4.ヒストグラム
<PAWの起動>
アナライザーで作られたヒストグラムは、PAWを起動して見ることができます.
ただし、HBOOKを使っているため、ヒストグラムは番号で指定し、ゲートの機能は
使えません.RUNの開始とともにヒストグラムのフィリングを始め、また、RUNを
再開するときには自動的にリセットされます.
その他、PAWのコマンドを使うことができます。PAWの使い方についてはマニュア
ルを参照して下さい.
$ paw
The PRO version of the PAW X11 driver for PAW is selected.
Executing LIB$DISK:[CERNLIB.CERNAXP.PRO.EXE]PAWX11_U.EXE;3
******************************************************
* *
* W E L C O M E to P A W *
* *
* Version 2.05/22 21 October 1994 *
* *
******************************************************
Workstation type (?=HELP) =1 :
Version 1.21/10 of HIGZ started
=> Start of system login
=> End of system login. User login commands now starting
*** Using default PAWLOGON file "QPAW$MACRO:PAWLOGON.KUMAC"
Macro search order is Command
PAW >
<hpl>
上記のように、PAWではヒストグラムを番号で指定しますが、hpl.macroを起動する
と、Qシステムの主なコマンドが同様に使えます。
PAW> exec hpl hplの起動
HPL> ...
HPL> x4 ヒストグラムの名前 ---> 表示
HPL> Cntl-Z hplの終了
PAW> ...
<ヘルプ>
HPL> /h
Command list (HPL)
/logx set log scale for x-axis (1-dim and 2-dim)
/linx set linear scale for x-axis (1-dim and 2-dim)
/logy set log scale for y-axis (1-dim and 2-dim)
/liny set linear scale for y-axis (1-dim and 2-dim)
/logz set log scale for z-axis (2-dim)
/linz set linear scale for z-axis (2-dim)
/cut set graphical cut Usage: /cut ( means test number)
/rcut reset graphical cut Usage: /rcut ( means test number)
/csum sum up events in the bound of cursor position
/cur set marker with graphical cursor
Usage: /cut; set graphical cursor;
set marker number [Macro cursor: num ? (=) ]
/rcur reset marker Usage: /rcur ( means marker number)
. execute for PAW
cnt+z exit from HPL
<ゲート>
HPL> /cut 1 ---> ゲートをかけたい位置でマウスをクリック ---> ダブルクリック
Maximum number of points= 2 reached
1 11 72.36420 203.3520
HPL>
MINUIT RELEASE 94.09 INITIALIZED. DIMENSIONS 100/ 50 EPSMAC= 0.44E-15
**********
** 1 **SET EPS 0.1000E-06
**********
FLOATING-POINT NUMBERS ASSUMED ACCURATE TO 0.100E-06
**********
** 2 **SET ERR 1.000
**********
<x軸、y軸の範囲、スケール>
HPL> /logx ---> 戻るとき HPL> /linx
HPL> /logy ---> 戻るとき HPL> /liny
HPL> /x:100:150 ---> 戻るとき HPL> /x
HPL> /y:10:100 ---> 戻るとき HPL> /y
5.UNIXへの移植
QPAWシステムはVMSのシステムライブラリやRTL、Lexical-Function等を
使っているため、UNIXに移す際には、VMSのシステムライブラリに変わるものを
用意する必要があります。具体的には、
(1)システムライブラリ
イベントフラグ
SYS$ASCEFC,SYS$SETEF,SYS$WAITEF,SYS$READEF,SYS$DACEFC
シェアードコモン
SYS$CRMPSC,SYS$MGBLSC
サブプロセス
SYS$CREPRC,SYS$DELPRC
その他
SYS$TRNLNM,SYS$GETJPIW
(2)Lexical Function
F$SEARCH,F$EXTRACT,F$LOCATE
(3)RTL(RunTimeLibrary)
LIB$GET_FOREIGN
yoshiMASA yuasa