Test package for GeantV in CMSSW
Instructions:
setenv SCRAM_ARCH slc6_amd64_gcc630
cmsrel CMSSW_10_2_0
cd CMSSW_10_2_0
cmsenv
mkdir work
cd work
git clone [email protected]:kpedro88/install-geant.git -b CMSSW_10_2_X
ln -s install-geant/* .
cd $CMSSW_BASE/src
cmsenv
git cms-init
git clone [email protected]:kpedro88/SimGVCore.git
scram b -j 8
(Important to cmsenv
again after installation because of scram setup
for new tools.)
Separate instructions for comparison tests w/ Geant4:
cmsrel CMSSW_10_2_0
cd CMSSW_10_2_0/src
cmsenv
git cms-merge-topic kpedro88:GVPhysicsList
git clone [email protected]:kpedro88/SimGVCore.git
cd SimGVCore
git config core.sparseCheckout true
cat << 'EOF_SPARSE' > .git/info/sparse-checkout
/Application/test
/Application/python
README.md
EOF_SPARSE
git read-tree -mu HEAD
cd ..
scram b -j 8
(Separate area needed due to conflicts between different versions of external dependencies for Geant4 vs. GeantV in CMSSW.)
GEN parameters (runGen.py
):
particle
: electron or photonmult
: number of particlespt
: transverse momentum of particlesmaxEvents
: number of events
SIM parameters (runSim.py
):
- above, plus
sim
: Geant4 or GeantVyear
: 2018 or 2023 (for CMS geometry)threads
: number of threadsstreams
: number of streams (0 ->streams
=threads
)maxEventsIn
: number of input events (in case running over subset of generated events)
GEN and SIM are run separately so Geant4 and GeantV can process the exact same gen events and report only the CPU time used in simulation.
Test GEN-SIM together:
cd $CMSSW_BASE/src/SimGVCore/Application/test
cmsRun SingleElectronPt10_pythia8_cfi_GEN-SIM.py
Scaling test (GEN, SIM separately):
cd $CMSSW_BASE/src/SimGVCore/Application/test
cmsRun SingleElectronPt50_pythia8_cfi_GENonly.py
./testMT.sh >& log_test.log
./parseMT.sh log_test.log >& log_parsed.log