CLAS12 ドリフトチェンバーの例



この例では、clas12-systems に含まれる CLAS12 ドリフトチェンバーのジオメトリを紹介します。


クイックスタート

clas12-systems リポジトリからジオメトリデータベースを構築し、短いシミュレーションを実行します。

cd $GEMC_HOME/../clas12-systems/geometry_src/dc
./dc.py
gemc dc.yaml -n=1


ジオメトリ

以下に示すジオメトリは、geometry_src/dc/dc.py と geometry_src/dc/geometry.py で定義されています。 DC ビルダーはローカルの coatjava ジオメトリファクトリを読み込み、CLAS12 ドリフトチェンバーの領域と スーパーレイヤーを GEMC ボリュームに変換して、gemc.db に格納します。

ワールド(root という名前のボックス)には、以下が含まれます。

インタラクティブビューア:


物理リスト

デフォルトでは 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 example

gemc -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 固有の dc デジタイゼーションプラグインを使用します。識別子には、セクター、 スーパーレイヤー、レイヤー、ワイヤーの番号が記録されます。

gvolume.digitization = "dc"
gvolume.set_identifier("sector", sector, "superlayer", superlayer, "layer", 1, "wire", 1)


使い方

ディテクタの構築

ディテクタを構築するには geometry_src/dc/dc.py を使用します。デフォルトでは、セットアップは gemc.db という名前の SQLite ファイルに格納されます。

詳細については、ジオメトリの構築 も参照してください。


GEMC の実行

セットアップの実行には dc.yaml ファイルを使用できます。インタラクティブに実行するには -gui を追加します。

gemc dc.yaml -gui

必要に応じて dc.yaml を変更します。特に、粒子の追加、スレッド数の制御、出力の変更などを行えます。


イベントの実行

CLAS12 DC simulation: generated electrons crossing the drift chamber geometry.


出力

gstreamer オプションで出力ファイル名とフォーマットを選択します。

gstreamer:
  - format: csv
    filename: dc
  - format: hipo
    filename: dc

詳細については、出力のドキュメント も参照してください。

GEMC アナライザによるプロット

まず 2,000 イベントで GEMC を実行します。デフォルトの YAML ファイルはアナライザ用の CSV ストリームを書き出します。

gemc dc.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build

ヒットごとの総エネルギー付与量をプロットします。

gemc-analyzer dc_t0_true_info.csv totalEDeposited --kind csv --data true_info

dc のヒットごとの総エネルギー付与量

ヒット位置の y 対 x をプロットします。

gemc-analyzer dc_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80

dc のヒット位置の y 対 x

デジタイズされた TDC 時間をプロットします。

gemc-analyzer dc_t0_digitized.csv TDC_TDC --kind csv

dc のデジタイズされた TDC 時間