HeffDLi3j.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  * All rights reserved.
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "HeffDLi3j.h"
9 
11  model(SM_i),
12  coeffDLi3j_1(20, NDR , LO),coeffDLi3j_2(20, NDR , LO),coeffDLi3j_3(20, NDR , LO),coeffDLi3j_4(20, NDR , LO)
13 {
14 }
15 
17 }
18 
20 
21  switch (li_lj) {
22  case 1:
23  {
24  std::vector<WilsonCoefficient>& mcb4 = model.getMyMatching() -> CMDLi3j(1);
25  orders ordDLi3j_1 = coeffDLi3j_1.getOrder();
27  for (unsigned int i = 0; i < mcb4.size(); i++){
28  for (int j = LO; j <= ordDLi3j_1; j++){
30  + *mcb4[i].getCoeff(orders(j)), orders(j));
31  }
32  }
33  return coeffDLi3j_1.getCoeff();
34  }
35  case 2:
36  {
37  std::vector<WilsonCoefficient>& mcb5 = model.getMyMatching() -> CMDLi3j(2);
38  orders ordDLi3j_2 = coeffDLi3j_2.getOrder();
40  for (unsigned int i = 0; i < mcb5.size(); i++){
41  for (int j = LO; j <= ordDLi3j_2; j++){
43  + *mcb5[i].getCoeff(orders(j)), orders(j));
44  }
45  }
46  return coeffDLi3j_2.getCoeff();
47  }
48  case 3:
49  {
50  std::vector<WilsonCoefficient>& mcb6 = model.getMyMatching() -> CMDLi3j(3);
51  orders ordDLi3j_3 = coeffDLi3j_3.getOrder();
53  for (unsigned int i = 0; i < mcb6.size(); i++){
54  for (int j = LO; j <= ordDLi3j_3; j++){
56  + *mcb6[i].getCoeff(orders(j)), orders(j));
57  }
58  }
59  return coeffDLi3j_3.getCoeff();
60  }
61  case 4:
62  {
63  std::vector<WilsonCoefficient>& mcb7 = model.getMyMatching() -> CMDLi3j(4);
64  orders ordDLi3j_4 = coeffDLi3j_4.getOrder();
66  for (unsigned int i = 0; i < mcb7.size(); i++){
67  for (int j = LO; j <= ordDLi3j_4; j++){
69  + *mcb7[i].getCoeff(orders(j)), orders(j));
70  }
71  }
72  return coeffDLi3j_4.getCoeff();
73  }
74  default:
75  {
76  throw std::runtime_error("wrong input for the lepton flag in li->3lj decays");
77  }
78  }
79 }
HeffDLi3j(const StandardModel &SM_i)
The constructor of the class HeffDLi3j.
Definition: HeffDLi3j.cpp:10
virtual ~HeffDLi3j()
destructor of the class HeffDLi3j.
Definition: HeffDLi3j.cpp:16
virtual StandardModelMatching * getMyMatching() const
A get method to access the member pointer of type StandardModelMatching.
virtual void resetCoefficient()
gslpp::vector< gslpp::complex > ** ComputeCoeffDLi3j(int li_lj)
Computes the Wilson coefficients for the process .
Definition: HeffDLi3j.cpp:19
orders
An enum type for orders in QCD.
Definition: OrderScheme.h:31
gslpp::vector< gslpp::complex > ** getCoeff() const
WilsonCoefficient coeffDLi3j_4
Definition: HeffDLi3j.h:71
A model class for the Standard Model.
void setCoeff(const gslpp::vector< gslpp::complex > &z, orders order_i)
Definition: OrderScheme.h:33
WilsonCoefficient coeffDLi3j_1
Variable which stores the Wilson coefficient for .
Definition: HeffDLi3j.h:61
WilsonCoefficient coeffDLi3j_3
Variable which stores the Wilson coefficient for .
Definition: HeffDLi3j.h:69
const StandardModel & model
Variable which stores the model information.
Definition: HeffDLi3j.h:56
orders getOrder() const
WilsonCoefficient coeffDLi3j_2
Variable which stores the Wilson coefficient for .
Definition: HeffDLi3j.h:65