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

#include <MVlnu.h>

Detailed Description

Definition at line 16 of file MVlnu.h.

Public Member Functions

double get_hA1 (double w)
 return \( h_{A1} \) at \( w = w \) More...
 
double get_hA1w1 ()
 return A1 form factor at \( w = 1 \) More...
 
double get_hA2 (double w)
 return \( h_{A2} \) at \( w = w \) More...
 
double get_hA3 (double w)
 return \( h_{A3} \) at \( w = w \) More...
 
double get_hV (double w)
 return \( h_{V} \) at \( w = w \) More...
 
double get_R0 (double w)
 return \( R_0 \) at \( w = w \) More...
 
double get_R1 (double w)
 return \( R_1 \) at \( w = w \) More...
 
double get_R2 (double w)
 return \( R_2 \) at \( w = w \) More...
 
double get_unitarity_A_BGL ()
 Axial unitarity constraint for BGL parameters. More...
 
double get_unitarity_P_BGL ()
 Pseudoscalar unitarity constraint for BGL parameters. More...
 
double get_unitarity_V_BGL ()
 Vector unitarity constraint for BGL parameters. More...
 
double getDeltaGammaDeltachi (double chi_min, double chi_max)
 The integral of \( d\Gamma/dcos\chi \) from \(cos\chi\) to \(cos\chi\). More...
 
double getDeltaGammaDeltacl (double cl_min, double cl_max)
 The integral of \( d\Gamma/dcos\theta_{l} \) from \(cos\theta_{l,min}\) to \(cos\theta_{l,max}\). More...
 
double getDeltaGammaDeltacV (double cV_min, double cV_max)
 The integral of \( d\Gamma/dcos\theta_{V} \) from \(cos\theta_{V,min}\) to \(cos\theta_{V,max}\). More...
 
double getDeltaGammaDeltaw (double w_min, double w_max)
 The integral of \( d\Gamma/dw \) from \(w_{min}\) to \(w_{max}\). More...
 
double getFL ()
 Binned D* polarization fraction \( F_{L} \). More...
 
double getMwidth ()
 The width of the meson M. More...
 
double getPlep ()
 Binned lepton helicity asymmetry \( P_{\ell} = (<G_{+}> - <G_{-}>) / (<G_{+}> + <G_{-}>) \). More...
 
std::vector< std::string > initializeMVlnuParameters ()
 
 MVlnu (const StandardModel &SM_i, QCD::meson meson_i, QCD::meson vector_i, QCD::lepton lep_i)
 Constructor. More...
 
virtual ~MVlnu ()
 Destructor. More...
 

Private Attributes

bool btocNPpmflag
 
bool CLNflag
 
double GF
 
QCD::lepton lep
 
double Mb
 
double Mc
 
QCD::meson meson
 
double Mlep
 
double MM
 
double Mnu
 
double mu_b
 
double MV
 
double MV_o_MM
 
std::vector< std::string > mvlnuParameters
 
const StandardModelmySM
 
bool NPanalysis
 
double RV
 
double sqrtMV_o_MM
 
QCD::meson vectorM
 
double w0
 
double width
 

Constructor & Destructor Documentation

◆ MVlnu()

MVlnu::MVlnu ( const StandardModel SM_i,
QCD::meson  meson_i,
QCD::meson  vector_i,
QCD::lepton  lep_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
[in]lep_ifinal leptons of the decay

Definition at line 18 of file MVlnu.cpp.

19 : mySM(SM_i)
20 {
21  lep = lep_i;
22  meson = meson_i;
23  vectorM = vector_i;
24  CLNflag = false;
25  btocNPpmflag = false;
26 
27  w_J = gsl_integration_cquad_workspace_alloc (100);
28 
29  checkcache_int_tau = 0;
30  checkcache_int_mu = 0;
31  checkcache_int_el = 0;
32 
33  double max_double = std::numeric_limits<double>::max();
34 
35  hA1w1_cache = max_double;
36  rho2_cache = max_double;
37  R1w1_cache = max_double;
38  R2w1_cache = max_double;
39  N_A_cache = max_double;
40  N_1_cache =max_double;
41  N_2_cache = max_double;
42  j_A_cache= max_double;
43  j_0_cache = max_double;
44  j_1_cache = max_double;
45  j_2_cache = max_double;
46  k_A_cache = max_double;
47  k_0_cache = max_double;
48  k_1_cache = max_double;
49  k_2_cache = max_double;
50  l_A_cache = max_double;
51 
52  af0_cache = max_double;
53  af1_cache = max_double;
54  af2_cache = max_double;
55  ag0_cache = max_double;
56  ag1_cache = max_double;
57  ag2_cache = max_double;
58  aF11_cache = max_double;
59  aF12_cache = max_double;
60  aF21_cache = max_double;
61  aF22_cache = max_double;
62 
63  CS_cache = max_double;
64  CSp_cache = max_double;
65  CP_cache = max_double;
66  CPp_cache = max_double;
67  CV_cache = max_double;
68  CVp_cache = max_double;
69  CA_cache = max_double;
70  CAp_cache = max_double;
71  CT_cache = max_double;
72  CTp_cache = max_double;
73 }

◆ ~MVlnu()

MVlnu::~MVlnu ( )
virtual

Destructor.

Definition at line 75 of file MVlnu.cpp.

75  {
76 }

Member Function Documentation

◆ get_hA1()

double MVlnu::get_hA1 ( double  w)

return \( h_{A1} \) at \( w = w \)

Returns
\( h_{A1}(w) \)

Definition at line 1178 of file MVlnu.cpp.

1178 {
1179  updateParameters();
1180 
1181  return hA1(q2max);
1182 }
1183 
1184 double MVlnu::get_hA1(double w)

◆ get_hA1w1()

double MVlnu::get_hA1w1 ( )

return A1 form factor at \( w = 1 \)

Returns
\( h_{A1}((MM-MV)^2) \)

Definition at line 1171 of file MVlnu.cpp.

◆ get_hA2()

double MVlnu::get_hA2 ( double  w)

return \( h_{A2} \) at \( w = w \)

Returns
\( h_{A2}(w) \)

Definition at line 1186 of file MVlnu.cpp.

1193 {

◆ get_hA3()

double MVlnu::get_hA3 ( double  w)

return \( h_{A3} \) at \( w = w \)

Returns
\( h_{A3}(w) \)

Definition at line 1195 of file MVlnu.cpp.

1202 {

◆ get_hV()

double MVlnu::get_hV ( double  w)

return \( h_{V} \) at \( w = w \)

Returns
\( h_{V}(w) \)

Definition at line 1203 of file MVlnu.cpp.

1210 {

◆ get_R0()

double MVlnu::get_R0 ( double  w)

return \( R_0 \) at \( w = w \)

Returns
\( R_{0}(w) \)

Definition at line 1229 of file MVlnu.cpp.

1236 {

◆ get_R1()

double MVlnu::get_R1 ( double  w)

return \( R_1 \) at \( w = w \)

Returns
\( R_{1}(w) \)

Definition at line 1211 of file MVlnu.cpp.

1218 {

◆ get_R2()

double MVlnu::get_R2 ( double  w)

return \( R_2 \) at \( w = w \)

Returns
\( R_{2}(w) \)

Definition at line 1220 of file MVlnu.cpp.

1227 {

◆ get_unitarity_A_BGL()

double MVlnu::get_unitarity_A_BGL ( )

Axial unitarity constraint for BGL parameters.

Returns
\( \sum_i (af_i^2 + aF1_i^2) \)

Definition at line 1152 of file MVlnu.cpp.

1159 {

◆ get_unitarity_P_BGL()

double MVlnu::get_unitarity_P_BGL ( )

Pseudoscalar unitarity constraint for BGL parameters.

Returns
\( \sum_i aF2_i^2 \)

Definition at line 1160 of file MVlnu.cpp.

1167 {
1168  updateParameters();
1169 

◆ get_unitarity_V_BGL()

double MVlnu::get_unitarity_V_BGL ( )

Vector unitarity constraint for BGL parameters.

Returns
\( \sum_i ag_i^2 \)

Definition at line 1144 of file MVlnu.cpp.

1151 {

◆ getDeltaGammaDeltachi()

double MVlnu::getDeltaGammaDeltachi ( double  chi_min,
double  chi_max 
)

The integral of \( d\Gamma/dcos\chi \) from \(cos\chi\) to \(cos\chi\).

Parameters
[in]chi_minminmum cos angle value of the integral
[in]chi_maxmaximum cos angle value of the integral
Returns
\( <d\Gamma/dcos\chi> \)

Definition at line 1113 of file MVlnu.cpp.

1120 {
1121  updateParameters();
1122 
1123  double intJ1s = integrateJ(1, q2min, q2max);
1124  double intJ1c = integrateJ(2, q2min, q2max);
1125  double intJ2s = integrateJ(3, q2min, q2max);
1126  double intJ2c = integrateJ(4, q2min, q2max);
1127  double intJ3 = integrateJ(5, q2min, q2max);

◆ getDeltaGammaDeltacl()

double MVlnu::getDeltaGammaDeltacl ( double  cl_min,
double  cl_max 
)

The integral of \( d\Gamma/dcos\theta_{l} \) from \(cos\theta_{l,min}\) to \(cos\theta_{l,max}\).

Parameters
[in]cl_minminmum cos angle value of the integral
[in]cl_maxmaximum cos angle value of the integral
Returns
\( <d\Gamma/dcos\theta_{l}> \)

Definition at line 1042 of file MVlnu.cpp.

1049 {
1050  updateParameters();
1051 
1052  double intJ1s = integrateJ(1, q2min, q2max);
1053  double intJ1c = integrateJ(2, q2min, q2max);
1054  double intJ2s = integrateJ(3, q2min, q2max);
1055  double intJ2c = integrateJ(4, q2min, q2max);
1056  double intJ6s = integrateJ(8, q2min, q2max);

◆ getDeltaGammaDeltacV()

double MVlnu::getDeltaGammaDeltacV ( double  cV_min,
double  cV_max 
)

The integral of \( d\Gamma/dcos\theta_{V} \) from \(cos\theta_{V,min}\) to \(cos\theta_{V,max}\).

Parameters
[in]cV_minminmum cos angle value of the integral
[in]cV_maxmaximum cos angle value of the integral
Returns
\( <d\Gamma/dcos\theta_{V}> \)

Definition at line 1077 of file MVlnu.cpp.

1084 {
1085  updateParameters();
1086 
1087  double intJ1s = integrateJ(1, q2min, q2max);
1088  double intJ1c = integrateJ(2, q2min, q2max);

◆ getDeltaGammaDeltaw()

double MVlnu::getDeltaGammaDeltaw ( double  w_min,
double  w_max 
)

The integral of \( d\Gamma/dw \) from \(w_{min}\) to \(w_{max}\).

Parameters
[in]w_minmaximum q^2 of the integral
[in]w_maxminimum q^2 of the integral
Returns
\( <d\Gamma/dw> \)

Definition at line 1006 of file MVlnu.cpp.

1006 {
1007  updateParameters();
1008 
1009  return 3. / 4. * (2. * J1s(q2) + J1c(q2)) - 1. / 4. * (2. * J2s(q2) + J2c(q2));
1010 }
1011 
1012 double MVlnu::getDeltaGammaDeltaw(double w_min, double w_max)
1013 {
1014  updateParameters();
1015 
1016  double q2_min = (2. * MM * MV)*(w0 - w_max); // min is Mlep*Mlep;
1017  double q2_max = (2. * MM * MV)*(w0 - w_min); // max is (MM-MV)*(MM-MV);
1018 
1019  double intJ1s = integrateJ(1, q2_min, q2_max);

◆ getFL()

double MVlnu::getFL ( )

Binned D* polarization fraction \( F_{L} \).

Returns
\( <F_{L}> \)

Definition at line 1129 of file MVlnu.cpp.

1136 {
1137  updateParameters();
1138 
1139  double intJ1s = integrateJ(1, q2min, q2max);
1140  double intJ1c = integrateJ(2, q2min, q2max);
1141  double intJ2s = integrateJ(3, q2min, q2max);
1142  double intJ2c = integrateJ(4, q2min, q2max);

◆ getMwidth()

double MVlnu::getMwidth ( )
inline

The width of the meson M.

Returns
\( \Gamma_M \)

Definition at line 147 of file MVlnu.h.

147  {
148  updateParameters();
149  return width;
150  }

◆ getPlep()

double MVlnu::getPlep ( )

Binned lepton helicity asymmetry \( P_{\ell} = (<G_{+}> - <G_{-}>) / (<G_{+}> + <G_{-}>) \).

Returns
\( <P_{\ell}> \)

Definition at line 1306 of file MVlnu.cpp.

1309  : index " + out.str() + " not implemented");
1310  }
1311 }
1312 
1313 double MVlnu::getPlep()
1314 {
1315  updateParameters();

◆ initializeMVlnuParameters()

std::vector< std::string > MVlnu::initializeMVlnuParameters ( )

Definition at line 78 of file MVlnu.cpp.

79 {
81  btocNPpmflag = (mySM.getModelName().compare("RealWeakEFTCCPM") == 0);
82  NPanalysis = (mySM.getModelName().compare("RealWeakEFTCCPM") == 0 || mySM.getModelName().compare("RealWeakEFTCC") == 0);
83 
85  << "af0" << "af1" << "af2" << "ag0" << "ag1" << "ag2"
86  << "aF11" << "aF12" << "aF21" << "aF22"
87  << "mBcstV1" << "mBcstV2" << "mBcstV3" << "mBcstV4"
88  << "mBcstA1" << "mBcstA2" << "mBcstA3" << "mBcstA4"
89  << "mBcstP1" << "mBcstP2" << "mBcstP3"
90  << "chiTV" << "chiTA" << "chiTP" << "nI";
91  else {
92  std::stringstream out;
93  out << vectorM;
94  throw std::runtime_error("MVlnu: vector " + out.str() + " not implemented");
95  }
96 
97  if (CLNflag) {
98  mvlnuParameters.clear();
100  << "hA1w1" << "rho2" << "R1w1" << "R2w1"
101  << "N_A" << "N_1" << "N_2" << "j_A" << "j_0" << "j_1" << "j_2"
102  << "k_A" << "k_0" << "k_1" << "k_2" << "l_A";
103  }
104 
107  return mvlnuParameters;
108 }

Member Data Documentation

◆ btocNPpmflag

bool MVlnu::btocNPpmflag
private

A flag for switching to the +/- basis for NP Wilson coefficients

Definition at line 159 of file MVlnu.h.

◆ CLNflag

bool MVlnu::CLNflag
private

A flag for switching to CLN parameterization

Definition at line 158 of file MVlnu.h.

◆ GF

double MVlnu::GF
private

Fermi constant

Definition at line 165 of file MVlnu.h.

◆ lep

QCD::lepton MVlnu::lep
private

Final leptons type

Definition at line 154 of file MVlnu.h.

◆ Mb

double MVlnu::Mb
private

b quark mass

Definition at line 173 of file MVlnu.h.

◆ Mc

double MVlnu::Mc
private

charm quark mass

Definition at line 174 of file MVlnu.h.

◆ meson

QCD::meson MVlnu::meson
private

Initial meson type

Definition at line 155 of file MVlnu.h.

◆ Mlep

double MVlnu::Mlep
private

Lepton mass

Definition at line 166 of file MVlnu.h.

◆ MM

double MVlnu::MM
private

Initial meson mass

Definition at line 168 of file MVlnu.h.

◆ Mnu

double MVlnu::Mnu
private

Neutrino mass

Definition at line 167 of file MVlnu.h.

◆ mu_b

double MVlnu::mu_b
private

b mass scale

Definition at line 172 of file MVlnu.h.

◆ MV

double MVlnu::MV
private

Final vector meson mass

Definition at line 169 of file MVlnu.h.

◆ MV_o_MM

double MVlnu::MV_o_MM
private

Definition at line 162 of file MVlnu.h.

◆ mvlnuParameters

std::vector<std::string> MVlnu::mvlnuParameters
private

The string of mandatory MVlnu parameters

Definition at line 157 of file MVlnu.h.

◆ mySM

const StandardModel& MVlnu::mySM
private

Model type

Definition at line 153 of file MVlnu.h.

◆ NPanalysis

bool MVlnu::NPanalysis
private

A flag to switch to BSM analysis

Definition at line 160 of file MVlnu.h.

◆ RV

double MVlnu::RV
private

Dimensionless meson - vector mass ratio

Definition at line 171 of file MVlnu.h.

◆ sqrtMV_o_MM

double MVlnu::sqrtMV_o_MM
private

Definition at line 163 of file MVlnu.h.

◆ vectorM

QCD::meson MVlnu::vectorM
private

Final vector meson type

Definition at line 156 of file MVlnu.h.

◆ w0

double MVlnu::w0
private

Kinematic variable w at q2=0

Definition at line 170 of file MVlnu.h.

◆ width

double MVlnu::width
private

Initial meson width

Definition at line 175 of file MVlnu.h.


The documentation for this class was generated from the following files:
MVlnu::getDeltaGammaDeltaw
double getDeltaGammaDeltaw(double w_min, double w_max)
The integral of from to .
Definition: MVlnu.cpp:1006
MVlnu::meson
QCD::meson meson
Definition: MVlnu.h:155
MVlnu::CLNflag
bool CLNflag
Definition: MVlnu.h:158
MVlnu::mySM
const StandardModel & mySM
Definition: MVlnu.h:153
QCD::initializeMeson
void initializeMeson(QCD::meson meson_i) const
A method to initialize a meson.
Definition: QCD.cpp:236
MVlnu::btocNPpmflag
bool btocNPpmflag
Definition: MVlnu.h:159
make_vector
Definition: std_make_vector.h:15
MVlnu::MV
double MV
Definition: MVlnu.h:169
MVlnu::MM
double MM
Definition: MVlnu.h:168
MVlnu::vectorM
QCD::meson vectorM
Definition: MVlnu.h:156
Flavour::getFlagCLN
bool getFlagCLN() const
Definition: Flavour.h:255
MVlnu::w0
double w0
Definition: MVlnu.h:170
MVlnu::lep
QCD::lepton lep
Definition: MVlnu.h:154
StandardModel::getFlavour
const Flavour & getFlavour() const
Definition: StandardModel.h:1020
MVlnu::width
double width
Definition: MVlnu.h:175
QCD::D_star_P
Definition: QCD.h:350
Model::getModelName
std::string getModelName() const
A method to fetch the name of the model.
Definition: Model.h:59
MVlnu::NPanalysis
bool NPanalysis
Definition: MVlnu.h:160
MVlnu::get_hA1
double get_hA1(double w)
return at
Definition: MVlnu.cpp:1178
MVlnu::mvlnuParameters
std::vector< std::string > mvlnuParameters
Definition: MVlnu.h:157