Bdmumu Class Reference

#include <Bdmumu.h>

Inheritance diagram for Bdmumu:
[legend]
Collaboration diagram for Bdmumu:
[legend]

Detailed Description

Definition at line 15 of file Bdmumu.h.

Public Member Functions

 Bdmumu (const StandardModel &SM_i, int obsFlag)
 
double computeAmumu (orders order)
 
double computeSmumu (orders order)
 
double computeThValue ()
 hep-ph/9512380v2 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...
 

Protected Member Functions

void computeAmpSq (orders order, orders_ew order_ew, double mu)
 
void computeObs (orders order, orders_ew order_ew)
 

Private Attributes

double absP
 
double absS
 
double ampSq
 
double Amumu
 
double argP
 
double argS
 
double beta
 
double chiral
 
EvolBsmm evolbdmm
 
double mb
 
double mBd
 
double md
 
double mmu
 
int obs
 
double phiNP
 
double Smumu
 
double timeInt
 
double yd
 

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

Bdmumu::Bdmumu ( const StandardModel SM_i,
int  obsFlag 
)

constructor

Parameters
Flavour

Definition at line 10 of file Bdmumu.cpp.

11 : ThObservable(SM_i),
12  evolbdmm(8, NDR, NNLO, NLO_ewt4, SM)
13 {
14  if (obsFlag > 0 and obsFlag < 5) obs = obsFlag;
15  else throw std::runtime_error("obsFlag in Bdmumu(myFlavour, obsFlag) called from ThFactory::ThFactory() can only be 1 (BR) or 2 (BRbar) or 3 (Amumu) or 4 (Smumu)");
16 };
int obs
Definition: Bdmumu.h:63
EvolBsmm evolbdmm
Definition: Bdmumu.h:64
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:29

Member Function Documentation

void Bdmumu::computeAmpSq ( orders  order,
orders_ew  order_ew,
double  mu 
)
protected
Parameters
order
order_ew
Returns
the short distance contribution to the | \( BR(B_s \rightarrow \mu \bar{\mu}) \)|

Definition at line 65 of file Bdmumu.cpp.

66 {
67  if (SM.getMyFlavour()->getHDB1().getCoeffdmumu().getOrder() < order % 3){
68  std::stringstream out;
69  out << order;
70  throw std::runtime_error("Bdmumu::computeAmpSq(): required cofficient of "
71  "order " + out.str() + " not computed");
72  }
74 
75  double alsmu = evolbdmm.alphatilde_s(mu);
76  double alemu = evolbdmm.alphatilde_e(mu);
77 
78  if((order == FULLNLO) && (order_ew == FULLNLO_ew)){
79 
80  switch(order_ew) {
81  case FULLNLO_ew:
82  {
83  gslpp::complex CC = (*(allcoeff[LO]))(7) /alemu + (*(allcoeff[NLO]))(7) * alsmu/alemu
84  + (*(allcoeff[NNLO]))(7) * alsmu * alsmu/alemu + (*(allcoeff[LO_ew ]))(7) /alsmu
85  + (*(allcoeff[NLO_ew]))(7) + (*(allcoeff[NLO_ewt1]))(7) * alemu /alsmu /alsmu
86  + (*(allcoeff[NLO_ewt2]))(7) * alsmu
87  + (*(allcoeff[NLO_ewt3]))(7) * alemu /alsmu+ (*(allcoeff[NLO_ewt4]))(7) * alemu;
88  absP = CC.abs();
89  argP = CC.arg();
90 
91  phiNP = 0.;
92 
93  ampSq = absP * absP ;
94 
95  }
96  break;
97  default:
98  std::stringstream out;
99  out << order;
100  throw std::runtime_error("Bdmumu::computeAmpSq(): order " + out.str() + " not implemented");;
101  }
102  }
103 
104 
105 }
double alphatilde_e(double mu)
Definition: EvolBsmm.cpp:1120
double ampSq
Definition: Bdmumu.h:57
const HeffDB1 & getHDB1() const
The member that returns an object of the class HeffDB1.
Definition: Flavour.h:68
double phiNP
Definition: Bdmumu.h:60
double absP
Definition: Bdmumu.h:53
Definition: OrderScheme.h:33
Flavour * getMyFlavour() const
EvolBsmm evolbdmm
Definition: Bdmumu.h:64
gslpp::vector< gslpp::complex > ** ComputeCoeffdmumu(double mu, schemes scheme=NDR)
Computes the Wilson coefficient for the process .
Definition: Flavour.h:124
double abs() const
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
double argP
Definition: Bdmumu.h:54
orders getOrder() const
WilsonCoefficient getCoeffdmumu() const
Definition: HeffDB1.h:152
double arg() const
A class for defining operations on and functions of complex numbers.
Definition: gslpp_complex.h:35
double alphatilde_s(double mu)
Definition: EvolBsmm.cpp:1160
double Bdmumu::computeAmumu ( orders  order)

Definition at line 53 of file Bdmumu.cpp.

54 {
56  return(Amumu);
57 }
void computeObs(orders order, orders_ew order_ew)
Definition: Bdmumu.cpp:38
double Amumu
Definition: Bdmumu.h:58
void Bdmumu::computeObs ( orders  order,
orders_ew  order_ew 
)
protected

Definition at line 38 of file Bdmumu.cpp.

39 {
40  double mu = SM.getMub();
41 
46  chiral = pow(mBd, 2.) / 2. / mmu * mb / (mb + md);
47  beta = sqrt(1. - pow(2. * mmu / mBd, 2.));
48  computeAmpSq(order, order_ew, mu);
49  Amumu = (absP * absP * cos(2. * argP - phiNP) - absS * absS * cos(2. * argS - phiNP)) / (absP * absP + absS * absS);
50  Smumu = (absP * absP * sin(2. * argP - phiNP) - absS * absS * sin(2. * argS - phiNP)) / (absP * absP + absS * absS);
51 }
complex cos(const complex &z)
Particle getLeptons(const StandardModel::lepton p) const
A get method to retrieve the member object of a lepton.
double getMub() const
A get method to access the threshold between five- and four-flavour theory in GeV.
Definition: QCD.h:905
double phiNP
Definition: Bdmumu.h:60
double beta
Definition: Bdmumu.h:47
double mBd
Definition: Bdmumu.h:48
complex pow(const complex &z1, const complex &z2)
void computeAmpSq(orders order, orders_ew order_ew, double mu)
Definition: Bdmumu.cpp:65
double mmu
Definition: Bdmumu.h:49
double absS
Definition: Bdmumu.h:55
double Smumu
Definition: Bdmumu.h:59
double Amumu
Definition: Bdmumu.h:58
double absP
Definition: Bdmumu.h:53
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
double md
Definition: Bdmumu.h:51
Definition: QCD.h:732
double mb
Definition: Bdmumu.h:50
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
double chiral
Definition: Bdmumu.h:52
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
Definition: QCD.h:719
double argP
Definition: Bdmumu.h:54
complex sin(const complex &z)
double argS
Definition: Bdmumu.h:56
complex sqrt(const complex &z)
double Bdmumu::computeSmumu ( orders  order)

Definition at line 59 of file Bdmumu.cpp.

60 {
62  return(Smumu);
63 }
void computeObs(orders order, orders_ew order_ew)
Definition: Bdmumu.cpp:38
double Smumu
Definition: Bdmumu.h:59
double Bdmumu::computeThValue ( )
virtual

hep-ph/9512380v2

Returns
theoretical value of | \( BR(B_d \rightarrow \mu \bar{\mu}) \)|

Implements ThObservable.

Definition at line 18 of file Bdmumu.cpp.

19 {
21  double FBd = SM.getMesons(QCD::B_D).getDecayconst();
22 
23  double coupling = SM.getGF() * SM.getGF() * SM.Mw() * SM.Mw() /M_PI /M_PI ;
24 
25  double PRF = pow(coupling, 2.) / M_PI /8. / SM.getMesons(QCD::B_D).computeWidth() * pow(FBd, 2.) * pow(mmu, 2.) * mBd * beta;
26  yd = 0; // For now. To be explicitly calculated.
27  timeInt = (1. + Amumu * yd) / (1. - yd * yd); // Note modification in form due to algorithm
28 
29  if (obs == 1) return( PRF * ampSq);
30  if (obs == 2) return( PRF * ampSq * timeInt);
31  if (obs == 3) return( Amumu );
32  if (obs == 4) return( Smumu );
33 
34  throw std::runtime_error("Bdmumu::computeThValue(): Observable type not defined. Can be only any of (1,2,3,4)");
35  return (EXIT_FAILURE);
36 }
double ampSq
Definition: Bdmumu.h:57
void computeObs(orders order, orders_ew order_ew)
Definition: Bdmumu.cpp:38
double beta
Definition: Bdmumu.h:47
double mBd
Definition: Bdmumu.h:48
complex pow(const complex &z1, const complex &z2)
double mmu
Definition: Bdmumu.h:49
double Smumu
Definition: Bdmumu.h:59
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:74
double timeInt
Definition: Bdmumu.h:61
double Amumu
Definition: Bdmumu.h:58
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
virtual double Mw() const
The SM prediction for the -boson mass in the on-shell scheme, .
int obs
Definition: Bdmumu.h:63
double computeWidth() const
A method to compute the width of the meson from its lifetime.
Definition: Meson.cpp:25
double getGF() const
A get method to retrieve the Fermi constant .
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
Definition: QCD.h:719
double yd
Definition: Bdmumu.h:62

Member Data Documentation

double Bdmumu::absP
private

Definition at line 53 of file Bdmumu.h.

double Bdmumu::absS
private

Definition at line 55 of file Bdmumu.h.

double Bdmumu::ampSq
private

Definition at line 57 of file Bdmumu.h.

double Bdmumu::Amumu
private

Definition at line 58 of file Bdmumu.h.

double Bdmumu::argP
private

Definition at line 54 of file Bdmumu.h.

double Bdmumu::argS
private

Definition at line 56 of file Bdmumu.h.

double Bdmumu::beta
private

Definition at line 47 of file Bdmumu.h.

double Bdmumu::chiral
private

Definition at line 52 of file Bdmumu.h.

EvolBsmm Bdmumu::evolbdmm
private

Definition at line 64 of file Bdmumu.h.

double Bdmumu::mb
private

Definition at line 50 of file Bdmumu.h.

double Bdmumu::mBd
private

Definition at line 48 of file Bdmumu.h.

double Bdmumu::md
private

Definition at line 51 of file Bdmumu.h.

double Bdmumu::mmu
private

Definition at line 49 of file Bdmumu.h.

int Bdmumu::obs
private

Definition at line 63 of file Bdmumu.h.

double Bdmumu::phiNP
private

Definition at line 60 of file Bdmumu.h.

double Bdmumu::Smumu
private

Definition at line 59 of file Bdmumu.h.

double Bdmumu::timeInt
private

Definition at line 61 of file Bdmumu.h.

double Bdmumu::yd
private

Definition at line 62 of file Bdmumu.h.


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