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:

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 example

gemc -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

CLAS12 FTOF simulation: generated electrons crossing the forward time-of-flight geometry.


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

Energia totale depositata per hit nel FTOF

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

Posizioni degli hit nel FTOF in y rispetto a x