EIC Detector Software Simulation

From Electron Ion Collider Wiki
Jump to: navigation, search


EIC detector simulation program "eic_gemc" is based on "GEMC" with additional hit process routine and outputs for all detector systems in EIC.

It's located EIC repository https://jlabsvn.jlab.org/svnroot/eic/eic_gemc with source codes and detector configuration, field, scripts etc.

You need both the jlab framework and EIC repository before you have compile and run "eic_gemc", refer to the installation section

general note (Please read this!)

general note for geometry, materiel, mirror, hit processing, calling gemc as library with added functionally etc

Setup plot


sort by "Last modified" to see latest

compile and run

Once you have the framework and EIC repo setup, then source your set_eic, refer to EIC_Software#step_by_step_guide

you are ready to compile "eic_gemc"

scons OPT=1
(then go to a clean terminal and source your set_eic so that "eic_gemc" can found in default PATH)
eic_gemc  (a empty graphic window with simulation setup should show up and confirm it's working, then you can move on full or subsystem simulation)

run on Mac

You can run generic EIC simulation with GEMC on Mac too, (not "eic_gemc" yet, so no customized hit process)

This is not officially support for real results, mostly for viewing detector setup and producing pictures etc.

To use it, first download gemc dmg image here https://gemc.jlab.org/gemc/html/downloads.html, then install like an app

Then you may just checkout the latest full eic repository by "svn co https://jlabsvn.jlab.org/svnroot/eic"

or download a snapshot of repo here https://www.jlab.org/meic/download/sim/eic_gemc/

Finally "cd eic_gemc/script", run "/Applications/gemc-version.app/gemc.app/Contents/MacOs/gemc.command det1_hybrid_full.gcard" after replace version with your downloaded version number

full simulation

All subsystems have their own "production" version directories at "https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/geometry/"

They are in "det1_beamline_magnet, det1_tof_barrel, ... etc" sub-directory

Run full simulation with all subsystems together by

source your set_eic
cd $EIC_GEMC/script
eic_gemc det1_dual_full.gcard  (full subsystems with dual solenoid)
eic_gemc det1_hybrid_full.gcard  (full subsystems with hybrid solenoid)
eic_gemc det1_beamline.gcard   (beamline elements only)

subsystem simulation

"eic_gemc" can be used for individual sub-detector systems and the whole detector simulation.

Each of sub-detector systems can do simulation independently and ready to merge it back into the whole system simulation.

They are considered "devel" version and located in their individual directories

for example

For people working on subsystem when there is no "devel" version yet, just copy from the "production" version below or create new one

refer to detail in https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/script/det1_hybrid_full.gcard, one can see how to turn on and off individual subsystems easily at run time

Once you think your subsystem devel version is ready, before making it a production version, be sure to test it with full simulation, meaning it has no conflict with any other production subsystem.

After verify no conflict, you may release it as production version by copying ONLY necessary files like all perl script and txt files without any change into its production directory.

field map

The field map, plots and scripts are stored at


beamline magnet

  • Create beamline magnet field files by entering the field dir [1] and running "./det1_field.pl config_det1_field.dat". The field file is named as "*simple.dat".

solenoid magnet

  • det1_sol_field_cylinder.dat, simple solenoid field map from Vasiliy Morozov
  • solenoid field map from Paul Brindza
    • det1_solenoid_dual_v1.dat, first try
    • det1_solenoid_dual_v2.dat, 3T max, flatter field inside, 1cm grid
    • det1_solenoid_dual_v3.dat, 2.5T max, lower field at RICH of ion endcap, 5cm grid
    • det1_solenoid_dual_v4.dat, try to improve RICH field
    • det1_solenoid_dual_v5.dat, try to improve RICH field
    • det1_solenoid_dual_v6.dat, try to improve RICH field
    • det1_solenoid_dual_v7.dat, try to improve RICH field
    • det1_solenoid_dual_v8.dat, try to improve RICH field
    • det1_solenoid_dual_v9.dat, good RICH field, actual not dual solenoid anymore, add iron and become hybrid
    • det1_solenoid_hybrid_v1.dat, coil and iron

beamline feature

ion beamline feature (for beamline magnet version 6)


2nd focus at ion downstream (size info outdated) 

x = -1.305503544 m
z = 42.45558577 m
angle = -0.05599600898 rad

Below are updated minimum beam stay clear numbers at the secondary focus including the dispersion. The sizes due to the emittance and dispersion in x are added in quadrature: sigmax = sqrt( betax*epsx + (dx*dp/p)^2 ).

Beam size at the waist (using betax = 0.597539014 m, betay = 0.5338523507 m, dx = 0.9545636138)

1. Assuming full strength cooling (epsxn = 0.35 um, epsyn = 0.07 um, dp/p = 3E-4)
60 GeV: 10sigmax = 2.92 mm, 10sigmay = 0.24 mm
100 GeV: 10sigmax = 2.90 mm, 10sigmay = 0.19 mm

2. Assuming weak cooling (epsxn = 1 um, epsyn = 0.5 um, dp/p = 3E-4)
60 GeV: 10sigmax = 3.02 mm, 10sigmay = 0.65 mm
100 GeV: 10sigmax = 2.96 mm, 10sigmay = 0.50 mm
The maximum size within a ±1 m roman pot (using betax = 2.271070146 m, betay = 2.407029541 m, dx = 0.9563558996):

1. Assuming full strength cooling (epsxn = 0.35 um, epsyn = 0.07 um, dp/p = 3E-4)
60 GeV: 10sigmax = 3.08 mm, 10sigmay = 0.51 mm
100 GeV: 10sigmax = 3.00 mm, 10sigmay = 0.40 mm

2. Assuming weak cooling (epsxn = 1 um, epsyn = 0.5 um, dp/p = 3E-4)
60 GeV: 10sigmax = 3.43 mm, 10sigmay = 1.37 mm
100 GeV: 10sigmax = 3.22 mm, 10sigmay = 1.06 mm
Note that this time I assumed a 2 m (+/-1 m) long roman pot instead of the 4 m long roman pot used in the earlier calculation.

version history

version history controlled by SVN revision

check out by "svn co -r revision_number https://jlabsvn.jlab.org/svnroot/eic"

revision 152
add CLEO, adjust details to fit both CLEO and Dual solenoid
refer to pptxpdf Simulation Update, Zhiwen Zhao

revision 153
add DIRC readout, add HBD, add TOF, add RICH mirror/readout/aerogel, adjust barrel detector size
refer to pptxpdf Simulation Update, Zhiwen Zhao
revision 180
add Compton, rename some detectors.
This is end of version 1 of beamline magnets which have dipole as square and quad as circle
revision 266
some small modification
This is end of version 2 of beamline magnets, after redesign accelerator ring at end of 2014, we redesigned beamline magnet, both dipole and quad use circle
revision 269
This is beginning of version 3 of beamline magnets, ele beamline uses square dipole, ion beamline uses circle dipole, all quad are still circle
revision 285 (last revision before changing to modularized geometry structure)
change ele endcap to projective style, make ion downstream dipole 2 outer radius bigger, use big dipole for ion downstream dipole 1, add zdc and other small change, add more version of solenoid field
revision 413 
geometry are modularized and a lot of change in central detector
anti_solenoid is added for version 4 of beamline magnets
revision 431 
version 5 beamline magnets
revision 514
version 6 beamline magnets

version history controlled by git commit

git clone https://github.com/gemc-eic/detectors.git

git checkout <commit_hash>

commit fbe10e25dd3a23f5e53a39e68969fe1bc355f681
version 6 beamline magnets

old way to run simulation

cd $EIC_GEMC/geometry
edit perl file to modify geometry, then run command below to generate new geometry txt files
./meic_det1_dual.pl config_meic_det1_dual.dat
./meic_det1_CLEO.pl config_meic_det1_CLEO.dat
./meic_det1_dual_barrel.pl config_meic_det1_dual_barrel.dat
cd $EIC_GEMC/script
eic_gemc meic_det1_dual.gcard 
eic_gemc meic_det1_CLEO.gcard 
eic_gemc meic_det1_dual_barrel.gcard

release packages
download a packaged eic geometry/field/script here https://www.jlab.org/meic/download/sim/eic_gemc/ (refer to  version history to choose a version)and extract it,