コマンドラインでの実行例¶
Pythonターミナルの起動、イベントデータのヒストグラム化、ピクセルの積分の例
$ python3 >>> import DR Manyo>>> import Cmm Manyo>>>上記のようにプロンプトが出て待機状態になる。この状態から前節で説明したコマンドを利用できる。
使用例
# ヒストグラム化 Manyo>>> dat = Cmm.GetNeunetHist(197,"tof,0,40000,100") # DetectMap表示 Manyo>>> utsusemi.vis.DetectMap(dat) # PSD_ID=1のTOF方向の全積分(横軸Pixel)ヒストグラム Manyo>>> ec1 = Cmm.SumOfTOF(dat,1) # 1Dプロッタ起動および表示 Manyo>>> import uGao.MPlot as mp Manyo>>> plot=mp.MPlot() # ヒストグラムの横軸30〜40の間の和を配列(Vector)で返す Manyo>>> sum1 = ec1.Sum(30.,40.) Manyo>>> print "Sum of Intensities and error = ",sum1[0],sum1[1] # コマンドのヘルプを見たいとき(GetNeunetHistの場合) Manyo>>> help(GetNeunetHist)画面が切り替わり以下のようなメッセージが出る。この画面から抜けるにはqキーを押す。 1画面に収まらなかった場合はスペースキーを押すと続きが見られる。
------ Help on function GetHistogram in module ana.Reduction.BaseCommands: GetHistogram(runNo=-1, paraFlag=1, pixelNo=-1, startPSD=-1, endPSD=-1, startTOF=-1, endTOF=-1, binTOF=-1) Load EventData and convert to histogram. GetHistogram(runNo,paraFlag,pixelNo=-1,startPSD=-1,endPSD=-1,startTOF=-1,endTOF=-1,binTOF=-1) @param runNo (int) Run Number @param paraFlag (int) using parallel methods : 1, single methods : 0 @param pixelNo (int) the number of pixels on one PSD @param startPSD (int) first PSD ID @param endPSD (int) final PSD ID @param startTOF (double) top TOF value to be selected @param endTOF (double) end TOF value to be selected @param binTOF (double) bin width of TOF ...
ElementContainerMatrixからの各ヒストグラムの取り出し方¶
DatというElementContainerMatrixがあるとする。
- x番目に登録されたElementContainerArrayをElementContainerMatrixから引き出し、ecaと名付ける。
eca = Dat.Put(x)
ElementContainerArrayのy番目に登録されたElementContainerを取り出し、ecと名付ける。
ec = eca.Put(y)
各ピクセルのヒストグラムには、Pixel IDが割り振られている(メタ情報)。ただし、配列の順番通りにPSD IDやPixel IDが並んでいるとは限らない。(検索方法はある)。
ElementContainer(Array, Matrix)のメタ情報は、以下のメソッドで見ることができる。
ec.Dump() eca.PutHeader().Dump() Dat.PutHeader().Dump()
その他の便利なコマンド¶
ElementContainer.Sum( x1, x2 )
ElementContainerに含まれるx,y,errorを用いて、x1〜x2の間のyの値の和とエラーを返す。戻り値はDoubleVector(配列のようなもの)であり、和とエラーは以下のように取り出す。
V=EC.Sum(100,200) print "Intensity=",v[0],", Error=",v[1]
ElementContainer.Mul( c )
ElementContainerに含まれるx,y,errorのうち、yをc倍する。エラーの伝搬も自動的に行われる。戻り値は新しいElementContainerである。数値で規格化するときに用いると便利。
ElementContainerのより詳細な情報は¶
Tips¶
Q & A編¶
- Q.
Cmm.SaveDataToDumpなどでファイルのパスを指定するところがあるんだけど、場所がわからないです。
- A.
最初にSequencerを起動する場所、つまり、”Ana”とコマンドを打ったディレクトリがカレントディレクトリ、パス指定で言えば”./”となる。従って、起動時にあらかじめ自分のデータを置きたい場所に移動してから、Sequencerを起動するとパスの指定で悩む事はなくなるよ。
ただし、Mac版やWindows版では、このカレントディレクトリが非常にわかりにくいので、SequenceEditorにカレントディレクトリを指定する機能が付いているので、それであらかじめ指定しておくと良い。