84 checkSpinParent(EvtSpinType::SCALAR);
86 checkSpinDaughter(1, EvtSpinType::DIRAC);
87 checkSpinDaughter(2, EvtSpinType::NEUTRINO);
89 const double m_tau = EvtPDL::getMeanMass(getDaug(1));
91 EvtSpinType::spintype d1type = EvtPDL::getSpinType(getDaug(0));
93 if (d1type == EvtSpinType::VECTOR) {
94 B2INFO(
"EvtBSemiTauonic2HDMType2::init()>> Initializing for decays to a vector type meson ");
97 const double rhoa12 = getArg(0);
98 const double R11 = getArg(1);
99 const double R21 = getArg(2);
100 const double aR3 = getArg(3);
102 const double rho12 = 0;
103 const double aS1 = 0;
105 EvtComplex Coeffs[5];
107 const double m_b = getArg(4);
108 const double m_c = getArg(5);
109 const double tanBetaOverMH = getArg(6);
110 B2INFO(
"tan(beta)/m_H+ = " << tanBetaOverMH);
114 Coeffs[2] = -m_b * m_tau * tanBetaOverMH * tanBetaOverMH;
118 if (getNArg() == 8) {
120 const double m_H = getArg(7);
121 Coeffs[3] = -m_c * m_tau / m_H / m_H;
125 Coeffs[0], Coeffs[1], Coeffs[2], Coeffs[3], Coeffs[4],
126 EvtPDL::getMeanMass(getParentId()),
128 EvtPDL::getMeanMass(getDaug(0)));
130 }
else if (d1type == EvtSpinType::SCALAR) {
131 B2INFO(
"EvtBSemiTauonic2HDMType2::init()>> Initializing for decays to a scalar type meson ");
134 const double rho12 = getArg(0);
135 const double aS1 = getArg(1);
137 const double rhoa12 = 0;
138 const double R11 = 0;
139 const double R21 = 0;
140 const double aR3 = 0;
142 EvtComplex Coeffs[5];
144 const double m_b = getArg(2);
145 const double m_c = getArg(3);
146 const double tanBetaOverMH = getArg(4);
147 B2INFO(
"tan(beta)/m_H+ = " << tanBetaOverMH);
151 Coeffs[2] = -m_b * m_tau * tanBetaOverMH * tanBetaOverMH;
155 if (getNArg() == 6) {
157 const double m_H = getArg(5);
158 Coeffs[3] = -m_c * m_tau / m_H / m_H;
162 Coeffs[0], Coeffs[1], Coeffs[2], Coeffs[3], Coeffs[4],
163 EvtPDL::getMeanMass(getParentId()),
164 EvtPDL::getMeanMass(getDaug(0)),
168 B2ERROR(
"BSemiTauonic2HDMType2 model handles only scalar and vector meson daughters.");