Migdal yield#316
Open
lorenzomag wants to merge 44 commits into
Open
Conversation
For consistency with MigdalYields provided 'quanta' data_type
For consistency with MigdalYields provided 'quanta' data_type
Depends on pre-made pickle file containing initialised Migdal class instance and on an updated config file. To be fetched separately. Both will be in private_nt_aux_files soon.
for more information, see https://pre-commit.ci
Pull Request Test Coverage Report for Build 20132348442Details
💛 - Coveralls |
cfuselli
requested changes
Jul 10, 2025
cfuselli
left a comment
Member
There was a problem hiding this comment.
Hey Lorenzo thanks a lot for this plugin! Looks good to me, I requested a few changes but overall looks all good. Maybe one more thing we should add a test for this plugin?
Removed redundant cluster_id info. This info can be loaded with other plugins. Set detault values of most MigdalYields config values, so as not to modify config files.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Contributor
Author
|
Hey, the plugin is ready for review! I believe that the pre-commit does not appreciate my plugin providing two data types, though... |
Contributor
Author
|
Ok, my fix didn't work. I might have to add typing info to NestYields, unless someone has power over pre-commit 🙃 |
Member
|
Hey @lorenzomag thank youuu! I will have a proper look asap. |
This fixes issues when "migdal_truth" data type is a dependence for other plugins.
for more information, see https://pre-commit.ci
Compute interpolators within MigdalYields itself, instead of relying on external Module by Peter Cox.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Added a new test for MigdalYields with a timeout decorator.
for more information, see https://pre-commit.ci
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Before you submit this PR: make sure to put all XENONnT specific information in a wiki-note as the repo is publicly accessible
What does the code in this PR do / what does it improve?
This code implements the Migdal effect when computing the amount of quanta produced by a nuclear recoil (NR).
Currently, no charge yield suppression is considered.
Can you briefly describe how it works?
The code utilises a pickled class containing interpolators for the probability tables provided by [Peter Cox et al.] (https://petercox.github.io/Migdal/) to compute the probability of producing a Migdal ionisation as a result of a NR.
It also requires additional fields to the simulation config file; these include the mass of the Xe atom, the binding energies for its orbitals, a boolean to force a Migdal event for every NR, which orbitals to consider for the simulation.
These additional files are currently available in this working repository.
Using simple MC techniques, the code determines, for each NR event, if there was a Migdal event, which orbital the ionisation electron is coming from, and its ionisation energy.
This energy and the energy of relaxation X-rays and Auger electrons (which sum up to the binding energy of the electron) are then converted to quanta using NEST β-yield model.
The quanta produced by this ER interaction are then simply added to the ones arising from the corresponding NR. This algorithm will have to be improved to account for charge yield suppression.
Can you give a minimal working example (or illustrate with a figure)?
Please include the following if applicable: