File indexing completed on 2025-04-19 09:10:03
0001 #ifndef EXTAMP_BVI_Process_H
0002 #define EXTAMP_BVI_Process_H
0003
0004 #include "EXTAMP/Process.H"
0005
0006 namespace PHASIC {
0007 class Virtual_ME2_Base;
0008 class Color_Correlated_ME2;
0009 class Process_Info;
0010 class KP_Terms;
0011 }
0012
0013 namespace EXTAMP {
0014
0015 class BVI_Process : public Process {
0016
0017 public :
0018
0019 BVI_Process(const PHASIC::Process_Info& pi,
0020 const double& vfrac,
0021 const ATOOLS::subscheme::code& subtraction_type);
0022
0023 ~BVI_Process();
0024
0025 double Partonic(const ATOOLS::Vec4D_Vector&,
0026 ATOOLS::Variations_Mode varmode,
0027 int mode);
0028
0029 void SetNLOMC(PDF::NLOMC_Base *const mc);
0030
0031 private :
0032
0033
0034 ATOOLS::subscheme::code m_subtype;
0035
0036
0037 double m_vfrac;
0038
0039 PHASIC::Virtual_ME2_Base* p_loop_me;
0040 PHASIC::Color_Correlated_ME2* p_corr_me;
0041 PHASIC::KP_Terms* p_kpterms;
0042
0043 double Calc_V(const ATOOLS::Vec4D_Vector& p,
0044 const double& born,
0045 const double& mur) const;
0046
0047 double Calc_I(const ATOOLS::Vec4D_Vector& p,
0048 const double& mur) const;
0049
0050
0051
0052 double Calc_KP(const ATOOLS::Vec4D_Vector& p);
0053 double m_x0, m_x1, m_eta0, m_eta1;
0054
0055
0056 double KPTerms(int mode, double scalefac2=1.0);
0057
0058
0059
0060
0061
0062
0063 std::pair<double,double>
0064 Calc_ScaleDependenceTerms_I(const ATOOLS::Vec4D_Vector& p,
0065 const double& mur) const;
0066 std::pair<double,double>
0067 Calc_ScaleDependenceTerms_V(const ATOOLS::Vec4D_Vector& p,
0068 const double& B,
0069 const double& mur) const;
0070
0071
0072
0073
0074 static double Vi_eps0(const ATOOLS::Flavour& fl,
0075 ATOOLS::subscheme::code subtype);
0076 static double Vi_eps1(const ATOOLS::Flavour& fl);
0077 static double Vi_eps2(const ATOOLS::Flavour& fl);
0078
0079 constexpr static double m_CF = 4./3.;
0080 constexpr static double m_CA = 3.0;
0081 constexpr static double m_TR = 1./2.;
0082 static double m_NF;
0083
0084
0085 double m_beta0;
0086
0087 static double Ti2(const ATOOLS::Flavour& fl);
0088
0089 };
0090
0091 }
0092
0093 #endif