CLAS12 前方飛行時間測定器(FTOF)の例
この例では、clas12-systems に含まれる CLAS12 前方飛行時間測定器(FTOF)のジオメトリを示します。
クイックスタート
clas12-systems リポジトリで、ジオメトリデータベースを構築し、短いシミュレーションを実行します。
cd $GEMC_HOME/../clas12-systems/geometry_src/ftof
./ftof.py
gemc ftof.yaml -n=1
ジオメトリ
以下に示すジオメトリは、geometry_src/ftof/ftof.py と geometry_src/ftof/geometry.py で定義されています。
FTOF ビルダーはローカルの coatjava ジオメトリファクトリを読み込み、CLAS12 前方 TOF パネルと
シンチレータパドルを GEMC ボリュームに変換して、gemc.db に格納します。
ワールド(root という名前のボックス)には、6 つのセクターのそれぞれについて次の要素が含まれます。
- ftof_p1a_s<sector>、ftof_p1b_s<sector>、ftof_p2_s<sector> という名前の 3 つのパネル母ボリューム
- panel1a_sector<sector>paddle<n>(23 枚)、panel1b_…(62 枚)、 panel2_…(5 枚)という名前のシンチレータパドル
- パネル 1a と 2 の背後にある、ftof_shield_p1a_sector<sector> と ftof_shield_p2_sector<sector> という名前の鉛シールド
インタラクティブビューア:
物理リスト
デフォルトでは FTFP_BERT が使用され、YAML ファイル内で phys_list: FTFP_BERT により選択されます。
phys_list
The physics list can be selected using the option
gemc -phys_list <value>where
<value>can be a combination of the Geant4 physics constructors separated by the+sign. For examplegemc -phys_list="FTFP_BERT + G4NeutronCrossSectionXS"To see a list of the available Geant4 constructors:
gemc -showPhysics
ジェネレータ
粒子の運動学的パラメータは YAML ファイル内で定義されます。
gparticle:
- name: e-
p: 5000*MeV
delta_p: 1*GeV
theta: 25*deg
delta_theta: 15*deg
randomThetaModel: cosine
delta_phi: 180*deg
詳細については、内部ジェネレータのドキュメント も参照してください。
デジタイゼーション
シンチレータパドルは、CLAS12 固有の ftof デジタイゼーションプラグインを使用します。各パドルは両端で 読み出されるため、プラグインは各ヒットを左(Left)と右(Right)の PMT チャンネルに分割します。識別子には、 セクター、パネル、パドル、PMT の左右の区別が記録されます。
gvolume.digitization = "ftof"
gvolume.set_identifier("sector", sector, "panel", layer, "paddle", paddle, "side", 0)
使い方
検出器の構築
geometry_src/ftof/ftof.py を使用して検出器を構築します。デフォルトでは、検出器の構成は SQLite ファイル
gemc.db に格納されます。
詳細については、ジオメトリの構築 も参照してください。
GEMC の実行
ftof.yaml ファイルを使ってこの構成で実行できます。インタラクティブに実行するには -gui を追加します。
gemc ftof.yaml -gui
必要に応じて ftof.yaml を変更してください。特に、粒子の追加、スレッド数の制御、
出力の変更を行えます。
イベントの実行
出力
gstreamer オプションで、出力ファイル名と形式を選択します。
gstreamer:
- format: csv
filename: ftof
- format: hipo
filename: ftof
詳細については、出力のドキュメント も参照してください。
GEMC Analyzer によるプロット
まず GEMC で 2,000 イベントを実行します。デフォルトの YAML ファイルでは、アナライザ用の CSV ストリームを 書き出すように設定されています。
gemc ftof.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build
ヒットごとの総エネルギー付与量をプロットします。
gemc-analyzer ftof_t0_true_info.csv totalEDeposited --kind csv --data true_info

ヒット位置の x 座標に対する y 座標をプロットします。
gemc-analyzer ftof_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80
