Implementing Energy Smearing for HPGe Detector Simulation in Geant4

_Geant4 Version: geant4-11-02-patch-02 [MT] (21-June-2024)
_Operating System: Ubuntu 64bit
_Compiler/Version:_g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
_CMake Version: 3.22.1

I’m implementing an HPGe detector in Geant4. I’ve already built the detector geometry and generated the energy spectrum. To simulate the detector’s performance, is it appropriate to apply the energy resolution (FWHM) in post-processing like this?

G4double sigma = resolution * sqrt(E_dep);  // example resolution: 0.002 ~ 0.005
G4double smeared_E = G4RandGauss::shoot(E_dep, sigma);

Hi @Jimin_Park,

Yes, that’s correct. The standard form for the energy resolution σσ of a detector is usually:

sigma(E)= sqrt( a + b*E )


where:

  • a accounts for electronic noise, typically only relevant at low energies and often negligible at higher energies
  • bE reflects the statistical fluctuations in the number of charge carriers (electron-hole pairs), which grow with energy. This term dominates at medium to high energies

The parameters a and b are typically extracted by fitting to measured resolution data at known gamma-ray energies.

Best,
Alvaro