Exemple de chambre à dérive CLAS12



Cet exemple présente la géométrie de la chambre à dérive CLAS12 issue de clas12-systems.


Démarrage rapide

Depuis le dépôt clas12-systems, construisez la base de données de géométrie et lancez une courte simulation :

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


Géométrie

La géométrie, présentée ci-dessous, est définie dans geometry_src/dc/dc.py et geometry_src/dc/geometry.py. L’outil de construction DC lit la fabrique de géométrie locale de coatjava, convertit les régions et supercouches de la chambre à dérive CLAS12 en volumes GEMC, puis les enregistre dans gemc.db.

Le monde (une boîte nommée root) contient :

Visualiseur interactif :


Liste de physique

FTFP_BERT est utilisée par défaut et sélectionnée dans le fichier YAML avec 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


Générateur

La cinématique des particules est définie dans le fichier YAML :

gparticle:
  - name: e-
    p: 5000*MeV
    delta_p: 1*GeV
    theta: 25*deg
    delta_theta: 15*deg
    randomThetaModel: cosine
    delta_phi: 180*deg

Consultez également la documentation du générateur interne pour plus d’informations.


Numérisation

Les volumes sensibles des supercouches utilisent le plugin de numérisation dc spécifique à CLAS12. Les identifiants enregistrent les numéros de secteur, de supercouche, de couche et de fil :

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


Utilisation

Construction du détecteur

Utilisez geometry_src/dc/dc.py pour construire le détecteur. Par défaut, la configuration est stockée dans un fichier SQLite nommé gemc.db.

Consultez également la section Construction de la géométrie pour plus d’informations.


Exécution de GEMC

Le fichier dc.yaml peut être utilisé pour exécuter la configuration. Ajoutez -gui pour une exécution interactive :

gemc dc.yaml -gui

Modifiez dc.yaml selon vos besoins, en particulier pour ajouter des particules, contrôler le nombre de threads ou modifier la sortie.


Exécution des événements

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


Sortie

L’option gstreamer sélectionne les noms de fichiers et les formats de sortie :

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

Consultez également la documentation sur la sortie pour plus d’informations.

Tracé avec l’analyseur GEMC

Exécutez d’abord GEMC avec 2 000 événements. Le fichier YAML par défaut écrit les flux CSV de l’analyseur.

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

Tracez l’énergie totale déposée par impact :

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

Énergie totale déposée par impact dans la DC

Tracez les positions des impacts en y en fonction de x :

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

Positions des impacts dans la DC en y en fonction de x

Tracez le temps TDC numérisé :

gemc-analyzer dc_t0_digitized.csv TDC_TDC --kind csv

Temps TDC numérisé dans la DC