空蟬基本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" )
など。
基本関数一覧¶
共通データ処理¶
関数 |
説明 |
---|---|
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]の総和を返す |
共通データファイル入出力処理¶
関数 |
説明 |
---|---|
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フォーマットに書き出す |
装置用処理・その他¶
関数 |
説明 |
---|---|
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" )
指定パラメータ
パラメータ |
フォーマット |
説明 |
---|---|---|
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を指定する。単独、カンマ区切り、範囲(ハイフンかコロンで繋ぐ)で指定できる。単独列挙と範囲指定はカンマ区切りで混在できる。
フォーマット |
方法 |
例 |
---|---|---|
<runNo> |
単独指定 |
1234 |
<runNo1>,<runNo2>,… |
個別に列挙指定 |
1001,1512,1330 |
<runNo1>:<runNo2>,… |
コロンもしくは ハイフンで範囲指定 |
1000:1020,1500:1330 |
<runNo1>-<runNo2>,… |
1000-1020,1512-1330 |
HistParam¶
フォーマット |
ヒストグラムの横軸 |
例 |
---|---|---|
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¶
フォーマット |
意味 |
例 |
---|---|---|
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¶
フォーマット |
意味 |
例 |
---|---|---|
<DetType> |
<DetType>で指定した検出器のヒストグラム化を行う。 現状、以下の二つだけ指定できる。
|
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¶
フォーマット |
意味 |
例 |
---|---|---|
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¶
フォーマット |
意味 |
例 |
---|---|---|
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¶
フォーマット |
意味 |
例 |
---|---|---|
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 |
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )
${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )
CaseInfo¶
フォーマット |
意味 |
例 |
---|---|---|
None |
指定なし |
|
<Path/to/CaseInfoFile> |
<Path/to/CaseInfoFIle>が完全なパス指定であれば、そのファイルを使用する。 ファイル名だけであれば、検索ファイルパスに従って探す。 |
CaseInfo.xml |
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )
${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )
BGInfo¶
フォーマット |
意味 |
例 |
---|---|---|
TIMEDEP:None |
指定なし |
|
TIMEDEP:<tof1>-<tof2> |
<tof1>-<tof2>で指定したTOF領域を時間依存性のあるバックグランドとみなし 全Pixelの全TOF領域から差し引く補正を行う。 |
TIMEDEP:35000-39999 |
TofShift¶
フォーマット |
意味 |
例 |
---|---|---|
None |
TOF 原点シフトを行わない場合。 |
None |
<ptnId> [,A1,A2,A3,A4,A5] |
TOF原点シフトを行う場合に用いる。TOFの原点シフトは波長依存の式で表されている。 ptnId = 0 : 使用しない(Noneと同じ)
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より使用可能)
フォーマット |
意味 |
例 |
---|---|---|
<mode> |
モードの番号 |
0 |
<mode>,-,- <mode>,<WiringInfo>,<DetectorInfo> |
<mode>によるenviron_ana.xmlの情報に上書きする形で 直接パラメータファイルを指定する。 ファイル名が-(ハイフン)の時はenviron_ana.xmlと<mode>で 決定される決まるファイルを利用する。 どちらかだけがハイフンでも良い。 完全なパス名であればそれを利用する。 ファイル名のみなら、検索ファイルパス(後述)に従い探索する。 |
0,-,- 0,WiringInfo.xml,- 0,WiringInfo,DetectorInfo.xml |
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )
${UTSUSEMI_USR_DIR}/ana/xml ( ~/ana/xml )
Options¶
0.3.6より使用可能。主に上記以外のオプションを設定できる。オプションの与え方は、 <KEY>:<VALUE> で与え、それらをカンマ区切りで並べることが可能である。なお与えるパラメータは大文字小文字を区別しない(例: ADDTOFBIN:TRUEは、AddTofBin:Trueでも良い)
フォーマット |
意味 |
例 |
---|---|---|
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" )
具体的な使用例¶
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")
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のお作法)
1.の条件で、pulse heightの領域を 1200〜4096にしたい場合
DAT=GetNeunetHist("1000","hw,50.0,-5.0,48.0,0.1", DetParam="psd,1200,4096" )
run numberが234のデータで、横軸がd値(範囲0.5〜5.0,幅0.01)のヒストグラム化を行いたい場合
DAT=GetNeunetHist("234","d,0.5,5.0,0.01")
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の中身が置きかわる)
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${UTSUSEMI_BASE_DIR/UTSUSEMI_INST_CODE}/ana/xml( /opt/mlfsoft/python-utsusemi/XXX/ana/xml )
${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, 測定時間、温度、ゴニオ角度などの情報をリスト化する。