a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
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 774 of file MVgamma.h.

Public Member Functions

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

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

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

966: ThObservable(SM_i)
967{
968 meson = meson_i;
969 vectorM = vector_i;
970
972}
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
QCD::meson vectorM
Definition: MVgamma.h:793
QCD::meson meson
Definition: MVgamma.h:792
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

◆ computeThValue()

double S_MVgamma::computeThValue ( )
virtual

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

Returns
\(S\)

Implements ThObservable.

Definition at line 974 of file MVgamma.cpp.

975{
977
978 gslpp::complex HVm = SM.getFlavour().getMVgamma(meson, vectorM).H_V_m();
979 gslpp::complex HVm_bar = SM.getFlavour().getMVgamma(meson, vectorM).H_V_m_bar();
980 gslpp::complex HVp = SM.getFlavour().getMVgamma(meson, vectorM).H_V_p();
981 gslpp::complex HVp_bar = SM.getFlavour().getMVgamma(meson, vectorM).H_V_p_bar();
982
983 switch (vectorM) {
986 arg = SM.getFlavour().getDB2(0).getM21(FULLNLO).arg();
987 break;
989 arg = SM.getFlavour().getDB2(1).getM21(FULLNLO).arg();
990 break;
991 default:
992 std::stringstream out;
993 out << vectorM;
994 throw std::runtime_error("MVgamma: vector " + out.str() + " not implemented");
995 }
996
997 /* 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.*/
998 /* See discussion around eq.53 in hep-ph/0510104*/
999 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());
1000}
@ 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:228
void updateParameters()
The update parameter method for MVgamma.
Definition: MVgamma.cpp:207
@ PHI
Definition: QCD.h:348
@ K_star
Definition: QCD.h:349
@ RHO
Definition: QCD.h:353
double arg
Definition: MVgamma.h:794

Member Data Documentation

◆ arg

double S_MVgamma::arg
private

Definition at line 794 of file MVgamma.h.

◆ meson

QCD::meson S_MVgamma::meson
private

Initial meson type.

Definition at line 792 of file MVgamma.h.

◆ vectorM

QCD::meson S_MVgamma::vectorM
private

Final vector meson type.

Definition at line 793 of file MVgamma.h.


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