a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
Loading...
Searching...
No Matches
S_MVgamma Class Reference

A class for the \(S\) parameter for CPV in \(M \to V \gamma\) decay. More...

#include <MVgamma.h>

+ Inheritance diagram for S_MVgamma:

Detailed Description

A class for the \(S\) parameter for CPV in \(M \to V \gamma\) decay.

Author
HEPfit Collaboration

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

\[ S = \frac {2Im(q/p * ( H_V^{+*} \overline{H}_V^+ + H_V^{-*} \overline{H}_V^-))}{( |H_V^+|^2 + |H_V^-|^2 +|\overline{H}_V^+|^2 + |\overline{H}_V^-|^2)} \,. \]

Definition at line 786 of file MVgamma.h.

Public Member Functions

double computeThValue ()
 The \(S\) parameter for CPV in \(M \to V \gamma\).
 
 S_MVgamma (const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i)
 Constructor.
 
- 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 arg
 
QCD::meson meson
 
QCD::meson vectorM
 

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

◆ S_MVgamma()

S_MVgamma::S_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 1012 of file MVgamma.cpp.

1013: ThObservable(SM_i)
1014{
1015 meson = meson_i;
1016 vectorM = vector_i;
1017
1019}
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
QCD::meson vectorM
Definition MVgamma.h:805
QCD::meson meson
Definition MVgamma.h:804
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

◆ computeThValue()

double S_MVgamma::computeThValue ( )
virtual

The \(S\) parameter for CPV in \(M \to V \gamma\).

Returns
\(S\)

Implements ThObservable.

Definition at line 1021 of file MVgamma.cpp.

1022{
1024
1025 gslpp::complex HVm = SM.getFlavour().getMVgamma(meson, vectorM).H_V_m();
1026 gslpp::complex HVm_bar = SM.getFlavour().getMVgamma(meson, vectorM).H_V_m_bar();
1027 gslpp::complex HVp = SM.getFlavour().getMVgamma(meson, vectorM).H_V_p();
1028 gslpp::complex HVp_bar = SM.getFlavour().getMVgamma(meson, vectorM).H_V_p_bar();
1029
1030 switch (vectorM) {
1032 case StandardModel::RHO:
1033 arg = SM.getFlavour().getDB2(0).getM21(FULLNLO).arg();
1034 break;
1035 case StandardModel::PHI:
1036 arg = SM.getFlavour().getDB2(1).getM21(FULLNLO).arg();
1037 break;
1038 default:
1039 std::stringstream out;
1040 out << vectorM;
1041 throw std::runtime_error("MVgamma: vector " + out.str() + " not implemented");
1042 }
1043
1044 /* 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.*/
1045 /* See discussion around eq.53 in hep-ph/0510104*/
1046 return 2.*(exp(gslpp::complex::i()*arg)*(HVp.conjugate()*HVm_bar + HVm.conjugate()*HVp_bar)).imag() / (HVp.abs2() + HVm.abs2() + HVp_bar.abs2() + HVm_bar.abs2());
1047}
@ FULLNLO
Definition OrderScheme.h:38
gslpp::complex getM21(orders order)
The value of for mesons.
Definition AmpDB2.h:51
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
@ PHI
Definition QCD.h:348
@ K_star
Definition QCD.h:349
@ RHO
Definition QCD.h:353
double arg
Definition MVgamma.h:806

Member Data Documentation

◆ arg

double S_MVgamma::arg
private

Definition at line 806 of file MVgamma.h.

◆ meson

QCD::meson S_MVgamma::meson
private

Initial meson type.

Definition at line 804 of file MVgamma.h.

◆ vectorM

QCD::meson S_MVgamma::vectorM
private

Final vector meson type.

Definition at line 805 of file MVgamma.h.


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