aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2019-06-02update get_probability() to take sin(theta) as an argumenttlatorre
Since we already calculate sin(theta) in get_expected_charge() there's no reason to calculate it again in get_probability(). This *may* already be optimized out by the compiler.
2019-06-02update likelihood to use fast_sqrt()tlatorre
2019-06-02add a fast sqrt function for values in between 0 and 1tlatorre
2019-06-02update find_peaks() to only return unique peakstlatorre
This commit updates find_peaks() to only return peaks which are at least a certain number of degrees apart from each other. This is because I found that for many events the first few peaks would all be essentially the same direction and so the fit was taking a lot of time fitting essentially the same seed points. Since I now have to only try 3 peaks in order to get my grid jobs to run for less than a few hours it's necessary to make sure we aren't just fitting the same three directions for the "quick" minimization. I also updated the fit to only use a maximum of 3 seed directions.
2019-06-02add a test for fast_acos()tlatorre
2019-05-29update scattering.c to use interp2d() and interp1d() to speed things uptlatorre
2019-05-29add get_avg_index_{d2o,h2o} functionstlatorre