WiringInfoの編集について#
WiringInfoには、主に二つの役割がある。
イベントとPixelIDの接続情報
ヒストグラム化の情報(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のみ
1import Manyo.Utsusemi as mu
2tt=mu.WiringInfoEditorBase()
3tt.Read( "/path/to/WiringInfo.xml" )
4tt.SetConversionParameter( "tof,0.0,40000.0,20.0" )
5tt.SetDetParam( "PSD" )
6tt.Write( "/path/to/WiringInfo_out.xml" )
01行目:Manyoライブラリ内の空蟬関数を呼び出す準備
02行目:WiringInfoEditorBaseを作成
03行目:
WiringInfo.xml
の読み込み04行目:TOF変換情報を設定
05行目:使用する検出器はPSDのみ
06行目:ファイルに書き出し
UtsusemiWiringInfoEditorNeunetの簡単な使い方#
空蟬環境では、ビームラインごとに、かつRunNoごとにWiringInfoの雛形や、ヒストグラム化するために必要な情報は、特に一時ファイルなどに保存されず、直接関数間でやりとりされる。
空蟬が正しくインストールされていると、これらの情報を利用して、より最適なWiringInfoを自動的に選択されるし、ヒストグラム化する情報はxmlフォーマットで取り出すことが可能である。
1import Manyo.Utsusemi as mu
2tt=mu.UtsusemiWiringInfoEditorNeunet()
3tt.SetRunNo( 1234 )
4tt.SetConversionParameter( "tof,0.0,40000.0,20.0" )
5tt.SetDetParam( "PSD" )
6fname = tt.MakeTempWiringInfo()
7print(fname)