Releases: DUNE/ndlar_39Ar_reco
Releases · DUNE/ndlar_39Ar_reco
v1.1.0-alpha
The main changes:
-
Add script for applying selections to data with external trigger matching (charge_cluster_selections.py)
- Selects only events which have a light trigger, have less than a certain number of hits per charge cluster, and less than a certain number of clusters per event. Current selection defaults are meant to be broad such that we can do further selections later but on a much smaller file.
-
Add script for matching between external triggers and light data processed by ndlar_flow (match_light_to_ext_triggers.py)
- Takes as input a clusters h5 file and a flow processed light h5 file
- Matches between external triggers and light events using PPS timestamp and unix second timestamp
- Saves a file with clusters and light events, with an association between them (note that this file will be relatively large O(GB)).
-
Add input config for module0 MC -> will need to add one for 2x2 and 2x2 MC eventually too
- MC works up to charge_cluster_selections.py, but need to process MC light data with flow in order to check the match_light_to_ext_triggers.py stage
v1.0.0-alpha
Most of the changes to the code in this version are described here:
- Process charge data in a configurable number of chunks, which no longer depends on the occurrence of PPS pulses in the data
- Only one chunk of packets is loaded in memory at once, so this leads to a significant improvement in memory usage and speed. Large input files are no longer an issue, and each processed chunk is added to the hdf5 output file.
- Simplified charge reconstruction:
- No longer move packets that occur after a rollover that belong in the previous rollover: This should be a very minor effect for radiologicals which are point-like
- Various code optimizations
- Remove light data processing and charge-light matching code
ndlar_flow
does a good job at processing the light data from the ND-LAr prototypes, so instead of processing the light data here we pass that job along tondlar_flow
. Right now there are no instructions on runningndlar_flow
and charge-light matching, but these features will be added soon. The plan is to process the light data with flow, but do the charge-light matching here.- Even without light data ready for matching, the code will (optionally) match charge clusters to the LRS external triggers present in the charge data. This provides a t0 for charge clusters, so is quite useful on its own.
- Relocate all the loading of input files to one python file
loading.py
- Relocate all the detector input configurations from individual files to a python class in the main directory (removes
importlib
dependency) - charge
q
saved in theclusters
andhits
datasets now is saved as mV instead of ke-. The reason for this is to remove the reliance on a specific value of gain (which may be incorrect), but also the implementation previously did not account for the gain variation across channels --> this may be changed at some point when we have a better handle on the gain. So for now, the user should choose a value for gain in mV/e- to calculate the actual charge in their analysis. - Eliminate reliance on
pickle
and just take the pixel layout yamls as direct input (rather than pickled dictionaries). - Add some optional benchmarking
- Saving the
hits
dataset is now optional, since the individual hits are not essential for a radiological analysis and they really inflate the output file size (for module-1 an output file went from ~4 GB -> ~1 GB by not saving hits).
v0.2.1-alpha
Add MC input configs
v0.2.0-alpha
Updated to include functionality to process 2x2 MC files, being careful to set TPC offsets.
v0.1.0-alpha
Updated input configuration system by adding many more parameter options inside each input config.
v0.0.0-alpha
Update README.md