Low-energy discontinuities in Geant4 beta decay spectra

Geant4 Version: 11.3.1
Operating System: AlmaLinux 9.4 (Seafoam Ocelot)
Compiler/Version: gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3)
CMake Version: 3.20.1


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 copy here the relevant part of my Physics List:

  RegisterPhysics(new G4DecayPhysics());
  RegisterPhysics(new G4RadioactiveDecayPhysics());
  RegisterPhysics( new G4HadronElasticPhysicsHP(verbose) );
  
  G4HadronPhysicsShielding* hps;
  hps = new G4HadronPhysicsShielding("hInelastic Shielding", verbose, 4.0*GeV, 5.0*GeV);
  

  RegisterPhysics(new G4EmStandardPhysics_option4(verbose));
  RegisterPhysics(new G4EmExtraPhysics());
  
  G4EmParameters* emParameters = G4EmParameters::Instance();
  emParameters->SetFluo(true);
  emParameters->SetPixe(true);
  emParameters->SetAuger(true);

  defaultCutValue = 0.001*mm;

  cutForGamma     = defaultCutValue;
  cutForElectron  = defaultCutValue;
  cutForPositron  = defaultCutValue;

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!

Best,

Giulia

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?

geant4-11.3.1-beta-sloped-sampler.txt (7.1 KB)

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?

Thank you!

Giulia

Hi all,

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?

Thanks,

Birgit

Hi all,

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.

Best regards,

Birgit