Oj+ddlZddlZddlZddlZejddlm Z m Z dZ dZ dZ d dZdZdZejd Zejd Z d d ZdS)N)dp_to_TopNumProbreset_collision_dp ?ctj|ddtjf||kddk}tj|j|}tj|}|S)Naxisr)aksumnpnewaxisdeltaR local_indexmask drop_none)fjsjsdR_min overlappedjet_index_passeds RHHH1LJ~b)). {;|$455 ct|}tj|d}||z}tjtj|dd}dt ||D}||} ||} | t k} | t k| t tzkz} | | z} | j| }tj |}| j| }tj |}||fS)Nr c(g|]\}}|d|SN).0idx_eN_es r z)sel_pred_SRt_by_dp_ap..s$FFFzucuTcT{FFFr) rrargmaxflipargsortzip N_AK4_JETS N_AK8_JETSrr r)dpsapsq_psqq_ps TopNumProbTopNumps idx_descendidx_selq_ps_sel qq_ps_sel q_ak4_filter qq_ak8_filterfilter q_ps_passed qq_ps_passeds rsel_pred_SRt_by_dp_apr;s!#&&J Yz + + +F sB'"*Rb111;;;KFFSf-E-EFFFGG}HgIj(L*,)zJ?V2WYM M )F-'K,{++K>&)L< --L  $$rc|j|}tj|}|j|}tj|}|j|}tj|}|j|}tj|}||||fSr)rr r) q_tsqq_tsSRt_pts SRt_overlap SRt_masks q_ts_selectedqq_ts_selectedSRt_selected_ptsSRt_overlap_passeds rsel_target_SRt_by_maskrF0sIi(ML//MZ *N\.11N|I.|$455$))4&899 .*: * * *        Nrc tj|dd|dd}tj|dd|dd}tj|dd|ddfd}t j|}tj|dd|dd }tj|dd|dd }tj|dd|ddfd} t j| } tj|dd d } tj|dd d } tj| dd| ddfd} t j| } |d krtj|dd d } tj|ddd }tj| dd|ddfd}t j|}| || zz}n|dkr| | z}nt d|dt jt j|t}tj|dd|d|dkrdnd}tj|dd|d|dkrdnd}tj|dd|d|}tj|dd|d|}tj|dd|ddfd}t j|}tj|dd|ddfd}t j|}tj|dd|d|dkrdnd}tj|dd|d|dkrdnd}tj|dd|d|}tj|dd|d|}tj|dd|ddfd}t j|}tj|dd|ddfd}t j|} tj|dd|dd}tj|dd|dd}tj|dd|dd}tj|dd|dd} n#tj|dd|dd d}tj|dd|dd d}tj|dd|dd d}tj|dd|dd d} YnxYwtj|dd|ddfd}!tj|dd| ddfd}"t|!|"}!tj|ddd}#tj|ddd}$tj|ddd}%tj|ddd}&t j |#|$|%|&dd}'tj|ddd }(tj|ddd!})tj|ddd"}*tj|ddd#}+t j |(|)|*|+dd},t||||| \}-}.}/}0t|!|"||\}1}2|)t j|'}3t j|,}4n$t||'d$%}3t||,d&%}4t!|1|2|-|.|'|3|,|4|0t j }5t'|1|2|-|.|/|0t j}6|,|2t(z }7|5|6|7fS)'NTARGETSSRt1rJt2rrHr MASKFBt1FBt2bqSRqqt1SRqqt2qqzSemi-resolved method 'z$' not implemented, try 'bq' or 'qq'.bqdetection_probabilityassignment_probabilityfloatINPUTSJetsetaphimass)rJrrr Momentum4D) with_name BoostedJetsfj_ptfj_etafj_phifj_massr)rg?)rarray concatenatereshaper Array Exceptionto_numpyastyper~rr(rFr;rrrg ArrayBuildersnapshotrmr))8testfilepredfilemethod fjs_reco_bqqSRt1_ptSRt2_ptr? SRt1_mask SRt2_maskrA FBt1_mask FBt2_mask FBt_masks SRqqt1_mask SRqqt2_mask SRqqt_masksr@q_SRt1_tq_SRt2_t qq_SRt1_t qq_SRt2_tr=r>q_SRt1_pq_SRt2_p qq_SRt1_p qq_SRt2_pr-r.dp_SRt1dp_SRt2ap_SRt1ap_SRt2r+r,j_ptj_etaj_phij_massrrrrrrrBrCrDoverlap_selected q_ps_selectedqq_ps_selectedrOrPLUT_pred LUT_target fjs_reco_xqs8 rparse_semi_resolved_w_targetrs hx *????;DABBGhx *????;DABBGngoob!44goob!6L6LMTUVVVGhwG),_&___=fEFFI),_&___=fEFFI 1 1"a 8 8):K:KBPQ:R:RSZ[\\\I##I ),V4V<==I),V4V<==I 1 1"a 8 8):K:KBPQ:R:RSZ[\\\I##I~~hx 28   "a ("2"22q"9"9:   D 8D>>D N   2q ! !9#4#4R#;#;<1   E HUOOEx+OOOO   "a ("2"22q"9"9:   D 8D>>D N   2q ! !9#4#4R#;#;<1   E HUOOEY(8I.F?@WXYY(8I.F?@WXYY(8I.F?@XYZZ(8I.F?@XYZZY(8I.F?GHHOOPWXX(8I.F?GHHOOPWXX(8I.F?GHHOOPWXX(8I.F?GHHOOPWXX .'//"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       B HXh' 6w? @ @E Xhx(7A B BF Xhx(7A B BFhx)-8CDDG &      CI_ eWk9IIEM>#35E%:#sD%$P$P!M>^B'' s++ / bMMM 2<SQQQ  ~~ J ]  hjj $~~   hjj nz12K Z ,,sB(Y//C6]')rr)awkwardr numbanbnumpyrvectorregister_awkwardsrc.analysis.utilsrrr)r*N_TOPSrr;rFnjitrgrmrr rrrs CCCCCCCC   %%%8 O O O(00 0p Hc-c-c-c-c-c-r