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:
[legend]
Collaboration diagram for mu_3e:
[legend]

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 44 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...
 
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...
 
 ThObservable (const StandardModel &SM_i)
 Constructor. More...
 
 ThObservable (const ThObservable &orig)
 The copy constructor. More...
 
virtual ~ThObservable ()
 The default destructor. More...
 

Private Attributes

const StandardModelmySM
 Constructor containing the Wilson coefficient. More...
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum. More...
 
double min
 The bin minimum. More...
 
const StandardModelSM
 A reference to an object of StandardMode class. More...
 

Constructor & Destructor Documentation

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), mySM(SM_i)
22 {}
const StandardModel & mySM
Constructor containing the Wilson coefficient.
Definition: li_3lj.h:62
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:29

Member Function Documentation

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 = mySM.getAle();
28  double mMU = mySM.getLeptons(StandardModel::MU).getMass();
29  double GammaMU = 2.99598e-19;
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 }
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
complex pow(const complex &z1, const complex &z2)
gslpp::vector< gslpp::complex > ** ComputeCoeffli_3lj(int li_lj)
Computes the Wilson coefficient for the process .
Definition: LeptonFlavour.h:77
const StandardModel & mySM
Constructor containing the Wilson coefficient.
Definition: li_3lj.h:62
LeptonFlavour * getMyLeptonFlavour() const
Definition: OrderScheme.h:33
double getAle() const
A get method to retrieve the fine-structure constant .
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
complex log(const complex &z)

Member Data Documentation

const StandardModel& mu_3e::mySM
private

Constructor containing the Wilson coefficient.

Definition at line 62 of file li_3lj.h.


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