flavour
BGLmodels::calcuBmumu Class Reference

calculus of the constraints coming from the B->mu mu decay More...

#include <Formulas.h>

Inheritance diagram for BGLmodels::calcuBmumu:
Collaboration diagram for BGLmodels::calcuBmumu:

Public Member Functions

 calcuBmumu (const Mixes &mix, const Meson &m, const Fermion &f3, const Fermion &f4, observable *ob, const char *name)
 
double operator() (const parameters &p) const
 
double obsvalue (const parameters &p) const
 
double Y (double x) const
 
ex mesondwtest () const
 

Public Attributes

const Meson meson
 
const Fermionff3
 
const Fermion ff4
 
shared_ptr< observableo
 
const realsymbol gSr
 
const realsymbol gSi
 
const realsymbol gPr
 
const realsymbol gPi
 
const realsymbol gAr
 
const realsymbol gAi
 
const Mixes mixes
 
FUNCP_CUBA fp
 

Detailed Description

calculus of the constraints coming from the B->mu mu decay

Definition at line 672 of file Formulas.h.

Constructor & Destructor Documentation

BGLmodels::calcuBmumu::calcuBmumu ( const Mixes mix,
const Meson m,
const Fermion f3,
const Fermion f4,
observable ob,
const char *  name 
)
inline

Definition at line 674 of file Formulas.h.

References BGLmodels::Fermion::flavour, BGLmodels::Fermion::isospin, BGLmodels::Meson::q1, BGLmodels::Meson::q2, BGLmodels::tLepton, BGLmodels::tQuark, and BGLmodels::Vud().

674  :
675  meson(m),ff3(f3),ff4(f4),
676  o(ob),
677  gSr("gSr"),gSi("gSi"),gPr("gPr"),gPi("gPi"),gAr("gAr"),gAi("gAi"), mixes(mix) {
678  const ex Nq=mixes.N[tQuark][m.q2.isospin][m.q1.flavour][m.q2.flavour];
679  const ex Nq_=mixes.N[tQuark][m.q2.isospin][m.q1.flavour][m.q2.flavour].conjugate();
680  const ex Nl=mixes.N[tLepton][f3.isospin][f3.flavour][f4.flavour];
681  const ex Nl_=mixes.N[tLepton][f3.isospin][f4.flavour][f3.flavour].conjugate();
682  possymbol MR("MR"),MI("MI"),McH("McH");
683  ex MR2=MR*MR,MI2=MI*MI,McH2=McH*McH;
684 
685  ex cLL=Nq_*Nl_*(1/MR2-1/MI2);
686  ex cLR=Nq_*Nl*(1/MR2+1/MI2);
687  ex cRL=Nq*Nl_*(1/MR2+1/MI2);
688  ex cRR=Nq_*Nl*(1/MR2-1/MI2);
689 
690  ex ggS=-(2*M_GF/sqrt(2)*(-cRL-cRR+cLL+cLR)/4).subs(mixes.replacements).evalf();
691  ex ggP=-(2*M_GF/sqrt(2)*(+cRL-cRR-cLL+cLR)/4).subs(mixes.replacements).evalf();
692  CD ggA=0;
693  if(m.q2.isospin==iDown && m.q2.flavour==2 && f3.flavour==1 && f4.flavour==1){
694  ggA=-conj(Vud[2][m.q2.flavour])*Vud[2][m.q1.flavour]*Y(std::pow(M_Mu[2]/M_MW,2));
695  ggA+=-conj(Vud[1][m.q2.flavour])*Vud[1][m.q1.flavour]*Y(std::pow(M_Mu[1]/M_MW,2));
696  ggA*=M_GF*M_GF*M_MW*M_MW/M_PI/M_PI/2;
697 
698  }
699  //ex gggA=0;
700  //ex gggA=ggA.real()+I*ggA.imag();
701 
702  ex width=collect_common_factors(mesondwtest().subs(lst(gAr==ggA.real(),gAi==ggA.imag(),gSr==ggS.real_part(),gSi==ggS.imag_part(),gPr==ggP.real_part(),gPi==ggP.imag_part())).subs(mixes.replacements).evalf().real_part());
703 
704  compile_ex(lst(width), lst(mixes.tanb,McH,MR,MI), fp);
705 
706  }
double Y(double x) const
Definition: Formulas.h:725
const Mixes mixes
Definition: Formulas.h:779
const realsymbol gPr
Definition: Formulas.h:778
const realsymbol gAr
Definition: Formulas.h:778
const realsymbol gPi
Definition: Formulas.h:778
multivector< Matrix, 2 > N
Definition: Formulas.h:206
const realsymbol gSi
Definition: Formulas.h:778
const realsymbol gSr
Definition: Formulas.h:778
shared_ptr< observable > o
Definition: Formulas.h:777
constexpr double M_GF
Definition: Formulas.h:57
ex mesondwtest() const
Definition: Formulas.h:729
const Fermion & ff3
Definition: Formulas.h:776
const realsymbol gAi
Definition: Formulas.h:778
constexpr double M_Mu[3]
Definition: Formulas.h:61
const Meson meson
Definition: Formulas.h:775
std::complex< double > CD
Definition: Formulas.h:65
constexpr double M_MW
Definition: Formulas.h:59
const Fermion ff4
Definition: Formulas.h:776
const Matrixx Vud(13.04 *M_PI/180, 0.201 *M_PI/180, 2.38 *M_PI/180, 1.2)

Here is the call graph for this function:

Member Function Documentation

ex BGLmodels::calcuBmumu::mesondwtest ( ) const
inline

Definition at line 729 of file Formulas.h.

729  {
730  const Fermion& f1(meson.q2), f2(meson.q1);
731  ex mesonmass=meson.mass;
732 
733  Fermion f3=ff3, f4=ff4;
734  realsymbol q3("q3"), q4("q4");
735  ex s2=pow(mesonmass,2);
736 
737  ex v1=0, v2=0;
738  ex mq1=mixes.mass(f1),mq2=mixes.mass(f2);
739  ex mq3=mixes.mass(f3),mq4=mixes.mass(f4);
740 
741  ex m2q1=mq1*mq1, m2q2=mq2*mq2, m2q3=mq3*mq3, m2q4=mq4*mq4;
742  scalar_products sp;
743  sp.add(q4, q3, (s2-m2q4-m2q3)/2);
744  sp.add(q3, q3, m2q3);
745  sp.add(q4, q4, m2q4);
746  ex q10=(s2+mq1*mq1-mq2*mq2)/(2*sqrt(s2)), lq1l=sqrt(q10*q10-mq1*mq1);
747  ex q30=(s2+mq3*mq3-mq4*mq4)/(2*sqrt(s2)), lq3l=sqrt(q30*q30-mq3*mq3);
748 
749  ex a;
750  a=-(gSr+I*gSi)*s2/(mq1+mq2);
751  v1=v1+a*dirac_ONE();
752  v2=v2+a.conjugate()*dirac_ONE();
753  a=-(gPr+I*gPi)*s2/(mq1+mq2);
754  v1=v1+a*dirac_gamma5();
755  v2=v2-a.conjugate()*dirac_gamma5();
756  ex sl=(dirac_slash(q3,4)+dirac_slash(q4,4));
757  a=(gAr+I*gAi);
758  v1=v1+a*sl*dirac_gamma5();
759  v2=v2+a.conjugate()*sl*dirac_gamma5();
760 
761  ex vq3=dirac_slash(q3,4)+mq3*dirac_ONE(), vq4=dirac_slash(q4,4)-mq4*dirac_ONE();
762  ex dt=dirac_trace(vq3*v1*vq4*v2).simplify_indexed(sp);
763  ex result=expand(dt*4*lq3l/s2/Pi/32);
764 
765  lst ltest;
766  //ltest.append(conjugate(gL)==pow(abs(gL),2)/gL);
767  //ltest.append(conjugate(gR)==pow(abs(gR),2)/gR);
768 // ltest.append(conjugate(gS)==pow(abs(gS),2)/gS);
769 // ltest.append(conjugate(gP)==pow(abs(gP),2)/gP);
770 // ltest.append(conjugate(gA)==pow(abs(gA),2)/gA);
771 
772  return pow(meson.decay_factor,2)*collect_common_factors(result.subs(ltest));
773  //return expand(ret.subs(lst(exp(-I*wild())==1/exp(I*wild()),sin(wild())==sqrt(1-pow(cos(wild()),2)))));
774 }
const Mixes mixes
Definition: Formulas.h:779
const realsymbol gPr
Definition: Formulas.h:778
const realsymbol gAr
Definition: Formulas.h:778
const realsymbol gPi
Definition: Formulas.h:778
const realsymbol gSi
Definition: Formulas.h:778
const realsymbol gSr
Definition: Formulas.h:778
const Fermion & ff3
Definition: Formulas.h:776
const realsymbol gAi
Definition: Formulas.h:778
ex mass(const Fermion &f) const
Definition: Formulas.h:178
const Meson meson
Definition: Formulas.h:775
Fermion q2
Definition: Formulas.h:52
Fermion q1
Definition: Formulas.h:52
const Fermion ff4
Definition: Formulas.h:776
double BGLmodels::calcuBmumu::obsvalue ( const parameters p) const
inline

Definition at line 716 of file Formulas.h.

References parameters::values.

Referenced by main().

716  {
717  //double factor=std::pow(M_GF*M_MW,4)/8/std::pow(M_PI,5)*std::sqrt(MM*MM-4*M_Ml[1]*M_Ml[1])*M_Ml[1]*M_Ml[1];
718  int n=4,m=1;
719  double ret=0;
720  fp(&n,&(p.values[0]),&m,&ret);
721 
722  return ret;
723  }
vector< double > values
Definition: model.h:232

Here is the caller graph for this function:

double BGLmodels::calcuBmumu::operator() ( const parameters p) const
inlinevirtual
Parameters
hipothesisthe theoretical hypothesis
Returns
the logarithm of the probability of measuring what was measured, assuming that the hypothesis is true

Implements calcu.

Definition at line 707 of file Formulas.h.

References parameters::values.

707  {
708  //double factor=std::pow(M_GF*M_MW,4)/8/std::pow(M_PI,5)*std::sqrt(MM*MM-4*M_Ml[1]*M_Ml[1])*M_Ml[1]*M_Ml[1];
709  int n=4,m=1;
710  double ret=0;
711  fp(&n,&(p.values[0]),&m,&ret);
712 
713  return o->loglikelihood(ret);
714  }
shared_ptr< observable > o
Definition: Formulas.h:777
vector< double > values
Definition: model.h:232
double BGLmodels::calcuBmumu::Y ( double  x) const
inline

Definition at line 725 of file Formulas.h.

725  {
726  return 1.0113*x/8/(1-x)*(4-x+3*x*log(x)/(1-x));
727  }

Member Data Documentation

const Fermion& BGLmodels::calcuBmumu::ff3

Definition at line 776 of file Formulas.h.

const Fermion BGLmodels::calcuBmumu::ff4

Definition at line 776 of file Formulas.h.

FUNCP_CUBA BGLmodels::calcuBmumu::fp

Definition at line 780 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gAi

Definition at line 778 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gAr

Definition at line 778 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gPi

Definition at line 778 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gPr

Definition at line 778 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gSi

Definition at line 778 of file Formulas.h.

const realsymbol BGLmodels::calcuBmumu::gSr

Definition at line 778 of file Formulas.h.

const Meson BGLmodels::calcuBmumu::meson

Definition at line 775 of file Formulas.h.

const Mixes BGLmodels::calcuBmumu::mixes

Definition at line 779 of file Formulas.h.

shared_ptr<observable> BGLmodels::calcuBmumu::o

Definition at line 777 of file Formulas.h.


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