Oj1ddlZddlZddlZddlZejddlm Z m Z dZ dZ dZ dZd dZdZd Zejd Zejd Zdefd ZdS)N)dp_to_TopNumProbreset_collision_dp ?ct|tur|g}tj|ddtjf|d|kddk}tdt|D]P}|tj|ddtjf|||kdzdk}Qtj |j |}tj |}|S)Nraxis) typelistaksumnpnewaxisdeltaRrangelen local_indexmask drop_none)fjsjsdR_min overlappedijet_index_passeds 7/data/spatop/billy_eval/SPAtop/src/analysis/resolved.pyget_unoverlapped_jet_indexr!s Cyye111bj=)00Q886AKKKaOJ 1c#hh  aa"&AAArzM):)A)A#a&)I)IF)RY["\"\"\\_`` ~b)). {;|$455 c0t|}tj|d}||z}tjtj|dd}dt ||D} || } || } || } | t k} | t k}| t k}| |z|z}| j|}tj |}| j|}tj |}| j|}tj |}|||fS)Nr c(g|]\}}|d|SN).0idx_eN_es r z)sel_pred_FRt_by_dp_ap..&s$FFFzucuTcT{FFFr") rrargmaxflipargsortzip N_AK4_JETSrrr)dpsapsb_psq1_psq2_ps TopNumProbTopNumps idx_descendidx_selb_ps_sel q1_ps_sel q2_ps_sel b_ak4_filter q1_ak4_filter q2_ak4_filterfilter b_ps_passed q1_ps_passed q2_ps_passeds r sel_pred_FRt_by_dp_aprEs!#&&J Yz + + +F sB'"*Rb111;;;KFFSf-E-EFFFGG}HgIgIj(L *M *M M )M 9F-'K,{++K>&)L< --L>&)L< --L  l 22r"cZ|j|}tj|}|j|}tj|}|j|}tj|}|j|} tj| } |j|} tj| } |||| | fSr&)rrr) b_tsq1_tsq2_tsFRt_pts FRt_overlap FRt_masks b_ts_selectedq1_ts_selectedq2_ts_selectedFRt_selected_ptsFRt_overlap_passeds r sel_target_FRt_by_maskrR>sIi(ML//MZ *N\.11NZ *N\.11N|I.|$455$))4&899 ..:JL^ ^^r"c t||||||||| D]\ } } } } }}}}}| t| | | D]c\}}}||vr ||vr||vrd}nd}d}d}d}||||z||zj}tt| |||D]6\}\}}}}t |||ft |||fkrd}|}|}7| | || || || || || || || || e| | S)Nrr r$)r/ begin_listpt enumeratesetappendend_list) rBrCrDrMrNrOr goodJetIdxFBt_overlap_selectedbuilderb_ps_eq1_ps_eq2_ps_eb_ts_eq1_ts_eq2_ts_ejets_e goodJetIdx_e FBt_overlap_eb_pq1_pq2_poverlapcorrect has_t_FBtFBt predFRt_ptrb_tq1_tq2_t FBt_overlaps r gen_pred_FRt_LUTrrUsdg\<~~ J,dd%%_&'7FLR_ "67G<<  OCt|##$,*>*>T\EYEYGIC +t 4vd|CGJ5>s67T[]j?k?k5l5l  11Ct[T4())S#tT1B-C-CCCG +IC    NN7 # # # NN: & & & NN7 # # # NN9 % % % NN3    NN3    NN4 NN4        Nr"c (t||||||||D]\} } } } } }}}|t| | |||D]\}}}}}d}|}t| | | D].\}}}t|||ft|||fkrd}/||||||||||S)Nrr )r/rTrWrXrY)rBrCrDrMrNrOrJr[r\r]r^r_r`rarb FRt_pts_erernrorpFRt_ptrq retrievedcan_boost_recorfrgrhs r gen_target_FRt_LUTrxsWY\\<~~%YYT&'7I} 47R[]j4k4k   0CtV[I(N#&vw#@#@ " "T4T4())S#tT1B-C-CCC !I    NN9 % % % NN6 " " " NN> * * *        Nr"c d|ddvrMtj|ddd}tj|ddd}nvdtjtj|dddz}dtjtj|dddz}tj|dd|ddfd }t j|}tj|ddd}tj|ddd}tj|dd|ddfd } t j| } | } d |dvrtj|dd d} tj|dd d} tj| dd| ddfd } t j| } | | z} d |dvrtj|dd d}tj|dd d}tj|dd|ddfd }t j|}| |z} d|dvrtj|ddd}tj|ddd}tj|dd|ddfd }t j|}| |z} t jt j|  t} tj|ddd}tj|ddd}tj|ddd}tj|ddd}tj|ddd}tj|ddd}tj|dd|ddfd }t j|}tj|dd|ddfd }t j|}tj|dd|ddfd }t j|}tj|ddd}tj|ddd}tj|ddd}tj|ddd} tj|ddd}!tj|ddd}"tj|dd|ddfd }#t j|#}#tj|dd| ddfd }$t j|$}$tj|!dd|"ddfd }%t j|%}% tj|ddd}&tj|ddd}'tj|ddd}(tj|ddd})n2#tj|ddd d}&tj|ddd d}'tj|ddd d}(tj|ddd d})|dkr@tj |&tj|ddd|k d}&tj |'tj|ddd|k d}'tj |(tj|ddd|k d}(tj |)tj|ddd|k d})YnxYwtj|&dd|'ddfd }*tj|(dd|)ddfd }+t|*|+}*tj|ddd},tj|ddd}-tj|ddd}.tj|ddd}/t j |,|-|.|/dd}0t||||| | \}1}2}3}4}5t|*|+|#|$|%\}6}7}8|t j|0}9nt#||0d !}9t%|6|7|8|1|2|3|0|9|5t j }:t+|6|7|8|1|2|3|4|5t j };|:|;|9fS)"NrUTARGETSFRt1FRt2dMASKr$r r FBt1FBt2SRqqt1SRqqt2SRbqt1SRbqt2bq1q2detection_probabilityassignment_probabilityfloatrchi2INPUTSJetsetaphimass)rUrrr Momentum4D) with_namer)r)keysrarray ones_like concatenatereshaperArrayto_numpyastyper logical_andrr/rRrErr!rr ArrayBuildersnapshotrx)<testfilepredfilefjs_recochi2_cutFRt1_ptFRt2_ptrJ FRt1_mask FRt2_maskrLrK FBt1_mask FBt2_mask FBt_masks SRqqt1_mask SRqqt2_mask SRqqt_masks SRbqt1_mask SRbqt2_mask SRbqt_masksb_FRt1_tb_FRt2_t q1_FRt1_t q1_FRt2_t q2_FRt1_t q2_FRt2_trGrHrIb_FRt1_pb_FRt2_p q1_FRt1_p q1_FRt2_p q2_FRt1_p q2_FRt2_pr3r4r5dp_FRt1dp_FRt2ap_FRt1ap_FRt2r1r2j_ptj_etaj_phij_massrrMrNrOrPoverlap_selected b_ps_selectedq1_ps_selectedq2_ps_selectedrZLUT_pred LUT_targets< r parse_resolved_w_targetrs  x "6*//1111(8I.v6t<==(8I.v6t<== RXhy.A&.I&.Q%R%RSSS RXhy.A&.I&.Q%R%RSSSngoob!44goob!6L6LMTUVVVGhwG),V4V<==I),V4V<==I 1 1"a 8 8):K:KBPQ:R:RSZ[\\\I##IK )$))++++HXi08@AA HXi08@AA NI$5$5b!$<$O>OPRTU>V>V#W^_``` HY'' !I- 8I&++----hx 28   "a ("2"22q"9"9:   D 8D>>D N   2q ! !9#4#4R#;#;<1   E HUOOE N   2q ! !9#4#4R#;#;<1   E HUOOEx+F3C899Hx+F3C899H),V4T:;;I),V4T:;;I),V4T:;;I),V4T:;;I >   "a ("2"22q"9"9:   D 8D>>D N   2q ! !9#4#4R#;#;<1   E HUOOE N   2q ! !9#4#4R#;#;<1   E HUOOE(8I.v67NOPP(8I.v67NOPP(8I.v67OPQQ(8I.v67OPQQ(8I.v6v>??FFwOO(8I.v6v>??FFwOO(8I.v6v>??FFwOO(8I.v6v>??FFwOO q==n(9"5f"=f"EFFQfWoo n(9"5f"=f"EFFQfWoo  n(9"5f"=f"EFFQfWoo n(9"5f"=f"EFFQfWoo  .'//"a00'//"a2H2HIPQ R R RC .'//"a00'//"a2H2HIPQ R R RC S# & &C 8HX&v.t4 5 5D HXh'/6 7 7E HXh'/6 7 7E Xhx(08 9 9F       BYo eUG[)YYUM>>3CEU5J#sTXZ_af4g4g1M>>^B'' /"SIII  ~~~~ J   hjj  $~~~~   hjj  Z ++sBb88H-k')r)awkwardrnumbanbnumpyrvectorregister_awkwardsrc.analysis.utilsrrr0 N_AK8_JETSN_TOPSRESOLVED_CHI2_CUTr!rErRnjitrrrxrr'r"r rs CCCCCCCC       333B___... .l J-u,u,u,u,u,u,r"