Commit 6409e2de authored by Enrico Bothmann's avatar Enrico Bothmann

Move filling of mewgtinfo x1/2 to Single_Process

Before, x1/2 were filled in PS_Handler::OneEvent. However, the rest of
mewgtinfo is filled in Single_Process::Differential (and called methods
therein), so this move simplifies matters a bit.
parent 53af62b2
......@@ -444,7 +444,6 @@ Weight_Info *Phase_Space_Handler::OneEvent(Process_Base *const proc,int mode)
cur->SetMomenta(p_lab);
int fl1(0), fl2(0);
double x1(0.0), x2(0.0), xf1(0.0), xf2(0.0), mu12(0.0), mu22(0.0), dxs(0.0);
ME_Weight_Info* wgtinfo=p_active->Process()->GetMEwgtinfo();
dxs=p_active->Process()->Get<PHASIC::Single_Process>()->LastXS();
fl1=(long int)p_active->Process()->Flavours()[0];
fl2=(long int)p_active->Process()->Flavours()[1];
......@@ -454,10 +453,6 @@ Weight_Info *Phase_Space_Handler::OneEvent(Process_Base *const proc,int mode)
xf2=p_isrhandler->XF2(0);
mu12=p_isrhandler->MuF2(0);
mu22=p_isrhandler->MuF2(1);
if (wgtinfo) {
wgtinfo->m_x1=x1;
wgtinfo->m_x2=x2;
}
return new Weight_Info(value,dxs,1.0,fl1,fl2,x1,x2,xf1,xf2,mu12,mu22);
}
......
......@@ -378,6 +378,8 @@ double Single_Process::Differential(const Vec4D_Vector &p)
m_mewgtinfo.m_oew=MaxOrder(1);
m_mewgtinfo.m_fl1=(int)(Flavours()[0]);
m_mewgtinfo.m_fl2=(int)(Flavours()[1]);
m_mewgtinfo.m_x1=p_int->ISR()->X1();
m_mewgtinfo.m_x2=p_int->ISR()->X2();
p_int->SetMomenta(p);
if (IsMapped()) p_mapproc->Integrator()->SetMomenta(p);
m_lastflux = (m_nin == 1) ? p_int->ISR()->Flux(p[0]) : p_int->ISR()->Flux(p[0],p[1]);
......@@ -510,8 +512,9 @@ ATOOLS::Subevent_Weights_Vector Single_Process::ReweightSubevents(
info.m_orderqcd = m_mewgtinfo.m_oqcd;
info.m_fl1 = m_mewgtinfo.m_fl1;
info.m_fl2 = m_mewgtinfo.m_fl2;
info.m_x1 = p_int->ISR()->X1();
info.m_x2 = p_int->ISR()->X2();
info.m_x1 = m_mewgtinfo.m_x1;
info.m_x2 = m_mewgtinfo.m_x2;
ATOOLS::Subevent_Weights_Vector weights;
for (size_t i(0); i < sevtlist->size(); ++i) {
NLO_subevt *sub((*sevtlist)[i]);
......@@ -547,9 +550,9 @@ double Single_Process::ReweightWithoutSubevents(
info.m_orderqcd = m_mewgtinfo.m_oqcd;
info.m_fl1 = m_mewgtinfo.m_fl1;
info.m_fl2 = m_mewgtinfo.m_fl2;
info.m_x1 = p_int->ISR()->X1();
info.m_x2 = p_int->ISR()->X2();
info.m_fallbackresult = m_last;
info.m_x1 = m_mewgtinfo.m_x1;
info.m_x2 = m_mewgtinfo.m_x2;
info.m_fallbackresult = m_last;
if (nometstype==mewgttype::none) { // non-NLO Born
info.m_wgt = m_mewgtinfo.m_B;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment