Esempio della camera a deriva di CLAS12
Questo esempio mostra la geometria della camera a deriva di CLAS12 proveniente da clas12-systems.
Avvio rapido
Dal repository clas12-systems, genera il database della geometria ed esegui una breve simulazione:
cd $GEMC_HOME/../clas12-systems/geometry_src/dc
./dc.py
gemc dc.yaml -n=1
Geometria
La geometria, mostrata di seguito, è definita in geometry_src/dc/dc.py e geometry_src/dc/geometry.py.
Il costruttore della DC legge la factory di geometria locale di coatjava, converte le regioni e i superlayer della
camera a deriva di CLAS12 in volumi GEMC e li memorizza in gemc.db.
Il mondo (una scatola denominata root) contiene:
- sei settori di volumi madre delle regioni, denominati da region1_s1 a region3_s6
- sei settori di volumi dei superlayer, denominati da sl1_s1 a sl6_s6
Visualizzatore interattivo:
Lista di fisica
Per impostazione predefinita viene utilizzata FTFP_BERT, selezionata nel file YAML con 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
Generatore
La cinematica delle particelle è definita nel file YAML:
gparticle:
- name: e-
p: 5000*MeV
delta_p: 1*GeV
theta: 25*deg
delta_theta: 15*deg
randomThetaModel: cosine
delta_phi: 180*deg
Vedi anche la Documentazione del generatore interno per maggiori informazioni.
Digitizzazione
I volumi sensibili dei superlayer utilizzano il plugin di digitizzazione dc specifico di CLAS12. Gli identificatori registrano i numeri di settore, superlayer, strato e filo:
gvolume.digitization = "dc"
gvolume.set_identifier("sector", sector, "superlayer", superlayer, "layer", 1, "wire", 1)
Utilizzo
Costruzione del rivelatore
Usa geometry_src/dc/dc.py per costruire il rivelatore. Per impostazione predefinita, la configurazione viene
memorizzata in un file SQLite denominato gemc.db.
Vedi anche la Costruzione della geometria per maggiori informazioni.
Esecuzione di GEMC
Il file dc.yaml può essere utilizzato per eseguire la simulazione con questa configurazione.
Aggiungi -gui per eseguirla in modo interattivo:
gemc dc.yaml -gui
Modifica dc.yaml secondo necessità, in particolare per aggiungere particelle, controllare il numero di thread
o cambiare l’output.
Esecuzione degli eventi
Output
L’opzione gstreamer seleziona i nomi dei file e i formati di output:
gstreamer:
- format: csv
filename: dc
- format: hipo
filename: dc
Vedi anche la Documentazione dell’output per maggiori informazioni.
Creazione di grafici con l’analizzatore GEMC
Esegui prima GEMC con 2.000 eventi. Il file YAML predefinito scrive i flussi CSV dell’analizzatore.
gemc dc.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build
Traccia l’energia totale depositata per hit:
gemc-analyzer dc_t0_true_info.csv totalEDeposited --kind csv --data true_info

Traccia le posizioni degli hit, y in funzione di x:
gemc-analyzer dc_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80

Traccia il tempo TDC digitizzato:
gemc-analyzer dc_t0_digitized.csv TDC_TDC --kind csv
