Hello Geant4 developers,
I am using Geant4 for the background model of low threshold dark matter detectors. I recently upgraded from the old v10.5.0 to v11.3.1 and I am observing non-physical discretization artifacts in beta spectra that was not present in the old version. I am simulating natural radioactivity (including full decay chains and beta emitters) for a detector background model with sensitivity down to ~0.5 keV. The relevant isotopes include: H-3, Rb-87, K-40 and several beta emitters in U/Th decay chains.
I expect smooth, continuous beta spectra down to nearly zero energy, and this is important for my physics case since these contributions are relevant for low-threshold spectrum interpretation.
In Geant4 11.3.1 I observe clear spectral “steps” at low energy: for H-3: a visible step around ~0.2 keV, for Rb-87: a structure around ~3–4 keV, … Apparently the position of the feature scales with Q-value. These features are not present in Geant4 10.5 using the previous implementation.
Is there a recommended way to obtain a fully continuous beta spectrum sampling in the current radioactive decay framework? I don’t want to downgrade back to v10.5.0 since I understand that many low energy processes have been improved in v11.x.
I also attach the macro used for H3 decay generation and a plot of the beta energy in the two versions v10.5.0 and v11.3.1.
#######
/gps/particle ion
# to be changed with Z and A of the isotope
/gps/ion 1 3 0 0
# define energy (set 0 for radioactive decaying nuclei)
/gps/energy 0. keV
/gps/pos/shape Para
/gps/pos/centre 0. 0. 0. m
/gps/pos/halfx 20. cm
/gps/pos/halfy 20. cm
/gps/pos/halfz 20. cm
#
# to use if there is in the code a Source volume
#
/gps/pos/type Volume
/gps/pos/confine Crystal
#
# Physics: radioactive decay enabled
/run/initialize
/process/had/rdm/thresholdForVeryLongDecayTime 1.0e+60 year
/run/verbose 0
/event/verbose 0
/tracking/verbose 0
/SABRE/outfile Crystal_3H
/random/setSeeds 263675941 398808690
## define number of even
Thank you in advance for your help!
Thanks for the post! We traced this to a change in the radioactive-decay beta-spectrum sampling code, so this appears to be a regression on our side.
I am attaching a candidate patch for Geant4 11.3.1. Could you please apply it on top of 11.3.1 and let us know whether it fixes the issue in your H-3 -Rb-87 test?
Hi,
thank you for yor quick answer! I tested the patch you propose but I’m not sure that really improves the physics description at low energy. My impression is that the beta spectrum is sampled from a fixed grid of 100 points and the first bin is now a linear iterpolation between 0 and the first point in the grid. The discontinuity is now “smoothed” at first order but is still present.
A workaround could be to increase the sampling grid from 100 to 1000 points? But this would just shift the problem at lower energies, right?
I would like to chime in and report that we are seeing the same in CDMS using the Shielding physics list with G4EmStandard_opt4 with Geant4-11.4.2 for all beta emitters. I have attached three examples for Si32, Co60 and Bi210 showing the energy of the emitted electrons. Would you be able to provide a candidate patch for this G4 version in the next iteration? Or would you rather prefer to follow up in bugzilla?
Dmitri followed up with me offline and provided a patch candidate for G4-11.5.beta to test. As shown in the plots below, the beta spectra sampled with the patch don’t show any artificial low-energy discontinuity, but are statistically equivalent to the beta spectra sampled with G4-10.7.4.
Dear Birgit,
many thanks for your answer. It seems to fix the issue.
Unfortunately, I tried to install G4-11.5.beta by compiling the source from GitHub, but I was unable to reproduce your results. I double-checked that the build directory was clean and that I had correctly sourced the setup file, and everything seemed fine. I then tried to perform a direct diff between the tags v10.4.2 and 10.5.0.beta for the following files:
Dmitri sent me the patch candidate via email. Unfortunately, it doesn’t seem possible to attach .patch files here. I had to rename it to .txt to be able to upload it. You need to change the file suffix back to .patch to be able to apply it with git.