Esempio del Forward Time-of-Flight di CLAS12
Questo esempio mostra la geometria del Forward Time-of-Flight (FTOF) di CLAS12 dal repository clas12-systems.
Avvio rapido
Dal repository clas12-systems, costruisci il database della geometria ed esegui una breve simulazione:
cd $GEMC_HOME/../clas12-systems/geometry_src/ftof
./ftof.py
gemc ftof.yaml -n=1
Geometria
La geometria, mostrata di seguito, è definita in geometry_src/ftof/ftof.py e geometry_src/ftof/geometry.py.
Il costruttore FTOF legge la factory locale della geometria coatjava, converte i pannelli del TOF in avanti di CLAS12
e le barre scintillatrici in volumi GEMC e li memorizza in gemc.db.
Il volume mondo (una scatola chiamata root) contiene, per ciascuno dei sei settori:
- tre volumi madre dei pannelli chiamati ftof_p1a_s<sector>, ftof_p1b_s<sector> e ftof_p2_s<sector>
- barre scintillatrici chiamate panel1a_sector<sector>paddle<n> (23 barre), panel1b_… (62) e panel2_… (5)
- una schermatura in piombo dietro i pannelli 1a e 2 chiamata ftof_shield_p1a_sector<sector> e ftof_shield_p2_sector<sector>
Visualizzatore interattivo:
Lista di processi fisici
Per impostazione predefinita viene usata 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
Per approfondimenti, vedi la documentazione del generatore interno.
Digitizzazione
Le barre scintillatrici usano il plugin di digitizzazione ftof specifico di CLAS12. Ogni barra viene letta a entrambe le estremità, quindi il plugin suddivide ogni hit in due canali PMT, sinistro (Left) e destro (Right). Gli identificatori registrano settore, pannello, barra e lato del PMT:
gvolume.digitization = "ftof"
gvolume.set_identifier("sector", sector, "panel", layer, "paddle", paddle, "side", 0)
Utilizzo
Costruzione del rivelatore
Usa geometry_src/ftof/ftof.py per costruire il rivelatore. Per impostazione predefinita, la configurazione
viene memorizzata in un file SQLite chiamato gemc.db.
Per approfondimenti, vedi Costruzione della geometria.
Esecuzione di GEMC
Il file ftof.yaml può essere usato per simulare la configurazione. Aggiungi -gui per eseguire in modalità
interattiva:
gemc ftof.yaml -gui
Modifica ftof.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 di output e i formati:
gstreamer:
- format: csv
filename: ftof
- format: hipo
filename: ftof
Vedi anche la documentazione dell’output per ulteriori informazioni.
Grafici con l’analizzatore GEMC
Esegui prima GEMC con 2.000 eventi. Il file YAML predefinito scrive i flussi CSV dell’analizzatore.
gemc ftof.yaml -n=2000 -no_field=all -plugin_path=/opt/projects/gemc/clas12-systems/build
Traccia l’energia totale depositata per hit:
gemc-analyzer ftof_t0_true_info.csv totalEDeposited --kind csv --data true_info

Traccia le posizioni degli hit in y rispetto a x:
gemc-analyzer ftof_t0_true_info.csv --kind csv --data true_info --plot yvsx --bins 80
