示例#1
0
def isValidEvent(indata, helpers):
    #last_ADMuon_timestamp, last_ShowerMuon_timestamp,
    #last_ADMuon_timestamp2, last_ShowerMuon_timestamp2):
    if not isValidTriggerType(indata.triggerType):
        return (False,
                ['not_adevent', 'trigger: {}'.format(indata.triggerType)])
    reasons = []
    detector = indata.detector
    energy = indata.energy
    is_resid_flasher = flashers.isFlasher_nH_no_resid(
        flashers.fID(indata.fMax, indata.fQuad),
        None,
        indata.f2inch_maxQ,
        indata.detector,
        indata.Q1,
        indata.Q2,
        indata.x,
        indata.y,
        indata.z,
    )
    if is_resid_flasher != 0:
        reasons.append('residual_flasher')
    if not isADEvent_THU(detector, energy):
        reasons.append('not_adevent')
    return (len(reasons) == 0, reasons)
示例#2
0
def load_adevent_buf(buf, indata, loopIndex):
    load_basic_TTree(buf, indata, loopIndex)
    assign_value(buf.fQuad, indata.fQuad)
    assign_value(buf.fMax, indata.fMax)
    assign_value(buf.fPSD_t1, indata.fPSD_t1)
    assign_value(buf.fPSD_t2, indata.fPSD_t2)
    assign_value(buf.f2inch_maxQ, indata.f2inch_maxQ)
    assign_value(buf.x, indata.x)
    assign_value(buf.y, indata.y)
    assign_value(buf.z, indata.z)
    assign_value(buf.fID, flashers.fID(indata.fMax, indata.fQuad))
    assign_value(buf.fPSD, flashers.fPSD(indata.fPSD_t1, indata.fPSD_t2))
示例#3
0
def isADEvent(indata, ads):
    return (indata.detector in ads
            and indata.energy > 0.7
            and int(flashers.isFlasher_nH(flashers.fID(indata.fMax, indata.fQuad),
                None, indata.f2inch_maxQ, indata.detector)) == 0
            and (indata.triggerType & 0x1100) > 0)