====CAEN DT5740の使い方====
データ取得のためのプログラムは''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あたり。
====ファイルのかんたんな読み方(ROOTがさっと動く人向け)====
pythonでやりそうなので、暇な人向け。\\
2023/07/07に取得したNa22の511 keV gamma線のデータは[[https://www-he.scphys.kyoto-u.ac.jp/owncloud/index.php/s/gfJ775kLOVXHAof|ここ]]。\\
以下のマクロ(make_ttree.cpp)を動かす。
$ root 'make_ttree.cpp("wave0.txt")'
root [1] .q
(もしくは''wave2.txt'')。すると''wave0.root''というファイルができるので、あとは好きに解析する。\\
このファイルの中には、''tree''という名前のTTreeに''voltage[1023]''という波形のファイルが入っている。各Entryは各eventに対応している。
#include
#include
#include
#include
#include
#include
#include
#include
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の波形を見ることができた。