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 
55 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbsmm()
56 {
57  vmcbsmm.clear();
58  for (std::vector<WilsonCoefficient>::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:
77  mcbsmm.setCoeff(7, DC10, 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 
89 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbdmm()
90 {
91  vmcbdmm.clear();
92  for (std::vector<WilsonCoefficient>::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 
123 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMbsg()
124 {
125  vmcbsg.clear();
126  for (std::vector<WilsonCoefficient>::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 
158 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMprimebsg()
159 {
160  vmcprimebsg.clear();
161  for (std::vector<WilsonCoefficient>::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 
193 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMBMll(QCD::lepton lepton)
194 {
195  vmcBMll.clear();
196  for (std::vector<WilsonCoefficient>::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 
229 std::vector<WilsonCoefficient>& FlavourWilsonCoefficientMatching::CMprimeBMll(QCD::lepton lepton)
230 {
231  vmcprimeBMll.clear();
232  for (std::vector<WilsonCoefficient>::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 }
FlavourWilsonCoefficientMatching::vmcbdmm
std::vector< WilsonCoefficient > vmcbdmm
Definition: FlavourWilsonCoefficientMatching.h:117
FlavourWilsonCoefficient::getWCscale
double getWCscale() const
A getter for the scale of the Wilson coefficients.
Definition: FlavourWilsonCoefficient.h:339
FlavourWilsonCoefficientMatching::mcprimebsg
WilsonCoefficient mcprimebsg
Definition: FlavourWilsonCoefficientMatching.h:111
FlavourWilsonCoefficient::getDC10
gslpp::complex getDC10() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:258
ModelMatching::CMprimeBMll
virtual std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)=0
FlavourWilsonCoefficientMatching::CMbsmm
std::vector< WilsonCoefficient > & CMbsmm()
Wilson coefficient for .
Definition: FlavourWilsonCoefficientMatching.cpp:55
FlavourWilsonCoefficientMatching::vmcbsmm
std::vector< WilsonCoefficient > vmcbsmm
Definition: FlavourWilsonCoefficientMatching.h:116
FlavourWilsonCoefficientMatching::CMbsg
std::vector< WilsonCoefficient > & CMbsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
Definition: FlavourWilsonCoefficientMatching.cpp:123
FlavourWilsonCoefficientMatching::CMprimebsg
std::vector< WilsonCoefficient > & CMprimebsg()
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
Definition: FlavourWilsonCoefficientMatching.cpp:158
FlavourWilsonCoefficientMatching::DC3
gslpp::complex DC3
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:93
FlavourWilsonCoefficientMatching::DC8g
gslpp::complex DC8g
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:102
FlavourWilsonCoefficient::getDC2
gslpp::complex getDC2() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:186
FlavourWilsonCoefficientMatching::DC10p
gslpp::complex DC10p
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:107
FlavourWilsonCoefficientMatching::updateFlavourWilsonCoefficientParameters
void updateFlavourWilsonCoefficientParameters()
Updates to new FlavourWilsonCoefficient parameter sets.
Definition: FlavourWilsonCoefficientMatching.cpp:25
LO
Definition: OrderScheme.h:33
FlavourWilsonCoefficientMatching::mcbsg
WilsonCoefficient mcbsg
Definition: FlavourWilsonCoefficientMatching.h:111
FlavourWilsonCoefficient::getDC10p
gslpp::complex getDC10p() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:312
FlavourWilsonCoefficientMatching::DC6
gslpp::complex DC6
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:96
NDR
Definition: OrderScheme.h:21
ModelMatching::CMbsg
virtual std::vector< WilsonCoefficient > & CMbsg()=0
FlavourWilsonCoefficientMatching::DC9p
gslpp::complex DC9p
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:106
FlavourWilsonCoefficientMatching::DC2
gslpp::complex DC2
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:92
FlavourWilsonCoefficientMatching::~FlavourWilsonCoefficientMatching
virtual ~FlavourWilsonCoefficientMatching()
FlavourWilsonCoefficientMatching destructor.
Definition: FlavourWilsonCoefficientMatching.cpp:52
FlavourWilsonCoefficientMatching::vmcprimeBMll
std::vector< WilsonCoefficient > vmcprimeBMll
Definition: FlavourWilsonCoefficientMatching.h:118
FlavourWilsonCoefficient::getDC8p
gslpp::complex getDC8p() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:294
WilsonTemplate::getScheme
schemes getScheme() const
Definition: WilsonTemplate.h:98
FlavourWilsonCoefficientMatching::vmcBMll
std::vector< WilsonCoefficient > vmcBMll
Definition: FlavourWilsonCoefficientMatching.h:118
FlavourWilsonCoefficient::getDC7p
gslpp::complex getDC7p() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:285
FlavourWilsonCoefficientMatching::DC5
gslpp::complex DC5
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:95
FlavourWilsonCoefficient::getDC9
gslpp::complex getDC9() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:249
FlavourWilsonCoefficient::getDC9p
gslpp::complex getDC9p() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:303
FlavourWilsonCoefficientMatching::myFlavourWilsonCoefficient
const FlavourWilsonCoefficient & myFlavourWilsonCoefficient
An object of the FlavourWilsonCoefficient class.
Definition: FlavourWilsonCoefficientMatching.h:89
FlavourWilsonCoefficient::getDC7gp
gslpp::complex getDC7gp() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:321
FlavourWilsonCoefficientMatching::CMprimeBMll
std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
Definition: FlavourWilsonCoefficientMatching.cpp:229
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
FlavourWilsonCoefficientMatching::mcbdmm
WilsonCoefficient mcbdmm
Definition: FlavourWilsonCoefficientMatching.h:113
StandardModelMatching
A class for the matching in the Standard Model.
Definition: StandardModelMatching.h:26
WilsonCoefficient::setCoeff
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
Definition: WilsonCoefficient.h:34
FlavourWilsonCoefficient::getDC3
gslpp::complex getDC3() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:195
FlavourWilsonCoefficientMatching::mcbsmm
WilsonCoefficient mcbsmm
Definition: FlavourWilsonCoefficientMatching.h:112
FlavourWilsonCoefficientMatching::DC7gp
gslpp::complex DC7gp
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:108
FlavourWilsonCoefficientMatching::DC7g
gslpp::complex DC7g
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:101
FlavourWilsonCoefficientMatching::myCKM
gslpp::matrix< gslpp::complex > myCKM
The CKM matrix.
Definition: FlavourWilsonCoefficientMatching.h:90
ModelMatching::CMBMll
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
FlavourWilsonCoefficient::getDC7g
gslpp::complex getDC7g() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:267
FlavourWilsonCoefficientMatching::CMBMll
std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)
operator basis: current current; qcd penguins; magnetic and chromomagnetic penguins; semileptonic
Definition: FlavourWilsonCoefficientMatching.cpp:193
FlavourWilsonCoefficient::getDC6
gslpp::complex getDC6() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:222
FlavourWilsonCoefficientMatching::DC10
gslpp::complex DC10
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:100
FlavourWilsonCoefficient::getDC8g
gslpp::complex getDC8g() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:276
FlavourWilsonCoefficient::getDC7
gslpp::complex getDC7() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:231
NNLO
Definition: OrderScheme.h:35
FlavourWilsonCoefficientMatching::mcBMll
WilsonCoefficient mcBMll
Definition: FlavourWilsonCoefficientMatching.h:114
FlavourWilsonCoefficientMatching::FlavourWilsonCoefficientMatching
FlavourWilsonCoefficientMatching(const FlavourWilsonCoefficient &FlavourWilsonCoefficient_i)
FlavourWilsonCoefficient constructor.
Definition: FlavourWilsonCoefficientMatching.cpp:12
NLO_QED22
Definition: OrderScheme.h:55
WilsonTemplate::setMu
virtual void setMu(double mu)
Definition: WilsonTemplate.h:92
StandardModel::getVCKM
gslpp::matrix< gslpp::complex > getVCKM() const
A get method to retrieve the CKM matrix.
Definition: StandardModel.h:867
FlavourWilsonCoefficientMatching::vmcbsg
std::vector< WilsonCoefficient > vmcbsg
Definition: FlavourWilsonCoefficientMatching.h:115
FlavourWilsonCoefficientMatching::CMbdmm
std::vector< WilsonCoefficient > & CMbdmm()
Wilson coefficient for .
Definition: FlavourWilsonCoefficientMatching.cpp:89
FlavourWilsonCoefficientMatching.h
StandardModelMatching::updateSMParameters
void updateSMParameters()
Updates to new Standard Model parameter sets.
Definition: StandardModelMatching.cpp:105
ModelMatching::CMprimebsg
virtual std::vector< WilsonCoefficient > & CMprimebsg()=0
FlavourWilsonCoefficient::getDC8
gslpp::complex getDC8() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:240
FlavourWilsonCoefficientMatching::DC4
gslpp::complex DC4
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:94
FlavourWilsonCoefficientMatching::DC9
gslpp::complex DC9
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:99
FlavourWilsonCoefficient::getDC1
gslpp::complex getDC1() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:178
FlavourWilsonCoefficientMatching::mcprimeBMll
WilsonCoefficient mcprimeBMll
Definition: FlavourWilsonCoefficientMatching.h:114
FlavourWilsonCoefficientMatching::vmcprimebsg
std::vector< WilsonCoefficient > vmcprimebsg
Definition: FlavourWilsonCoefficientMatching.h:115
FlavourWilsonCoefficientMatching::DC8gp
gslpp::complex DC8gp
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:109
FlavourWilsonCoefficient::getDC5
gslpp::complex getDC5() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:213
FlavourWilsonCoefficientMatching::DC8p
gslpp::complex DC8p
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:105
FlavourWilsonCoefficientMatching::DC8
gslpp::complex DC8
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:98
FlavourWilsonCoefficient::getDC8gp
gslpp::complex getDC8gp() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:330
NLO
Definition: OrderScheme.h:34
FlavourWilsonCoefficient.h
FlavourWilsonCoefficient::getDC4
gslpp::complex getDC4() const
A getter for the complex Wilson coefficient .
Definition: FlavourWilsonCoefficient.h:204
FlavourWilsonCoefficientMatching::DC7
gslpp::complex DC7
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:97
FlavourWilsonCoefficientMatching::DC1
gslpp::complex DC1
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:91
FlavourWilsonCoefficient
Model for NP contributions to flavour through shifts to Standard Model Wilson coefficients.
Definition: FlavourWilsonCoefficient.h:94
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310
FlavourWilsonCoefficientMatching::DC7p
gslpp::complex DC7p
the modification Wilson Coefficient .
Definition: FlavourWilsonCoefficientMatching.h:104