a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
mu_3e Class Reference

A class for calculating the branching ratio of the process \( \mu \to eee \). More...

#include <li_3lj.h>

+ Inheritance diagram for mu_3e:

Detailed Description

A class for calculating the branching ratio of the process \( \mu \to eee \).

Author
HEPfit Collaboration

The mu_3e class calculates the branching ratio of the process \( \mu \to eee \) in the model.

Definition at line 43 of file li_3lj.h.

Public Member Functions

double computeThValue ()
 
 mu_3e (const StandardModel &SM_i)
 Calculates the value of the process \( \mu \to eee \). More...
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin. More...
 
double getBinMin ()
 A get method to get the minimum value of the bin. More...
 
const StandardModelgetModel ()
 A get method to get the model. More...
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable. More...
 
void setBinMax (double max)
 A set method to set the maximum value of the bin. More...
 
void setBinMin (double min)
 A set method to set the minimum value of the bin. More...
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable. More...
 
 ThObservable (const StandardModel &SM_i)
 Constructor. More...
 
 ThObservable (const ThObservable &orig)
 The copy constructor. More...
 
virtual ~ThObservable ()
 The default destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum. More...
 
double min
 The bin minimum. More...
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable More...
 
const StandardModelSM
 A reference to an object of StandardMode class. More...
 

Constructor & Destructor Documentation

◆ mu_3e()

mu_3e::mu_3e ( const StandardModel SM_i)

Calculates the value of the process \( \mu \to eee \).

Returns
value of the process \( \mu \to eee \)

Definition at line 20 of file li_3lj.cpp.

21: ThObservable(SM_i)
22{}
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32

Member Function Documentation

◆ computeThValue()

double mu_3e::computeThValue ( )
virtual
Returns
value of the process \( \mu \to eee \)

Implements ThObservable.

Definition at line 24 of file li_3lj.cpp.

25{
26 double alph = SM.getAle();
28 double mMU = SM.getLeptons(StandardModel::MU).getMass();
29 double GammaMU = 2.99598e-19;
30 gslpp::vector<gslpp::complex> ** allcoeff_m3e = SM.getMyLeptonFlavour()->ComputeCoeffli_3lj(1);
31// C_7 = (*(allcoeff_m3e[LO]))(0);
32// C_7p = (*(allcoeff_m3e[LO]))(1);
33// C_9 = (*(allcoeff_m3e[LO]))(2);
34// C_9p = (*(allcoeff_m3e[LO]))(3);
35// C_10 = (*(allcoeff_m3e[LO]))(4);
36// C_10p = (*(allcoeff_m3e[LO]))(5);
37// C_S = (*(allcoeff_m3e[LO]))(6);
38// C_Sp = (*(allcoeff_m3e[LO]))(7);
39// C_P = (*(allcoeff_m3e[LO]))(8);
40// C_Pp = (*(allcoeff_m3e[LO]))(9);
41// C_T = (*(allcoeff_m3e[LO]))(10);
42// C_T5 = (*(allcoeff_m3e[LO]))(11);
43
44//std::cout<<"0"<< (*(allcoeff_m3e[LO]))(0)<<std::endl;
45//std::cout<<"1"<< (*(allcoeff_m3e[LO]))(1)<<std::endl;
46//std::cout<<"2"<< (*(allcoeff_m3e[LO]))(2)<<std::endl;
47//std::cout<<"3"<< (*(allcoeff_m3e[LO]))(3)<<std::endl;
48//std::cout<<"4"<< (*(allcoeff_m3e[LO]))(4)<<std::endl;
49//std::cout<<"5"<< (*(allcoeff_m3e[LO]))(5)<<std::endl;
50//std::cout<<"6"<< (*(allcoeff_m3e[LO]))(6)<<std::endl;
51//std::cout<<"7"<< (*(allcoeff_m3e[LO]))(7)<<std::endl;
52//std::cout<<"8"<< (*(allcoeff_m3e[LO]))(8)<<std::endl;
53//std::cout<<"9"<< (*(allcoeff_m3e[LO]))(9)<<std::endl;
54//std::cout<<"10"<< (*(allcoeff_m3e[LO]))(10)<<std::endl;
55//std::cout<<"11"<< (*(allcoeff_m3e[LO]))(11)<<std::endl;
56//std::cout<<"12"<< (*(allcoeff_m3e[LO]))(12)<<std::endl;
57//std::cout<<"13"<< (*(allcoeff_m3e[LO]))(13)<<std::endl;
58//std::cout<<"14"<< (*(allcoeff_m3e[LO]))(14)<<std::endl;
59//std::cout<<"15"<< (*(allcoeff_m3e[LO]))(15)<<std::endl;
60//std::cout<<"16"<< (*(allcoeff_m3e[LO]))(16)<<std::endl;
61//std::cout<<"17"<< (*(allcoeff_m3e[LO]))(17)<<std::endl;
62//std::cout<<"18"<< (*(allcoeff_m3e[LO]))(18)<<std::endl;
63//std::cout<<"19"<< (*(allcoeff_m3e[LO]))(19)<<std::endl;
64
65// double Brmu3e = ((*(allcoeff_m3e[LO]))(0)* (*(allcoeff_m3e[LO]))(0).conjugate()).abs();
66 double Brmu3e = alph*alph/(32.0*M_PI) * pow(mMU,5.0)
67 * ((*(allcoeff_m3e[LO]))(1).abs2()+(*(allcoeff_m3e[LO]))(0).abs2()
68 -4.0*((*(allcoeff_m3e[LO]))(1)*(*(allcoeff_m3e[LO]))(2).conjugate()+(*(allcoeff_m3e[LO]))(3)*(*(allcoeff_m3e[LO]))(0).conjugate()).real()
69 +((*(allcoeff_m3e[LO]))(3).abs2()+(*(allcoeff_m3e[LO]))(2).abs2())*(16.0*log(mMU/mE)-22.0)/3.0
70 +((*(allcoeff_m3e[LO]))(5).abs2()+(*(allcoeff_m3e[LO]))(4).abs2())/6.0
71 +(((*(allcoeff_m3e[LO]))(7)+(*(allcoeff_m3e[LO]))(13)).abs2()+((*(allcoeff_m3e[LO]))(6)+(*(allcoeff_m3e[LO]))(12)).abs2())/3.0
72 +(((*(allcoeff_m3e[LO]))(9)+(*(allcoeff_m3e[LO]))(15)).abs2()+((*(allcoeff_m3e[LO]))(8)+(*(allcoeff_m3e[LO]))(14)).abs2())/24.0
73 +((*(allcoeff_m3e[LO]))(11).abs2()+(*(allcoeff_m3e[LO]))(10).abs2())*6.0
74 -(((*(allcoeff_m3e[LO]))(9)+(*(allcoeff_m3e[LO]))(15))*(*(allcoeff_m3e[LO]))(11).conjugate()+((*(allcoeff_m3e[LO]))(8)+(*(allcoeff_m3e[LO]))(14))*(*(allcoeff_m3e[LO]))(10).conjugate()).real()
75 +((*(allcoeff_m3e[LO]))(1)*(*(allcoeff_m3e[LO]))(5).conjugate()+(*(allcoeff_m3e[LO]))(0)*(*(allcoeff_m3e[LO]))(4).conjugate()
76 +(*(allcoeff_m3e[LO]))(1)*((*(allcoeff_m3e[LO]))(7)+(*(allcoeff_m3e[LO]))(13)).conjugate()+(*(allcoeff_m3e[LO]))(0)*((*(allcoeff_m3e[LO]))(6)+(*(allcoeff_m3e[LO]))(12)).conjugate()).real()*2.0/3.0
77 -4.0*((*(allcoeff_m3e[LO]))(2)*(*(allcoeff_m3e[LO]))(5).conjugate()+(*(allcoeff_m3e[LO]))(3)*(*(allcoeff_m3e[LO]))(4).conjugate()
78 +(*(allcoeff_m3e[LO]))(3)*((*(allcoeff_m3e[LO]))(6)+(*(allcoeff_m3e[LO]))(12)).conjugate()+(*(allcoeff_m3e[LO]))(2)*((*(allcoeff_m3e[LO]))(7)+(*(allcoeff_m3e[LO]))(13)).conjugate()).real()/3.0
79 +2.0*((*(allcoeff_m3e[LO]))(19).abs2()+(*(allcoeff_m3e[LO]))(16).abs2())/3.0
80 +((*(allcoeff_m3e[LO]))(18).abs2()+(*(allcoeff_m3e[LO]))(17).abs2())/3.0
81 +((*(allcoeff_m3e[LO]))(5)*(*(allcoeff_m3e[LO]))(19).conjugate()+(*(allcoeff_m3e[LO]))(4)*(*(allcoeff_m3e[LO]))(16).conjugate()
82 +((*(allcoeff_m3e[LO]))(7)+(*(allcoeff_m3e[LO]))(13))*(*(allcoeff_m3e[LO]))(18).conjugate()+((*(allcoeff_m3e[LO]))(6)+(*(allcoeff_m3e[LO]))(12))*(*(allcoeff_m3e[LO]))(17).conjugate()).real()*2.0/3.0
83 +((*(allcoeff_m3e[LO]))(1)*(*(allcoeff_m3e[LO]))(19).conjugate()+(*(allcoeff_m3e[LO]))(0)*(*(allcoeff_m3e[LO]))(16).conjugate()).real()*4.0/3.0
84 +((*(allcoeff_m3e[LO]))(1)*(*(allcoeff_m3e[LO]))(18).conjugate()+(*(allcoeff_m3e[LO]))(0)*(*(allcoeff_m3e[LO]))(17).conjugate()).real()*2.0/3.0
85 -((*(allcoeff_m3e[LO]))(2)*(*(allcoeff_m3e[LO]))(19).conjugate()+(*(allcoeff_m3e[LO]))(3)*(*(allcoeff_m3e[LO]))(16).conjugate()).real()*8.0/3.0
86 -((*(allcoeff_m3e[LO]))(3)*(*(allcoeff_m3e[LO]))(17).conjugate()+(*(allcoeff_m3e[LO]))(2)*(*(allcoeff_m3e[LO]))(18).conjugate()).real()*4.0/3.0) / GammaMU;
87
88// double Mu3Erate = (alph*alph/(32.0*M_PI))*(pow(mMU,5.0))*
89// (VLMuE**2.0 + VRMuE**2.0 - 4.0*(VLMuE*ARMuE + VRMuE*ALMuE)
90// + (ALMuE**2.0 + ARMuE**2.0)*((16.0/3.0)*log(mMU/(2.0*mE))-14.0/9.0)
91// + (1.d0/6.0)*(B1LMu3E**2.0 + B1RMu3E**2.0)
92// + (1.d0/3.0)*(B2LMu3E**2.0 + B2RMu3E**2.0)
93// + (1.d0/24.0)*(B3LMu3E**2.0 + B3RMu3E**2.0)
94// + 6.0*(B4LMu3E**2.0 + B4RMu3E**2.0)
95// - (B3LMu3E*B4LMu3E + B3RMu3E*B4RMu3E)
96// + (2.0/3.0)*(VLMuE*B1LMu3E + VRMuE*B1RMu3E + VLMuE*B2LMu3E + VRMuE*B2RMu3E)
97// - (4.0/3.0)*(ARMuE*B1LMu3E + ALMuE*B1RMu3E + ARMuE*B2LMu3E + ALMuE*B2RMu3E)
98// + (1.0/3.0)*(2.0*(FLLMu3E**2.0 + FRRMu3E**2.0)
99// + FLRMu3E**2.0 + FRLMu3E**2.0
100// + 2.0*(B1LMu3E*FLLMu3E + B1RMu3E*FRRMu3E + B2LMu3E*FLRMu3E + B2RMu3E*FRLMu3E)
101// + 4.0*(VLMuE*FLLMu3E + VRMuE*FRRMu3E)
102// + 2.0*(VLMuE*FLRMu3E + VRMuE*FRLMu3E)
103// - 8.0*(ARMuE*FLLMu3E + ALMuE*FRRMu3E)
104// - 4.0*(ALMuE*FRLMu3E + ARMuE*FLRMu3E)))
105//
106// double Brmu3e = Mu3Erate/(3.0*(pow(10.0,-19.0)))
107
108
109//
110// C_1 = ((*(allcoeff[LO]))(0) + (*(allcoeff[NLO]))(0));
111// C_2 = ((*(allcoeff[LO]))(1) + (*(allcoeff[NLO]))(1));
112// C_2L = (*(allcoeff[LO]))(1);
113// C_3 = ((*(allcoeff[LO]))(2) + (*(allcoeff[NLO]))(2));
114// C_4 = ((*(allcoeff[LO]))(3) + (*(allcoeff[NLO]))(3));
115// C_5 = ((*(allcoeff[LO]))(4) + (*(allcoeff[NLO]))(4));
116// C_6 = ((*(allcoeff[LO]))(5) + (*(allcoeff[NLO]))(5));
117// C_7 = ((*(allcoeff[LO]))(6) + (*(allcoeff[NLO]))(6));
118// C_8L = (*(allcoeff[LO]))(7);
119// C_9 = ((*(allcoeff[LO]))(8) + (*(allcoeff[NLO]))(8));
120// C_10 = ((*(allcoeff[LO]))(9) + (*(allcoeff[NLO]))(9));
121// C_S = ((*(allcoeff[LO]))(10) + (*(allcoeff[NLO]))(10));
122// C_P = ((*(allcoeff[LO]))(11) + (*(allcoeff[NLO]))(11));
123//
124 return Brmu3e;
125}
@ LO
Definition: OrderScheme.h:34
gslpp::vector< gslpp::complex > ** ComputeCoeffli_3lj(int li_lj)
Computes the Wilson coefficient for the process .
Definition: LeptonFlavour.h:71
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
@ MU
Definition: QCD.h:314
@ ELECTRON
Definition: QCD.h:312
const Particle & getLeptons(const QCD::lepton p) const
A get method to retrieve the member object of a lepton.
LeptonFlavour * getMyLeptonFlavour() const
const double getAle() const
A get method to retrieve the fine-structure constant .
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121

The documentation for this class was generated from the following files: