Bsmumu Class Reference

#include <Bsmumu.h>

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

Detailed Description

Definition at line 15 of file Bsmumu.h.

Public Member Functions

 Bsmumu (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 evolbsmm
 
double mb
 
double mBs
 
double mmu
 
double ms
 
int obs
 
double phiNP
 
double Smumu
 
double timeInt
 

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

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

constructor

Parameters
Flavour

Definition at line 10 of file Bsmumu.cpp.

11 : ThObservable(SM_i),
12  evolbsmm(8, NDR, NNLO, NLO_ewt4, SM)
13 {
14  if (obsFlag > 0 and obsFlag < 5) obs = obsFlag;
15  else throw std::runtime_error("obsFlag in Bsmumu(myFlavour, obsFlag) called from ThFactory::ThFactory() can only be 1 (BR) or 2 (BRbar) or 3 (Amumu) or 4 (Smumu)");
16 };
EvolBsmm evolbsmm
Definition: Bsmumu.h:63
int obs
Definition: Bsmumu.h:62
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 Bsmumu::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 Bsmumu.cpp.

66 {
67  if (SM.getMyFlavour()->getHDB1().getCoeffsmumu().getOrder() < order % 3){
68  std::stringstream out;
69  out << order;
70  throw std::runtime_error("Bsmumu::computeAmpSq(): required cofficient of "
71  "order " + out.str() + " not computed");
72  }
74 
75  double alsmu = evolbsmm.alphatilde_s(mu);
76  double alemu = evolbsmm.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(); //contains only SM contributions (P, P', S, S' not added)
89  argP = CC.arg();
90 
91  absS = 0.;
92  argS = 0.;
93 
94  phiNP = 0.;
95 
96  ampSq = absP * absP ;
97 
98  }
99  break;
100  default:
101  std::stringstream out;
102  out << order;
103  throw std::runtime_error("Bsmumu::computeAmpSq(): order " + out.str() + " not implemented");;
104  }
105  }
106 
107 }
double alphatilde_e(double mu)
Definition: EvolBsmm.cpp:1120
const HeffDB1 & getHDB1() const
The member that returns an object of the class HeffDB1.
Definition: Flavour.h:68
double phiNP
Definition: Bsmumu.h:60
double absS
Definition: Bsmumu.h:55
EvolBsmm evolbsmm
Definition: Bsmumu.h:63
double argP
Definition: Bsmumu.h:54
Definition: OrderScheme.h:33
Flavour * getMyFlavour() const
gslpp::vector< gslpp::complex > ** ComputeCoeffsmumu(double mu, schemes scheme=NDR)
Computes the Wilson coefficient for the process .
Definition: Flavour.h:113
double abs() const
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
WilsonCoefficient getCoeffsmumu() const
Definition: HeffDB1.h:148
double ampSq
Definition: Bsmumu.h:57
orders getOrder() const
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 argS
Definition: Bsmumu.h:56
double absP
Definition: Bsmumu.h:53
double Bsmumu::computeAmumu ( orders  order)

Definition at line 53 of file Bsmumu.cpp.

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

Definition at line 38 of file Bsmumu.cpp.

39 {
40  double mu = SM.getMub();
41 
46  chiral = pow(mBs, 2.) / 2. / mmu * mb / (mb + ms);
47  beta = sqrt(1. - pow(2. * mmu / mBs, 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)
double ms
Definition: Bsmumu.h:51
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 Smumu
Definition: Bsmumu.h:59
complex pow(const complex &z1, const complex &z2)
double chiral
Definition: Bsmumu.h:52
double phiNP
Definition: Bsmumu.h:60
double Amumu
Definition: Bsmumu.h:58
double absS
Definition: Bsmumu.h:55
double mBs
Definition: Bsmumu.h:48
Meson getMesons(const meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:859
void computeAmpSq(orders order, orders_ew order_ew, double mu)
Definition: Bsmumu.cpp:65
double argP
Definition: Bsmumu.h:54
double mb
Definition: Bsmumu.h:50
Definition: QCD.h:721
double mmu
Definition: Bsmumu.h:49
Particle getQuarks(const quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:869
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
double beta
Definition: Bsmumu.h:47
complex sin(const complex &z)
double argS
Definition: Bsmumu.h:56
double absP
Definition: Bsmumu.h:53
complex sqrt(const complex &z)
double Bsmumu::computeSmumu ( orders  order)

Definition at line 59 of file Bsmumu.cpp.

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

hep-ph/9512380v2

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

Implements ThObservable.

Definition at line 18 of file Bsmumu.cpp.

19 {
21  double FBs = SM.getMesons(QCD::B_S).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_S).computeWidth() * pow(FBs, 2.) * pow(mmu, 2.) * mBs * beta;
26  double ys = SM.getMesons(QCD::B_S).getDgamma_gamma()/2.; // For now. To be explicitly calculated.
27  timeInt = (1. + Amumu * ys) / (1. - ys * ys); // 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("Bsmumu::computeThValue(): Observable type not defined. Can be only any of (1,2,3,4)");
35  return (EXIT_FAILURE);
36 }
double Smumu
Definition: Bsmumu.h:59
complex pow(const complex &z1, const complex &z2)
const double & getDgamma_gamma() const
Definition: Meson.h:124
double Amumu
Definition: Bsmumu.h:58
const double & getDecayconst() const
A get method for the decay constant of the meson.
Definition: Meson.h:74
double mBs
Definition: Bsmumu.h:48
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, .
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 .
int obs
Definition: Bsmumu.h:62
Definition: QCD.h:721
double mmu
Definition: Bsmumu.h:49
double timeInt
Definition: Bsmumu.h:61
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:99
double beta
Definition: Bsmumu.h:47
double ampSq
Definition: Bsmumu.h:57
void computeObs(orders order, orders_ew order_ew)
Definition: Bsmumu.cpp:38

Member Data Documentation

double Bsmumu::absP
private

Definition at line 53 of file Bsmumu.h.

double Bsmumu::absS
private

Definition at line 55 of file Bsmumu.h.

double Bsmumu::ampSq
private

Definition at line 57 of file Bsmumu.h.

double Bsmumu::Amumu
private

Definition at line 58 of file Bsmumu.h.

double Bsmumu::argP
private

Definition at line 54 of file Bsmumu.h.

double Bsmumu::argS
private

Definition at line 56 of file Bsmumu.h.

double Bsmumu::beta
private

Definition at line 47 of file Bsmumu.h.

double Bsmumu::chiral
private

Definition at line 52 of file Bsmumu.h.

EvolBsmm Bsmumu::evolbsmm
private

Definition at line 63 of file Bsmumu.h.

double Bsmumu::mb
private

Definition at line 50 of file Bsmumu.h.

double Bsmumu::mBs
private

Definition at line 48 of file Bsmumu.h.

double Bsmumu::mmu
private

Definition at line 49 of file Bsmumu.h.

double Bsmumu::ms
private

Definition at line 51 of file Bsmumu.h.

int Bsmumu::obs
private

Definition at line 62 of file Bsmumu.h.

double Bsmumu::phiNP
private

Definition at line 60 of file Bsmumu.h.

double Bsmumu::Smumu
private

Definition at line 59 of file Bsmumu.h.

double Bsmumu::timeInt
private

Definition at line 61 of file Bsmumu.h.


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