aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-26sort particle combo arraytlatorre
2019-08-05update sno_charge to prevent nan when charge is negativetlatorre
This commit updates the charge spectrum initialization to convolve the charge distribution over a wider range to make sure that we have a nonzero probability of observing charges all the way down to qlo. The reason for this is that previously for some negative charges the probability of observing that charge was zero, which was causing the likelihood to return nan.
2019-08-05add ability to specify a particle combo on the command linetlatorre
This commit updates the fit program to accept a particle combo from the command line so you can fit for a single particle combination hypothesis. For example running: $ ./fit ~/zdabs/mu_minus_700_1000.hdf5 -p 2020 would just fit for the 2 electron hypothesis. The reason for adding this ability is that my grid jobs were getting evicted when fitting muons in run 10,000 since it takes 10s of hours to fit for all the particle hypothesis. With this change, and a small update to the submit-grid-jobs script we now submit a single grid job per particle combination hypothesis which should make each grid job run approximately 4 times faster.
2019-07-29use standard PCA time for MCtlatorre
2019-07-29update mc_run_10000_macro.cmd to enable MPCAtlatorre
2019-07-29update run-fit to write output files with suffix hdf5tlatorre
2019-07-29write out the hdf5 file after every fittlatorre
2019-07-29flag PMT charges below qlotlatorre
This commit updates get_event() to flag PMT charges below qlo, which is the minimum charge value that we compute the charge PDFs for. This is to prevent the likelihood from returning nan.
2019-07-29don't need N_ACOS anymoretlatorre
2019-07-29add a faster version of fast_acos()tlatorre
This commit updates fast_acos() to use an algorithm I found here: https://web.archive.org/web/20161223122122/http://http.developer.nvidia.com:80/Cg/acos.html which is faster than using a lookup table.
2019-07-29avoid a division in get_expected_charge()tlatorre
2019-07-29fast_sqrt -> sqrttlatorre
After some testing, I realized that the fast_sqrt() function wasn't really faster than the native sqrt function.
2019-07-29switch to using the multiphoton PCA timetlatorre
This commit updates the likelihood to use the multiphoton PCA time instead of the usual pt time. When looking at the reconstruction of muons in run 10,000 I noticed that the PMT hit times for the PMTs which had really high charge was all over the place. There were PMTs that were very close to each other with hit times differing by ~ 20 ns. I'm still not entirely sure what causes this (is it some hardware issue with the discriminator or is it a problem with the charge walk correction which always assumes a single PE?), but the multiphoton PCA times looked a lot more reasonable. Eventually I need to look into the ptms variable which is the multiphoton PCA transit time RMS.
2019-07-29fix a bug in theta0 min calculationtlatorre
Previously I was accidentally passing the absolute position of the particle instead of the distance to the PMT to get_theta0_min().
2019-07-29ev.gtid -> bev.gtr_idtlatorre
2019-07-16fix bug introduced in ebe2799tlatorre
This commit fixes a bug introduced in a previous commit when I moved all the code to add the run, gtid, etc. to the event object to get_event(). We actually need the run number before then to load the DQXX file for the right run.
2019-07-16don't double count PMT pairs in fts cuttlatorre
2019-07-16update neck tube cut to include time difference changes due to cable changestlatorre
2019-07-16delete some unused #defines and add a comment to the PSUP radiustlatorre
2019-07-16use QLX if QHS is railedtlatorre
2019-07-16multiply rayleigh scattering by 2 to account for the 50% PMT coveragetlatorre
2019-07-16install plot-energytlatorre
2019-07-16install cat-grid-jobs and chmod +x fit-wrappertlatorre
2019-07-15add *.hdf5 to .gitignoretlatorre
2019-07-12don't load DQXX file for run 10000 by defaulttlatorre
2019-07-12don't flag PMT hits based on the uncalibrated QHS for MCtlatorre
2019-07-12set ignore_index=True in pd.concat() since we don't care about the indextlatorre
2019-07-12fix a couple of bugs in plot-energytlatorre
This commit fixes two small bugs in the plotting scripts. First, after the HDF5 commit I wasn't correctly computing the particle ID string which I had been using before which was needed in order to plot things correctly. Second, I realized that the dataframe groupby function first() actually selects the first non-null column from each group! What I really wanted was the first row from each group, so all instances of .first() were updated to .nth(0). See https://stackoverflow.com/questions/20067636/pandas-dataframe-get-first-row-of-each-group.
2019-07-12update cat-grid-jobs to take a directory as an argument instead of filestlatorre
2019-07-11switch from YAML output to HDF5 to speed things uptlatorre
2019-07-08add vertex time field to zdab-cattlatorre
2019-07-05add MCVX time to the YAML filetlatorre
2019-07-04small updates to plot-energytlatorre
- apply muon follower and muon cuts to atmospheric sample - print warnings in red - fix how events with fmin = nan are counted
2019-06-26update plot-energy scripttlatorre
Tidy up the code in the script by creating a function to plot the energy distributions for each particle combo. Also fixed a bug which was causing the neutron follower cut not to be applied.
2019-06-26plot Michel electrons and muons in plot-energytlatorre
This commit is a major update to the plot-energy script. The most significant changes are: - new prompt event selection We now define prompt events as any event >= 100 nhit which is at least 250 ms away from the last 100 nhit event. - add Michel electron event selection. Michel electrons are now selected as any event between 800 ns and 20 microseconds after a muon or prompt event. Additionally they are required to be >= 100 nhit and pass an extra set of data cleaning cuts (compared to the prompt events). - add an atmospheric "sideband" I also updated the script to plot the energy distribution and particle ID for all events that *do* have a neutron follower as a kind of sideband which should contain only atmospheric events. - plot muon energy spectrum and angular distribution
2019-06-25add ability to read gzipped zdab filestlatorre
2019-06-24update plot-energy to apply neutron follower cuttlatorre
2019-06-24add a generator to simulate self destructing dark mattertlatorre
2019-06-24update plot-energy to apply data cleaning cutstlatorre
2019-06-23update how neck events are flaggedtlatorre
This commit updates the is_neck_event() function to include the requirement that 50% of the normal PMTs in the event must have z <= -425.0.
2019-06-23update flasher cuttlatorre
This commit updates the flasher cut to use the median hit time for all hits in the paddle card instead of just the time of the channel with the highest charge.
2019-06-20update zdab-cat to output 50 MHz clock time and trigger typetlatorre
2019-06-20update cat-grid-jobs to use CDumper to speed things uptlatorre
2019-06-20fix cat-grid-jobs againtlatorre
2019-06-20delete print statementtlatorre
2019-06-20update cat-grid-jobs to work with zdab-cattlatorre
2019-06-20update zdab-cat to emit multiple YAML documentstlatorre
This commit updates zdab-cat to output each event as an individual YAML document. The advantage of this is that we can then iterate over these without loading the entire YAML document in submit-grid-jobs which means that we won't use GB of memory on the grid submission node.
2019-06-20update submit-grid-jobs to send stderr to /dev/nulltlatorre
2019-06-20fix empty list at top of YAML output in zdab-cattlatorre
2019-06-19update plot-energy to include ockham factortlatorre