Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Neutron energy should not contribute to ionization #154

Open
DanielMDouglas opened this issue Aug 2, 2023 · 9 comments
Open

Neutron energy should not contribute to ionization #154

DanielMDouglas opened this issue Aug 2, 2023 · 9 comments
Assignees

Comments

@DanielMDouglas
Copy link
Contributor

edep-sim passes neutrons with non-zero dE which are then passed to quenching. This dE is entirely non-ionizing, which can be seen by accessing the TG4HitSegment's GetSecondaryDeposit method (this is set in edep-sim here). There is currently no way to distinguish non-ionizing deposits becuase this information is not passed forward by dumpTree.py.

@DanielMDouglas
Copy link
Contributor Author

Secondly, there is ambiguity about the light and charge production from the total and non-ionizing energy deposits. Should the difference in these two (nominally, the "ionizing" energy) also contribute to the excitation that produces light through the non-ionization channel?

@DanielMDouglas
Copy link
Contributor Author

I propose to record the secondary energy deposit from edep-sim in the dumpTree.py stage, and use the difference in these two to calculate the ionizing energy. This ionizing energy is then used to calculate recombination factor and charge yield, while the total energy is still used to calculate light yield. This effectively masks out energy depositions from neutrons, leaving dE's from other particles unchanged.

@DanielMDouglas
Copy link
Contributor Author

These changes are implemented in #155

@YifanC
Copy link
Collaborator

YifanC commented Aug 2, 2023

Thank you Dan for looking into this. The commit is based on the assumption that for most particles total energy is the same as the ionising energy from the edepsim output, except for neutron, which have the total energy as the non-ionising energy (occasionally electrons can have non-zero non-ionising energy as well). Therefore, it prevent neutrons to produce charge but will allow it to produce scintillation light.

Conceptually, we agree that work function is to be applied to the total energy instead of the ionising energy. Given the edepsim/Geant4 output, the change in code may improve the corner cases.

Meanwhile, I want to point out a few open questions before we take actions for the next steps:

  1. What are the definition of total energy, ionising energy, non-ionising energy from edepsim/Geant4?
  2. The understanding of above is based on our observation with neutron, photons, electrons, etc. with limited energy range. What would be the impact in large?
  3. The work function of light (W_PH) is not really applicable for neutral particles like neutrons.
  4. What's the impact of incorrect neutron signals to the analyses?
  5. What about other neutral particles?
  6. Do we have nuclei entering this scene?

@YifanC
Copy link
Collaborator

YifanC commented Aug 4, 2023

  1. Observed non-zero secondary energy for the following particles: pi+, pi-, mu+, proton, lamda, deuteron, neutron, kaon0_long, kaon0_short. This may not be a complete list. For neutral particle, the total energy is equivalent to the secondary energy. For the others, their total energy is greater than the secondary energy.
  2. Observed Kaon0_long and Kaon_short also produce segments with non-zero dE. For those kaons, the total energy and the secondary energy have the same values.
  3. Segments of nuclei can deposit energies. It might be fine to use the same model for nuclei.

@DanielMDouglas
Copy link
Contributor Author

To add to this issue, there is a clear difference in the way that the secondary energy is defined depending upon whether edep-sim is using the NEST or Doke-Birks ionization model. The NEST model seems to define the primary deposit as "total energy" and the secondary as "non-ionizing energy", while the Doke-Birks implementation gives the primary as "total energy" and the secondary as something that looks like "total energy + non-ionizing energy". This is likely a bug in the implementation of the Doke-Birks model. The discussion above and the proposed code change assumes the NEST-like definition.

@sam-fogarty
Copy link
Member

Also here are some questions to think about:

  1. Where do these segments occur spatially? e.g. are the neutron segments along the trajectory of the neutron, or just at the interaction point(s)?
  2. How many segments per neutron or per gamma, etc?

@sam-fogarty
Copy link
Member

Here are some plots showcasing instances of neutron trajectories and neutron segments in a MiniRun4 spill file. All neutron segments on their own produce charge (from TotalEnergyDeposit) below typical charge thresholds (~5-6 ke-), adjusting for recombination with the Birks model. So unless they occur close enough together to produce a single hit, they won't produce hits. (Well in real data, the threshold is not fixed and could be low enough on some channels to produce a hit.)

neutron_segment_charge_deposit
neutron_trajectory_and_segments_50-instances

@sam-fogarty
Copy link
Member

Also, only ~2.7% of the neutron segments contribute to hits. Most of the contributions are <5%, just a handful in one miniRun4 file that have >20%.
neutron_fractional_contribution_to_hits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants