sherpa is hosted by Hepforge, IPPP Durham
close Warning: Can't synchronize with repository "(default)" (/hepforge/svn/sherpa does not appear to be a Subversion repository.). Look in the Trac log for more information.

Ticket #119: heavy-isr.patch

File heavy-isr.patch, 1.3 KB (added by Frank Siegert, 13 years ago)
  • PDF/Main/ISR_Handler.C

     
    286286  DEBUG_FUNC("mode = "<<mode);
    287287  if (fl1.Size()>1 || fl2.Size()>1)
    288288    THROW(fatal_error,"Do not try to calculate an ISR weight with containers.");
     289  double x1(0.),x2(0.);
    289290  if (mode) {
    290291    p1[3]=-p1[3];
    291292    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;
    297293    std::swap<Flavour>(fl1,fl2);
    298294    std::swap<Vec4D>(p1,p2);
    299295    std::swap<double>(Q12,Q22);
     
    311307  if (PDF(1) && (Q22<PDF(1)->Q2Min() || Q22>PDF(1)->Q2Max()))
    312308    return 0.;
    313309  MtxLock();
    314   m_mu2[swap]=Q12;
    315   m_mu2[1-swap]=Q22;
     310  m_mu2[mode]=Q12;
     311  m_mu2[1-mode]=Q22;
    316312  switch (m_mode) {
    317313    case 3 :
    318314      if (!p_isrbase[0]->PDF()->Contains(fl1) ||
     
    335331  if (m_mode!=3 || (CheckRemnantKinematics(fl1,x1,0,false) &&
    336332                    CheckRemnantKinematics(fl2,x2,1,false))) {
    337333    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;
    340336    MtxUnLock();
    341337    msg_Debugging()<<"PDF1: "<<rpa.gen.Beam1()<<" -> "<<fl1<<" at ("<<x1
    342338                   <<","<<sqrt(Q12)<<") -> "<<om::bold<<f1<<om::reset<<"\n";