SoLID Software Detector Simulation

From Hall A Wiki
Revision as of 12:46, 2 June 2015 by Zwzhao (Talk | contribs) (Details)

Jump to: navigation, search

Introduction

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

It's located SoLID repository https://jlabsvn.jlab.org/svnroot/solid/solid_gemc2 with source codes and detector configuration, field, scripts etc.

You need both the jlab framework and SoLID repository before you can compile and run solid_gemc, refer to the quick start section

compile and run

Once you complete the setup procedure, you can now compile "solid_gemc"

cd $SoLID_GEMC/source/$GEMC_VERSION
scons OPT=1
(you need to recompile every time GEMC gets updated)

after compiling, do the following to run it

cd $SoLID_GEMC/script
solid_gemc solid_PVDIS_LD2.gcard or  solid_gemc solid_PVDIS_simple.gcard
solid_gemc solid_SIDIS_He3.gcard or  solid_gemc solid_SIDIS_He3_simple.gcard
solid_gemc solid_SIDIS_NH3.gcard or  solid_gemc solid_SIDIS_NH3_simple.gcard
(you should go to a clean terminal and source your set_solid again if somehow solid_gemc binary is not found in default PATH)


general info

run "solid_gemc -help" to see running option

read the tutorials on the main GEMC website here

another tutorialGEMC tuturial on 2014/03/06

Use examples in "study" in the repository here to see how to create geometry, store hit and analysis results

here is a general note for GEMC about geometry, materiel, hit processing etc, read it before you proceed to the specific topic below

https://eic.jlab.org/wiki/index.php/Detector_simulation_general_note

Details

geometry

refer to file " $SoLID_GEMC/geometrychangelog" for details

source your set_solid
cd $SoLID_GEMC/geometry
edit perl files to modify geometry, then run command below to generate new geometry txt files
./solid_PVDIS_simple.pl config_solid_PVDIS_simple.dat
./solid_PVDIS_LD2.pl config_solid_PVDIS_LD2.dat
./solid_SIDIS_He3_simple.pl config_solid_SIDIS_He3_simple.dat
./solid_SIDIS_He3.pl config_solid_SIDIS_He3.dat
./solid_SIDIS_NH3_simple.pl config_solid_SIDIS_NH3_simple.dat
./solid_SIDIS_NH3.pl config_solid_SIDIS_NH3.dat

materials

source your set_solid
cd $SoLID_GEMC/geometry
edit the perl file "solid_material.pl" to modify geometry, then run command below to generate new material txt files
./solid_material.pl config_solid_PVDIS_simple.dat
./solid_material.pl config_solid_PVDIS_LD2.dat
./solid_material.pl config_solid_SIDIS_He3_simple.dat
./solid_material.pl config_solid_SIDIS_He3.dat
./solid_material.pl config_solid_SIDIS_NH3_simple.dat
./solid_material.pl config_solid_SIDIS_NH3.dat

hit processing

refer to general note

see examples under https://jlabsvn.jlab.org/svnroot/solid/solid_gemc2/source and https://jlabsvn.jlab.org/svnroot/solid/subsystem/gem/gem_solid_gemc/


detector ID for flux bank

Its ID is defined by 7 digits integer like "abcdefg"
a: detector type
   GEM 1, CC 2, EC 3, MRPC 4, SPD 5, muon 6
b: detector assembly 
   GEM 1 - 6 layer, LGCC 1, HGCC 2, FAEC 1, LAEC 2, MRPC 1, FASPD 1, LASPD 2, muon forward 1, muon endcap donut 2,muon barrel 3
c: sub detector
   GEM not used, CC 0 PMT 1 front, MRPC 0 inside 1 front, EC 1 front 2 middle 3 inner 4 rear
d,e,f,g: not used for now
for example, 3110000 is for forward angle EC front plane
see code example here https://jlabsvn.jlab.org/svnroot/solid/study/background/background.C

field map

http://hallaweb.jlab.org/12GeV/SoLID/download/field/gemc2/solenoid_CLEOv8.dat
http://hallaweb.jlab.org/12GeV/SoLID/download/field/gemc2/solenoid_ptarget.dat

simulation for sub-detector systems

"solid_gemc" can be used for the whole detector simulation and individual sub-detector systems at the same time.

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

They are located in the repository at

https://jlabsvn.jlab.org/svnroot/solid/subsystem

Each director has a name similar to "ec/ec_solid_gemc"