a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Loading...
Searching...
No Matches
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) \,. \]

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) \,. \]

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 546 of file MVgamma.h.

Public Member Functions

 BR_MVgamma (const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i)
 Constructor.
 
double computeBR_MVgamma (QCD::meson meson, QCD::meson vector)
 The \(BR\) in \(M \to V \gamma\).
 
double computeThValue ()
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin.
 
double getBinMin ()
 A get method to get the minimum value of the bin.
 
const StandardModelgetModel ()
 A get method to get the model.
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable.
 
void setBinMax (double max)
 A set method to set the maximum value of the bin.
 
void setBinMin (double min)
 A set method to set the minimum value of the bin.
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable.
 
 ThObservable (const StandardModel &SM_i)
 Constructor.
 
 ThObservable (const ThObservable &orig)
 The copy constructor.
 
virtual ~ThObservable ()
 The default destructor.
 

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.
 
double min
 The bin minimum.
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable
 
const StandardModelSM
 A reference to an object of StandardMode class.
 

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 845 of file MVgamma.cpp.

846: ThObservable(SM_i)
847{
848 meson = meson_i;
849 vectorM = vector_i;
850
852}
QCD::meson meson
Definition MVgamma.h:566
QCD::meson vectorM
Definition MVgamma.h:567
MVgamma & getMVgamma(QCD::meson meson_i, QCD::meson vector_i) const
Returns the initial and final state dependent object for .
Definition Flavour.cpp:234
std::vector< std::string > initializeMVgammaParameters()
A method for initializing the parameters necessary for MVgamma.
Definition MVgamma.cpp:45
const Flavour & getFlavour() const
A class for a model prediction of an observable.
void setParametersForObservable(std::vector< std::string > parametersForObservable_i)
A set method to get the parameters for the specific observable.
const StandardModel & SM
A reference to an object of StandardMode class.

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 854 of file MVgamma.cpp.

855{
856 QCD::meson meson_i = meson;
857 QCD::meson vector_i = vector;
858
859 SM.getFlavour().getMVgamma(meson_i, vector_i).updateParameters();
860
861 gslpp::complex HVm = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_m();
862 gslpp::complex HVm_bar = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_m_bar();
863 gslpp::complex HVp = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_p();
864 gslpp::complex HVp_bar = SM.getFlavour().getMVgamma(meson_i, vector_i).H_V_p_bar();
865
866 switch (vector_i) {
872 arg = SM.getFlavour().getDB2(0).getM21(FULLNLO).arg();
873 t_int = 1.;
874 break;
876 arg = SM.getFlavour().getDB2(1).getM21(FULLNLO).arg();
877 /* 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.*/
878 /* See discussion around eq.53 in hep-ph/0510104*/
879 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());
881 t_int = (1. - ADG * ys)/(1. - ys*ys);
882 break;
883 default:
884 std::stringstream out;
885 out << vector_i;
886 throw std::runtime_error("MVgamma: vector " + out.str() + " not implemented");
887 }
888
889 double GF = SM.getGF();
890 double ale = SM.getAle();
891 double MM = SM.getMesons(meson_i).getMass();
892 double MM2 = MM * MM;
893 double Mb = SM.getQuarks(QCD::BOTTOM).getMass();
894 double MV = SM.getMesons(vector_i).getMass();
895 double width = SM.getMesons(meson_i).computeWidth();
896 double lambda = MM2 - pow(MV, 2.);
897
898
899 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;
900}
@ FULLNLO
Definition OrderScheme.h:38
gslpp::complex getM21(orders order)
The value of for mesons.
Definition AmpDB2.h:51
double arg
Definition MVgamma.h:568
double ys
Definition MVgamma.h:570
double t_int
Definition MVgamma.h:571
double ADG
Definition MVgamma.h:569
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:229
void updateParameters()
The update parameter method for MVgamma.
Definition MVgamma.cpp:227
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 902 of file MVgamma.cpp.

903{
905}
double computeBR_MVgamma(QCD::meson meson, QCD::meson vector)
The in .
Definition MVgamma.cpp:854

Member Data Documentation

◆ ADG

double BR_MVgamma::ADG
private

\(A_{\Delta\Gamma}\)

Definition at line 569 of file MVgamma.h.

◆ arg

double BR_MVgamma::arg
private

Definition at line 568 of file MVgamma.h.

◆ meson

QCD::meson BR_MVgamma::meson
private

Initial meson type.

Definition at line 566 of file MVgamma.h.

◆ t_int

double BR_MVgamma::t_int
private

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

Definition at line 571 of file MVgamma.h.

◆ vectorM

QCD::meson BR_MVgamma::vectorM
private

Final vector meson type.

Definition at line 567 of file MVgamma.h.

◆ ys

double BR_MVgamma::ys
private

Definition at line 570 of file MVgamma.h.


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