空蟬基本Python関数リファレンス

最終更新日

2022.03.18

概要

空蟬基本Python関数とは、空蟬で実装されているデータ処理(イベントデータのヒストグラム化、データコンテナの扱い、共通の補正など)を行うためにPythonで作成された関数群を呼ぶ。一般に各装置で使用される関数、特にSequenceEditorで表示されるファサード関数は、この基本関数からの抜粋したもの、もしくは基本関数を組み合わせたり利用して作成したものとなる。

また、独自のファサード関数を作ったり、スクリプトを自作する場合にも参照できる。

基本関数の使い方

本節で示す関数は基本関数として用意されているものであり、実際にユーザーが直接利用することはないと思われる。しかし新しくファサード関数を作る際にこれらの関数を利用することもあるので、空蟬環境において直接実行する方法を示しておく。

>>> import utsusemi.ana.Reduction.BaseCommands as BC
>>> ec = BC.AverageAll( dat )
など

非弾性散乱装置の場合、いくつか専用の基本関数も存在する。この場合は下記のような導入となる。

>>> import utsusemi.ana.Reduction.BaseCommandsInEla as BC

また、基本関数のうち、それぞれの装置で使用頻度の高いものは、あらかじめファサード Cmm モジュールにも登録されているので、それを使うことも可能である。

>>> import Cmm
>>> ec = Cmm.GetNeunetHist( \373", "hw,45.56,-4.0,40.0,0.2" )
など。

基本関数一覧

共通データ処理

Common Utsusemi python commands to treat data

関数

説明

GetNeunetHist

与えたパラメータでイベントデータを処理しヒストグラムに変換する

NormByKickers

キッカーの個数で強度を規格化する

NormByBeamCurrent

イベントデータをヒストグラム化したElementContainerMatrixに対し、 Proton Currentで規格化する

SolidAngleCorrection

立体角補正を行う

DoMask

与えたマスクファイルを用いてマスク処理を行う

DetectorEffi

検出器効率補正を行う

AverageAll

与えたElementContainerMatrix内の全てのPixelの平均を取り一つのElementContainerに収める

PickUpRegion

ElementContainerMatrixから特定の検出器領域を抜き出す

SumOfPixel

ElementContainerMatrixから指定した検出領域の総和のヒストグラムを返す

SumOfTOF

ElementContainerMatrixから指定した検出器内のPixelに対し、Time-of-Flight方向の和を取り 横軸Pixel-縦軸総和のElementContainerを返す

GetPH

PSDのヒストグラムから検出器の波高値を取り出す

GetBeamCurrentFromECM

ElementContainerMatrixからその測定中のProton Current [TP]の総和を返す

NormByBeam

イベントデータをヒストグラム化したElementContainerMatrixに対し、与えた測定時刻情報から Proton Currentで規格化する

getBeamCurrent

与えた時刻情報からその期間中のProton Current [TP]の総和を返す

共通データファイル入出力処理

Common Utsusemi python commands to save and load data

関数

説明

SaveDataToManyoBinary

与えたElementContainer, -Array, -Matrixのデータを万葉バイナリデータに書き出す

LoadDataFromManyoBinary

万葉バイナリデータファイルからデータを取り出す

OutPutAllPixelToTxt

1ピクセルごとに別のテキストファイルとして書き出す

SaveDataFromNxspe

ElementContainerMatrixをHoraceのフォーマットであるNXSPEファイルとして書き出す。

LoadDataFromNxspe

HoraceのフォーマットであるNXSPEファイルを変換して空蟬で使用できる ElementContainerMatrixに変換して読み込む。

SaveDataToSPE

与えたElementContainerMatrixデータをSPEフォーマットに変換し書き出す

LoadDataFromSPE

SPEフォーマットファイルからデータを変換しElementContainerMatrixとして取り出す

SaveDataToDAVEgrp

与えられたElementContainerMatrixデータをDAVEフォーマットで書き出す

SaveDataToNVASQ

与えたElementContainerMatrixデータをNovaSQ用のフォーマット(NeXus)に変換し書き出す

SaveDataToSrlz

与えたElementContainer, -Array, -MatrixデータをManyoライブラリシリアライズフォーマット に書き出す(機種依存あり)

LoadDataFromSrlz

Manyoライブラリシリアライズフォーマットからデータを取り出す(機種依存あり)

GetDataFromNeXus

NeXusフォーマットファイルからデータを取り出す

SaveDataToNeXus

与えたElementContainerMatrixデータをNeXusフォーマットに書き出す

装置用処理・その他

Common Utsusemi python commands for beamlines works

関数

説明

AppendRawDataFiles

複数のRaw Data(イベントデータ)を結合し、別データとして保存する

CheckDataProcess

データ処理の履歴管理用関数

CopyData

装置において、DAQ PC上のRaw Dataを解析PCへ集約・コピーする

CopyIroha2Params

装置において、IROHA2 PC上のLog, Paramデータを解析PCへ集約・コピーする

MakeRunList

装置において、Run No, 測定時間、温度、ゴニオ角度などの情報をリスト化する

共通データ処理関数

GetNeunetHist

与えたパラメータでイベントデータを処理しヒストグラムに変換する。 イベントデータのヒストグラム化を行うための総合的な関数である。イベントデータをヒストグラム化するために必要な設定(ヒストグラム軸設定、検出器の範囲設定やディスクリ値の変更など)のうち、もっとも初期のころから実装していた機能をまとめて行えるようにした。これまでのいろいろなヒストグラム化にまつわる関数はすべてこれで置き換える方針。これまで個別に設定していたパラメータを設定ごとにまとめて指定(文字列として)することで、トータルのパラメータの個数を減らした。この関数も実際にはもう少し用途に特化した関数に組み込む予定(DR.GetDataOfMonochroEi2のように)なので、ユーザーが直接これを使うことは無いと思われる。

GetNeunetHist( <runNo>, <HistParam>, <DetRange>, <DetParam>, <TimeRange>, <FrameInfo>, <MaskInfo>, <CaseInfo>, <BGInfo>, <TofShift>, <AnaMode>, <ParamFiles>, <Options> )

簡単な使用例

from ana.Reduction.BaseCommands import GetNeunetHist
DAT = GetNeunetHist( "1234", "hw,45.56,-4.0,45.0,0.2", "All" )

推奨される使用例(パラメータ名を具体的に示す)

DAT = GetNeunetHist( runNo="1234-1236", HistParam="hw,45.56,-4.0,45.0,0.2", DetRange="All" )

指定パラメータ

Arguments for GetNeunetHist function

パラメータ

フォーマット

説明

runNo

文字列(下記参照)

ヒストグラム化するRun numberを指定する。

HistParam

文字列(下記参照)

作りたいヒストグラム(軸)の情報

DetRange

文字列(下記参照)

使用する検出器の範囲とPixel数設定

DetParam

文字列(下記参照)

検出器の種類とPulse Height設定

TimeRange

文字列(下記参照)

使用する時間情報

FrameInfo

文字列(下記参照)

使用するフレーム情報

MaskInfo

文字列(下記参照)

検出器に対するマスク処理設定

CaseInfo

文字列(下記参照)

CaseInfoファイルの指定(0.3.6より実装)

BGInfo

文字列(下記参照)

各種バックグラウンドの指定(現状は時間依存性のTOFバックグラウンドのみ)

TofShift

文字列(下記参照)

TOF原点をLambdaに応じてシフトさせる場合に用いる(現状BL11用のみ)

AnaMode

文字列(下記参照)

使用するWiringInfoとDetectorInfoの組み合わせのパターンを指定する

ParamFiles

文字列(下記参照)

WiringInfoとDetectorInfoを個別に与える

Options

文字列(下記参照)

その他の設定

戻り値

ElementContainerMatrix

パラメータのフォーマット

それぞれのパラメータのフォーマットを以下に示す。

runNo

runNoを指定する。単独、カンマ区切り、範囲(ハイフンかコロンで繋ぐ)で指定できる。単独列挙と範囲指定はカンマ区切りで混在できる。

Available formats for runNo argument of GetNeunetHist function

フォーマット

方法

<runNo>

単独指定

1234

<runNo1>,<runNo2>,…

個別に列挙指定

1001,1512,1330

<runNo1>:<runNo2>,…

コロンもしくは

ハイフンで範囲指定

1000:1020,1500:1330

<runNo1>-<runNo2>,…

1000-1020,1512-1330

HistParam
Available formats for HistParam argument of GetNeunetHist function

フォーマット

ヒストグラムの横軸

tof, <min>, <max>, <delta>

TOF(Δt 一定)

tof, 0, 40000, 100

rtof, <min>, <max>, <delta>

TOF(Δt/t 一定)

tof, 100, 40000, 0.5

tf-tof, <min>, <max>, <delta>

TOF(Δt 一定 with Time focusing)

tf-tof, 0, 40000, 10

tf-rtof, <min>, <max>, <racio>

TOF(Δt/t 一定 with Time focusing)

tf-rtof, 100, 40000, 0.5

lambda, <min>, <max>, <delta>

波長(Δλ 一定)

lambda, 0.7, 7.4, 0.1

rlambda, <min>, <max>, <racio>

波長(Δλ/λ 一定)

rlambda, 0.7, 7.4, 0.05

energy, <min>, <max>, <delta>

エネルギー

energy, 1.0, 100.0, 0.5

q, <min>, <max>, <delta>

運動量遷移

q, 0.1, 5.0, 0.05

hw, <Ei>, <min>, <max>, <delta>

エネルギー遷移

hw, 45.56, -4.0, 45.0, 0.2

d, <min>, <max>, <delta>

d値

d, 0.1, 5.0, 0.1

DetRange
Available formats for DetRange argument of GetNeunetHist function

フォーマット

意味

All

全部の検出器をデフォルトで用いる

All

All:<num>

1本あたりのPixel数を<num>に変更し、全部の検出器を用いる。 セパレータにコロンを使用。

All:500

<first-Id> - <last-Id>

<first-Id>から<last-Id>までの検出器を用いる。 ハイフンをしきりとする。

32-64

<first-Id> - <last-Id>:<num>

<first-Id>から<last-Id>までの検出器を、Pixel数<num>で用いる。 ハイフンとコロンをしきりとする。

32-64:240

<first-Id> - <last-Id>,

<first-Id> - <last-Id>,

複数の検出器領域を一度に指定する。カンマ区切り。

32-64,102-148

<first-Id> - <last-Id>:<num>,

<first-Id> - <last-Id>:<num>,

複数の検出器領域をPixel数とともに指定する。カンマ区切り。

32-64:500,102-148:250

DetParam
Available formats for DetParam argument of GetNeunetHist function

フォーマット

意味

<DetType>

<DetType>で指定した検出器のヒストグラム化を行う。 現状、以下の二つだけ指定できる。

PSD : PSD

MON : N2 monitor

PSD

psd

<DetType>[<LLD>:<HLD>]

上記に加え、Pulse Heightの指定を行う。<LLD>のみ書くことも可能。

PSD[550:4096]

<DetType>-PH

<DetType>で指定した検出器のヒストグラム化を行うが、 同時にPulse Heightの情報も作成する。

これは実際にヒストグラム化されたイベントのPulse Heightを収集する。

PSD-PH

psd-ph

<DetType>-PH[<LLD>:<HLD>]

上記に加え、Pulse Heightの指定を行う。<LLD>のみ書くことも可能。

PSD-PH[550:4096]

TimeRange
Available formats for TimeRange argument of GetNeunetHist function

フォーマット

意味

All

全時間を使用する

All

<startTime>,<endTime>

<startTime>から<endTime>までの時間を切り出して使用する。 単位は秒。カンマ区切り。

3600, 7200

<startTime>,<endTime>

<startTime>から<endTime>までの時刻を切り出して使用する。 時刻のフォーマットは下記。カンマ区切り。(未実装)

YYYY/MM/DD hh:mm:ss

2014/01/01 10:00:00, 2014/01/02 12:00:00

FrameInfo
Available formats for FrameInfo argument of GetNeunetHist function

フォーマット

意味

None

指定なし

None

<frame_No>,<boundary>

<frame_No>番目のフレームを,<boundary>のTOFを境目として利用(非推奨)

2, 9000

<unit>,<boundary>

<unit>:<boundary>

単位 <unit> で指定された値 <boundary> を境目として利用する

(<unit>: tof [micro-sec], lambda [1/A], energy [meV], ei [meV] )

( version 0.3.6 以降) セパレータはカンマかコロン

tof, 9000

energy:50.0

MaskInfo
Available formats for MaskInfo argument of GetNeunetHist function

フォーマット

意味

NoFile (Noneでも良い)

マスクファイルを使用せず、かつTOF方向のマスクも使用しない時。

NoFile , None

NoFile,<tof1>-<tof2>

マスクファイルは使用しないが、TOF方向のマスクを使用する場合に用いる。 範囲をハイフンでつなぐ。複数のマスク領域がある場合は、カンマでつなぐ。

None,0.0-1500.0

<Path/to/MaskFile>

<Path/to/MaskFIle>が完全なパス指定であれば、そのファイルを使用する。 ファイル名だけであれば、検索ファイルパス(後述)にしたがって探す。 最新のmask.xmlも以前のmask.txtも使用可能。

mask.xml ,mask.txt

<MaskFile>,<tof1>-<tof2>

マスクファイルを指定し、かつTOF方向のマスクを使用する場合に用いる。

mask.xml,0.0-100.0,200.0-1000.0

検索ファイルパス

  1. コマンドを実行しているディレクトリ(カレントディレクトリ)

  2. ${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )

  3. ${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )

CaseInfo
Available formats for CaseInfo argument of GetNeunetHist function

フォーマット

意味

None

指定なし

<Path/to/CaseInfoFile>

<Path/to/CaseInfoFIle>が完全なパス指定であれば、そのファイルを使用する。 ファイル名だけであれば、検索ファイルパスに従って探す。

CaseInfo.xml

検索ファイルパス

  1. コマンドを実行しているディレクトリ(カレントディレクトリ)

  2. ${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )

  3. ${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )

BGInfo
Available formats for BGInfo argument of GetNeunetHist function

フォーマット

意味

TIMEDEP:None

指定なし

TIMEDEP:<tof1>-<tof2>

<tof1>-<tof2>で指定したTOF領域を時間依存性のあるバックグランドとみなし 全Pixelの全TOF領域から差し引く補正を行う。

TIMEDEP:35000-39999

TofShift
Available formats for TofShift argument of GetNeunetHist function

フォーマット

意味

None

TOF 原点シフトを行わない場合。

None

<ptnId> [,A1,A2,A3,A4,A5]

TOF原点シフトを行う場合に用いる。TOFの原点シフトは波長依存の式で表されている。

ptnId = 0 : 使用しない(Noneと同じ)

ptnId = 1A1/(exp(-A2*(lambda-A3))+A4)+(A5*lamda) [BL11 only]

(Default A1=5.0, A2=8.464, A3=2.08765, A4=1.23477, A5=5.32657)

ptnId > 1 : 現状モデルなし

1,5.0,8.464,2.0,1.3.5.4

AnaMode

AnaModeは、ヒストグラム化の時に使用するWiringInfoとDetectorInfoのひな形をペアとして、簡単にひな形を変更するのに使用する。このひな形のペアは、${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml/environ_ana.xmlに記載してある必要がある。

また、environ_ana.xmlの情報を上書きする形で直接パラメータファイル(WiringInfoやDetectorInfo)を指定することもできる。( 0.3.6より使用可能)

Available formats for AnaMode argument of GetNeunetHist function

フォーマット

意味

<mode>

モードの番号

0

<mode>,-,-

<mode>,<WiringInfo>,<DetectorInfo>

<mode>によるenviron_ana.xmlの情報に上書きする形で 直接パラメータファイルを指定する。 ファイル名が-(ハイフン)の時はenviron_ana.xmlと<mode>で 決定される決まるファイルを利用する。 どちらかだけがハイフンでも良い。

完全なパス名であればそれを利用する。 ファイル名のみなら、検索ファイルパス(後述)に従い探索する。

0,-,-

0,WiringInfo.xml,-

0,WiringInfo,DetectorInfo.xml

検索ファイルパス

  1. コマンドを実行しているディレクトリ(カレントディレクトリ)

  2. ${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )

  3. ${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )

Options

0.3.6より使用可能。主に上記以外のオプションを設定できる。オプションの与え方は、 <KEY>:<VALUE> で与え、それらをカンマ区切りで並べることが可能である。なお与えるパラメータは大文字小文字を区別しない(例: ADDTOFBIN:TRUEは、AddTofBin:Trueでも良い)

Available formats for Options argument of GetNeunetHist function

フォーマット

意味

None

指定なし

None

ISCHECKPULSEID:<bool>

イベントデータファイル間のそれぞれのPulseIdに整合性があることを チェックするかどうかを指定する。<bool>はTrue(デフォルト) かFalse。

ISCHECKPULSEID:False

L1:<float>

L1(モデレータから試料位置までの距離)を[mm]で与える。デフォルト値は DetectorInfoに記述されている値であるが、この値を変更したいときに使用。

L1:18035.0

SX:<float>

試料の位置が装置座標系の原点にないときに設定する。試料の位置を座標ごとに 与える。試料位置のデフォルトは(0.0,0.0,0.0)であるが、例えばZ方向に上流に 5.0 mm ずれているのなら、”SZ:-5.0” だけを指定すれば良い。 (注:試料の座標を指定してもL1の値は変わらないので、必要に応じてL1も変更 すること)

SX:1.0, SZ:-5.0

SY:<float>

SZ:<float>

ADDTOFBIN:<bool>

TOF以外(hwなど)でのヒストグラム化の時にTOF情報もPixelごとのデータ (ElementContainer)に含めるかどうかを指定する。 <bool>はTrue(デフォルト) かFalse。(0.3.6_r1143以降)

AddTofBin:False

例:

DAT = GetNeunetHist( runNo="1234", HistParam="hw,45.56,-4.0,45.0,0.2", Options="L1:18020.0,SZ:-5.0" )

具体的な使用例

  1. run numberが123のデータを、Ei=50.0 meV, hw= -5.0から48 meVまで0.1刻みでヒストグラム化したい場合

    from ana.Reduction.BaseCommands import GetNeunetHist
    DAT=GetNeunetHist("123","hw,50.0,-5.0,48.0,0.1")
    
  2. 1.の条件で、測定開始から10分(600秒)までのイベントデータのヒストグラム化を行いたい場合

    DAT=GetNeunetHist("123","hw,50.0,-5.,48.,0.1", "All","0,600")
    
    or
    
    DAT=GetNeunetHist("123","hw,50.0,-5.0,48.0,0.1", TimeRange="0,600" )
    

    パラメータは省略可能(デフォルト値が使用される)だが、それ以降のパラメータを個別に指定するには必ず「パラメータ名=値」という書き方をする必要がある。(Pythonのお作法)

  3. 1.の条件で、pulse heightの領域を 1200〜4096にしたい場合

    DAT=GetNeunetHist("1000","hw,50.0,-5.0,48.0,0.1", DetParam="psd,1200,4096" )
    
  4. run numberが234のデータで、横軸がd値(範囲0.5〜5.0,幅0.01)のヒストグラム化を行いたい場合

    DAT=GetNeunetHist("234","d,0.5,5.0,0.01")
    
  5. run numberが234のデータで、横軸がd値(範囲0.5〜5.0,幅0.01)のヒストグラム化の時のPulse Heightを確認したい場合

    from ana.Reduction.BaseCommands import GetNeunetHist, GetPH
    DAT=GetNeunetHist("234","d,0.5,5.0,0.01", DetParam="psd-ph")
    ECS = GetPH( DAT )
    

    —> 可視化ソフトウェアのM2Plotで確認可能

NormByKickers

イベントデータをヒストグラム化したElementContainerMatrixに対し、中性子発生回数(キッカー数)で規格化する。 キッカー数は、ヒストグラム化処理によりElementContainerMatrixのヘッダに含まれている。

NormBy Kickers(dat,factor=1.0 )

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

factor

実数

キッカー数による規格化の値をfactorで割る。 キッカー数の値は大抵データの強度に対し大きすぎることが多く、 このfactorで規格化の値を割り、その値で強度を割る。割り戻しの値。 なお、負の値を入力すると、キッカー数の値の代わりに入力値の絶対値で強度の 割り算(規格化)を行う。つまり負号をつけることで任意の数値で規格化できる。

NormByBeamCurrent

イベントデータをヒストグラム化したElementContainerMatrixに対しProton Currentで規格化する。

NormByBeamCurrent(dat,factor=1000.0,offset_sec=0.0,isCT8Neutron=False )

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

factor

実数

Proton Currentによる規格化の値をfactorで割る。 Proton Currentの値は大抵データの強度に対し大きすぎるので、 このfactorで規格化の値を割り、その値で強度を割る。割り戻しの値。 なお、負の値を入力すると、Proton Currentの値は用いず、入力値の絶対値で強度の 割り算(規格化)を行う。

offset_sec

実数

Proton Currentを計算するための測定時間はヒストグラムデータのヘッダ情報を 用いるが、それがずれていた場合にそのオフセット時間を[秒]で補正する。 データの測定時間にオフセット時間を加えたものを真の時刻とする。通常は、0.0。

isCT8Neutron

bool (True or False)

使用するProton Monitorのうち、ミュオンターゲットの影響を考慮した モード(CT8Neutron)を利用するときにTrueとする。

戻り値

無し

(与えられたElementContainerMatrixの中身が置きかわる)

SolidAngleCorrection

立体角補正を行う。

SolidAngleCorrection(dat,dS=-1.0)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

dS

実数

各Pixelの立体角をこの値で規格化する。-1.0の時はその装置のデフォルト値。

戻り値

無し

(与えられたElementContainerMatrixの中身が置きかわる)

DoMask

与えたマスクファイルを用いてマスク処理を行う。マスクファイルのフォーマットなど詳細は、別の章で行う( 「空蟬で使用するマスク処理について」 )。

DoMask(dat,filename=”mask.txt”)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

filename

文字列 (yyy.txt/xxx.xml)

マスクファイル名。完全なパス+ファイル名であればそれを利用する。 ファイル名のみなら、検索ファイルパス(後述)に従い探索する。 フォーマットの詳細は「空蟬で使用するマスク処理について」を参照のこと。

戻り値

無し

(与えられたElementContainerMatrixの中身が置きかわる)

検索ファイルパス

  1. コマンドを実行しているディレクトリ(カレントディレクトリ)

  2. ${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )

  3. ${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )

DetectorEffi

検出器補正を行う。検出器の構成情報はDetectorInfo.xmlに記述するものを使うので、それを引数で指定する必要がある。将来的には融合する。

DetectorEffi(dat, detInfo_file=”DetectorInfo_Det.xml”, det_name=”SUS304-3He-PSD”)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

detInfo_file

文字列

検出器の構成情報のあるDetectorInfoファイルを指定する。

det_name

文字列

検出器の構成情報から補正に用いる検出器の定義名を指定する。

戻り値

無し

(与えられたElementContainerMatrixの中身が置きかわる)

AverageAll

与えたElementContainerMatrix内の全てのPixelの平均を取り一つのElementContainerに収める。

AverageAll( dat, maskfile="None" )

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

maskfile

文字列 (yyy.txt/xxx.xml)

マスクファイル名。内部でDoMask関数を実行する。 使用しない時は None を与える。 詳細は「DoMask」関数リファレンスを参照のこと。

戻り値

ElementContainer

PickUpRegion

ElementContainerMatrixから特定の検出器領域を抜き出す。

PickUpRegion(Target, PSD_min=1, PSD_max=1, Pixel_min=1, Pixel_max=1)

パラメータ

フォーマット

説明

Target

ElementContainerMatrix

与えるElementContainerMatrix

PSD_min

整数

検出器範囲の最小値(DetId)。

PSD_max

整数

検出器範囲の最大値(DetId)。

Pixel_min

整数

検出器範囲のPixel最小値(PixelNo)。

Pixel_max

整数

検出器範囲のPixel最大値(PixelNo)。

戻り値

ElementContainerMatrix

ElementContainerMatrix

SumOfPixel

ElementContainerMatrixから指定した検出領域の総和のヒストグラムを返す。

SumOfPixel(Target, PSD_min=1, PSD_max=1, Pixel_min=1, Pixel_max=1)

パラメータ

フォーマット

説明

Target

ElementContainerMatrix

与えるElementContainerMatrix

PSD_min

整数

検出器範囲の最小値(DetId)。

PSD_max

整数

検出器範囲の最大値(DetId)。

Pixel_min

整数

検出器範囲のPixel最小値(PixelNo)。

Pixel_max

整数

検出器範囲のPixel最大値(PixelNo)。

戻り値

ElementContainer

ElementContainer

SumOfTOF

ElementContainerMatrixから指定した検出器内のPixelに対し、Time-of-Flight方向の和を取り、横軸Pixel-縦軸総和のElementContainerを返す。

SumOfTOF(Target, PSD=1, tof_min=0, tof_max=40000)

パラメータ

フォーマット

説明

Target

ElementContainerMatrix

与えるElementContainerMatrix

PSD

整数

対象となる検出器(DetId)。

tof_min

実数

積算するTOF領域の最小値(PixelNo)。

tof_max

実数

積算するTOF領域の最大値(PixelNo)。

戻り値

ElementContainer

ElementContainer

GetPH

PSDのヒストグラムから検出器の波高値を取り出す。

GetPH(dat, binSize=1)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix (PulseHeightの解析も行う設定でヒストグラム化)

binSize

整数

波高値の横軸のbin幅を指定する。

戻り値

ElementContainerArray

それぞれの検出器(PSD)の波高分布が個別のElementContainerに格納されている。

戻り値はそのままM2Plotで表示できる。

GetBeamCurrentFromECM

ElementContainerMatrixからその測定中のProton Current [TP]の総和を返す。

GetBeamCurrentFromECM(dat,offset_sec=0.0,isCT8Neutron=False)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

offset_sec

実数

Proton Currentを計算するための測定時間はヒストグラムデータのヘッダ情報を 用いるが、それがずれていた場合にそのオフセット時間を[秒]で補正する。 通常は、0.0。データの測定時間にオフセット時間を加えたものを真の時刻とする。

isCT8Neutron

bool (True or False)

使用するProton Monitorのうち、ミュオンターゲットの影響を考慮した モード(CT8Neutron)を利用するときにTrueとする。

戻り値

実数

ProtonCurrentの総数。

NormByBeam

イベントデータをヒストグラム化したElementContainerMatrixに対し、与えた測定時刻情報からProton Currentで規格化する。

NormByBeam(dat,start_day=”2009/5/30”, start_time=”10:00:00”, end_day=”2009/5/30”, end_time=”11:00:00”, factor=1.0, offset_sec=0.0, isCT8Neutron=False )

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

start_day

文字列

測定開始日。フォーマットは YYYY/MM/DD。

start_time

文字列

測定開始時刻。フォーマットは hh:mm:ss。

end_day

文字列

測定終了日。フォーマットは YYYY/MM/DD。

end_time

文字列

測定終了時刻。フォーマットは hh:mm:ss。

factor

実数

Proton Currentによる規格化の値をfactorで割る。 Proton Currentの値は大抵データの強度に対し大きすぎるので、 このfactorで規格化の値を割り、その値で強度を割る。割り戻しの値。 なお、負の値を入力すると、Proton Currentの値は用いず、入力値の絶対値で強度の 割り算(規格化)を行う。

offset_sec

実数

Proton Currentを計算するための測定時間はヒストグラムデータのヘッダ情報を 用いるが、それがずれていた場合にそのオフセット時間を[秒]で補正する。 データの測定時間にオフセット時間を加えたものを真の時刻とする。通常は、0.0。

isCT8Neutron

bool (True or False)

使用するProton Monitorのうち、ミュオンターゲットの影響を考慮した モード(CT8Neutron)を利用するときにTrueとする。

戻り値

無し

(与えられたElementContainerMatrixの中身が置きかわる)

getBeamCurrent

与えた時刻情報からその期間中のProton Current [TP]の総和を返す。

getBeamCurrent(start_day=”2009/5/30”, start_time=”10:00:00”, end_day=”2009/5/30”, end_time=”11:00:00”, offset_sec=0.0, isCT8Neutron=False )

パラメータ

フォーマット

説明

start_day

文字列

測定開始日。フォーマットは YYYY/MM/DD 。

start_time

文字列

測定開始時刻。フォーマットは hh:mm:ss 。

end_day

文字列

測定終了日。フォーマットは YYYY/MM/DD 。

end_time

文字列

測定終了時刻。フォーマットは hh:mm:ss 。

offset_sec

実数

Proton Currentを計算するための測定時間はヒストグラムデータのヘッダ情報を 用いるが、それがずれていた場合にそのオフセット時間を[秒]で補正する。 データの測定時間にオフセット時間を加えたものを真の時刻とする。通常は、0.0。

isCT8Neutron

bool (True or False)

使用するProton Monitorのうち、ミュオンターゲットの影響を考慮した モード(CT8Neutron)を利用するときにTrueとする。

戻り値

実数値

プロトン数を返す。 [TP(テラプロトン)]

使用頻度の低いもの

CalcPhi

ヒストグラム化された全Pixelのデータの位置情報からそれぞれのPixelのPolar角とAzimath角を計算し収める。ただし、全てのヒストグラム化関数である GetNeunetHist内部で既に処理されるので、使用機会はない。

CalcPhi(dat)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

戻り値

無し

(与えられたElementContainerMatrixの中身に追記)

GetHistDQconstNeunetPsd

中性子イベントデータをdQ constantのヒストグラムに変換する。

GetHistDQconstNeunetPsd( runNo=0,Qrange=”0.1 10.0”,deltaQ=0.1,detRange=”-1 -1”,NumOfPixel=Def_NumOfPixel,timeRange=”-1 -1”,frameBoundary=0.0, inVect=”0.0 0.0 1.0” )

パラメータ

フォーマット

説明

runNo

整数

与えるElementContainerMatrix

QRange

文字列

ヒストグラム上のQの範囲。Qの最小値と最大値をスペース区切りで表記。 ( <Qmin> <Qmax> )

deltaQ

実数

Qのbin幅。

detRange

文字列

検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記。

NumOfPixel

整数

1検出器(PSD)あたりのPixel数。

timeRange

文字列

時間スライスの指定。時間の範囲(最小値と最大値)をスペース区切りで表記。 単位は測定開始時刻からの秒数。

frameBoundary

実数

セカンドフレーム使用時の境界となるTOF値。

inVect

文字列

入射中性子の入射ベクトル。ベクトルをVx Vy Vzの成分(大きさは適当)で表記。 単位はmm。スペース区切りで表記。

戻り値

ElementContainerMatrix

ElementContainerMatrix。

GetHistDTconstGatenetMon

中性子モニターのイベントデータをdT constantのヒストグラムに変換する。

GetHistDTconstGatenetMon( runNo=0,tofRange=”0.0 40000.0”,binTOF=10.0,detRange=”-1 -1”,NumOfPixel=4,timeRange=”-1 -1”,frameBoundary=0.0 )

パラメータ

フォーマット

説明

runNo

整数

与えるElementContainerMatrix

tofRange

文字列

ヒストグラム上のTOFの範囲。TOFの範囲(最小値と最大値)スペース区切りで表記。 ( <TOFmin> <TOFmax> )

binTOF

実数

TOF方向のbin幅。

detRange

文字列

検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記。

NumOfPixel

整数

1検出器(PSD)あたりのPixel数。

timeRange

文字列

時間スライスの指定。時間の範囲(最小値と最大値)をスペース区切りで表記。 単位は測定開始時刻からの秒数。

frameBoundary

実数

セカンドフレーム使用時の境界となるTOF値。

戻り値

ElementContainerMatrix

ElementContainerMatrix。

GetHistDTconstNeunetPsd

中性子イベントデータをdT constantのヒストグラムに変換する。

GetHistDTconstNeunetPsd( runNo=0,isTimeFoc=True,tofRange=”0.0 40000.0”,binTOF=10.0,detRange=”-1 -1”,NumOfPixel=Def_NumOfPixel,timeRange=”-1 -1”,frameBoundary=0.0 )

パラメータ

フォーマット

説明

runNo

整数

与えるElementContainerMatrix

isTimeFoc

bool (True or False)

ヒストグラム化時に、Time Focusingを行うかどうか。

tofRange

文字列

ヒストグラム上のTOFの範囲。TOFの範囲(最小値と最大値)スペース区切りで表記。 ( <TOFmin> <TOFmax> )

binTOF

実数

TOF方向のbin幅。

detRange

文字列

検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記。

NumOfPixel

整数

1検出器(PSD)あたりのPixel数。

timeRange

文字列

時間スライスの指定。時間の範囲(最小値と最大値)をスペース区切りで表記。 単位は測定開始時刻からの秒数。

frameBoundary

実数

セカンドフレーム使用時の境界となるTOF値。

戻り値

ElementContainerMatrix

ElementContainerMatrix。

GetHistToDTconstGatenetMon

中性子モニターのイベントデータをdT/T constantのヒストグラムに変換する。

GetHistToDTconstGatenetMon( runNo=0,tofRange=”0.0 40000.0”,racio=0.01,detRange=”-1 -1”,NumOfPixel=4,timeRange=”-1 -1”,frameBoundary=0.0 )

パラメータ

フォーマット

説明

runNo

整数

与えるElementContainerMatrix

tofRange

文字列

ヒストグラム上のTOFの範囲。TOFの範囲(最小値と最大値)スペース区切りで表記。 ( <TOFmin> <TOFmax> )

retio

実数

deltaT/T Constの値を指定する。

detRange

文字列

検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記。

NumOfPixel

整数

1検出器(PSD)あたりのPixel数。

timeRange

文字列

時間スライスの指定。時間の範囲(最小値と最大値)をスペース区切りで表記。 単位は測定開始時刻からの秒数。

frameBoundary

実数

セカンドフレーム使用時の境界となるTOF値。

戻り値

ElementContainerMatrix

ElementContainerMatrix。

GetHistToDTconstNeunetPsd

中性子イベントデータをdT/T constantのヒストグラムに変換する。

GetHistToDTconstNeunetPsd( runNo=0,isTimeFoc=True,tofRange=”0.0 40000.0”,racio=0.01,detRange=”-1 -1”,NumOfPixel=Def_NumOfPixel,timeRange=”-1 -1”,frameBoundary=0.0 )

パラメータ

フォーマット

説明

runNo

整数

与えるElementContainerMatrix

isTimeFoc

bool (True or False)

ヒストグラム化時に、Time Focusingを行うかどうか。

tofRange

文字列

ヒストグラム上のTOFの範囲。TOFの範囲(最小値と最大値)スペース区切りで表記。 ( <TOFmin> <TOFmax> )

retio

実数

deltaT/T Constの値を指定する。

detRange

文字列

検出器の範囲。DetIDの範囲(最小値と最大値)をスペース区切りで表記。

NumOfPixel

整数

1検出器(PSD)あたりのPixel数。

timeRange

文字列

時間スライスの指定。時間の範囲(最小値と最大値)をスペース区切りで表記。 単位は測定開始時刻からの秒数。

frameBoundary

実数

セカンドフレーム使用時の境界となるTOF値。

戻り値

ElementContainerMatrix

ElementContainerMatrix。

共通データファイル入出力処理

SaveDataToManyoBinary

万葉ライブラリのデータコンテナを万葉ライブラリ標準のバイナリファイルとして書き出す。なお、与えるデータのフォーマットは ElementContainer , ElementContainerArray , ElementContainerMatrix のいずれでも良い。またファイル名のデフォルトの拡張子は .mdb である。

SaveDataToManyoBinary(dat, path=”./”,filename=”Sample.mdb”)

パラメータ

フォーマット

説明

dat

ElementContainer, ELementContainerArray, ElementContainerMatrix

与えるElementContainer, -Array, -Matrix

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子に.mdbをつけること。

戻り値

無し

LoadDataFromManyoBinary

万葉ライブラリ標準のバイナリファイルとして書き出されたデータコンテナを読み込む。ファイル名のデフォルトの拡張子は .mdb である。

LoadDataFromManyoBinary(path=”./”,filename=”Sample.mdb”)

パラメータ

フォーマット

説明

path

文字列

mdbファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるmdbファイルの名前。

戻り値

ElementContainer, ELementContainerArray, ElementContainerMatrix

ElementContainer, ElementContainerArray, ElementContainerMatrix (Dumpファイルに含まれているデータに依存する。)

OutPutAllPixelToTxt

与えたElementContainerMatrix内の全データをテキストファイルに書き出す。それぞれのPixelは

runNNNNNN_DDD_PPP.txt NNNNNNは、Run Number, DDDはElementContainerMatrix内のElementContainerArrayの順番、PPPはElementContainerArray内のElementContainerの順番。 例としては、 run123456_123_456.txt となる

OutPutAllPixelToTxt(dat, filepath=””)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

filepath

文字列

保存先のフォルダへの絶対パス。

戻り値

無し

SaveDataToNxspe

非弾性散乱処理を行なったデータコンテナ(ElementContainerMatrix)をHoraceのフォーマットであるNXSPEファイルとして書き出す。

SaveDataToNxspe(dat, path=”./”,filename=”Sample”,params=”PSI:0.0,TEMP:300.0,USER:mlfuser”)

パラメータ

フォーマット

説明

dat

ElementContainer, ELementContainerArray, ElementContainerMatrix

与えるElementContainer, -Array, -Matrix

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。拡張子はなくて良い(何であっても自動的にnxspeとなる)。

params

文字列(String)

NXSPEファイルに追加する情報 PSI:0.0,TEMP:300.0,USER:mlfuser

戻り値

無し

LoadDataFromNxspe

HoraceのフォーマットであるNXSPEファイルを変換して空蟬で使用できるElementContainerMatrixに変換して読み込む。

LoadDataFromNxspe(path=”./”,filename=”Sample.nxspe”, num_of_pixels=100 )

パラメータ

フォーマット

説明

path

文字列

NXSPEファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるNXSPEファイルの名前。

num_of_pixels.

整数(int)

Pixelのグループ化を内部で行うのに必要なPixel数

戻り値

ElementContainer, ELementContainerArray, ElementContainerMatrix

ElementContainer, ElementContainerArray, ElementContainerMatrix (Dumpファイルに含まれているデータに依存する。)

SaveDataToSPE

与えたElementContainerMatrixデータをSPEフォーマットに変換し書き出す。通常、SPEファイルは、yyyyy.SPEとyyyyy.PHXという二つのファイルによって構成されている。この関数では、両方のファイルの共通部分であるyyyyy部分を与えることで、両方のファイルを書き出す。

SaveDataToSPE(dat, path=”./”,filename=”Sample”):

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子はつけない。

戻り値

無し

LoadDataFromSPE

SPEフォーマットファイルからデータを変換しElementContainerMatrixとして取り出す。通常、SPEファイルは、yyyyy.SPEとyyyyy.PHXという二つのファイルによって構成されている。この関数では、両方のファイルの共通部分であるyyyyy部分を与えることで、両方のファイルを読み込む。

LoadDataFromSPE(path=”./”,spefile=”Sample.spe”, Ei=100.0, num_of_pixels=100, runNo=”XXX000001”)

パラメータ

フォーマット

説明

path

文字列

SPEファイル、及びPHXファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるSPEファイル名とPHXファイル名の拡張子を省いた部分。

戻り値

ElementContainerMatrix

ElementContainerMatrix。このファイルは空蟬のデータに変換済みであるので、 空蟬の可視化ソフトウェアなどで利用できる。

SaveDataToDAVEgrp

与えられたELementContainerMatrixデータをDAVE用のフォーマットに変換して書き出す。

SaveDataToDAVEgrp(dat=DAT,path=”./”,filename=”Sample.grp”,startQ=1.0,endQ=1.0,frcQ=1,binE=0.0)

パラメータ

フォーマット

説明

dat

ElementContainer,

与えるElementContainer

filename

文字列

保存ファイル名。命名ルールとして拡張子に.grpをつけること。

startQ

実数

Qの最小値

endQ

実数

Qの最大値

frcQ

整数

分割数

binE

実数

エネルギー方向のリビニング幅(0.0ならオリジナルのまま)

戻り値

無し

SaveDataToNVASQ

与えたElementContainerMatrixデータをNovaSQ用のフォーマット(NeXus)に変換し書き出す。

SaveDataToNVASQ(dat, path=”./”,filename=”Sample.nx”,L1=25000.0,px=15000.0,py=0.0,pz=0.0)

パラメータ

フォーマット

説明

dat

ElementContainer,

与えるElementContainer

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子に.nxをつけること。

L1

実数

L1 [mm]

px

実数

Pixel位置のx座標 [mm]

py

実数

Pixel位置のy座標 [mm]

pz

実数

Pixel位置のz座標 [mm]

戻り値

無し

SaveDataToSrlz

与えたElementContainer, -Array, -MatrixデータをManyoライブラリシリアライズフォーマットに書き出す。このフォーマットは非常に高速に読み書きができるが、そのPCの環境に依存するので、他のPC(同じOSでも)で作成されたファイルを読み込むことはできない。

SaveDataToSrlz(dat, path=”./”,filename=”Sample.srlz”)

パラメータ

フォーマット

説明

dat

ElementContainer, ELementContainerArray, ElementContainerMatrix

与えるElementContainer, -Array, -Matrix

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子に.dmpをつけること。

戻り値

無し

LoadDataFromSrlz

Manyoライブラリシリアライズフォーマットからデータを取り出す。このフォーマットは非常に高速に読み書きができるが、そのPCの環境に依存するので、他のPC(同じOSでも)で作成されたファイルを読み込むことはできない。

LoadDataFromSrlz(path=”./”,filename=”Sample.srlz”,DataType=”ECM”)

パラメータ

フォーマット

説明

path

文字列

シリアライズフォーマットファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるシリアライズフォーマットファイルの名前。

戻り値

ElementContainer, ELementContainerArray, ElementContainerMatrix

ElementContainer, ElementContainerArray, ElementContainerMatrix (シリアライズフォーマットファイルに含まれているデータに依存する。)

SaveDataToNeXus

与えたElementContainerMatrixデータをNeXusフォーマットに書き出す。

SaveDataToNeXus(dat, name=”Data”,path=”./”,filename=”Sample.nx”)

パラメータ

フォーマット

説明

dat

ElementContainerMatrix

与えるElementContainerMatrix

name

文字列

NeXusフォーマット内の所有者の名前。

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子に.nxをつけること。

戻り値

無し

GetDataFromNeXus

NeXusフォーマットファイルからデータを取り出す。

GetDataFromNeXus(path=”./”,filename=”Sample.nx”)

パラメータ

フォーマット

説明

path

文字列

NeXusファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるNeXusファイルの名前。

戻り値

ElementContainer, ELementContainerArray, ElementContainerMatrix

ElementContainer, ElementContainerArray, ElementContainerMatrix (NeXusファイルに含まれているデータに依存する。)

使用頻度の低いもの

LoadDataFromDump

Dumpフォーマットファイルからデータを取り出す。

LoadDataFromDump(path=”./”,filename=”Sample.dmp”)

パラメータ

フォーマット

説明

path

文字列

Dumpファイルの入っているフォルダへの絶対パス。

filename

文字列

対象となるDumpファイルの名前。

戻り値

ElementContainer, ELementContainerArray, ElementContainerMatrix

ElementContainer, ElementContainerArray, ElementContainerMatrix (Dumpファイルに含まれているデータに依存する。)

SaveDataToDump

与えたElementContainer, -Array, -MatrixのデータをDumpフォーマットに書き出す。

SaveDataToDump(dat, path=”./”,filename=”Sample.dmp”)

パラメータ

フォーマット

説明

dat

ElementContainer, ELementContainerArray, ElementContainerMatrix

与えるElementContainer, -Array, -Matrix

path

文字列

保存先のフォルダへの絶対パス。

filename

文字列

保存ファイル名。命名ルールとして拡張子に.dmpをつけること。

戻り値

無し

装置用処理・その他

AppendRawDataFiles

複数のRaw Data(イベントデータ)を結合し、別データとして保存する。

AppendRawDataFiles(OutRunNo=990000,outDataPath=”-“,RunNo1=0,RunNo2=0,RunNo3=0,RunNo4=0,RunNo5=0,RunNo6=0)

パラメータ

フォーマット

説明

OutRunNo

整数

保存するデータのRunNo。このRunNoを名前に含んだフォルダを作成する。

outDataPath

文字列

出力先フォルダ。この中にOutRunNoの名前を含んだデータフォルダが保存される。

RunNo1

整数

結合するRunNo #1

RunNo2

整数

結合するRunNo #2

RunNo3

整数

結合するRunNo #3

RunNo4

整数

結合するRunNo #4

RunNo5

整数

結合するRunNo #5

RunNo6

整数

結合するRunNo #6

戻り値

無し

CheckDataProcess

データ処理の履歴管理用関数。

CopyData

装置において、DAQ PC上のRaw Dataを解析PCへ集約・コピーする。各DAQ CPU上にあるデータを/data/XXX以下へ持ってくるための関数を実行する。測定中のデータおよび測定後のデータは、各DAQ CPUに分散して保存されているため、これらを解析するためには1ヶ所に集める必要がある。そのための関数である。(DR.CopyDataと全く同等)

CopyData(first_run=10,last_run=-1,flag=0)

パラメータ

タイプ

説明

runNo

正の整数(UInt4)

コピーしたいRun number

flag

正の整数(UInt4)

通常は省略、コピーではなくシンボリックリンクにするときは1

戻り値

なし

なし

CopyIroha2Params

装置において、IROHA2 PC上のLog, Paramデータを解析PCへ集約・コピーする。

MakeRunList

装置において、Run No, 測定時間、温度、ゴニオ角度などの情報をリスト化する。