Age | Commit message (Collapse) | Author |
|
This commit updates the neck cut to increase the number of neck PMT hits even
if the neck PMT hit time isn't calibrated correctly. This is because I was
looking at all muon events which didn't have an NHIT trigger fire and I noticed
the following events:
Run GTID
---- ----
10036 1462054
10040 2270713
10133 1096180
They all appear to be neck events, but the first one in particular has 4 neck
PMTs that got hit. When looking into it I realized that all 4 hits had ept
times of -9999.
several events:
|
|
This commit updates the crate, card, and channel variables in is_slot_early()
to be ints instead of size_ts. The reason is I saw a warning when building with
clang and realized that the abs(card - flasher_card) == 1 check wasn't working
if flasher_card was 1 greater than card because I was using unsigned ints.
|
|
|
|
This commit updates the flasher cut to flag events in which the PMT with the
highest pedestal subtracted QLX charge is 80 counts above the next highest QLX
charge, has at least 4 hits in the same slot, and passes the final check in
the flasher cut (70% of the normal PMT hits must be 50 ns after the high charge
channel and 70% of the normal PMT hits must be at least 12 meters away from the
high charge channel).
This update was motivated by run 20062 GTID 818162. This was a flasher event
but which had only 3 hits in the PC and so passed the previous version of the
cut. This new update was inspired by the SNO QvT cut.
|
|
This commit updates the flasher cut with the following changes:
- no longer require nhit to be less than 1000
- update charge criteria to be that the flasher channel must have a QHS or QHL
1000 counts above the next highest QHS or QHL value in the PC or a QLX value
80 counts above the next highest QLX value
- only check is_slot_early() for missing hits in the PC
These updates were inspired by looking at how to tag flashers in runs 20062 -
20370 which didn't fail the original cut. In particular, the following flashers
were previously not tagged:
Run GTID Comments
--- ---- --------
20062 818162 flasher with only 3 hits in PC
reconstructs at PSUP
ESUMH triggered
20083 120836 high charge missing (in next couple of events)
probably picked wrong flasher PMT ID
20089 454156 nhit > 1000
After this commit the last two are properly tagged.
|
|
This commit updates the QvNHIT cut to not require PMT hits to have a good
calibration to be included in the charge sum. The reason for this is that many
electrical pickup events have lots of hits which are pickup and thus have small
or negative charges. When the charge is low like this the PMT hits get flagged
with the bad calibration bit (I'm not sure if it's because of the PMT charge
walk calibration or what). Therefore, now we include all hit PMTs in the charge
sum if there ECA calibrated QHL value is above -100.
|
|
This commit updates the breakdown cut to flag any event in which less than 70%
of the PMT hits have a good TAC value.
|
|
This commit updates the ITC cut to use the pt1 time which is the ECA + PCA
without charge walk calibration time. The reason is that an event which is
mostly electronics noise may have all low charges which can't be calibrated
with the PCA walk calibration.
|
|
This commit adds a field to the pmt_hit struct called best_uncal_q which
represents the best ECA calibrated charge (in units of QHS counts above
pedestals). This is then used in the muon data cleaning cut.
|
|
|
|
This commit updates the muon cut to require at least 1 OWL hit which has a high
charge and is early relative to nearby normal PMTs. This replaces the previous
cut criteria which required 2 OWL hits to be early relative to the 10%
percentile of all the normal PMT hits.
This new cut should target external muons better although I still need to do
some testing. In the future I'd like to optimize the distance at which PMTs are
considered nearby. Currently I just use 3 meters which seemed like a good value
based on some initial testing.
|
|
|
|
This commit updates is_slot_early() to do the following:
- use median time when checking to see if the time of the PMT hits in the slot
is early relative to nearby PMTs
- return True if the number of nearby PMTs is less than or equal to the number
of hit PMTs in the potential flasher slot
- skip potential cross talk hits when finding the nearby hit PMTs by skipping
hits in the adjacent slots with the same paddle card as the potential flasher
|
|
|
|
This commit updates is_muon() to use the EHS charge for the OWL tubes since
based on looking at the charges for the OWL tubes it looks like the QHS values
are completely random.
|
|
|
|
|
|
|
|
|
|
This commit fixes the FTS cut so that it returns 1 when the event is flagged as
failing the cut. Previously, the function returned the following:
not enough PMT pairs: 0 (fail)
median time > 6.8 ns: 0 (fail)
otherwise: 1 (pass)
This had two issues: the return value wasn't consistent with the rest of the
data cleaning cuts and it should pass if there aren't enough PMT pairs.
Now, I fixed the not enough PMT pairs case and made the return value consistent
with the rest of the data cleaning cuts:
not enough PMT pairs: 0 (pass)
median time > 6.8 ns: 1 (fail)
otherwise: 0 (pass)
|
|
|
|
This commit updates the second requirement of the neck event tag to flag events
in which either 50% of the normal PMT hits are at the bottom of the detector
*or* 50% of the ECA calibrated charge is at the bottom of the detector.
This update was added after testing the cut out on run 10058 which is not in
the golden run list and noticing that there were 4 events which were very
clearly neck events but which didn't get tagged.
|
|
|
|
|
|
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 adds the following data cleaning cuts:
- FTS
- OWL trigger
- OWL
- ESUM
|
|
Also write out the data cleaning word to the YAML file.
|
|
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.
|
|
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
|
|
This commit adds the following data quality cuts used in SNOMAN:
- neck
- qvnhit
- crate isotropy
- junk
Still need to test these.
|
|
|
|
|