UMN CDMS Wiki archive
start › cdms › k100 › run_summary › run_76 › analysis

Run 76 Analysis Tasks and Status

Main analysis goals

  1. Detector characterization. S104 is a new SiHV prototype and seems to behave differently than the previous one we used, S101. It would of interest to characterize:
    1. Phonon pulse differences with S101: saturation effects (pulse shape variation with amplitude), rise and fall times
    2. Phonon collection efficiency: c/w S101
    3. HV noise characteristics; noise width versus bias
  2. (n,gamma) NR calibration
    1. look for signs of (n,gamma) signal coincident with NaI array
    2. look for R68-style signal in SiHV-triggered data

Run 76 data summary

Analysis planning

  • Tasks on direct path to producing final analysis
    • Data types
      • NaI-triggered coincidence, approx -80 V
        • High NaI trigger window
        • Low NaI trigger window
    • Analysis tasks
  • Side tasks

Analysis task list

Path Task Notes Assignee Status
Main Baseline-correction for PTOF amplitude [KCM] Automating this process in AutoHV1Summary.ipynb. Stopped doing that. KCM/ERT complete
Main Energy calibration using Am lines [KCM] Translation into Python is now available in the repository under c-to-py-translations/Calibration.ipynb. GMB/ERT complete
Side Energy resolution study
Side Spectrum rate checks for energy calibration
Side Write efficiency [KCM] Translation into Python is available in the repository under c-to-py-translations/Write_Efficiency.ipynb. begun
Main Am cut based on phi-position [KCM] First draft of translation into Python is in the repository under c-to-py-translations/Phi-Pos_Am_Cut.ipynb. Doesn't quite align with Matt's results, though. begun
Main Data quality cuts [ERT] Translation into Python is available in the repository under c-to-py-translations/Data_Quality_Cuts.ipynb begun
Main Data stability checks, selection
Side NaI rate calculation
Main NaI/SiHV coincidence timing study and cut [KCM] Translation into Python is complete in the repository under c-to-py-translations/Coincidence_Timing.ipynb begun
Main NaI-coincident spectrum studies
Side SiHV-triggered (n,gamma) search
Side Study of traces/pulses in ROI KCM/?
Other NaI Array Firmware updates Repository here: https://github.com/villano-lab/R76Firmware Need to generate README describing current state. Additional information on using the firmware is available in the docs directory there. Test notebooks available in the plots directory there. KCM begun
Side Cut Summary Will go toward publication draft. [KCM] I have further drafting done that needs to be moved to the linked paper. KCM/ERT begun
Side Phonon Collection Efficiency KCM/ERT begun
Main Getting Raw Pulses in Python In the repository under example_scripts/get_pulses_pyrawio.ipynb. Needs further timing analysis? ANV begun
Main Odd >100 eV pulse ANV

Temporary analysis note

Examples of analysis in Python (Kitty)

Access to files: I have been storing my attempts at converting the analysis to a Jupyter environment in a GitHub repository titled R76Analysis. Any C or ROOT files are likely also available on cdms2. The main example is Tutorial_Replication, which translates the creation of several figures shown in Matt's Tutorials. The code shown in these videos is in r76_analysis_hvcal.c.

Options for loading ROOT files:

  • If you have ROOT installed, you likely already have PyROOT, which is the official implementation. If you are familiar with ROOT already, this is probably the way to go, as it provides Python access to existing ROOT functions.
  • ★ uproot is a PyPI package for loading and writing ROOT files in python. It does not provide the other functions of root, but it does not depend on ROOT and is pure python. This is the implementation I use in my own notebooks.
  • There are other python packages, such as root_numpy, as well, but I have not used them and therefore cannot provide further comment.

Example Conversions: These are locations of examples for converting certain C/ROOT functions that don't have direct parallels in Python. They can be found in the Tutorial_Replication notebook. The notebook attempts to replicate Matt's Tutorials. The code shown in these videos is in r76_analysis_hvcal.c.

  • Chains and Friends: See cell 2. These can be handled by combining them into the same pandas dataframe.
  • Aliases: See cell 4. Aliases can be handled a few ways, but the easiest seems to be to add a column to the dataframe with the alias' name. Unfortunately, this does mean that the “alias” is simply an array and will therefore need to be updated whenever its “inputs” are updated. I find this is not frequently an issue. For an alternate implementation, see cell 5.

Basic Steps: Cells cited are in Tutorial_Replication.

  1. Import data [Cell 2] to one dataframe per series. If managing multiple series, store these dataframes in a list.
  2. Run per-entry calculations [Cell 4] by adding columns to each dataframe for any values you want to calculate in advance.
  3. Generate cuts [Cell 5] similarly to the calculations you just made – either by adding columns to each dataframe or by creating lists. These cuts will be boolean arrays for indexing, where True indicates
  4. Plot [Cell 6] your data while slicing along the cuts to apply them.
  5. Run analysis [Cell 8] on the sliced as you normally would – any fitting or other calculations.

Instructions for getting the singularity container running for work with raw pulses

k100 Simulation presentations (Shubham)

Date Slides Summary
2022-03-24 link Simulation sequence for nuclear recoil in silicon (G4 + nrCascadeSim)
2022-03-31 link (a) Placed 1D neutron particle gun near Si crystal. (b) Shows recoil spectrum in Si & photon energy spectrum in NaI. ( c ) Back of the envelop trigger rate.
2022-04-12 link (a) Placed isotropic neutron source inside Si. (b) Shows recoil spectrum in Si & photon energy spectrum in NaI. . ( c ) Trigger rate recalculation.
2022-05-12 link Event yield with and without boron shield (partial shielding).
2022-06-09 link Event yield with different boron shield configuration with different thicknesses.
2022-06-13 link Event yield and trigger rate with different boron shield configuration with different thicknesses + poly shield.
2022-08-18 link Neutron capture dynamics with and without G4 specific flags and effect on trigger rate.
2022-08-24 link Photon generated from neutron capture in I-127 and comparison with reported values.
2022-09-12 link Check on neutron capture fraction on all isotopes in the lab.
2022-09-22 link Check on neutron capture fraction on all isotopes in the lab.
2022-10-03 link Neutron capture in Fe-56 and Cl-35 + comparison with reported values.
2022-10-17 link Germanium activation test in simulation.
2022-10-27 link (a) NaI trigger rate comparison between data and simulation after removing contributions from different isotopes. (b) Germanium activation test in simulation with different physics lists.
2022-11-17 link (a) Effect of blast sand on NaI spectrum. (b) Ncap cross-section calculation in Ge and comparison with reported values.
2022-12-01 link Effect of blast sand on trigger rate: tile-wise comparison.
2023-01-26 link Effect of blast sand on trigger rate on each tile: with 5B events .
2023-02-22 link A brief summary of k100sim.
2023-04-19 link First look into the effect of MC and still (trigger rate mismatch).
2023-05-03 link Effect on neutron flux after the inclusion of MC and still.
2023-07-12 link Correction for Effect on neutron flux after the inclusion of MC and still + nCap signal simulation using nrCascadeSim.
2023-07-19 link Correction for nCap signal simulation using nrCascadeSim.
2023-08-02 link Flux calculation.
2023-08-09 link Follow-up on flux calculation.
2023-09-07 link nCap signal simulation:NaI low threshold window

Meeting summaries

Meetings on Wednesdays at 2:30 p.m. Central time on Kitty's Zoom.

Date Notes
2023-02-08 Discuss first pass at analysis task list. Discuss R76 data summary. Action items: Kitty will upload links to her Python setup. Matt will look at the new correction and calibration methods and test them on some n-capture data.
2023-02-15 New: example code from Matt for baseline correction and energy calibration; instructions and examples from Kitty for analysis in a Jupyter environment; simulation presentations from Shubham. Todo for Matt: list of series for the baseline correction and energy calibration; Shubham: summarizing our simulations status, what we've learned, and where we're going, and a plan; Kitty: select a small data set for baseline correction and try to automate; Giulia: try to reproduce tutorials.
2023-02-22 New: example code from Matt for baseline correction and energy calibration for a period of NaI-coincident data; lists of NaI-coincident data period for correction&calibration. Simulation summary from Shubham. Next time: continue discussion of simulation starting with last slide. Action items for Matt: continue list of series requiring correction&calibration. Kitty: continue work on automating correction&calibration. Giulia: try baseline correction (and maybe calibration) on some R68-style data (07220929_1629, 07221001_2314) and work with Carson to get him started on analysis.
2023-03-01 New: more organization for correction&calibration for NaI-coincident data - Matt showed an example of uploading results as Root code; Kitty showed initial work on automating baseline correction; discussion with Shubham re further tasks with simulation. Action items: Giulia and Carson to continue setting up for analysis; Kitty to continue automation work, possibly including peak-finding algorithms; Shubham to give Matt list of components in sim containing iron (because sim suggests more iron events than we see in data).
2023-03-08 New: Matt refined cut on integral/OF consistency. TODO SOMEONE to refine the cut on the integral/OF including the “flare;” Matt to check baseline to see if we're over-correcting in that 3-series calibration data shift, make estimates of efficiencies for 25.1 hr data set; SOMEONE look at the basic zero volt calibration, is it the same for all series; Kitty Make a permanent note about this series and show what you did, and then try on another series. Anthony, make predictions for capture rates given the real livetime of the 25.1 hr dataset.
2023-03-15 New: Just went over general updates, Matt working on finding 3He spots in fridge. TODO Matt: should work with Shubham to figure out where the condensed 3He is in the fridge (that can absorb neutrons);Kitty: find the series that need to have the automated calibration applied, for the longer SiHV triggered data check the time lapse plot;
2023-03-22 New: Matt gave dimensions of 3He parts of fridge to Shubham; TODO Anthony will calculate the expected number of captures in ~25 hrs based on Matt's efficiencies WE: 86.4%; Americium Eff:66%; Quality:90%; Total~50%.
2023-03-29 New: Shubham has begun to implement 3He into simulation. Kitty: some data uploaded to OSF. Working on grouping baseline correction data periods. Matt: calculated efficiencies for 25-hour NaI-triggered sample data: am-cut 0.667, write 0.864, baseline 0.432, of/int 0.661, no-pileup: 0.849, coincidence 1.0, TOTAL: 0.140. Anthony predicts this leads to 35 events expected in 24-hour period (not considering losses to boron). TODO Shubham: see effects of 3He in sim; Matt: work on fitted band cut for of/int, consider tasks for Zach e.g. of/int bands, NaI-rate calculations
2023-04-05 New: from Matt, improved OF/integral agreement cut, updated efficiency is 90.0% below 500 eVee. For analysis of 25-hour example data period, total efficiency is 19.0% (this includes Am-removal cut). In a 40-500 eVee interval I found 41 coincident events with 36.64 expected accidental coincidences. My attempt to place a 90%CL upper limit on the number of true coincidences yields 13.6 events. I think Anthony expects 48 events at this efficiency so there is some tension here (again the effect of boton has not been taken into consideration). TODO Matt: start pulling in more stats; Zach:try porting of/int cut code into Python environment.
2023-04-12 New: Matt found that there may be helium films or something coming midway through runs. TODO Matt: will look at the energy spectrum for data that comes in the first half of the 25 hrs; Kitty, will upload groups of series that can be calibrated together from her list, make a new entry in the “Analysis Task List” and put this list and your baseline correction procedure note.
2023-04-19 New: Kitty found about 40 groups of calibration data TODO Anthony: Run Plan for Summer… consider 2D source mover insertion in the middle of summer….and simulations for runs?; Kitty: begin to organize the ~ 40 groups of data so that others can help calibrating them; can start a spreadsheet for calibration parameters.
2023-04-26 New: Guilia has looked at the baseline; Matt: found more idiosyncrasies with data after various baseline shifts; TODO Anthony: still needs to do run plan for summer;
2023-05-03 New: Shubham MC update; TODO Julia & Kitty: working on the baseline correction for series that Kitty identified; Anthony: still needs to do the run plan for the summer;
2023-05-17 New: Kitty is going through and doing baseline calibration; Matt has shown coincident spectrum from the early parts of runs before the he films changed things. TODO Matt: continue creating coincident spectra for the other three -80V periods with the high NaI trigger window; start looking at SiHV-triggered data to further study variations in calibration
2023-05-24 New: Anthony & Kitty showed setup at UMN for developing the firmware–we can develop!; Kitty updated the baseline correction list; Matt showed details of He films gain shifts; TODO
2023-05-31 New: Kitty and Matt did some timing tests on ROOT/Python; Python is slower, we're looking into it (see py_root_timing); TODO
2023-06-07 New: Matt plotted more series for NaI coincidence; TODO
2023-06-14 New: Elliot is getting into some of the baseline calibrations..thanks!Kitty also making progress on the bs correction; TODO
2023-06-21 New: ; TODO
2023-06-28 New: Matt updated the analysis task list (see above); Anthony did a basic coincidence analysis here ; TODO
2023-07-05 New: Matt made an updated coincidence plot, new cuts removed some events; TODO
2023-07-23 New: Shubham: Update on simulations; TODO
2023-07-19 New: Shubham: Update on sims; TODO
2023-07-26 New: Matt shows effect of chisquare cut on our spectrum; TODO
2023-08-09 New: Elliot started looking at the earlier 200V data–looks like slightly worse base resolution and much worse OF resolution near the Am peaks; Shubham has some sim slides; TODO
2023-08-16 New: Shubham a few more slides on the simulation;Matt showed some pulses from near threshold satisfying the cuts; Gulia looking at EventTime in the Python and trying to find that; Elliot: looking at the high-voltage sigma values, found a correlation with voltage. TODO
2023-08-23 New: Anthony mentioned pulse discrepancy wile reading with pyRawIO ; TODO
2023-08-31 New: Anthony figured out the pulse discrepancy and can read python raw pulses; Kitty asked about the NaI dangling signal cable terminations TODO
2023-09-07 New: Matt added some on phonon collection efficiency; Shubham has shown the signal events expected from the G4 silicon capture events; Anthony showed pulses in python along with a spurious event TODO Gulia: get noise widths?
2023-09-14 New: TODO Matt to get RQs for signal region and high-energy timing data, anthony will send a list of RQs; also need PTOFAmps (uncalibrated energies)
2023-09-21 New:Elliot showing updated note TODO
2023-09-27 New: Anthony showed the note that shows how to get the raw pulses to Python–we want to do timing and fitting analysis on those pulses; Guilia ran some series through Matt's suggested analysis; TODO Guilia will continue that second part of task; Anthony & Alya might analyze some pulses for timing, crosstalk, fitting, etc…;
2023-10-05 New:Elliot got some good 0V resolutions; Kitty did great coincident plots for the 22Na involved in upgrading NaI firmware TODO Anthony will come up with paper draft for R76 silicon peaks
2023-10-12 New:Kitty finished with coincidence data on NaI array; Alya is beginning to play with the coincidence pulses at high-energy TODO
2023-10-19 New: TODO
2023-10-26 New:Pulses shown by Alya; talked about DAQ with Himangshu, will try to startup DAQ TODO
2023-11-02 New: Alya's timing stuff; TODO
2023-11-09 New: TODO
2023-12-07 New: TODO
2023-12-14 New: TODO