IDev = tuple((run, subrun, event))
    vtxid = ev.vtx_id
    IDvtx = tuple((run, subrun, event, vtxid))
    vtxX = ev.vtx_x
    vtxY = ev.vtx_y
    vtxZ = ev.vtx_z

    # These are for passing simple precuts
    length_v = ev.Length_v
    InFiducial = VtxInSimpleFid(vtxX, vtxY, vtxZ)
    NumTracks = len(length_v)
    Num5cmTracks = sum(1 for x in length_v if x > 5)
    NothingRecod = ev.nothingReconstructed
    EdgeDistance = ev.closestWall

    PassSimpleCuts = (InFiducial and NumTracks == 2 and edgeCut(EdgeDistance))
    PassShowerReco = True
    PassSecondShower = True
    FailBoost = False

    vtxPhi_v = ev.vertexPhi
    vtxTheta_v = ev.vertexTheta
    dqdx_v_uncalibrated = ev.Avg_Ion_v
    dqdx_v_calibrated = ev.Avg_Ion_v

    Good3DReco = ev.GoodVertex

    # - Get ssnet and shape analysiss stuff
    sh_foundClusY = [i for i in ev.shower_frac_Y_v]
    sh_foundClusV = [i for i in ev.shower_frac_V_v]
Esempio n. 2
0
    # These are for passing simple precuts
    length_v = ev.Length_v
    InFiducial = VtxInSimpleFid(vtxX, vtxY, vtxZ)
    NumTracks = len(length_v)
    Num5cmTracks = sum(1 for x in length_v if x > 5)
    NothingRecod = ev.nothingReconstructed
    EdgeDistance = ev.closestWall

    passCuts = True
    passShowerReco = True
    passSecShr = True

    if not InFiducial: passCuts = False
    elif (NumTracks != 2 and Num5cmTracks != 2): passCuts = False
    elif edgeCut(EdgeDistance): passCuts = False

    vtxPhi_v = ev.vertexPhi
    vtxTheta_v = ev.vertexTheta

    dqdx_v_uncalibrated = ev.Avg_Ion_v
    dqdx_v_calibrated = ev.Avg_Ion_v

    iondlen_v = ev.IondivLength_v
    Good3DReco = ev.GoodVertex

    EifP_v = ev.E_proton_v
    EifMu_v = ev.E_muon_v

    if NumTracks == 2 and InFiducial:
        lid = int(np.argmin(ev.Avg_Ion_v))