a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
GeneralTHDMMatching.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2017 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #ifndef GENERALTHDMMATCHING_H
9 #define GENERALTHDMMATCHING_H
10 
11  #include <Polylogarithms.h>
12 #include "gslpp.h"
13 #include "StandardModelMatching.h"
14 
15 class GeneralTHDM;
16 
26 public:
27  GeneralTHDMMatching(const GeneralTHDM & GeneralTHDM_i);
28 
33  virtual std::vector<WilsonCoefficient>& CMgminus2mu();
34 
40  virtual double gminus2muLO();
41 
47  virtual double gminus2muNLO();
48 
54  virtual double gminus2muNLOF();
55 
61  virtual double gminus2muNLOB();
62 
68  virtual gslpp::complex negsquareroot(double x);
69 
75  virtual gslpp::complex negpow(double basis, double exp);
76 
83  virtual gslpp::complex neglog(gslpp::complex argument);
84 
85 
91  virtual gslpp::complex TF(double m1, double m2, double m3);
92 
96  virtual std::vector<WilsonCoefficient>& CMdbs2();
97 // virtual std::vector<WilsonCoefficient>& CMdbsp2();
98 
102  virtual std::vector<WilsonCoefficient>& CMbtaunu(QCD::meson meson_i);
103 
104  virtual std::vector<WilsonCoefficient>& CMBMll(QCD::lepton lepton);
105 
106 
110  virtual double C10Bll(double xt, double xHp, gslpp::complex su);
111 
115  virtual gslpp::complex CSboxBll(double xt, double xHp, gslpp::complex su, gslpp::complex sd, gslpp::complex sl);
116 
120  virtual gslpp::complex CPboxBll(double xt, double xHp, gslpp::complex su, gslpp::complex sd, gslpp::complex sl);
121 
125  virtual gslpp::complex CPZUBll(double xt, double xHp, double sW2, gslpp::complex su, gslpp::complex sd);
126 
127 
131  virtual double f1(double xHp, double xt);
132 
133 
137  virtual double f2(double xHp, double xt);
138 
139 
143  virtual double f3(double xHp, double xt);
144 
145 
149  virtual double f4(double xHp, double xt);
150 
151 
155  virtual double f5(double xHp, double xt);
156 
157 
161  virtual double f6(double xHp, double xt);
162 
163 
167  virtual double f7(double xHp, double xt);
168 
169 
173  virtual double f8(double xHp, double xt);
174 
175 
176 
180  virtual double f9(double xHp, double xt);
181 
185  virtual double f10(double xHp, double xt);
186 
187 
191  virtual gslpp::complex g0(double xHp, double xt, gslpp::complex su, gslpp::complex sd);
192 
196  virtual gslpp::complex g1a(double xHp, double xt, gslpp::complex su, gslpp::complex sd);
197 
201  virtual gslpp::complex g2a(double xHp, double xt, gslpp::complex su, gslpp::complex sd);
202 
206  virtual gslpp::complex g3a(double xHp, double xt, gslpp::complex su, gslpp::complex sd);
207 
208 
209  virtual gslpp::complex lambdaHHphi(double lambda3, double Relambda7,double Imlambda7, double Ri1, double Ri2, double Ri3 );
210 
211  virtual gslpp::complex CphiU(double xHp, double xt, double vev, double xphi, double mu, double Ri1, double Ri2, double Ri3, double mHi_2, double lambda3, double Relambda7,double Imlambda7, gslpp::complex su, gslpp::complex sd);
212 
219  virtual std::vector<WilsonCoefficient>& CMbsg() ;
220 
232  gslpp::complex setWCbsg (int i, gslpp::complex sigmau, gslpp::complex sigmad, double mt, double mhp, double mu, orders order);
233 
235  {
236  return PolyLog;
237  }
238 
239  void updateGTHDMParameters();
240 
241 private:
243 
246 
247  double GF, mMU;
249  double mtbsg, mhpbsg, mubsg; // caching
250  gslpp::complex su, sd, sl; // caching
251 
253 };
254 
255 #endif /* GENERALTHDMMATCHING_H */
GeneralTHDMMatching::f10
virtual double f10(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2914
WilsonCoefficient
A class for the Wilson coefficients.
Definition: WilsonCoefficient.h:22
GeneralTHDMMatching::mtbsg
double mtbsg
Definition: GeneralTHDMMatching.h:249
GeneralTHDMMatching::gminus2muLO
virtual double gminus2muLO()
Calculates amplitudes for at one loop from .
Definition: GeneralTHDMMatching.cpp:35
GeneralTHDMMatching::lambdaHHphi
virtual gslpp::complex lambdaHHphi(double lambda3, double Relambda7, double Imlambda7, double Ri1, double Ri2, double Ri3)
Definition: GeneralTHDMMatching.cpp:2960
GeneralTHDMMatching::mMU
double mMU
Definition: GeneralTHDMMatching.h:247
GeneralTHDMMatching::CMbtaunu
virtual std::vector< WilsonCoefficient > & CMbtaunu(QCD::meson meson_i)
Definition: GeneralTHDMMatching.cpp:3106
GeneralTHDMMatching::CPZUBll
virtual gslpp::complex CPZUBll(double xt, double xHp, double sW2, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2795
GeneralTHDMMatching::mubsg
double mubsg
Definition: GeneralTHDMMatching.h:249
GeneralTHDMMatching::CPboxBll
virtual gslpp::complex CPboxBll(double xt, double xHp, gslpp::complex su, gslpp::complex sd, gslpp::complex sl)
Definition: GeneralTHDMMatching.cpp:2784
GeneralTHDMMatching::myCKM
gslpp::matrix< gslpp::complex > myCKM
Definition: GeneralTHDMMatching.h:244
GeneralTHDMMatching::g2a
virtual gslpp::complex g2a(double xHp, double xt, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2941
GeneralTHDMMatching::CMgminus2mu
virtual std::vector< WilsonCoefficient > & CMgminus2mu()
Wilson coefficient for .
Definition: GeneralTHDMMatching.cpp:2629
GeneralTHDMMatching::f7
virtual double f7(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2882
GeneralTHDMMatching::CMBMll
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)
Definition: GeneralTHDMMatching.cpp:2977
GeneralTHDMMatching::f4
virtual double f4(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2850
lambda3
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:428
gslpp.h
GeneralTHDMMatching::PolyLog
const Polylogarithms PolyLog
Definition: GeneralTHDMMatching.h:252
gslpp::complex
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
gslpp::matrix< gslpp::complex >
GeneralTHDMMatching::f1
virtual double f1(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2822
GeneralTHDMMatching::TF
virtual gslpp::complex TF(double m1, double m2, double m3)
Calculates the function of Eq. (68) of 1607.06292.
Definition: GeneralTHDMMatching.cpp:207
GeneralTHDMMatching::CWbsgArrayNLO
gslpp::complex CWbsgArrayNLO[8]
Definition: GeneralTHDMMatching.h:248
GeneralTHDMMatching::mcdbs2
WilsonCoefficient mcdbs2
Definition: GeneralTHDMMatching.h:245
GeneralTHDMMatching::f9
virtual double f9(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2903
GeneralTHDMMatching::su
gslpp::complex su
Definition: GeneralTHDMMatching.h:250
GeneralTHDMMatching::GeneralTHDMMatching
GeneralTHDMMatching(const GeneralTHDM &GeneralTHDM_i)
Definition: GeneralTHDMMatching.cpp:15
GeneralTHDMMatching::gminus2muNLOB
virtual double gminus2muNLOB()
Calculates amplitudes for at approximate two-loop from .
Definition: GeneralTHDMMatching.cpp:493
GeneralTHDMMatching::neglog
virtual gslpp::complex neglog(gslpp::complex argument)
Calculates the log of a negative number.
Definition: GeneralTHDMMatching.cpp:196
GeneralTHDMMatching::mcbtaunu
WilsonCoefficient mcbtaunu
Definition: GeneralTHDMMatching.h:245
GeneralTHDMMatching::gminus2muNLOF
virtual double gminus2muNLOF()
Calculates amplitudes for at approximate two-loop from .
Definition: GeneralTHDMMatching.cpp:272
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
GeneralTHDMMatching::mcgminus2mu
WilsonCoefficient mcgminus2mu
Definition: GeneralTHDMMatching.h:245
GeneralTHDMMatching::CWbsgArrayLO
gslpp::complex CWbsgArrayLO[8]
Definition: GeneralTHDMMatching.h:248
GeneralTHDMMatching::f6
virtual double f6(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2868
GeneralTHDMMatching::getPolyLog
const Polylogarithms getPolyLog() const
Definition: GeneralTHDMMatching.h:234
GeneralTHDMMatching::CMbsg
virtual std::vector< WilsonCoefficient > & CMbsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
Definition: GeneralTHDMMatching.cpp:3137
GeneralTHDMMatching::mhpbsg
double mhpbsg
Definition: GeneralTHDMMatching.h:249
QCD::meson
meson
An enum type for mesons.
Definition: QCD.h:336
GeneralTHDMMatching::f3
virtual double f3(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2840
GeneralTHDMMatching::g3a
virtual gslpp::complex g3a(double xHp, double xt, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2950
GeneralTHDMMatching::gminus2muNLO
virtual double gminus2muNLO()
Calculates amplitudes for at approximate two-loop from .
Definition: GeneralTHDMMatching.cpp:2609
Polylogarithms.h
GeneralTHDM
A class for general Two-Higgs-Doublet models.
Definition: GeneralTHDM.h:463
GeneralTHDMMatching::g1a
virtual gslpp::complex g1a(double xHp, double xt, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2932
GeneralTHDMMatching::setWCbsg
gslpp::complex setWCbsg(int i, gslpp::complex sigmau, gslpp::complex sigmad, double mt, double mhp, double mu, orders order)
Definition: GeneralTHDMMatching.cpp:3187
GeneralTHDMMatching::mcbsg
WilsonCoefficient mcbsg
Definition: GeneralTHDMMatching.h:245
GeneralTHDMMatching::negpow
virtual gslpp::complex negpow(double basis, double exp)
Calculates the power root of a negative number.
Definition: GeneralTHDMMatching.cpp:184
orders
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
StandardModelMatching.h
GeneralTHDMMatching::GF
double GF
Definition: GeneralTHDMMatching.h:247
GeneralTHDMMatching::f5
virtual double f5(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2859
GeneralTHDMMatching::C10Bll
virtual double C10Bll(double xt, double xHp, gslpp::complex su)
Definition: GeneralTHDMMatching.cpp:2767
GeneralTHDMMatching::sl
gslpp::complex sl
Definition: GeneralTHDMMatching.h:250
GeneralTHDMMatching::CSboxBll
virtual gslpp::complex CSboxBll(double xt, double xHp, gslpp::complex su, gslpp::complex sd, gslpp::complex sl)
Definition: GeneralTHDMMatching.cpp:2773
GeneralTHDMMatching::g0
virtual gslpp::complex g0(double xHp, double xt, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2924
GeneralTHDMMatching
Definition: GeneralTHDMMatching.h:25
GeneralTHDMMatching::CWbsgArrayNNLO
gslpp::complex CWbsgArrayNNLO[8]
Definition: GeneralTHDMMatching.h:248
GeneralTHDMMatching::CphiU
virtual gslpp::complex CphiU(double xHp, double xt, double vev, double xphi, double mu, double Ri1, double Ri2, double Ri3, double mHi_2, double lambda3, double Relambda7, double Imlambda7, gslpp::complex su, gslpp::complex sd)
Definition: GeneralTHDMMatching.cpp:2968
GeneralTHDMMatching::f2
virtual double f2(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2832
GeneralTHDMMatching::negsquareroot
virtual gslpp::complex negsquareroot(double x)
Calculates the square root of a negative number.
Definition: GeneralTHDMMatching.cpp:172
gslpp::exp
complex exp(const complex &z)
Definition: gslpp_complex.cpp:333
Polylogarithms
A class for the polylogarithms.
Definition: Polylogarithms.h:24
GeneralTHDMMatching::updateGTHDMParameters
void updateGTHDMParameters()
Definition: GeneralTHDMMatching.cpp:29
GeneralTHDMMatching::f8
virtual double f8(double xHp, double xt)
Definition: GeneralTHDMMatching.cpp:2894
GeneralTHDMMatching::sd
gslpp::complex sd
Definition: GeneralTHDMMatching.h:250
GeneralTHDMMatching::CMdbs2
virtual std::vector< WilsonCoefficient > & CMdbs2()
Definition: GeneralTHDMMatching.cpp:2672
GeneralTHDMMatching::myGTHDM
const GeneralTHDM & myGTHDM
Definition: GeneralTHDMMatching.h:242
GeneralTHDMMatching::mcBMll
WilsonCoefficient mcBMll
Definition: GeneralTHDMMatching.h:245
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
GeneralTHDMMatching::mcbsmm
WilsonCoefficient mcbsmm
Definition: GeneralTHDMMatching.h:245