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

Adding a NV plugin (hitlet simulator) #292

Merged
merged 128 commits into from
Feb 13, 2025
Merged

Adding a NV plugin (hitlet simulator) #292

merged 128 commits into from
Feb 13, 2025

Conversation

pietrodigangi
Copy link

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?

Can you briefly describe how it works?

Can you give a minimal working example (or illustrate with a figure)?

Please include the following if applicable:

  • Update the docstring(s)
  • Bump plugin version(s)
  • Update the documentation
  • Tests to check the (new) code is working as desired.
  • Does it solve one of the GitHub open issues?

HenningSE and others added 30 commits January 24, 2024 16:22
* Remove unused WFSim functions

* Refactor pmt_transit_time_spread

* Keep only photons with positive photon_gain

---------

Co-authored-by: Diego Ramírez García <[email protected]>
* Add pytest GitHub action

* Minor debug

* Use poetry

* Not really poetry

* Add straxen in dependencies

* Add scikit-learn to pyproject.toml

* Also update a bit of .gitignore

* Install nestpy 2.0.1 following XENONnT/montecarlo_environment#8

* Try https://stackoverflow.com/a/77575403/16515081

* Change directory

* Update actions version

* Debug for nestpy installation

* Use numpy.testing to test arrays with different length

* Minor change of a warning

* Combine warnings

* Add tearDown to remove temp folder after each test function

* Use root file provided in XENONnT/private_nt_aux_files#299

* Patch secret file like straxen

* Add create_readonly_utilix_config.sh

* Check the downloaded file

* Debug

* Add timeout, copied from 47bc007

* Add timeout_decorator
* Add fuseBasePlugin and fuseBaseDownChunkingPlugin

* update volume and merger plugins

* Update microphysics plugins

* update detectorphysics plugins

* update waveform building plugins

* loosen save_when for Volume and Merger Plugins

* Try to set the nestpy random seed in compute function

* Set a timeout for the tests

* Increase timeout for deterministic seed tests

* Longer timeout

* Use CamelCase for base plugins

* Bugfix

* Disable st.make in tests for secondary plugin output

* Increase timeout for fullchain tests

* Lock and Unlock the nestpy random seed

* remove unnecessary setup functions

* multi class inheritance for FuseBaseDownChunkingPlugin

* remove duplicate code

* Bump version: 0.2.5 → 0.3.0

---------

Co-authored-by: dachengx <[email protected]>
* Add timeout for the action
* Shorten timelimit to 15min
Co-authored-by: Diego Ramírez García <[email protected]>
* Small update to the readme
* Minor update
* Development status alpha

---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Binomial process for CIV

* Remove Pandas from _find_cluster()
* Update README with pypi badge

* Create python_publish.yml


---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Update README for release

* Update README.md

* Update HISTORY.md for the release

* Bump version: 0.3.1 → 1.0.0

---------

Co-authored-by: ramirezdiego <[email protected]>
* Simplify the pytest and coveralls to shorten the time usage

* Run only coveralls
* Minor fixes

* Minor improvements for code style & performance

* Remove useless comments

* bump plugin versions

---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Update documentation so it can be displayed at readthedocs

* Update plugin versions as the dtype was changed

---------

Co-authored-by: Diego Ramírez García <[email protected]>
* Update testing batch

* Docs badge

* Fix link of testing badge

* Add again test_plugin_versions_in_doc.py

Using @dachengx's trick to solve the testing issues

* S2PhotonPropagation plugin update

* Update MicrophysicsSummary.rst

* Rename MicrophysicsSummary.rst to MicroPhysicsSummary.rst

* Update s1_photon_propagation version

* Bufix

---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Update dtype of ChunkCsvInput

* Add test for csv input

---------

Co-authored-by: Diego Ramírez García <[email protected]>
* Save electric field as float16 instead of int64

* Change electric field dtype to float32

* Change missing dtypes

---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Fix csv timing

* fix cm->mm add comments

---------

Co-authored-by: KaraMelih <[email protected]>
* no rechunking for microphysics summary

* remove nan field values
* Increase size of string fields in geant4_interactions

---------

Co-authored-by: Diego Ramírez García <[email protected]>
Prevent empty instructions to lock NEST random seed
* Raise error when corrections_version is missing

* remove unnecessary parentheses

* bugfix

---------

Co-authored-by: Diego Ramírez García <[email protected]>
* Correctly sort photons into pulses

* Propagate cluster number up to propagated photons

* Avoid 0 as cluster id.

* Add contributing_clusters to PMTResponseAndDAQ output

* Add truth output to PMTResponseAndDAQ

* Add draft for PeakTruth plugin

* code cleanup

* Save number of S1 S2 and AP photons

* Update PeakTruth plugin

* Add example notebook

* Add SurvivingClusters plugin

* Extend the example notebook and some bugfixing

* Sort cluster_ids and cluster_photons by number of photons

* Add average observed position to PeakTruth

* Update example notebook

* Add draft for EventTruth plugin

* Register truth plugins in the context

* Make cluster ids unique for a whole run of data

* Remove duplicate config args

* We can not use the fuse base plugin right now. Fix timeout and rechunk

* Reduce propagated_s2_photons_file_size_target to 200 MB

* Add event truth to example notebook.

* Add draft for cluster tagging plugin

* Squashed commit of the following:

commit 388945d
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 11:28:54 2024 -0600

    Update example notebook

commit 0587859
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 11:28:45 2024 -0600

    Bugfixing

commit b74c7a3
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 11:28:33 2024 -0600

    revert PMTResponseAndDAQ changes

commit 8cf3586
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 11:02:42 2024 -0600

    Refactor EventTruth

commit 45d816a
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 10:57:39 2024 -0600

    Refactor SurvivingClusters

commit f656ae7
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 10:42:16 2024 -0600

    Refactor ClusterTagging

commit de29c75
Author: Henning Schulze Eißing <[email protected]>
Date:   Tue Feb 13 07:49:45 2024 -0600

    Refactor peak and records truth

* rename get_cluster_information to _get_cluster_information

* loop s1 s2 ap in PeakTruth

* update plugin versions

* Update figures

* Update S2PhotonPropagation.rst

* Update S1PhotonPropagation.rst

* clean outputs of example notebook

* Add changes from delayed_electrons PR

* Update secondary_scintillation.py

* Add cluster_id

* Fix bug in s2 photon timing

* fix typo in example notebook

* add cluster_id to markdown cell

---------

Co-authored-by: Dacheng Xu <[email protected]>
Co-authored-by: mhliu0001 <[email protected]>
Co-authored-by: Diego Ramírez García <[email protected]>
* Proposed changes for interpolation methods

* Bug fix

* Add missing interpolation method for S2PhotonPropagationSimple
* Add pre-commit configuration

* Proposal to use pre-commit for continuous integration

* Add commit hash to .git-blame-ignore-revs

* Bug fix for inverse_field_distortion_correction
Co-authored-by: Henning Schulze Eißing <[email protected]>
dachengx and others added 28 commits August 2, 2024 18:48
updates:
- [github.com/psf/black: 24.4.2 → 24.8.0](psf/black@24.4.2...24.8.0)
- [github.com/pre-commit/mirrors-mypy: v1.11.0 → v1.11.1](pre-commit/mirrors-mypy@v1.11.0...v1.11.1)
- [github.com/pycqa/flake8: 7.1.0 → 7.1.1](PyCQA/flake8@7.1.0...7.1.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates:
- [github.com/pre-commit/mirrors-mypy: v1.11.1 → v1.11.2](pre-commit/mirrors-mypy@v1.11.1...v1.11.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates:
- [github.com/pycqa/doc8: v1.1.1 → v1.1.2](PyCQA/doc8@v1.1.1...v1.1.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* add option to turn off recombination fluctuation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove urlconfig duplicate

* do not create electrons in betayields if creates2 is false

* only use custom yield above 10kev

* use getquanta with beta yields

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* line too long

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* plugin version bump

* plugin version bump

* sorry was testing version changes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add nest free parameters and option to fix yields

* do not break photoabsorbtion clusters

* if gamma phot, give gamma - no matter what creaproc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix none default option

* bug fix

* add ERYieldsParameters and move fix gamma to nestyields

* typo fix

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* avoid infinite logging and remove unnecessary check

* do not mess with option

* readd default none

* error with new default

* avoid negative field due to nest nice feature

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cleanup betayields

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix lineage algo - RadioactiveDecayBase (#254)

* add classification via secondaries

* remove prints

* make more gammas...

* v24

* v25

* v26

* v27

* v28

* v28

* v29

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove njit

* cleanup

* change logic for alpha and resolve comments pr

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unnecessary beta classification

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* dietrofront conversion electrons

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* add only beta and ic options

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Remove legacy BetaYields plugin

* Better variable name for y

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henning Schulze Eißing <[email protected]>
Co-authored-by: Diego Ramírez García <[email protected]>
* Take yield and width parameters from config file

* Density from config

* Add a workaround for yield parameters in vectorized function
* faster lineage

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Update HISTORY.md

* Bump version: 1.3.0 → 1.4.0
* Make sure CDF goes to 1 smoothly

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add Dummy Map protocol

* Add example how to use the dummy map

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Edit DummyMap docstrings

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Diego Ramírez García <[email protected]>
* Update HISTORY.md

* Bump version: 1.4.0 → 1.4.1
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](pre-commit/pre-commit-hooks@v4.6.0...v5.0.0)
- [github.com/psf/black: 24.8.0 → 24.10.0](psf/black@24.8.0...24.10.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henning Schulze Eißing <[email protected]>
* import mongodownloader from utilix

* add utilix dependency

* Upgrade utilix

---------

Co-authored-by: dachengx <[email protected]>
* Remove WFSim connection

* Remove test
* Draft for processing override

* Set logging to info when setting up the context

* Add alt fields and extend the docstring.

---------

Co-authored-by: Diego Ramírez García <[email protected]>
* Push HISTORY for the release

* Bump version: 1.4.1 → 1.4.2
* Use master for docformatter

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
updates:
- [github.com/pre-commit/mirrors-mypy: v1.11.2 → v1.13.0](pre-commit/mirrors-mypy@v1.11.2...v1.13.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henning Schulze Eißing <[email protected]>
* Update HISTORY.md

* Bump version: 1.4.2 → 1.4.3
* Be compatible with straxen >= 3

* Record `corrections_run_id`

* Record `simulation_config_file`

* Add padding of chunks in lineage

* Constraint strax(en) versions

* Need straxen 3.0.1 for common_config to exist

---------

Co-authored-by: Henning Schulze Eißing <[email protected]>
* Remove CMT URLs

* Drop python 3.9

* Back to 3.10

* Enlarge timeout tolerance

* Constraint timeout

* Further constraint timeout

* Have to enlarge timeout
* Update HISTORY.md

* Bump version: 1.4.3 → 1.4.4
@HenningSE HenningSE merged commit aabe102 into nv_plugins Feb 13, 2025
4 of 7 checks passed
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

Successfully merging this pull request may close these issues.