EIC Detector Software Simulation
Contents |
Introduction
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
https://www.jlab.org/meic/download/sim/pic/
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"
cd $EIC_GEMC/source/$GEMC_VERSION 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 https://jlabsvn.jlab.org/svnroot/eic/subsystem/preshower/preshower_eic_gemc https://jlabsvn.jlab.org/svnroot/eic/subsystem/dirc/dirc_eic_gemc https://jlabsvn.jlab.org/svnroot/eic/subsystem/beamline/magnet_eic_gemc/ https://jlabsvn.jlab.org/svnroot/eic/subsystem/beamline/pipe_eic_gemc/ https://jlabsvn.jlab.org/svnroot/eic/subsystem/compton/det1_compton_eledownstream_eic_gemc
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
https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/
beamline magnet
- The beamline magnet design is provided by the MEIC accelerator study group. They are ideal dipoles and quadrupoles defined by formulas in G4beamline code and GEMC code.
- Version 1: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v12_det_reg_elem.13dec13.xls (2013/12) (first iteration for 1.5km collider rings)
- Version 2: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v15d_det_reg_elem.12mar15.xls (2015/03) (in the baseline design of 2.2km collider rings for the cost review)
- Version 3: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v15d_det_reg_elem.10Jun15.xls (2015/06) (shrink ion downstream quads inner size to change pole tip fields from 9,9,7T to 8,8,6T at 100GeV/c proton beam and improved the electron downstream chicane design)
- Version 4: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v15e_det_reg_elem.3Dec15.xls (2015/12) (same like version 3, add two antisolenoid in ele beamline and the other two in ion beamline)
- Version 5: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v15g_det_reg_elem_04mar16.xls (2016/03) (ion downstream 3rd dipole added, 1st dipole change to 1.5m long,and small adjustment for all quads;ele downstream quad change to make 1st quad permanent quad)
- Version 6: https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/meic_v15g_det_reg_elem_26apr16.xls (2016/04)(adjust all three ion downstream dipole length,reduce ion downstream quad 1 and 2 inner radius by 25% to change from 8,8,6T to 6,6,6T pole tip,turn on ion downstream quad 5 field, adjust ele downstream quad and dipole strength,add ele downstream quad5,reduce ele downstream quad3 outer radius to avoid overlap with ion upstream quad1. now both p and e beam passing beamline magnet surface are accurate), verification proton beam 100GeVelectron beam 5GeV where "avg_lx" < 1e-5mm on quads
- The beamline information is also stored in the parameter file https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/geometry/det1_beamline_magnet/det1_beamline_magnet__parameters_Original.txt
- Parameter naming convention: "i" ion beamline, "e" electron beamline, "ds" downstream, "us" upstream, the magnet id number increases when it's away from the interaction point.
- 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)
https://jlabsvn.jlab.org/svnroot/eic/eic_gemc/field/ion_beam_env_ds_22jun16.xls
2nd focus at ion downstream (size info outdated) Location: 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,