a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
FlavourWilsonCoefficientMatching.cpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 HEPfit Collaboration
3 *
4 *
5 * For the licensing terms see doc/COPYING.
6 */
7
10#include <stdexcept>
11
13
14 StandardModelMatching(FlavourWilsonCoefficient_i),
15 myFlavourWilsonCoefficient(FlavourWilsonCoefficient_i),
16 myCKM(3, 3, 0.),
17 mcbsg(8, NDR, NNLO),
18 mcprimebsg(8, NDR, NNLO),
19 mcbsmm(8, NDR, NNLO, NLO_QED22),
20 mcbdmm(8, NDR, NNLO, NLO_QED22),
21 mcBMll(13, NDR, NLO),
22 mcprimeBMll(13, NDR, NLO)
23{}
24
26{
28
41
48
50}
51
53{}
54
55std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbsmm()
56{
57 vmcbsmm.clear();
58 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMbsmm().begin(); it != StandardModelMatching::CMbsmm().end(); it++ ) vmcbsmm.push_back(*it);
59
60 switch (mcbsmm.getScheme()) {
61 case NDR:
62
63 break;
64 default:
65 std::stringstream out;
66 out << mcbsmm.getScheme();
67 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbsmm(): scheme " + out.str() + "not implemented");
68 }
69
71
72 switch (mcbsmm.getOrder()) {
73 case NNLO:
74 case NLO:
75 mcbsmm.setCoeff(7, 0., NLO);
76 case LO:
78 break;
79 default:
80 std::stringstream out;
81 out << mcbsmm.getOrder();
82 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbsmm(): order " + out.str() + "not implemented");
83 }
84
85 vmcbsmm.push_back(mcbsmm);
86 return (vmcbsmm);
87}
88
89std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbdmm()
90{
91 vmcbdmm.clear();
92 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMbdmm().begin(); it != StandardModelMatching::CMbdmm().end(); it++ ) vmcbdmm.push_back(*it);
93
94 switch (mcbdmm.getScheme()) {
95 case NDR:
96
97 break;
98 default:
99 std::stringstream out;
100 out << mcbdmm.getScheme();
101 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbdmm(): scheme " + out.str() + "not implemented");
102 }
103
105
106 switch (mcbdmm.getOrder()) {
107 case NNLO:
108 case NLO:
109 mcbdmm.setCoeff(7, 0., NLO);
110 case LO:
111 mcbdmm.setCoeff(7, DC10, LO);
112 break;
113 default:
114 std::stringstream out;
115 out << mcbdmm.getOrder();
116 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbdmm(): order " + out.str() + "not implemented");
117 }
118
119 vmcbdmm.push_back(mcbdmm);
120 return (vmcbdmm);
121}
122
123std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbsg()
124{
125 vmcbsg.clear();
126 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMbsg().begin(); it != StandardModelMatching::CMbsg().end(); it++ ) vmcbsg.push_back(*it);
127
128 switch (mcbsg.getScheme()) {
129 case NDR:
130
131 break;
132 default:
133 std::stringstream out;
134 out << mcbsg.getScheme();
135 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbsg(): scheme " + out.str() + "not implemented");
136 }
137
139
140 switch (mcbsg.getOrder()) {
141 case NNLO:
142 mcbsg.setCoeff(6, 0., NNLO);
143 case NLO:
144 mcbsg.setCoeff(6, 0., NLO);
145 case LO:
146 mcbsg.setCoeff(6, DC7g, LO);
147 break;
148 default:
149 std::stringstream out;
150 out << mcbsg.getOrder();
151 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMbsg(): order " + out.str() + "not implemented");
152 }
153
154 vmcbsg.push_back(mcbsg);
155 return (vmcbsg);
156}
157
158std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMprimebsg()
159{
160 vmcprimebsg.clear();
161 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMprimebsg().begin(); it != StandardModelMatching::CMprimebsg().end(); it++ ) vmcprimebsg.push_back(*it);
162
163 switch (mcprimebsg.getScheme()) {
164 case NDR:
165
166 break;
167 default:
168 std::stringstream out;
169 out << mcprimebsg.getScheme();
170 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMprimebsg(): scheme " + out.str() + "not implemented");
171 }
172
174
175 switch (mcprimebsg.getOrder()) {
176 case NNLO:
177 mcprimebsg.setCoeff(6, 0., NNLO);
178 case NLO:
179 mcprimebsg.setCoeff(6, 0., NLO);
180 case LO:
182 break;
183 default:
184 std::stringstream out;
185 out << mcprimebsg.getOrder();
186 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMprimebsg(): order " + out.str() + "not implemented");
187 }
188
189 vmcprimebsg.push_back(mcprimebsg);
190 return (vmcprimebsg);
191}
192
193std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMBMll(QCD::lepton lepton)
194{
195 vmcBMll.clear();
196 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMBMll(lepton).begin(); it != StandardModelMatching::CMBMll(lepton).end(); it++ ) vmcBMll.push_back(*it);
197
198 switch (mcbsg.getScheme()) {
199 case NDR:
200
201 break;
202 default:
203 std::stringstream out;
204 out << mcBMll.getScheme();
205 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMBMll(): scheme " + out.str() + "not implemented");
206 }
207
209
210 switch (mcBMll.getOrder()) {
211 case NNLO:
212 case NLO:
213 //mcBMll.setCoeff(6, 0., NLO);
214 case LO:
215 mcBMll.setCoeff(6, DC7g, LO);
216 mcBMll.setCoeff(8, DC9, LO);
217 mcBMll.setCoeff(9, DC10, LO);
218 break;
219 default:
220 std::stringstream out;
221 out << mcBMll.getOrder();
222 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMBMll(): order " + out.str() + "not implemented");
223 }
224
225 vmcBMll.push_back(mcBMll);
226 return (vmcBMll);
227}
228
229std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMprimeBMll(QCD::lepton lepton)
230{
231 vmcprimeBMll.clear();
232 for (std::vector<WilsonCoefficient>::const_iterator it = StandardModelMatching::CMprimeBMll(lepton).begin(); it != StandardModelMatching::CMprimeBMll(lepton).end(); it++ ) vmcprimeBMll.push_back(*it);
233
234 switch (mcprimebsg.getScheme()) {
235 case NDR:
236
237 break;
238 default:
239 std::stringstream out;
240 out << mcprimeBMll.getScheme();
241 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMprimeBMll(): scheme " + out.str() + "not implemented");
242 }
243
245
246 switch (mcprimeBMll.getOrder()) {
247 case NNLO:
248 case NLO:
249 //mcprimeBMll.setCoeff(6, 0., NLO);
250 case LO:
254 break;
255 default:
256 std::stringstream out;
257 out << mcprimeBMll.getOrder();
258 throw std::runtime_error("FlavourWilsonCoefficientMatching::CMprimeBMll(): order " + out.str() + "not implemented");
259 }
260
261 vmcprimeBMll.push_back(mcprimeBMll);
262 return (vmcprimeBMll);
263}
@ NNLO
Definition: OrderScheme.h:36
@ LO
Definition: OrderScheme.h:34
@ NLO
Definition: OrderScheme.h:35
@ NDR
Definition: OrderScheme.h:21
@ NLO_QED22
Definition: OrderScheme.h:63
Model for NP contributions to flavour through shifts to Standard Model Wilson coefficients.
gslpp::complex getDC7() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC7gp() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC7g() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC8() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC9p() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC2() const
A getter for the complex Wilson coefficient .
double getWCscale() const
A getter for the scale of the Wilson coefficients.
gslpp::complex getDC8gp() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC1() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC7p() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC8g() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC3() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC5() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC8p() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC4() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC10() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC9() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC6() const
A getter for the complex Wilson coefficient .
gslpp::complex getDC10p() const
A getter for the complex Wilson coefficient .
gslpp::complex DC7gp
the modification Wilson Coefficient .
gslpp::complex DC8p
the modification Wilson Coefficient .
void updateFlavourWilsonCoefficientParameters()
Updates to new FlavourWilsonCoefficient parameter sets.
const FlavourWilsonCoefficient & myFlavourWilsonCoefficient
An object of the FlavourWilsonCoefficient class.
std::vector< WilsonCoefficient > & CMbsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
std::vector< WilsonCoefficient > & CMbsmm()
Wilson coefficient for .
gslpp::matrix< gslpp::complex > myCKM
The CKM matrix.
gslpp::complex DC1
the modification Wilson Coefficient .
std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
gslpp::complex DC6
the modification Wilson Coefficient .
std::vector< WilsonCoefficient > & CMprimebsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
gslpp::complex DC10p
the modification Wilson Coefficient .
virtual ~FlavourWilsonCoefficientMatching()
FlavourWilsonCoefficientMatching destructor.
gslpp::complex DC9
the modification Wilson Coefficient .
gslpp::complex DC3
the modification Wilson Coefficient .
gslpp::complex DC2
the modification Wilson Coefficient .
std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
std::vector< WilsonCoefficient > & CMbdmm()
Wilson coefficient for .
gslpp::complex DC9p
the modification Wilson Coefficient .
gslpp::complex DC10
the modification Wilson Coefficient .
gslpp::complex DC7
the modification Wilson Coefficient .
gslpp::complex DC7g
the modification Wilson Coefficient .
FlavourWilsonCoefficientMatching(const FlavourWilsonCoefficient &FlavourWilsonCoefficient_i)
FlavourWilsonCoefficient constructor.
gslpp::complex DC8g
the modification Wilson Coefficient .
gslpp::complex DC7p
the modification Wilson Coefficient .
std::vector< WilsonCoefficient > vmcprimebsg
std::vector< WilsonCoefficient > vmcprimeBMll
gslpp::complex DC8
the modification Wilson Coefficient .
gslpp::complex DC4
the modification Wilson Coefficient .
gslpp::complex DC8gp
the modification Wilson Coefficient .
gslpp::complex DC5
the modification Wilson Coefficient .
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
virtual std::vector< WilsonCoefficient > & CMprimebsg()=0
virtual std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)=0
virtual std::vector< WilsonCoefficient > & CMbsg()=0
lepton
An enum type for leptons.
Definition: QCD.h:310
const gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
A class for the matching in the Standard Model.
void updateSMParameters()
Updates to new Standard Model parameter sets.
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
schemes getScheme() const
virtual void setMu(double mu)
orders getOrder() const