The DMG4 package is intended for the simulation of Dark Matter production in the electron, positron and muon beams. ALP particles production by gamma can be also simulated, usually gammas are secondary particles produced in the above mentioned beams.
-
Subdirectory /src - package codes /DMG4 - DMG4 package codes /DarkMatter - DarkMatter package codes /UtilsDM - utility routines
-
Subdirectory /include - headers, the DMG4 headers are in a separate subdirectory /DMG4
-
Subdirectory DATA contains examples of files needed by Geant4 when some extension is used.
-
Subdirectory /examples contains examples of package configuration and of turning on the extension in a Geant4 application
-
Subdirectory /modules_cmake_standalone contains files to be used by CMake when CERN AFS is unavailable
-
configure - CMake helper script (wrapper)
-
runconfigure - example of using the configure script
I. Preparation
- If you want to use your own compiler setup, find corresponding Geant4 and GSL packages
- Alternatively, install Geant4 yourself
II. Compilation of the library
- On the CERN lxplus cluster it is possible to use the lcg setup scripts, for example on CERN default lxplus source /cvmfs/sft.cern.ch/lcg/views/setupViews.csh LCG_104 x86_64-el9-gcc12-opt (use the first commented out line in the script runconfigure_lcg* for information) If you run this command with only one argument, you will see the list of availble platforms
- Configure cmake if needed
- For NA64 users: this is a tested release, should be compatible with precompiled Geant4 described in the NA64 package "simulation" In this case in the NA64 package "simulation" simply use the corresponding script runconfigure_lcg* or modify it to use your precompiled Geant4.
- Alternatively, manual configuration: configure the compiler, choose a script runconfigure* or edit script runconfigure* to use packages chosen by you.
- Run script runconfigure* (runconfigure_lcg* for the lcg setup) chosen by you it or run the configure script manually (./configure --help for help). Note that the scripts runconfigure* create the file config.txt that can be used later when examples are compiled
- make
- make install
III. Compilation of internal examples and user applications
-
examples/DarkMatterCS/example1
is a test of DarkMatter subpackage only. Run script runconfigure, then make. The executable is mkgeant4. -
examples/Geant4/example1
is an example of building a Geant4 application. Run script runconfigure, then make. The executable is mkgeant4. - For your Geant4 application: compile it together with 3 libraries that are put in the subdirectory /lib when "make install" is executed
Example of Dark Matter physics inclusion can be found in
examples/Geant4/example1/mkgeant4.cc
denoted by "extension" part" Example of DarkMatterPhysicsConfigure.cc to simulate ALP is inexamples/Geant4/example3
- The DM mass and the threshold are to be set set in the file
DarkMatterPhysicsConfigure.cc
. You should tuneBiasSigmaFactor0
inDarkMatterPhysicsConfigure.cc
. In simulation, the cross section is biased by the factor BiasSigmaFactor. It is always equal toBiasSigmaFactor0
for the invisible mode (simulation performed for the benchmark epsilon). In the visible mode simulation BiasSigmaFactor is automatically scaled if epsilon is different from , so that the average number of DM per event is the same. The printed out Normalization is simply 1/BiasSigmaFactor.
Additional information is available in the wiki page. Keep an eye on the releases page to stay up to date with the latest DMG4 version.
In case of issues, don't hesitate to reach out to Mikhail Kirsanov ([email protected]).