WiringInfoの編集について

WiringInfoには、主に二つの役割がある。

  1. イベントとPixelIDの接続情報

  2. ヒストグラム化の情報(TOF, Energy, Qなど)

イベントとPixelIDの接続情報は、ビームラインの検出器が変更されるなど比較的大きな変更がビームラインに起きない限り、書き換えることは不要である。 一方、ヒストグラム化の情報は測定ごとに変更される可能性がある。

以上のことから、空蟬におけるWiringInfoの扱い方の基本方針は以下のように決めている。

  • 基本となるWiringInfoを雛形とし、

  • ヒストグラム化の情報のみを変更し、

  • 一時ファイルを作成する

この作成された一時ファイルをヒストグラム化のコマンドに与える。

WiringInfoの変更と一時ファイル作成

主に使用するクラスは以下のとおり。

クラス名

対象

WiringInfoEditorBase

基本的な情報:Pixel情報(検出器のOn/Offなど)、TOF変換情報

WiringInfoEditorNeunet

PSD(NEUNET)用情報:上記に加え、PSD固有情報(Pulse Height関連など)

UtsusemiWiringInfoEditorBase

空蟬用基本情報:空蟬環境が前提、WiringInfoEditorBaseと同等

UtsusemiWiringInfoEditorNeunet

空蟬用PSD用情報:空蟬環境が前提、WiringInfoEditorNeunetと同等

WiringInfoEditorの簡単な使い方

まずはもっとも基本的な WiringInfoEditorBase を使用する例を示す。 以下の条件でヒストグラム化するWiringInfoを作成し、 WiringInfo_out.xml に書き出す。

  • すでに雛形となる WiringInfo.xml が作成されている

  • 横軸TOFで0から40000マイクロ秒の範囲で20.0マイクロ秒のTOF bin

  • 使用する検出器はPSDのみ

1
2
3
4
5
6
import Manyo.Utsusemi as mu
tt=mu.WiringInfoEditorBase()
tt.Read( "/path/to/WiringInfo.xml" )
tt.SetConversionParameter( "tof,0.0,40000.0,20.0" )
tt.SetDetParam( "PSD" )
tt.Write( "/path/to/WiringInfo_out.xml" )
  • 01行目:Manyoライブラリ内の空蟬関数を呼び出す準備

  • 02行目:WiringInfoEditorBaseを作成

  • 03行目: WiringInfo.xml の読み込み

  • 04行目:TOF変換情報を設定

  • 05行目:使用する検出器はPSDのみ

  • 06行目:ファイルに書き出し

UtsusemiWiringInfoEditorNeunetの簡単な使い方

空蟬環境では、ビームラインごとに、かつRunNoごとにWiringInfoの雛形や、ヒストグラム化するために必要な情報は、特に一時ファイルなどに保存されず、直接関数間でやりとりされる。

空蟬が正しくインストールされていると、これらの情報を利用して、より最適なWiringInfoを自動的に選択されるし、ヒストグラム化する情報はxmlフォーマットで取り出すことが可能である。

1
2
3
4
5
6
7
import Manyo.Utsusemi as mu
tt=mu.UtsusemiWiringInfoEditorNeunet()
tt.SetRunNo( 1234 )
tt.SetConversionParameter( "tof,0.0,40000.0,20.0" )
tt.SetDetParam( "PSD" )
fname = tt.MakeTempWiringInfo()
print(fname)