LGADSoftware (解析プログラム)
改訂歴
2021年3月 植田さん
2023年6月 北
LGADSoftwareの概要
LGADSoftwareの解析用のプログラム。
Link(
Koji Nakamura / LGADSoftware · GitLab (cern.ch)
)
gitから直接持ってくる方法
$git clone
https://gitlab.cern.ch/JapanSiliconRD/aclgad/LGADSoftware.git
その後のmake等のやり方はREADME.mdを参照してください
(開発中のため、devel branchが最新(2023年6月現在))
runfileをあらかじめ作っておき、その中に回したいデータのパスを書いておく
また、その測定(Run)時のセットアップ情報(ADC channel,Amp board channel,Sensor channel,layer number)やセンサー情報(pad,strip,pixel)や何イベント走らせるか、カットをどの程度かけるか(その情報が書かれたファイルを読み込む)を指定する
./bin/LGADanalysis < runfiles/(data file name)
で解析開始
できるプロット・データファイルなど(in ./results)
- Pulse Shape(波形)(信号サイズの大きい順に並ぶ)
- Pulse Heigit分布(root fileに詰める)
- 各チャンネルの信号の情報とその信号の到達時間等
Runを回したあと、そこから波高分布を比較したり、Fitするためにscriptがいくつか用意されている
2021年版
3月1日改良
カット情報をparameter directory内のdefault.txt等のデータを読み込むことで調整できるようにした
(これにより、解析のパラメーターを調整するごとにmake; make installを行っていた手間を省くことができるように)
2023年版(+クイックスタートガイド)
試しにデータ解析をしてみよう
自分のatlaspc7のディレクトリにLGADSoftwareをダウンロード。現状開発中なのでdevelバージョンを落とす。
$git clone
https://gitlab.cern.ch/JapanSiliconRD/aclgad/LGADSoftware.git
-b devel
これでLGADSoftwareがディレクトリとしてできていると思います。
$git branch
をした結果
*devel
となっていれば成功。以下はREADMEにあると思いますが一応。↓↓
$cd LGADSoftware
$cd config
$./configure.sh
$source setup_local.sh
$mkdir builds
$cd builds
$cmake3 ..
$make
$make install
$cd ../
これで解析の準備は整いました。
次に解析するデータが書いてあるファイル(例えばpad_laser_4ch_E600_kekv7_190V_lecroy_run2という名前にします)を作成します。
$cd runfiles/
似ているrunfileからコピーして作るのでまずはコピー
$cp pad_laser_4ch_E600_kekv7_190V_lecroy pad_laser_4ch_E600_kekv7_190V_lecroy_run2
$emacs -nw pad_laser_4ch_E600_kekv7_190V_lecroy_run2
このファイルを書き換える。
input 以下のファイル場所を指定しているところを今回とったデータにします。
/Data/LGAD/LeCroy/data/20230608/C1--Trace1--00000.trc、みたいに
outputのファイル名をpad_laser_4ch_E600_kekv7_190V_lecroy.rootからpad_laser_4ch_E600_kekv7_190V_lecroy_run2.rootに書き換え
では解析コードを回してみましょう!
$cd ../
$./bin/LGADanalysis < runfiles/pad_laser_4ch_E600_kekv7_190V_lecroy_run2
これでとりあえず回るようにはなるはず。
できた結果を確認しましょう。
$cd results
$ls
いくつかできてると思います。pngファイル・pdfファイルは
$evince [ファイル名].pdf
$display [ファイル名].png
で確認できます。最近使ってるのは主にevents_....とpulseshape_....くらいです。
rootファイルも確認してみましょう
$root -l pad_laser_4ch_E600_kekv7_190V_lecroy_run2_kekv7_190V_lecroy_run2.root
>TBrowser b
でウインドウが上がってきます。pad_laser_4ch_E600_kekv... をクリックするといろんなヒストグラムが確認できると思います。
Draw optionをcolzに選んでphvstime_ly0_をクリック。
横軸にトリガーからの時間、縦軸に波高が見れました!他のも確認してみてください。これは何?ってのがあったら聞いてください。
rootfileから素敵なプロットをつくってみましょう
まずはrootを抜けて、
>.q
$cd ../scripts/
$./fitph.sh [inputlist]
で出るようになるんですけど、まだこのバージョンだとうまくできないです。
fitph.Cを読んでいけそうならやってみてもいいかもしれない。
branch : devel_tatsukiu branch
FlashADCの出力ファイルをチャンネル分(8ch~16ch)のASCII形式でとる方法からBinary形式で1ファイルでとる形式に変更できるようになった
これにより、データファイルの容量が5分の1、測定時間が5分の1、転送時間が4倍程度早くなった
それに伴い、binary形式でも解析できるように調整したbranch
基本的に2021年7月時点でのdevelから派生したため、ほとんどdevel と同じことが行えるはず
また、time[ii][jj]、ADCcount[ii][jj]にデータを詰めるまでのみ変更しており、基本的にLGADLoopManagerには必要最小限のものしか追加していないので、devel_tatsukiu branchでの解析結果(root file)とdevelでの解析結果は全く同じものが出力される
--
Tatsuki Ueda - 2021-08-02
Comments