SciFiSim | ||
SimulationData | ||
.gitignore | ||
installation_guide_of_SciFiMatG4-v2_for_Ubuntu.pdf | ||
README.md | ||
SciFiMatG4_v2.pdf | ||
setup.sh |
This is based on code from Mirco Deckenhoff and modified by Blake Leverington, Peter Stromberger, et al.
Based on https://gitlab.cern.ch/lhcb-scifi/SciFiSimG4, but now expanded to a fibre mat, rather than a single fibre, with SiPM readout.
How to get SciFiSim running
Installation of GEANT4 help is at the bottom of this readme. Check the cmake options for compatibility.
$ git clone https://$USER@gitlab.cern.ch/lhcb-scifi/SciFiMatG4_v2
$ cd SciFiMatG4_v2
Edit the environment script setup.sh to point to your Geant and ROOT installation and source
it to add it to your environment:
$ source setup.sh //(required before running the software too if you open a new terminal.)
Now to cun cmake in the build folder:
mkdir -p SciFiSim-build //it is safe to delete this folder if you have problems during compilation
cd SciFiSim-build
cmake ../SciFiSim
cmake --build . // or make clean; make
To run the Geant4 simulation in batch mode:
cd ../SimulationData
../SciFiSim-build/scifiSim muongun.mac
To run the simulation from within the GUI (for visualization only) very slow if optical photon physics are enabled:
$ ../SciFiSim-build/scifiSim //opens the gui /control/execute/ vis.mac
The Geometry file
../SciFiSim/src/DetectorConstruction.cc&
- a multi-layer ribbon of fibres with LHCb style SiPM array at the end (no 64ch gap)
if you make changes to the code, run make
again in the build folder to recompile with the changes. Sometimes you might need make clean; make
.
Input Parameters
Various parameters of the simulation are read in from a parameters file in /SimulationData/parameterFiles/ . The description is in SciFiSi
PhysicsList.cc
The optical photon physics can be turned off by commenting out the OpticalPhyics section with /* */
in /src/PhysicsList.cc
if you are only interested in energy deposit in the fibres from the primary track, for example.
The root output
There are 5 different TTrees created.
- DetectedPhotons (information about photons detected at SiPM, each photon is an entry)
- Trigger(information about trigger)
- PrimaryParticleTrack
- InitialParticle(Not sure what the difference is)
- EnergyTrack (track length in fibres and energy deposited)
SciFiSimG4_v2 requires installation of Geant4 first
$ wget http://geant4.web.cern.ch/geant4/support/source/geant4.10.07.p01.tar.gz
$ tar -xzvf geant4.10.07.p01.tar.gz
$ mkdir geant4.10.07.p01-build
$ mkdir geant4.10.07.p01-install
$ cd geant4.10.07.p01-build/
sudo apt-get install libxerces-c-dev qt4-dev-tools freeglut3-dev libmotif-dev tk-dev cmake libxpm-dev libxmu-dev libxi-dev libqt5opengl5-dev libqt4-dev cmake libx11-dev xorg-dev libglu1-mesa-dev freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev libxmu-dev expat freeglut3 freeglut3-dev mesa-utils
add your favourite options. the Granular libraries are required by the code, for some reason.
cmake -DCMAKE_INSTALL_PREFIX=/home/leverington/software/geant4.10.07.p01-install -DGEANT4_INSTALL_DATA=ON -DGEANT4_BUILD_MULTITHREADED=ON -DGEANT4_USE_OPENGL_X11=ON -DGEANT4_USE_QT=ON -DGEANT4_BUILD_CXXSTD=17 -DGEANT4_USE_FREETYPE=ON -DGEANT4_USE_SYSTEM_CLHEP_GRANULAR=ON ../geant4.10.07.p01
fix any missing software that is might complain is missing
$ make
$ make install
Cern ROOT must also be installed. Compiled with CXX17
currently works with ROOT Version: 6.23/01
$ root-config --features
cxx17 asimage builtin_afterimage builtin_clang builtin_gl2ps builtin_llvm builtin_lz4 builtin_nlohmannjson builtin_openui5 builtin_tbb builtin_vdt builtin_xrootd builtin_xxhash builtin_zstd clad dataframe exceptions fftw3 fitsio gdml http imt mathmore mlp mysql opengl pyroot roofit webgui root7 runtime_cxxmodules shared ssl tmva tmva-cpu tmva-pymva spectrum vdt x11 xml xrootd
cmake -Dpython=ON -Droofit=ON -DCMAKE_INSTALL_PREFIX:PATH=/home/leverington/software/root-install-cxx17 -DCMAKE_CXX_STANDARD=17 ../root
make
make install