Menu
データ取得のためのプログラムはC:/Program Files/CAEN/Digitizer/WaveDump/bin/WaveDump.exe、その設定ファイルは同じディレクトリのWaveDumpConfig_X740.txt(1 eventのデータ点の数、トリガーの掛け方などを設定できる)。
WaveDump.exeの使い方は以下の通り。
| キー | 意味 |
|---|---|
| s | データ取得のstart/stop(まだファイルの書き込みは行わない) |
| P | continuousにplotを表示 |
| A | gnuplotのwindowを選択して押すとオートスケール |
| W | continuousなファイルへの書き込みをstart/stop |
| q | quit |
| (space) | help |
基本は
s(データの記録開始) → W(ファイルへの書き込み開始) → W(ファイルへの書き込み終了) → s(データ取得終了) → q(exit)
必要に応じてPでplotを確認する(Aでオートスケール)。
※注意点
小文字pとwはシングルイベントについての書き込みやプロット、大文字PとWはcontinuousな書き込みやプロットになります
ファイルの保存先はC:/Users/p1/WaveDump/、ファイル名はwave?.txt (? = ch)。
1023点で1 event(改行などの区切りはない)。(多分)62.5 MHz Sampling (1目盛 = 16 nsec)。
また書き込みの中断はevent中でも強制的に行うため、最後のeventは不完全になることがある(解析時に無視する必要あり)。
トリガーの位置はデータ取得時間の50%に設定しているため(Configファイルで設定可)、多分512あたり。
pythonでやりそうなので、暇な人向け。
2023/07/07に取得したNa22の511 keV gamma線のデータはここ。
以下のマクロ(make_ttree.cpp)を動かす。
$ root 'make_ttree.cpp("wave0.txt")'
root [1] .q
(もしくはwave2.txt)。するとwave0.rootというファイルができるので、あとは好きに解析する。
このファイルの中には、treeという名前のTTreeにvoltage[1023]という波形のファイルが入っている。各Entryは各eventに対応している。
#include <stdio.h> #include <iostream> #include <string> #include <fstream> #include <sstream> #include <TString.h> #include <TFile.h> #include <TTree.h> void make_ttree(TString filename){ //constant int nsample = 1023; //global variable double voltage[nsample]; double value; std::cout << "FILENAME : " << filename << std::endl; std::ifstream data(filename); TString rootfile_name = filename.ReplaceAll(".txt",".root"); TFile *rootfile = new TFile(rootfile_name,"recreate"); TTree * tree = new TTree("tree","tree"); tree->Branch("nsample",&nsample,"nsample/I"); tree->Branch("voltage",voltage,"voltage[nsample]/D"); std::string line; int j = 0; int i = 0; while(std::getline(data,line)) { voltage[i] = stod(line); std::cout << "time " << i << " : " << voltage[i] << std::endl; i++; if(i == nsample) { tree->Fill(); i = 0; j++; } } std::cout << "# of event : " << j << std::endl; tree->Write(); rootfile->Close(); return 0; }
例:かんたんな波形の確認の仕方
$ root wave0.root
root [1] tree->Draw("voltage:Iteration$","Entry$==0","l")
これで、0番目のeventの波形を見ることができた。