예제 #1
0
bool Hard_Decay_Handler::Decays(const ATOOLS::Flavour& flav)
{
  if (flav.IsHadron()) return false;
  if (flav.Kfcode()==kf_tau && !m_decay_tau) return false;
  if (!flav.IsOn() || flav.IsStable()) return false;
  return true;
}
예제 #2
0
 double GetXPDF(const ATOOLS::Flavour& infl) {
   if (m_x>m_xmax || m_rescale<0.) return 0.;
   if (!(m_x>=0.0 && m_x<=1.0)) {
     PRINT_INFO("PDF called with x="<<m_x);
     return 0.;
   }
   int cteqindex;
   switch (infl.Kfcode()) {
   case kf_gluon: cteqindex=0;                  break;
   case kf_d:     cteqindex=m_anti*int(infl)*2; break;
   case kf_u:     cteqindex=m_anti*int(infl)/2; break;
   default:                cteqindex=m_anti*int(infl);   break;
   }
   if (!m_calculated[5-cteqindex]) {
     m_f[5-cteqindex]=ct10pdf_(cteqindex,m_x,m_Q)*m_x; 
     m_calculated[5-cteqindex]=true;
   }
   return m_rescale*m_f[5-cteqindex];     
 }
예제 #3
0
파일: CF_HV.C 프로젝트: ktf/sherpa
bool CF_HV::AllowSpec(const ATOOLS::Flavour &fl) 
{
  return (fl.Strong()&&fl.Kfcode()>9900000);
}
예제 #4
0
bool PDF_Base::Contains(const ATOOLS::Flavour &a) const
{
  if (m_force_4f && (a.Kfcode()==5 || a.Kfcode()==6))
    return false;
  return m_partons.find(a)!=m_partons.end();
}