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]
# 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))