aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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-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-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-06-25add ability to read gzipped zdab filestlatorre
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-20fix cat-grid-jobs againtlatorre
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-20fix empty list at top of YAML output in zdab-cattlatorre
2019-06-19add data cleaning word and ftp, ftk, and rsp info to zdab-cat outputtlatorre
2019-06-19add FTP, RSP, and FTK results to the output filetlatorre
2019-06-16fix type of nph in ev banktlatorre
2019-06-16check the KPF_NO_CAL and KPF_BAD_CAL bits in get_event()tlatorre
2019-06-16assume the particle produces no light if it's outside the PSUPtlatorre
2019-06-15update test-find-peaks to work with SNOCR filestlatorre
2019-06-15add a bunch more data cleaning cuts from SNOtlatorre
This commit adds the following data cleaning cuts: - FTS - OWL trigger - OWL - ESUM
2019-06-15update nll_best() so that we don't get negative psi valuestlatorre
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.
2019-06-14fix empty list item at top of YAML filetlatorre
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.
2019-06-14add trigger word and trigger time in ns to the YAML filetlatorre
2019-06-14fix parsing of global trigger time from EV bank (it's stored as a double)tlatorre
2019-06-14set the maximum kinetic energy in the fit dynamically based on particle IDtlatorre
The range and energy loss tables have different maximum values for electrons, muons, and protons so we have to dynamically set the maximum energy of the fit in order to avoid a GSL interpolation error. This commit adds {electron,muon,proton}_get_max_energy() functions to return the maximum energy in the tables and that is then used to set the maximum value in the fit.
2019-06-14add comment about why we assume that SNOMAN gets the PMT types righttlatorre
2019-06-14add a function to compute a data cleaning wordtlatorre
Also write out the data cleaning word to the YAML file.
2019-06-14update flasher cut to use pt1 instead of epttlatorre
Small update to the flasher cut to use the non-walk corrected time instead of just the ECA calibrated time. Also added some comments to the variables in the event structure.
2019-06-14forgot to add event.htlatorre
2019-06-14flag hits with bad or railed chargetlatorre
This commit updates the get_event() function to flag any hits which have a non-zero best charge status word. This essentially gets set when *both* QHS and QLX are either bad or railed. I also set this bit if *just* QHS is railed or below 300 since the current charge model was only set up for QHS. In the future, it would be nice to instead use the best charge (either QHS or QLX) in the likelihood function. To do that I need to double check how QLX is normalized and if the current charge model would work for QLX too.
2019-06-14get rid of gcc warningtlatorre
2019-06-14set the starting energy to MAX_ENERGY if it's greatertlatorre
Also increase the maximum kinetic energy to 10^4 GeV which is approximately the maximum expected energy for cosmic muons at SNO.
2019-06-14add a function to compute the most likely number of PE given an observed chargetlatorre
Also, call this function when computing the psi parameter in nll_best().
2019-06-13add a data cleaning cut to tag incoming muonstlatorre
This commit adds a data cleaning cut to tag incoming muons by looking for early OWL hits. It also significantly updates the flasher cut to catch more flashers. In particular, the flasher cut now does the following: - loops over *all* paddle cards with at least 4 hits instead of just the paddle cards with the most hits - uses QLX to look for charge outliers in the paddle card - fixes a few bugs (for example, uninitialized values in the charge array) - adds a check to to see if the given slot is early with respect to all PMTs within 4 meters to catch the case where the flashing channel is missing from the event
2019-06-10add a bunch of SNO data quality cutstlatorre
This commit adds the following data quality cuts used in SNOMAN: - neck - qvnhit - crate isotropy - junk Still need to test these.
2019-06-10update get_event() to include all PMT typestlatorre
This commit updates get_event() to include OWL, LG, FECD, BUTT, and NECK tubes.
2019-06-06add --gtid command line argument to test-find-peakstlatorre
2019-06-06print out "loading DQXX ..." line to stderrtlatorre
2019-06-06update find_file() to use the environment variable DQXX_DIRtlatorre
2019-06-02fast_sqrt() -> sqrt()tlatorre
No reason to use fast_sqrt() in get_theta0_min() since the argument isn't guaranteed to be between 0 and 1.
2019-06-02add is_flasher field to outputtlatorre
2019-06-02update likelihood function to speed it uptlatorre
This commit makes a few small changes to try and reduce the number of divisions and multiplications done in get_expected_charge() to speed up the likelihood function.