GetNeunetHist#
- GetNeunetHist(runNo, HistParam, DetRange, DetParam, TimeRange, FrameInfo, MaskInfo, CaseInfo, BGInfo, TofShift, AnaMode, ParamFiles, Options)#
与えたパラメータでイベントデータを処理しヒストグラムに変換する。
イベントデータのヒストグラム化を行うための総合的な関数である。イベントデータをヒストグラム化するために必要な設定(ヒストグラム軸設定、検出器の範囲設定やディスクリ値の変更など)のうち、もっとも初期のころから実装していた機能をまとめて行えるようにした。これまでのいろいろなヒストグラム化にまつわる関数はすべてこれで置き換える方針。これまで個別に設定していたパラメータを設定ごとにまとめて指定(文字列として)することで、トータルのパラメータの個数を減らした。この関数も実際にはもう少し用途に特化した関数に組み込む予定(DR.GetDataOfMonochroEi2のように)なので、ユーザーが直接これを使うことは無いと思われる。
- Parameters:
runNo (string) – ヒストグラム化するRun numberを指定する
HistParam (string) – 作りたいヒストグラム(軸)の情報
DetRange (string) – 使用する検出器の範囲とPixel数設定
DetParam (string) – 検出器の種類とPulse Height設定
TimeRange (string) – 使用する時間範囲の情報
FrameInfo (string) – 使用するフレーム情報
MaskInfo (string) – 検出器に対するマスク処理設定
CaseInfo (string) – CaseInfoファイルの指定(0.3.6より実装)
BGInfo (string) – 各種バックグラウンドの指定(現状は時間に非依存のTOFバックグラウンドのみ)
TofShift (string) – TOF原点をLambdaに応じてシフトさせる場合に用いる(現状BL11用のみ)
AnaMode (string) – 使用するWiringInfoとDetectorInfoの組み合わせのパターンを指定する
ParamFiles (string) – WiringInfoとDetectorInfoを個別に与える
Options (string) – その他の設定
- Returns:
作成されたヒストグラムデータ
- Return type:
ElementConatainerMatrix
簡単な使用例
from utsusemi.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#
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 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#
フォーマット |
意味 |
例 |
---|---|---|
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 |
Note
2023/6/5以降のバージョンでは、時間非依存性バックグラウンド領域を指定する方法として、”TIMEDEP”の代わりに”TOF”, “TIMEINDEP”も使用可能となった。
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> |
パラメータファイルの直接指定 |
0,-,- 0,WiringInfo.xml,- 0,WiringInfo,DetectorInfo.xml |
- パラメータファイルの直接指摘
<mode>によるenviron_ana.xmlの情報に上書きする形で直接パラメータファイルを指定する。ファイル名が-(ハイフン)の時はenviron_ana.xmlと<mode>で決定される決まるファイルを利用する。どちらかだけがハイフンでも良い。完全なパス名であればそれを利用する。ファイル名のみなら、検索ファイルパス(後述)に従い探索する。
検索ファイルパス
コマンドを実行しているディレクトリ(カレントディレクトリ)
${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 utsusemi.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" )
Note
パラメータは省略可能(デフォルト値が使用される)だが、それ以降のパラメータを個別に指定するには必ず「パラメータ名=値」という書き方をする必要がある。(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 utsusemi.ana.Reduction.BaseCommands import GetNeunetHist, GetPH
DAT=GetNeunetHist("234","d,0.5,5.0,0.01", DetParam="psd-ph")
ECS = GetPH( DAT )
–> 可視化ソフトウェアのM2Plotで確認可能