@@ -195,16 +195,21 @@ def _pht_xq2map(kin_info):
195195
196196def _dijets_xq2map (kin_info ):
197197 # Here we can have either ystar or ymax or ydiff, but in either case we need to do the same
198- ylab_1 = kin_info .get_one_of (_Vars .ystar , _Vars .ydiff , _Vars .ymax , _Vars .eta_1 , _Vars .abs_eta_1 )
199- ylab_2 = kin_info .get_one_of (_Vars .ystar , _Vars .ydiff , _Vars .ymax , _Vars .eta_2 , _Vars .abs_eta_2 )
200- # Similarly, there may be m_jj or pTavg but we proceed in the same way
201- mlab_jj = kin_info .get_one_of (_Vars .m_jj , _Vars .pTavg )
202- # Then compute x, Q2
203- ratio = mlab_jj / kin_info [_Vars .sqrts ]
204- x1 = ratio * np .exp (ylab_1 )
205- x2 = ratio * np .exp (- ylab_2 )
198+ if _Vars .m_jj in kin_info ._kins :
199+ ylab_1 = kin_info .get_one_of (_Vars .ystar , _Vars .ydiff , _Vars .ymax , _Vars .eta_1 , _Vars .abs_eta_1 )
200+ ylab_2 = kin_info .get_one_of (_Vars .ystar , _Vars .ydiff , _Vars .ymax , _Vars .eta_2 , _Vars .abs_eta_2 )
201+ ratio = kin_info [_Vars .m_jj ] / kin_info [_Vars .sqrts ]
202+ x1 = ratio * np .exp (ylab_1 )
203+ x2 = ratio * np .exp (- ylab_2 )
204+ q2 = kin_info [_Vars .m_jj ] * kin_info [_Vars .m_jj ]
205+ elif _Vars .pTavg in kin_info ._kins :
206+ m_jjlab = 2 * kin_info [_Vars .pTavg ] * np .cosh (kin_info [_Vars .ystar ])
207+ ratio = m_jjlab / kin_info [_Vars .sqrts ]
208+ yblab = kin_info [_Vars .yb ]
209+ x1 = ratio * np .exp (yblab )
210+ x2 = ratio * np .exp (- yblab )
211+ q2 = m_jjlab * m_jjlab
206212 x = np .concatenate ((x1 , x2 ))
207- q2 = mlab_jj * mlab_jj
208213 return np .clip (x , a_min = None , a_max = 1 , out = x ), np .concatenate ((q2 , q2 ))
209214
210215
0 commit comments