LGAD simulation: gain

Dear @andrea_visibile ,

thank you for your message. My first question would be, which Allpix version you are using. We did a few changes in the multiplication implementation in the past weeks, as a part of our version 3.0 release last week.

You are not the first to report gain values that are too low in comparison to measurement or other simulation, see e.g. Issues regarding the multiplication model - #25 by cferrero . We still do not know why that is the case, but first let me try to answer your questions. They will refer to the latest implementation of impact ionization that also comes with v3.0.

  • timestep parameter: The only dependency of the multiplication on the timestep should arise from variations of the electric field within individual steps. Hence, it makes sense to adapt the timestep parameter such, that the (spatial) step size is low enough to properly sample the implant region. You can easily get access to the spatial step size by switching on the DEBUG output for the TransientPropagation module (better do that for a single event only) as it prints out the step size. If you e.g. have a 1 um gain layer, you might want to go below 100 nm steps, which of course means that the timestep is rather small and the simulation time rather high. We have a few ideas on intermediate solutions to this dilemma (like a sub-sampling of the gain per step), but haven’t implemented this due to time constraints on our side. Please feel free to contribute if you have an idea on how to improve this.
  • To our experience, a level of 5 - 10 is a good setting for low-gain detectors, as this requires hole multiplication and typically the hole multiplication probability is comparatively low. To be sure, I would advise you to probe it by comparing the gain for a few different values, but my feeling is that the impact is low. We implemented this rather to prevent infinite multiplication loops, as we currently do not have any mechanisms that would introduce a quenching of such a behaviour.
  • The drawback is of course the precision of your simulation. In plain words, with more groups (less carriers per group) you increase statistics on stochastic processes (multiplication, diffusion). The way your simulation is set up (max_step_length=1um in deposition and charge_per_step=1000 in propagation, all charge carriers (roughly 80 per step) of one G4 step will be propagated together. Hence, if you e.g. have a particle traversing the sensor perpendicularly, you get in total 100 groups (50 e groups + 50 h groups) being propagated. To get representative results I would advise to reduce the charge_per_step, and in a 50 um thick sensor probably also the max_step_length parameter. One hint: what you will e.g. see in the pulsegraphs of the PulseTransfer module is that there is a strong oscillation in the beginning of the signal, which arises from this strong quantisation. This might be an interesting marker to look at.
  • As I do not know the layout of your sensor, this is honestly hard to tell. Did you verify that the beam particles don’t hit the sensor outside the gain layer? How deeply buried is the gain layer in your geometry? Could this be charge carriers that actually do not propagate through the gain layer?
  • One more thing I noticed in your configuration file: if you are using v3.0 or the latest master branch, the parameter multiplication_probability_based is not used anymore, as we dropped the non-stochastic approach.

All the above will help to make the simulation more physical. However, despite the change in version, I don’t expect a drastic influence on the gain. However, we would be grateful for feedback on this once you tuned the simulation a bit. As a short note on simulation vs expectations: we verified the mechanism by applying a constant gain in a geometrically precisely defined gain layer and the results matched the theoretical expectation well. Hence, we’re currently uncertain about what causes the discrepancy between simulation and measurement.

Best regards
Paul