Ticket #119: heavy-isr.patch
File heavy-isr.patch, 1.3 KB (added by , 14 years ago) |
---|
-
PDF/Main/ISR_Handler.C
286 286 DEBUG_FUNC("mode = "<<mode); 287 287 if (fl1.Size()>1 || fl2.Size()>1) 288 288 THROW(fatal_error,"Do not try to calculate an ISR weight with containers."); 289 double x1(0.),x2(0.); 289 290 if (mode) { 290 291 p1[3]=-p1[3]; 291 292 p2[3]=-p2[3]; 292 }293 int swap(0);294 double x1(0.),x2(0.);295 if (p1[3]<0.0 && p2[3]>0.0) {296 swap=1;297 293 std::swap<Flavour>(fl1,fl2); 298 294 std::swap<Vec4D>(p1,p2); 299 295 std::swap<double>(Q12,Q22); … … 311 307 if (PDF(1) && (Q22<PDF(1)->Q2Min() || Q22>PDF(1)->Q2Max())) 312 308 return 0.; 313 309 MtxLock(); 314 m_mu2[ swap]=Q12;315 m_mu2[1- swap]=Q22;310 m_mu2[mode]=Q12; 311 m_mu2[1-mode]=Q22; 316 312 switch (m_mode) { 317 313 case 3 : 318 314 if (!p_isrbase[0]->PDF()->Contains(fl1) || … … 335 331 if (m_mode!=3 || (CheckRemnantKinematics(fl1,x1,0,false) && 336 332 CheckRemnantKinematics(fl2,x2,1,false))) { 337 333 double f1=p_isrbase[0]->Weight(fl1), f2=p_isrbase[1]->Weight(fl2); 338 m_xf1[ swap]=x1*f1;339 m_xf2[ swap]=x2*f2;334 m_xf1[mode]=x1*f1; 335 m_xf2[mode]=x2*f2; 340 336 MtxUnLock(); 341 337 msg_Debugging()<<"PDF1: "<<rpa.gen.Beam1()<<" -> "<<fl1<<" at ("<<x1 342 338 <<","<<sqrt(Q12)<<") -> "<<om::bold<<f1<<om::reset<<"\n";