a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
LoopMediatorsMatching.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
9 #include "LoopMediators.h"
10 #include <stdexcept>
11 
13 
14  StandardModelMatching(LoopMediators_i),
15  myLoopMediators(LoopMediators_i),
16  mcbsg(8, NDR, NNLO),
17  mcprimebsg(8, NDR, NNLO),
18  mcBMll(13, NDR, NLO),
19  mcprimeBMll(13, NDR, NLO),
20  mcdbs2(5, NDR, NLO)
21 {}
22 
24 {
25 
26  C1NP = myLoopMediators.getC1();
28  C3NP = myLoopMediators.getC3();
30  C5NP = myLoopMediators.getC5();
31 
33  C2pNP = myLoopMediators.getC2p();
35 
36  C7NP = myLoopMediators.getC7();
38  C9NPmu = myLoopMediators.getC9();
40  CSNPmu = myLoopMediators.getCS();
42 
43  C7pNP = myLoopMediators.getC7p();
45  C9pNPmu = myLoopMediators.getC9p();
47  CSpNPmu = myLoopMediators.getCSp();
49 
50  WCscale = myLoopMediators.getWCscale();
51 
53 }
54 
56 {}
57 
58 
59 std::vector<WilsonCoefficient>& LoopMediatorsMatching::CMbsg()
60 {
61  vmcbsg.clear();
62  for (std::vector<WilsonCoefficient>::iterator it = StandardModelMatching::CMbsg().begin(); it != StandardModelMatching::CMbsg().end(); it++ ) vmcbsg.push_back(*it);
63 
64  switch (mcbsg.getScheme()) {
65  case NDR:
66 
67  break;
68  default:
69  std::stringstream out;
70  out << mcbsg.getScheme();
71  throw std::runtime_error("LoopMediatorsMatching::CMbsg(): scheme " + out.str() + "not implemented");
72  }
73 
75 
76  switch (mcbsg.getOrder()) {
77  case NNLO:
78  mcbsg.setCoeff(6, 0., NNLO);
79  case NLO:
80  mcbsg.setCoeff(6, 0., NLO);
81  case LO:
82  mcbsg.setCoeff(6, C7NP, LO);
83  break;
84  default:
85  std::stringstream out;
86  out << mcbsg.getOrder();
87  throw std::runtime_error("LoopMediatorsMatching::CMbsg(): order " + out.str() + "not implemented");
88  }
89 
90  vmcbsg.push_back(mcbsg);
91  return (vmcbsg);
92 }
93 
94 std::vector<WilsonCoefficient>& LoopMediatorsMatching::CMprimebsg()
95 {
96  vmcprimebsg.clear();
97  for (std::vector<WilsonCoefficient>::iterator it = StandardModelMatching::CMprimebsg().begin(); it != StandardModelMatching::CMprimebsg().end(); it++ ) vmcprimebsg.push_back(*it);
98 
99  switch (mcprimebsg.getScheme()) {
100  case NDR:
101 
102  break;
103  default:
104  std::stringstream out;
105  out << mcprimebsg.getScheme();
106  throw std::runtime_error("LoopMediatorsMatching::CMprimebsg(): scheme " + out.str() + "not implemented");
107  }
108 
110 
111  switch (mcprimebsg.getOrder()) {
112  case NNLO:
113  mcprimebsg.setCoeff(6, 0., NNLO);
114  case NLO:
115  mcprimebsg.setCoeff(6, 0., NLO);
116  case LO:
118  break;
119  default:
120  std::stringstream out;
121  out << mcprimebsg.getOrder();
122  throw std::runtime_error("LoopMediatorsMatching::CMprimebsg(): order " + out.str() + "not implemented");
123  }
124 
125  vmcprimebsg.push_back(mcprimebsg);
126  return (vmcprimebsg);
127 }
128 
129 std::vector<WilsonCoefficient>& LoopMediatorsMatching::CMBMll(QCD::lepton lepton)
130 {
131  vmcBMll.clear();
132  for (std::vector<WilsonCoefficient>::iterator it = StandardModelMatching::CMBMll(lepton).begin(); it != StandardModelMatching::CMBMll(lepton).end(); it++ ) vmcBMll.push_back(*it);
133 
134  switch (mcbsg.getScheme()) {
135  case NDR:
136 
137  break;
138  default:
139  std::stringstream out;
140  out << mcBMll.getScheme();
141  throw std::runtime_error("LoopMediatorsMatching::CMBMll(): scheme " + out.str() + "not implemented");
142  }
143 
145 
146  switch (mcBMll.getOrder()) {
147  case NNLO:
148  case NLO:
149  mcBMll.setCoeff(6, 0., NLO);
150  mcBMll.setCoeff(8, 0., NLO);
151  mcBMll.setCoeff(9, 0., NLO);
152  mcBMll.setCoeff(10, 0., NLO);
153  mcBMll.setCoeff(11, 0., NLO);
154  case LO:
155  mcBMll.setCoeff(6, C7NP, LO);
156  if(lepton == LoopMediators::MU){
157  mcBMll.setCoeff(8, C9NPmu, LO);
158  mcBMll.setCoeff(9, C10NPmu, LO);
159  mcBMll.setCoeff(10, CSNPmu, LO);
160  mcBMll.setCoeff(11, CPNPmu, LO);
161  }
162  break;
163  default:
164  std::stringstream out;
165  out << mcBMll.getOrder();
166  throw std::runtime_error("LoopMediatorsMatching::CMBMll(): order " + out.str() + "not implemented");
167  }
168 
169  vmcBMll.push_back(mcBMll);
170  return (vmcBMll);
171 }
172 
173 std::vector<WilsonCoefficient>& LoopMediatorsMatching::CMprimeBMll(QCD::lepton lepton)
174 {
175  vmcprimeBMll.clear();
176  for (std::vector<WilsonCoefficient>::iterator it = StandardModelMatching::CMprimeBMll(lepton).begin(); it != StandardModelMatching::CMprimeBMll(lepton).end(); it++ ) vmcprimeBMll.push_back(*it);
177 
178  switch (mcprimebsg.getScheme()) {
179  case NDR:
180 
181  break;
182  default:
183  std::stringstream out;
184  out << mcprimeBMll.getScheme();
185  throw std::runtime_error("LoopMediatorsMatching::CMprimeBMll(): scheme " + out.str() + "not implemented");
186  }
187 
189 
190  switch (mcprimeBMll.getOrder()) {
191  case NNLO:
192  case NLO:
193  mcprimeBMll.setCoeff(6, 0., NLO);
194  mcprimeBMll.setCoeff(8, 0., NLO);
195  mcprimeBMll.setCoeff(9, 0., NLO);
196  mcprimeBMll.setCoeff(10, 0., NLO);
197  mcprimeBMll.setCoeff(11, 0., NLO);
198  case LO:
200  if(lepton == LoopMediators::MU){
205  }
206  break;
207  default:
208  std::stringstream out;
209  out << mcprimeBMll.getOrder();
210  throw std::runtime_error("LoopMediatorsMatching::CMprimeBMll(): order " + out.str() + "not implemented");
211  }
212 
213  vmcprimeBMll.push_back(mcprimeBMll);
214  return (vmcprimeBMll);
215 }
216 
217 std::vector<WilsonCoefficient>& LoopMediatorsMatching::CMdbs2()
218 {
219  vmcdbs2.clear();
220  for (std::vector<WilsonCoefficient>::iterator it = StandardModelMatching::CMdbs2().begin(); it != StandardModelMatching::CMdbs2().end(); it++ ) vmcdbs2.push_back(*it);
221 
222  switch (mcdbs2.getScheme()) {
223  case NDR:
224 
225  break;
226  default:
227  std::stringstream out;
228  out << mcdbs2.getScheme();
229  throw std::runtime_error("LoopMediatorsMatching::CMdbs2(): scheme " + out.str() + "not implemented");
230  }
231 
233 
234  /*std::cout << "high scale :" << std::endl;
235  std::cout << "C1 :" << C1NP + C1pNP << std::endl;
236  std::cout << "C2 :" << C2NP + C2pNP << std::endl;
237  std::cout << "C3 :" << C3NP + C3pNP << std::endl;
238  std::cout << "C4 :" << C4NP << std::endl;
239  std::cout << "C5 :" << C5NP << std::endl << std::endl;*/
240 
241  switch (mcdbs2.getOrder()) {
242  case NNLO:
243  case NLO:
244  mcdbs2.setCoeff(0, 0., NLO);
245  mcdbs2.setCoeff(1, 0., NLO);
246  mcdbs2.setCoeff(2, 0., NLO);
247  mcdbs2.setCoeff(3, 0., NLO);
248  mcdbs2.setCoeff(4, 0., NLO);
249  case LO:
250  mcdbs2.setCoeff(0, C1NP + C1pNP, LO);
251  mcdbs2.setCoeff(1, C2NP + C2pNP, LO);
252  mcdbs2.setCoeff(2, C3NP + C3pNP, LO);
253  mcdbs2.setCoeff(3, C4NP, LO);
254  mcdbs2.setCoeff(4, C5NP, LO);
255  break;
256  default:
257  std::stringstream out;
258  out << mcdbs2.getOrder();
259  throw std::runtime_error("LoopMediatorsMatching::CMdbs2(): order " + out.str() + "not implemented");
260  }
261 
262  vmcdbs2.push_back(mcdbs2);
263  return (vmcdbs2);
264 }
265 
LoopMediatorsMatching::vmcBMll
std::vector< WilsonCoefficient > vmcBMll
Definition: LoopMediatorsMatching.h:80
LoopMediators::getC1p
gslpp::complex getC1p() const
Definition: LoopMediators.h:106
LoopMediatorsMatching::mcprimebsg
WilsonCoefficient mcprimebsg
Definition: LoopMediatorsMatching.h:76
LoopMediatorsMatching::C4NP
gslpp::complex C4NP
Definition: LoopMediatorsMatching.h:68
LoopMediatorsMatching::updateLoopMediatorsParameters
void updateLoopMediatorsParameters()
Updates to new FlavourWilsonCoefficient parameter sets.
Definition: LoopMediatorsMatching.cpp:23
ModelMatching::CMprimeBMll
virtual std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)=0
LoopMediators::getCP
gslpp::complex getCP() const
Definition: LoopMediators.h:170
StandardModelMatching::CMdbs2
virtual std::vector< WilsonCoefficient > & CMdbs2()
,
Definition: StandardModelMatching.cpp:1049
LoopMediatorsMatching::CSpNPmu
gslpp::complex CSpNPmu
Definition: LoopMediatorsMatching.h:61
LoopMediatorsMatching::C7NP
gslpp::complex C7NP
Definition: LoopMediatorsMatching.h:51
LoopMediatorsMatching::mcprimeBMll
WilsonCoefficient mcprimeBMll
Definition: LoopMediatorsMatching.h:77
LO
Definition: OrderScheme.h:33
LoopMediatorsMatching::vmcdbs2
std::vector< WilsonCoefficient > vmcdbs2
Definition: LoopMediatorsMatching.h:81
LoopMediatorsMatching::mcBMll
WilsonCoefficient mcBMll
Definition: LoopMediatorsMatching.h:77
NDR
Definition: OrderScheme.h:21
LoopMediatorsMatching::CPpNPmu
gslpp::complex CPpNPmu
Definition: LoopMediatorsMatching.h:63
ModelMatching::CMbsg
virtual std::vector< WilsonCoefficient > & CMbsg()=0
LoopMediators::getC10
gslpp::complex getC10() const
Definition: LoopMediators.h:154
LoopMediatorsMatching::vmcbsg
std::vector< WilsonCoefficient > vmcbsg
Definition: LoopMediatorsMatching.h:79
LoopMediatorsMatching::C7pNP
gslpp::complex C7pNP
Definition: LoopMediatorsMatching.h:52
LoopMediatorsMatching::C5NP
gslpp::complex C5NP
Definition: LoopMediatorsMatching.h:69
WilsonTemplate::getScheme
schemes getScheme() const
Definition: WilsonTemplate.h:98
LoopMediatorsMatching::~LoopMediatorsMatching
virtual ~LoopMediatorsMatching()
Definition: LoopMediatorsMatching.cpp:55
LoopMediators::getCPp
gslpp::complex getCPp() const
Definition: LoopMediators.h:218
LoopMediatorsMatching::WCscale
double WCscale
Definition: LoopMediatorsMatching.h:74
LoopMediatorsMatching::C1NP
gslpp::complex C1NP
Definition: LoopMediatorsMatching.h:65
LoopMediatorsMatching::C3NP
gslpp::complex C3NP
Definition: LoopMediatorsMatching.h:67
LoopMediators::getC8
gslpp::complex getC8() const
Definition: LoopMediators.h:138
WilsonTemplate::getOrder
orders getOrder() const
Definition: WilsonTemplate.h:65
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
LoopMediatorsMatching::mcbsg
WilsonCoefficient mcbsg
Definition: LoopMediatorsMatching.h:76
LoopMediatorsMatching::mcdbs2
WilsonCoefficient mcdbs2
Definition: LoopMediatorsMatching.h:78
LoopMediatorsMatching::C8pNP
gslpp::complex C8pNP
Definition: LoopMediatorsMatching.h:54
LoopMediatorsMatching::myLoopMediators
const LoopMediators & myLoopMediators
Definition: LoopMediatorsMatching.h:49
LoopMediatorsMatching::C9pNPmu
gslpp::complex C9pNPmu
Definition: LoopMediatorsMatching.h:57
ModelMatching::CMBMll
virtual std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)=0
LoopMediators
Model for NP contributions to flavour.
Definition: LoopMediators.h:20
LoopMediators::getC3p
gslpp::complex getC3p() const
Definition: LoopMediators.h:122
LoopMediators::getC10p
gslpp::complex getC10p() const
Definition: LoopMediators.h:202
LoopMediatorsMatching::vmcprimeBMll
std::vector< WilsonCoefficient > vmcprimeBMll
Definition: LoopMediatorsMatching.h:80
LoopMediatorsMatching::CMbsg
std::vector< WilsonCoefficient > & CMbsg()
Definition: LoopMediatorsMatching.cpp:59
LoopMediatorsMatching::C2NP
gslpp::complex C2NP
Definition: LoopMediatorsMatching.h:66
LoopMediatorsMatching::C10NPmu
gslpp::complex C10NPmu
Definition: LoopMediatorsMatching.h:58
LoopMediatorsMatching::vmcprimebsg
std::vector< WilsonCoefficient > vmcprimebsg
Definition: LoopMediatorsMatching.h:79
LoopMediatorsMatching::C8NP
gslpp::complex C8NP
Definition: LoopMediatorsMatching.h:53
LoopMediatorsMatching::CMprimebsg
std::vector< WilsonCoefficient > & CMprimebsg()
Definition: LoopMediatorsMatching.cpp:94
LoopMediatorsMatching::LoopMediatorsMatching
LoopMediatorsMatching(const LoopMediators &LoopMediators_i)
Definition: LoopMediatorsMatching.cpp:12
NNLO
Definition: OrderScheme.h:35
LoopMediatorsMatching::C1pNP
gslpp::complex C1pNP
Definition: LoopMediatorsMatching.h:70
WilsonTemplate::setMu
virtual void setMu(double mu)
Definition: WilsonTemplate.h:92
LoopMediatorsMatching::CMprimeBMll
std::vector< WilsonCoefficient > & CMprimeBMll(QCD::lepton lepton)
Definition: LoopMediatorsMatching.cpp:173
LoopMediatorsMatching::CPNPmu
gslpp::complex CPNPmu
Definition: LoopMediatorsMatching.h:62
StandardModelMatching::updateSMParameters
void updateSMParameters()
Updates to new Standard Model parameter sets.
Definition: StandardModelMatching.cpp:111
ModelMatching::CMprimebsg
virtual std::vector< WilsonCoefficient > & CMprimebsg()=0
LoopMediators::getC8p
gslpp::complex getC8p() const
Definition: LoopMediators.h:186
LoopMediatorsMatching::C2pNP
gslpp::complex C2pNP
Definition: LoopMediatorsMatching.h:71
LoopMediatorsMatching::C10pNPmu
gslpp::complex C10pNPmu
Definition: LoopMediatorsMatching.h:59
LoopMediatorsMatching::CMdbs2
std::vector< WilsonCoefficient > & CMdbs2()
Definition: LoopMediatorsMatching.cpp:217
LoopMediatorsMatching::C3pNP
gslpp::complex C3pNP
Definition: LoopMediatorsMatching.h:72
LoopMediatorsMatching::C9NPmu
gslpp::complex C9NPmu
Definition: LoopMediatorsMatching.h:56
LoopMediatorsMatching::CSNPmu
gslpp::complex CSNPmu
Definition: LoopMediatorsMatching.h:60
LoopMediators.h
LoopMediators::getC4
gslpp::complex getC4() const
Definition: LoopMediators.h:90
LoopMediatorsMatching::CMBMll
std::vector< WilsonCoefficient > & CMBMll(QCD::lepton lepton)
Definition: LoopMediatorsMatching.cpp:129
NLO
Definition: OrderScheme.h:34
LoopMediatorsMatching.h
LoopMediators::getC2
gslpp::complex getC2() const
Definition: LoopMediators.h:74
QCD::MU
Definition: QCD.h:314
QCD::lepton
lepton
An enum type for leptons.
Definition: QCD.h:310