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

A class for the \(BR\) in \(M \to V \gamma\) decay. More...

#include <MVgamma.h>

+ Inheritance diagram for BR_MVgamma:

Detailed Description

A class for the \(BR\) in \(M \to V \gamma\) decay.

Author
HEPfit Collaboration

This class is used to compute the \(BR\) in \(M \to V \gamma\) in terms of the helicity amplitudes \(H_V^{(+,-)},\overline{H}_V^{(+,-)}\), computed in the MVgamma class:

\[ BR = \frac {\alpha_e G_F^2 M_b^2 M_M \lambda}{(4\pi)^2 4 w_M} ( |H_V^+|^2 + |H_A^+|^2 +|\overline{H}_V^-|^2 + |\overline{H}_A^-|^2) \,. \]

Definition at line 534 of file MVgamma.h.

Public Member Functions

 BR_MVgamma (const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i)
 Constructor. More...
 
double computeBR_MVgamma (QCD::meson meson, QCD::meson vector)
 The \(BR\) in \(M \to V \gamma\). More...
 
double computeThValue ()
 
- 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...
 

Private Attributes

double ADG
 
double arg
 
QCD::meson meson
 
double t_int
 
QCD::meson vectorM
 
double ys
 

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

◆ BR_MVgamma()

BR_MVgamma::BR_MVgamma ( const StandardModel SM_i,
QCD::meson  meson_i,
QCD::meson  vector_i 
)

Constructor.

Parameters
[in]SM_ia reference to an object of type StandardModel
[in]meson_iinitial meson of the decay
[in]vector_ifinal vector meson of the decay

Definition at line 798 of file MVgamma.cpp.

799: ThObservable(SM_i)
800{
801 meson = meson_i;
802 vectorM = vector_i;
803
805}
QCD::meson meson
Definition: MVgamma.h:554
QCD::meson vectorM
Definition: MVgamma.h:555
MVgamma & getMVgamma(QCD::meson meson_i, QCD::meson vector_i) const
Returns the initial and final state dependent object for .
Definition: Flavour.cpp:233
std::vector< std::string > initializeMVgammaParameters()
A method for initializing the parameters necessary for MVgamma.
Definition: MVgamma.cpp:45
const Flavour & getFlavour() const
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
Definition: ThObservable.h:109
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
const StandardModel & SM
A reference to an object of StandardMode class.
Definition: ThObservable.h:121

Member Function Documentation

◆ computeBR_MVgamma()

double BR_MVgamma::computeBR_MVgamma ( QCD::meson  meson,
QCD::meson  vector 
)

The \(BR\) in \(M \to V \gamma\).

Returns
\(BR\)

Definition at line 807 of file MVgamma.cpp.

808{
809 QCD::meson meson_i = meson;
810 QCD::meson vector_i = vector;
811
812 SM.getFlavour().getMVgamma(meson_i, vector_i).updateParameters();
813
814 gslpp::complex HVm = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_m();
815 gslpp::complex HVm_bar = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_m_bar();
816 gslpp::complex HVp = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_p();
817 gslpp::complex HVp_bar = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_p_bar();
818
819 switch (vector_i) {
825 arg = SM.getFlavour().getDB2(0).getM21(FULLNLO).arg();
826 t_int = 1.;
827 break;
829 arg = SM.getFlavour().getDB2(1).getM21(FULLNLO).arg();
830 /* For correctly defined polarization the numerator should be H_V_p().conjugate()*H_V_p_bar() + H_V_m().conjugate()*H_V_m_bar(). Switched to keep consistency with K*ll.*/
831 /* See discussion around eq.53 in hep-ph/0510104*/
832 ADG = 2.*(exp(gslpp::complex::i()*arg)*(HVp.conjugate()*HVm_bar + HVm.conjugate()*HVp_bar)).real() / (HVp.abs2() + HVm.abs2() + HVp_bar.abs2() + HVm_bar.abs2());
834 t_int = (1. - ADG * ys)/(1. - ys*ys);
835 break;
836 default:
837 std::stringstream out;
838 out << vector_i;
839 throw std::runtime_error("MVgamma: vector " + out.str() + " not implemented");
840 }
841
842 double GF = SM.getGF();
843 double ale = SM.getAle();
844 double MM = SM.getMesons(meson_i).getMass();
845 double MM2 = MM * MM;
846 double Mb = SM.getQuarks(QCD::BOTTOM).getMass();
847 double MV = SM.getMesons(vector_i).getMass();
848 double width = SM.getMesons(meson_i).computeWidth();
849 double lambda = MM2 - pow(MV, 2.);
850
851
852 return ale * pow(GF * Mb / (4 * M_PI * M_PI), 2.) * MM * lambda / (4. * width) * (HVp.abs2() + HVm.abs2() + HVp_bar.abs2() + HVm_bar.abs2()) * t_int;
853}
@ FULLNLO
Definition: OrderScheme.h:38
gslpp::complex getM21(orders order)
The value of for mesons.
Definition: AmpDB2.h:51
double arg
Definition: MVgamma.h:556
double ys
Definition: MVgamma.h:558
double t_int
Definition: MVgamma.h:559
double ADG
Definition: MVgamma.h:557
AmpDB2 & getDB2(int BMeson_i, bool flag_fixmub=false, bool flag_RI=false) const
Returns a reference to the meson dependent object for processes.
Definition: Flavour.cpp:228
void updateParameters()
The update parameter method for MVgamma.
Definition: MVgamma.cpp:207
const double & getDgamma_gamma() const
Definition: Meson.h:411
double computeWidth() const
A method to compute the width of the meson from its lifetime.
Definition: Meson.cpp:521
const double & getMass() const
A get method to access the particle mass.
Definition: Particle.h:61
meson
An enum type for mesons.
Definition: QCD.h:336
@ OMEGA
Definition: QCD.h:355
@ PHI
Definition: QCD.h:348
@ K_star
Definition: QCD.h:349
@ K_star_P
Definition: QCD.h:350
@ RHO_P
Definition: QCD.h:354
@ RHO
Definition: QCD.h:353
@ B_S
Definition: QCD.h:346
const Meson & getMesons(const QCD::meson m) const
A get method to access a meson as an object of the type Meson.
Definition: QCD.h:526
@ BOTTOM
Definition: QCD.h:329
const Particle & getQuarks(const QCD::quark q) const
A get method to access a quark as an object of the type Particle.
Definition: QCD.h:536
const double getGF() const
A get method to retrieve the Fermi constant .
const double getAle() const
A get method to retrieve the fine-structure constant .

◆ computeThValue()

double BR_MVgamma::computeThValue ( )
virtual

Implements ThObservable.

Reimplemented in R_MVgamma, and D0p_MVgamma.

Definition at line 855 of file MVgamma.cpp.

856{
858}
double computeBR_MVgamma(QCD::meson meson, QCD::meson vector)
The in .
Definition: MVgamma.cpp:807

Member Data Documentation

◆ ADG

double BR_MVgamma::ADG
private

\(A_{\Delta\Gamma}\)

Definition at line 557 of file MVgamma.h.

◆ arg

double BR_MVgamma::arg
private

Definition at line 556 of file MVgamma.h.

◆ meson

QCD::meson BR_MVgamma::meson
private

Initial meson type.

Definition at line 554 of file MVgamma.h.

◆ t_int

double BR_MVgamma::t_int
private

\(\frac{\Delta\Gamma}{\Gamma}\)

Definition at line 559 of file MVgamma.h.

◆ vectorM

QCD::meson BR_MVgamma::vectorM
private

Final vector meson type.

Definition at line 555 of file MVgamma.h.

◆ ys

double BR_MVgamma::ys
private

Definition at line 558 of file MVgamma.h.


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