How to Properly Implement HPGe Detector Characteristics (Resolution and Efficiency) in Geant4

Please fill out the following information to help in answering your question, and also see tips for posting code snippets. If you don’t provide this information it will take more time to help with your problem!

_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


Hello,

I have implemented the geometry of an HPGe detector in Geant4, and I am already able to measure the deposited energy in the crystal. However, I understand that simply building the geometry does not automatically include the real detector characteristics.

Specifically, I would like to include:

  1. Energy resolution – to smear the deposited energy according to the detector’s resolution.

  2. Intrinsic efficiency of the detector – I have an empirical efficiency curve given by:

y = -12.2967 + 14.5995x - 5.6099x^2 + 0.6672x^3

where x=log⁡(Energy) and y=log⁡(Efficiency)

My questions are:

  • Within Geant4, to which variable or stage should I apply this intrinsic efficiency?
    (e.g., should it be applied to the total deposited energy, after smearing, or at another step?)

  • How is it recommended to combine both energy resolution (smearing) and efficiency filtering without double-counting or misrepresenting the detector response?

  • Are there any additional detector effects that I should also consider for a more realistic simulation?

I would greatly appreciate any guidance, best practices, or references on how to correctly implement these aspects in Geant4.

Thank you very much in advance for your help.

Best regards,

This seems backwards. Why do you need to smear the energy resolution if you already have the ground truth energy deposited? The resolution will be a combination of electronic noise, charge loss/trapping (related to defects in the crystal or applied field or mu-tau), detector capacitance, johnson series noise, etc. None of these things are related to radiation interactions or other physics processes for Geant. If you have your spectra, you are likely “done” with Geant. That output becomes the input to some other simulation, modelling, or finite element code. If you want a “realistic” looking spectra than you just take your detector specific energy resolution and convolve it with your spectrum.

The efficiency likewise is a product of those same effects but is dominated by the physics, which the geant simulation will already give you to first order. One way to do this is to just use a particle gun with a theta/phi bias to cover some solid angle of your detector. Then just count the number of particles (probably gammas here) that deposit their full energy divided by the total number of particles normalized by the solid angle of the “source”.

1 Like

Thank you very much for your clear explanation.

In my case, I see quite a big difference between the experimental spectra measured with the HPGe detector and the deposited energy (or counts) that I get from the Geant4 crystal. Since I am not a specialist in this field, my understanding is that while I built the geometry and included materials and physics processes in Geant4, the specific detector characteristics were not applied, which might be the reason for the difference.

So I was thinking: if I take the Geant4 results and then apply the detector’s intrinsic efficiency (from the manufacturer) together with energy resolution smearing, would that make the simulated spectra look more similar to the experimental data? Or are there other steps I should also consider to get a closer match?

Jimin, I have been developing Geant4 simulations of HPGe for the past few months, and I think I can give you some guidance. First of all, I agree with jrellin comment: “this seems backwards”. The difference you see between simulated and experimental spectra, as jrellin stated, is because, from the simulation, you “only” get the energy deposits. It takes into account the interaction of radiation with the materials you have in your geometry, according to the physics processes you defined in your physics lists.

From there on, regarding energy resolution, if you want to smear the deposited energy to “fit” your experimental data, you can do it inside or outside the simulation (I prefer the latter, for instance using ROOT), by convoluting the spectra from simulation with some function that characterises the detector’s resolution.

Regarding the detector efficiency, that’s what I find odd, the way you’re mentioning it. You see, usually, we use simulations to determine the detector efficiency, and not the other way around. That’s because the detector’s intrinsic efficiency is already “encoded” in the physics lists and the interactions between the radiation and, in this case, the germanium crystal.

How did you get that “empirical efficiency curve”? At most, you could compare the efficiency predicted by the simulation with your own experimental one.

Just to build on @ripires answer, there are several ways to build an efficiency curve. One is to just count the number of gamma rays that interact in the volume at all for various energies. In a simulation or real world experiment you could just record the “count rate” and is fairly easy for both Just record the count rate for the physical system and just record the number of geant4 events where the energy deposited is above some threshold (set approximately equal to the energy threshold in your physical system).

The second way to build these curves is to do the same thing but count the number of events in the photopeak. And there is a difference between simulating this in Geant versus measuring it with a physical system. The reason why the physical system will tend to give lower numbers than the simulation is because the simulation will lack the charge transport, EM fields (from the applied bias), solid state modelling, thermal effects, and electronics noise in the both the detector and readout. Filtering events in the photopeak is an overall metric for both the intrinsic physics + loss effects from any of those other components.

It is very easy but tedious to measure and fit with a physical setup (mostly to get good statistics at a variety of different energies). It is very challenging to do so in simulation. If you want to take a stab at it though, this “book” from Spieler is kind of the starting point.

Thank you both for your detailed and thoughtful replies. They have been very helpful, and I will certainly take them into consideration. The approach I had in mind seems to align more closely with the photopeak method. Before moving further, I realize that I should first develop a clearer understanding of the concept of detector efficiency. I will carefully review the reference material you recommended. Many thanks again to both of you for your kind and valuable guidance.