T473 Histogram URD

目的:
T473DataHub から送られてくる KonoeDataRecord を受けとります。

ヒストグラムオブジェクトを作る行為自体は既に確立されてあるので、 KonoeFillDataExtractorを 継承したT473SubAddressExtractor を使うことにより目的に応じたセグメント、エレメントに分けられたデータを 取り出し、種々のヒストグラムオブジェクトを作成します。 また、ヒストグラム単体で考えると100個に近いオブジェクトが生成されるので、 Konoe1DHistogramListにより部門別にしてまとめます。

UIから要求があれば Konoe1DHistogramList をUIに送ります。要求の仕方はUIが以下の文字列を渡すことにより対応した HistogramListがオブジェクトとして出力されます。 ポートは3つ用意されています。複数の種類のヒストグラムを 送信する事が可能になっています。

ヒストグラムの種類は T473DAQのフォーマットに従って が用意されています。
CsITDC,CsIADC,TOFについてはペデスタルの値を引く事を考慮しています。 実際はネームスペースに書かれたペデスタルの値をbeginコマンドが 発行された時点で読み込みます。
使用法:
実行ファイル [T473Histogram]
T473Histogramプロセスの受け付けるコマンドは(begin,pause,end,resume,shutdown)の5つあります。
begin
○はじめにすべてのヒストグラムをクリアーにし、ペデスタルをネームスペースから取得して設定します。
T473DataHubプロセスへのソケット要求のため connect() をする。
○入力のソケットを KonoeFDSetの使用によりポーリングをしつつ、UIからの要求も同じく見回る。
○DataHubに対してシェイクハンドでKonoeDataRecordを受信することに なっているので、文字列[DATAHUB_REQ_CURRENT]を送信する。KonoeDataRecordが 受信できたら解析をしてヒストグラムにフィルする。 このとき、そのイベントが
  • Spill End Recordの場合はDAQの効率とスピードを得るための処置をしてネームスペースに書きます。フィルしません。
  • Event Recordの場合は更にそれがXenon Eventかどうかを確かめた上でフィルします。
  • Run End Recordの場合はend処理に移ります。フィルしません。
○UI要求がきたら文字列のチェックを行い、fork()に よって生成された子プロセスに、該当する HistogramListを送信させる。
pause
○DataRecordの要求を止めます。
○それまでに作られたヒストグラム情報(Mean,Max Bin Number,Variance Standard Deviation)をネームスペースに書き込みます。
reseume
○DataRecordの要求を再開する(beginに移る)。
end
すべてのヒストグラムをクリアにし、 event受け取りカウンターを0にする。
○DataRecordの要求を止めます。
○begin,shutdownのいずれのコマンドを受け取るまで待機します。
shutdown
○プロセスの終了
の5通りあります。

データの入力はクライアントの立場にありますが、データの出力はサーバとなります。

実行ファイル [t473KtoP] <DataRecordFile.dat>
引数をDataRecordのオブジェクトファイルとして、 その内容をテキストファイルに落す実行ファイルです。
PAWで解析できるように、一列に1eventすべての数値が書き込まれた テキストファイルが出来上がります。

その他:

ネームスペース
アイテム 働き
HISTO_HOST ホスト名 ランコントロールに読まれる
HISTO_PID プロセスID ランコントロールに読まれる
HISTO_STATUS none ,begin , pause, end , shutdwon 現在のプロセス状態を知らせる
DATAHUB_OUTPUT_PORT ポート番号 T473DataHub間でKonoeDataRecordを受信するためのポート番号
HISTO_TO_UI_PORT0 ポート番号 UI間でHistogramListを送信するためのポート番号
HISTO_TO_UI_PORT1 ポート番号 UI間でHistogramListを送信するためのポート番号
HISTO_TO_UI_PORT2 ポート番号 UI間でHistogramListを送信するためのポート番号
EVENT_NUM_PORT ポート番号 現在までのフィルの回数を送信するためのポート番号
HISTO_REQ_MODE 文字列 DataHubの要求方法
DAQ_EFFICIENCY 実数 スピルエンド毎の( veto ) / ( no veto )
DAQ_EFFICIENCY_SUM 実数 ( veto ) / ( no veto )の累計
DAQ_SPEED 実数 スピルエンド毎の( veto ) / ( clk2 )
DAQ_SPEED_SUM 実数 ( veto ) / ( clk2 )の累計
CSI_ADC_%d_%d_PED 整数 各CsI ADCペデスタル値
CSI_TDC_%d_%d_PED 整数 各CsI TDCペデスタル値
SCIN_TDC_%d_%d_PED 整数 各SCIN TDCペデスタル値
SINGLE_COUNTS_%d_%d 整数 各スケーラ値
HISTOGRAM_EVENT 整数 各スケーラ値
CSI_ADC_NO:_%d_MEAN 実数 各CsI ADC Mean
CSI_ADC_NO:_%d_PEAK 整数 各CsI ADC Peak
CSI_ADC_NO:_%d_VARI 実数 各CsI ADC Variance
CSI_ADC_NO:_%d_STAN 実数 各CsI ADC Standard Deviation
CSI_ADC_XENON_NO:_%d_MEAN 実数 各CsI ADC(Xe event Mean
CSI_ADC_XENON_NO:_%d_PEAK 整数 各CsI ADC(Xe event) Peak
CSI_ADC_XENON_NO:_%d_VARI 実数 各CsI ADC(Xe event) Variance
CSI_ADC_XENON_NO:_%d_STAN 実数 各CsI ADC(Xe event) Standard Deviation
SCIN_ADC_NO:_%d_MEAN 実数 各Scintillator ADC Mean
SCIN_ADC_NO:_%d_PEAK 整数 各Scintillator ADC Peak
SCIN_ADC_NO:_%d_VARI 実数 各Scintillator ADC Variance
SCIN_ADC_NO:_%d_STAN 実数 各Scintillator ADC Standard Deviation
CHERENKOV_NO:_%d_MEAN 実数 各Cherenkov ADC Mean
CHERENKOV_NO:_%d_PEAK 整数 各Cherenkov ADC Peak
CHERENKOV_NO:_%d_VARI 実数 各Cherenkov ADC Variance
CHERENKOV_NO:_%d_STAN 実数 各Cherenkov ADC Standard Deviation



File = konoe/examples/t473/Histogram/urd.html last modified = 3-Dec-2000
KONOEコラボレーション konoe-req@konoe.kek.jp