Age | Commit message (Collapse) | Author |
|
After some testing, I realized that the fast_sqrt() function wasn't really
faster than the native sqrt function.
|
|
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.
|
|
Previously I was accidentally passing the absolute position of the particle
instead of the distance to the PMT to get_theta0_min().
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
- apply muon follower and muon cuts to atmospheric sample
- print warnings in red
- fix how events with fmin = nan are counted
|
|
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.
|
|
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
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
This commit updates the cat-grid-jobs script to call zdab-cat on the zdab file
first to get the data cleaning words and SNOMAN fitter results for every single
event (regardless of if it's greater than 100 nhit for example), and then add
the fit results from the grid jobs output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This commit adds the following data cleaning cuts:
- FTS
- OWL trigger
- OWL
- ESUM
|
|
This commit updates the time estimate in nll_best() to take into account the
fact that for PMTs which get hit by a lot of photons the time distribution we
expect is the first order statistic of the overall photon hit time
distribution.
|
|
The first logical record in the SNOCR files don't have an EV bank which was
causing the output file to have an emtpy list element. This commit fixes the
issue by checking for an empty EV bank before printing the list delimiter.
|
|
|