21 using namespace complex_literals;
25 namespace MD = MultiDimensional;
27 AmplBDstarDGamLepNu::AmplBDstarDGamLepNu() {
29 vector<IndexType> dims{{11, 8, 2, 2, 2, 2}};
30 string name{
"AmplBDstarDGamLepNu"};
31 addProcessSignature(PID::BPLUS, {-PID::DSTAR, PID::NU_TAU, PID::ANTITAU}, {-PID::D0, PID::GAMMA});
34 addProcessSignature(PID::BZERO, {PID::DSTARMINUS, PID::NU_TAU, PID::ANTITAU}, {PID::DMINUS, PID::GAMMA});
37 addProcessSignature(PID::BPLUS, {-PID::DSTAR, PID::NU_MU, PID::ANTIMUON}, {-PID::D0, PID::GAMMA});
40 addProcessSignature(PID::BZERO, {PID::DSTARMINUS, PID::NU_MU, PID::ANTIMUON}, {PID::DMINUS, PID::GAMMA});
43 addProcessSignature(PID::BPLUS, {-PID::DSTAR, PID::NU_E, PID::POSITRON}, {-PID::D0, PID::GAMMA});
46 addProcessSignature(PID::BZERO, {PID::DSTARMINUS, PID::NU_E, PID::POSITRON}, {PID::DMINUS, PID::GAMMA});
50 addProcessSignature(PID::BS, {PID::DSSTARMINUS, PID::NU_TAU, PID::ANTITAU}, {PID::DSMINUS, PID::GAMMA});
53 addProcessSignature(PID::BS, {PID::DSSTARMINUS, PID::NU_MU, PID::ANTIMUON}, {PID::DSMINUS, PID::GAMMA});
56 addProcessSignature(PID::BS, {PID::DSSTARMINUS, PID::NU_E, PID::POSITRON}, {PID::DSMINUS, PID::GAMMA});
73 const double Mb = pBmes.
mass();
74 const double Mb2 = Mb*Mb;
75 const double Mds = pDstarmes.
mass();
76 const double Mds2 = Mds*Mds;
77 const double Mt = pTau.
mass();
78 const double Md = pDmes.
mass();
79 const double Md2 = Md*Md;
80 const double Sqq = Mb2 + Mds2 - 2. * (pBmes * pDstarmes);
81 const double sqSqq = sqrt(Sqq);
82 const double Ew = (Mb2 - Mds2 + Sqq) / (2 * Mb);
84 const double Pw = sqrt(Ew*Ew - Sqq);
85 const double Pw2 = Pw*Pw;
86 const double BNuTau = (pBmes * kNuTau);
87 const double NuTauQ = (pBmes * kNuTau) - (pDstarmes * kNuTau);
88 const double BQ = Mb2 - (pBmes * pDstarmes);
90 const double PhotonD = kPhoton * pDmes;
91 const double PhotonQ = (kPhoton * pBmes) - (kPhoton * pDstarmes);
92 const double PhotonNuTau = kPhoton * kNuTau;
93 const double TauNuTau = (pTau * kNuTau);
94 const double epsPhotonBDNuTau =
epsilon(kPhoton, pBmes, pDmes, kNuTau);
97 const double CosTe = (Ew * Mb * PhotonD - Sqq * PhotonD - Mds2 * PhotonQ) / (Mb * Pw * PhotonD);
98 const double SinTe = sqrt(1. - CosTe*CosTe);
101 const double CosTeHalfSq = (1. + CosTe) / 2.;
102 const double SinTeHalfSq = (1. - CosTe) / 2.;
103 const double CscTe = 1. / SinTe;
105 const double CosTt = -((Ew * (Sqq * BNuTau - NuTauQ * BQ)) / (sqrt(Ew*Ew - Sqq) * NuTauQ * BQ));
106 const double SinTt = sqrt(1. - CosTt*CosTt);
107 const double CscTt = 1. / SinTt;
111 const double CosTtHalfSq = (1. + CosTt) / 2.;
112 const double SinTtHalfSq = (1. - CosTt) / 2.;
114 const double CosPePt =
115 (CscTe * CscTt) / (Mds * sqSqq * NuTauQ * PhotonD) *
116 (Mds2 * (-PhotonQ * NuTauQ + Sqq * PhotonNuTau) +
117 PhotonD * NuTauQ * (-(Mb2 - Mds2) * CosTe * CosTt + BQ * (1. + CosTe * CosTt)) - Sqq * BNuTau * PhotonD);
118 const double SinPePt = (Mds * sqSqq * CscTe * CscTt * epsPhotonBDNuTau) / (Mb * Pw * PhotonD * TauNuTau);
119 const complex<double> ExpIPePt = CosPePt + 1i * SinPePt;
122 const complex<double> Apl = SinTeHalfSq * CosTtHalfSq / ExpIPePt + ExpIPePt * CosTeHalfSq * SinTtHalfSq;
123 const complex<double> Aplc = SinTeHalfSq * CosTtHalfSq * ExpIPePt + CosTeHalfSq * SinTtHalfSq / ExpIPePt;
124 const complex<double> Ami = SinTeHalfSq * CosTtHalfSq / ExpIPePt - ExpIPePt * CosTeHalfSq * SinTtHalfSq;
125 const complex<double> Amic = SinTeHalfSq * CosTtHalfSq * ExpIPePt - CosTeHalfSq * SinTtHalfSq / ExpIPePt;
126 const complex<double> Aze = SinTe * SinTt;
128 const complex<double> Bpl = SinTt * (CosTeHalfSq * ExpIPePt + SinTeHalfSq / ExpIPePt);
129 const complex<double> Bplc = SinTt * (CosTeHalfSq / ExpIPePt + SinTeHalfSq * ExpIPePt);
130 const complex<double> Bmi = SinTt * (CosTeHalfSq * ExpIPePt - SinTeHalfSq / ExpIPePt);
131 const complex<double> Bmic = SinTt * (CosTeHalfSq / ExpIPePt - SinTeHalfSq * ExpIPePt);
132 const complex<double> Bze = SinTe * CosTt;
133 const complex<double> Bzeb = SinTe;
136 const complex<double> APpl = CosTeHalfSq * CosTtHalfSq / ExpIPePt + ExpIPePt * SinTeHalfSq * SinTtHalfSq;
137 const complex<double> APplc = CosTeHalfSq * CosTtHalfSq * ExpIPePt + SinTeHalfSq * SinTtHalfSq / ExpIPePt;
138 const complex<double> APmi = CosTeHalfSq * CosTtHalfSq / ExpIPePt - ExpIPePt * SinTeHalfSq * SinTtHalfSq;
139 const complex<double> APmic = CosTeHalfSq * CosTtHalfSq * ExpIPePt - SinTeHalfSq * SinTtHalfSq / ExpIPePt;
140 const complex<double> APze = -Aze;
142 const complex<double> BPpl = SinTt * (SinTeHalfSq * ExpIPePt + CosTeHalfSq / ExpIPePt);
143 const complex<double> BPplc = SinTt * (SinTeHalfSq / ExpIPePt + CosTeHalfSq * ExpIPePt);
144 const complex<double> BPmi = SinTt * (SinTeHalfSq * ExpIPePt - CosTeHalfSq / ExpIPePt);
145 const complex<double> BPmic = SinTt * (SinTeHalfSq / ExpIPePt - CosTeHalfSq * ExpIPePt);
146 const complex<double> BPze = -Bze;
147 const complex<double> BPzeb = -Bzeb;
149 const double TwoGfSqMSq = 2 *
GFermi * (Mds2 - Md2) * sqrt(Sqq - Mt*Mt);
150 const double eMuOnSqrt2MGam = sqrt(48.*
pi*Mds2/pow(Mds2 - Md2, 3.));
158 t.
element({6, 1, 0, 1, 1, 0}) = 1i * (Aplc/2. + (Aze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
159 t.
element({6, 2, 0, 1, 1, 0}) = 1i * Amic * Mb * Pw;
160 t.
element({6, 4, 0, 1, 1, 0}) = (-0.5i * Aze * Mb2 * Pw2)/(Mds * sqSqq);
161 t.
element({8, 1, 0, 1, 1, 0}) = -1i * (Aplc/2. + (Aze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
162 t.
element({8, 2, 0, 1, 1, 0}) = 1i * Amic * Mb * Pw;
163 t.
element({8, 4, 0, 1, 1, 0}) = (0.5i * Aze * Mb2 * Pw2)/(Mds * sqSqq);
164 t.
element({10, 5, 0, 1, 1, 0}) = (2i * Aze * Mb2 * Mt * Pw2)/(Mds * sqSqq);
165 t.
element({10, 6, 0, 1, 1, 0}) = -1i * Mt * (2. * Aplc + (Aze * (-Mb2 + Mds2 + Sqq))/(2. * Mds * sqSqq));
166 t.
element({10, 7, 0, 1, 1, 0}) = 1i * Mt * ((-2. * Aplc * (Mb2 - Mds2))/Sqq + (4. * Amic * Mb * Pw)/Sqq + (Aze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds * sqSqq));
167 t.
element({2, 0, 0, 1, 1, 1}) = (0.25i * Bzeb * Mb * Pw)/Mds;
168 t.
element({4, 0, 0, 1, 1, 1}) = (-0.25i * Bzeb * Mb * Pw)/Mds;
169 t.
element({6, 1, 0, 1, 1, 1}) = 1i * Mt * ((Bzeb * Mb * Pw)/(4. * Mds * Sqq) + Bmic/(4. * sqSqq) + (Bze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
170 t.
element({6, 2, 0, 1, 1, 1}) = (-0.5i * Bplc * Mb * Mt * Pw)/sqSqq;
171 t.
element({6, 3, 0, 1, 1, 1}) = (0.25i * Bzeb * Mb * Mt * Pw)/Mds;
172 t.
element({6, 4, 0, 1, 1, 1}) = -1i * Mb * Mt * Pw * ((Bzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (Bze * Mb * Pw)/(2. * Mds * Sqq));
173 t.
element({8, 1, 0, 1, 1, 1}) = -1i * Mt * ((Bzeb * Mb * Pw)/(4. * Mds * Sqq) + Bmic/(4. * sqSqq) + (Bze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
174 t.
element({8, 2, 0, 1, 1, 1}) = (-0.5i * Bplc * Mb * Mt * Pw)/sqSqq;
175 t.
element({8, 3, 0, 1, 1, 1}) = (-0.25i * Bzeb * Mb * Mt * Pw)/Mds;
176 t.
element({8, 4, 0, 1, 1, 1}) = 1i * Mb * Mt * Pw * ((Bzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (Bze * Mb * Pw)/(2. * Mds * Sqq));
177 t.
element({10, 5, 0, 1, 1, 1}) = (2i * Bze * Mb2 * Pw2)/Mds;
178 t.
element({10, 6, 0, 1, 1, 1}) = -1i * (Bmic * sqSqq + (Bze * (-Mb2 + Mds2 + Sqq))/(2. * Mds));
179 t.
element({10, 7, 0, 1, 1, 1}) = 1i * ((Bze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds) + (Bmic * (-Mb2 + Mds2))/sqSqq - (2. * Bplc * Mb * Pw)/sqSqq);
180 t.
element({0, 1, 1, 0, 0, 0}) = -1i * Mt * ((Bzeb * Mb * Pw)/(4. * Mds * Sqq) + Bmi/(4. * sqSqq) + (Bze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
181 t.
element({0, 2, 1, 0, 0, 0}) = (0.5i * Bpl * Mb * Mt * Pw)/sqSqq;
182 t.
element({0, 3, 1, 0, 0, 0}) = (-0.25i * Bzeb * Mb * Mt * Pw)/Mds;
183 t.
element({0, 4, 1, 0, 0, 0}) = 1i * Mb * Mt * Pw * ((Bzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (Bze * Mb * Pw)/(2. * Mds * Sqq));
184 t.
element({1, 0, 1, 0, 0, 0}) = (0.25i * Bzeb * Mb * Pw)/Mds;
185 t.
element({3, 0, 1, 0, 0, 0}) = (-0.25i * Bzeb * Mb * Pw)/Mds;
186 t.
element({5, 1, 1, 0, 0, 0}) = 1i * Mt * ((Bzeb * Mb * Pw)/(4. * Mds * Sqq) + Bmi/(4. * sqSqq) + (Bze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
187 t.
element({5, 2, 1, 0, 0, 0}) = (0.5i * Bpl * Mb * Mt * Pw)/sqSqq;
188 t.
element({5, 3, 1, 0, 0, 0}) = (0.25i * Bzeb * Mb * Mt * Pw)/Mds;
189 t.
element({5, 4, 1, 0, 0, 0}) = -1i * Mb * Mt * Pw * ((Bzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (Bze * Mb * Pw)/(2. * Mds * Sqq));
190 t.
element({7, 1, 1, 0, 0, 0}) = -1i * Mt * ((Bzeb * Mb * Pw)/(4. * Mds * Sqq) + Bmi/(4. * sqSqq) + (Bze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
191 t.
element({7, 2, 1, 0, 0, 0}) = (0.5i * Bpl * Mb * Mt * Pw)/sqSqq;
192 t.
element({7, 3, 1, 0, 0, 0}) = (-0.25i * Bzeb * Mb * Mt * Pw)/Mds;
193 t.
element({7, 4, 1, 0, 0, 0}) = 1i * Mb * Mt * Pw * ((Bzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (Bze * Mb * Pw)/(2. * Mds * Sqq));
194 t.
element({9, 5, 1, 0, 0, 0}) = (-2i * Bze * Mb2 * Pw2)/Mds;
195 t.
element({9, 6, 1, 0, 0, 0}) = 1i * (Bmi * sqSqq + (Bze * (-Mb2 + Mds2 + Sqq))/(2. * Mds));
196 t.
element({9, 7, 1, 0, 0, 0}) = 1i * (-(Bze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds) + (Bmi * (Mb2 - Mds2))/sqSqq + (2. * Bpl * Mb * Pw)/sqSqq);
197 t.
element({0, 1, 1, 0, 0, 1}) = 1i * (Apl/2. + (Aze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
198 t.
element({0, 2, 1, 0, 0, 1}) = 1i * Ami * Mb * Pw;
199 t.
element({0, 4, 1, 0, 0, 1}) = (-0.5i * Aze * Mb2 * Pw2)/(Mds * sqSqq);
200 t.
element({5, 1, 1, 0, 0, 1}) = -1i * (Apl/2. + (Aze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
201 t.
element({5, 2, 1, 0, 0, 1}) = 1i * Ami * Mb * Pw;
202 t.
element({5, 4, 1, 0, 0, 1}) = (0.5i * Aze * Mb2 * Pw2)/(Mds * sqSqq);
203 t.
element({7, 1, 1, 0, 0, 1}) = 1i * (Apl/2. + (Aze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
204 t.
element({7, 2, 1, 0, 0, 1}) = 1i * Ami * Mb * Pw;
205 t.
element({7, 4, 1, 0, 0, 1}) = (-0.5i * Aze * Mb2 * Pw2)/(Mds * sqSqq);
206 t.
element({9, 5, 1, 0, 0, 1}) = (2i * Aze * Mb2 * Mt * Pw2)/(Mds * sqSqq);
207 t.
element({9, 6, 1, 0, 0, 1}) = -1i * Mt * (2. * Apl + (Aze * (-Mb2 + Mds2 + Sqq))/(2. * Mds * sqSqq));
208 t.
element({9, 7, 1, 0, 0, 1}) = 1i * Mt * ((-2. * Apl * (Mb2 - Mds2))/Sqq + (4. * Ami * Mb * Pw)/Sqq + (Aze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds * sqSqq));
209 t.
element({6, 1, 1, 1, 1, 0}) = 1i * (APplc/2. + (APze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
210 t.
element({6, 2, 1, 1, 1, 0}) = 1i * APmic * Mb * Pw;
211 t.
element({6, 4, 1, 1, 1, 0}) = (-0.5i * APze * Mb2 * Pw2)/(Mds * sqSqq);
212 t.
element({8, 1, 1, 1, 1, 0}) = -1i * (APplc/2. + (APze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
213 t.
element({8, 2, 1, 1, 1, 0}) = 1i * APmic * Mb * Pw;
214 t.
element({8, 4, 1, 1, 1, 0}) = (0.5i * APze * Mb2 * Pw2)/(Mds * sqSqq);
215 t.
element({10, 5, 1, 1, 1, 0}) = (2i * APze * Mb2 * Mt * Pw2)/(Mds * sqSqq);
216 t.
element({10, 6, 1, 1, 1, 0}) = -1i * Mt * (2. * APplc + (APze * (-Mb2 + Mds2 + Sqq))/(2. * Mds * sqSqq));
217 t.
element({10, 7, 1, 1, 1, 0}) = 1i * Mt * ((-2. * APplc * (Mb2 - Mds2))/Sqq + (4. * APmic * Mb * Pw)/Sqq + (APze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds * sqSqq));
218 t.
element({2, 0, 1, 1, 1, 1}) = (0.25i * BPzeb * Mb * Pw)/Mds;
219 t.
element({4, 0, 1, 1, 1, 1}) = (-0.25i * BPzeb * Mb * Pw)/Mds;
220 t.
element({6, 1, 1, 1, 1, 1}) = 1i * Mt * ((BPzeb * Mb * Pw)/(4. * Mds * Sqq) + BPmic/(4. * sqSqq) + (BPze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
221 t.
element({6, 2, 1, 1, 1, 1}) = (-0.5i * BPplc * Mb * Mt * Pw)/sqSqq;
222 t.
element({6, 3, 1, 1, 1, 1}) = (0.25i * BPzeb * Mb * Mt * Pw)/Mds;
223 t.
element({6, 4, 1, 1, 1, 1}) = -1i * Mb * Mt * Pw * ((BPzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (BPze * Mb * Pw)/(2. * Mds * Sqq));
224 t.
element({8, 1, 1, 1, 1, 1}) = -1i * Mt * ((BPzeb * Mb * Pw)/(4. * Mds * Sqq) + BPmic/(4. * sqSqq) + (BPze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
225 t.
element({8, 2, 1, 1, 1, 1}) = (-0.5i * BPplc * Mb * Mt * Pw)/sqSqq;
226 t.
element({8, 3, 1, 1, 1, 1}) = (-0.25i * BPzeb * Mb * Mt * Pw)/Mds;
227 t.
element({8, 4, 1, 1, 1, 1}) = 1i * Mb * Mt * Pw * ((BPzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (BPze * Mb * Pw)/(2. * Mds * Sqq));
228 t.
element({10, 5, 1, 1, 1, 1}) = (2i * BPze * Mb2 * Pw2)/Mds;
229 t.
element({10, 6, 1, 1, 1, 1}) = -1i * (BPmic * sqSqq + (BPze * (-Mb2 + Mds2 + Sqq))/(2. * Mds));
230 t.
element({10, 7, 1, 1, 1, 1}) = 1i * ((BPze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds) + (BPmic * (-Mb2 + Mds2))/sqSqq - (2. * BPplc * Mb * Pw)/sqSqq);
231 t.
element({0, 1, 0, 0, 0, 0}) = -1i * Mt * ((BPzeb * Mb * Pw)/(4. * Mds * Sqq) + BPmi/(4. * sqSqq) + (BPze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
232 t.
element({0, 2, 0, 0, 0, 0}) = (0.5i * BPpl * Mb * Mt * Pw)/sqSqq;
233 t.
element({0, 3, 0, 0, 0, 0}) = (-0.25i * BPzeb * Mb * Mt * Pw)/Mds;
234 t.
element({0, 4, 0, 0, 0, 0}) = 1i * Mb * Mt * Pw * ((BPzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (BPze * Mb * Pw)/(2. * Mds * Sqq));
235 t.
element({1, 0, 0, 0, 0, 0}) = (0.25i * BPzeb * Mb * Pw)/Mds;
236 t.
element({3, 0, 0, 0, 0, 0}) = (-0.25i * BPzeb * Mb * Pw)/Mds;
237 t.
element({5, 1, 0, 0, 0, 0}) = 1i * Mt * ((BPzeb * Mb * Pw)/(4. * Mds * Sqq) + BPmi/(4. * sqSqq) + (BPze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
238 t.
element({5, 2, 0, 0, 0, 0}) = (0.5i * BPpl * Mb * Mt * Pw)/sqSqq;
239 t.
element({5, 3, 0, 0, 0, 0}) = (0.25i * BPzeb * Mb * Mt * Pw)/Mds;
240 t.
element({5, 4, 0, 0, 0, 0}) = -1i * Mb * Mt * Pw * ((BPzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (BPze * Mb * Pw)/(2. * Mds * Sqq));
241 t.
element({7, 1, 0, 0, 0, 0}) = -1i * Mt * ((BPzeb * Mb * Pw)/(4. * Mds * Sqq) + BPmi/(4. * sqSqq) + (BPze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * Sqq));
242 t.
element({7, 2, 0, 0, 0, 0}) = (0.5i * BPpl * Mb * Mt * Pw)/sqSqq;
243 t.
element({7, 3, 0, 0, 0, 0}) = (-0.25i * BPzeb * Mb * Mt * Pw)/Mds;
244 t.
element({7, 4, 0, 0, 0, 0}) = 1i * Mb * Mt * Pw * ((BPzeb * (-Mb2 + Mds2))/(4. * Mds * Sqq) + (BPze * Mb * Pw)/(2. * Mds * Sqq));
245 t.
element({9, 5, 0, 0, 0, 0}) = (-2i * BPze * Mb2 * Pw2)/Mds;
246 t.
element({9, 6, 0, 0, 0, 0}) = 1i * (BPmi * sqSqq + (BPze * (-Mb2 + Mds2 + Sqq))/(2. * Mds));
247 t.
element({9, 7, 0, 0, 0, 0}) = 1i * (-(BPze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds) + (BPmi * (Mb2 - Mds2))/sqSqq + (2. * BPpl * Mb * Pw)/sqSqq);
248 t.
element({0, 1, 0, 0, 0, 1}) = 1i * (APpl/2. + (APze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
249 t.
element({0, 2, 0, 0, 0, 1}) = 1i * APmi * Mb * Pw;
250 t.
element({0, 4, 0, 0, 0, 1}) = (-0.5i * APze * Mb2 * Pw2)/(Mds * sqSqq);
251 t.
element({5, 1, 0, 0, 0, 1}) = -1i * (APpl/2. + (APze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
252 t.
element({5, 2, 0, 0, 0, 1}) = 1i * APmi * Mb * Pw;
253 t.
element({5, 4, 0, 0, 0, 1}) = (0.5i * APze * Mb2 * Pw2)/(Mds * sqSqq);
254 t.
element({7, 1, 0, 0, 0, 1}) = 1i * (APpl/2. + (APze * (-Mb2 + Mds2 + Sqq))/(8. * Mds * sqSqq));
255 t.
element({7, 2, 0, 0, 0, 1}) = 1i * APmi * Mb * Pw;
256 t.
element({7, 4, 0, 0, 0, 1}) = (-0.5i * APze * Mb2 * Pw2)/(Mds * sqSqq);
257 t.
element({9, 5, 0, 0, 0, 1}) = (2i * APze * Mb2 * Mt * Pw2)/(Mds * sqSqq);
258 t.
element({9, 6, 0, 0, 0, 1}) = -1i * Mt * (2. * APpl + (APze * (-Mb2 + Mds2 + Sqq))/(2. * Mds * sqSqq));
259 t.
element({9, 7, 0, 0, 0, 1}) = 1i * Mt * ((-2. * APpl * (Mb2 - Mds2))/Sqq + (4. * APmi * Mb * Pw)/Sqq + (APze * (Mb2 + 3. * Mds2 - Sqq))/(2. * Mds * sqSqq));
261 t *= TwoGfSqMSq*eMuOnSqrt2MGam;
264 void AmplBDstarDGamLepNu::addRefs()
const {
265 if(!getSettingsHandler()->checkReference(
"Ligeti:2016npd")){
267 "@article{Ligeti:2016npd,\n"
268 " author = \"Ligeti, Zoltan and Papucci, Michele and Robinson, Dean J.\",\n"
269 " title = \"{New Physics in the Visible Final States of $B\\to D^{(*)}\\tau\\nu$}\",\n"
270 " journal = \"JHEP\",\n"
271 " volume = \"01\",\n"
272 " year = \"2017\",\n"
273 " pages = \"083\",\n"
274 " doi = \"10.1007/JHEP01(2017)083\",\n"
275 " eprint = \"1610.02045\",\n"
276 " archivePrefix = \"arXiv\",\n"
277 " primaryClass = \"hep-ph\",\n"
278 " SLACcitation = \"%%CITATION = ARXIV:1610.02045;%%\"\n"
280 getSettingsHandler()->addReference(
"Ligeti:2016npd", ref);
TensorData makeEmptySparse(const IndexList &dimensions, const LabelsList &labels)
std::complex< double > & element(const IndexList &indices={})
access an element given its indices
static constexpr double GFermi
Tensor indices label definitions.
double mass() const
returns the invariant mass if the invariant mass squared is negative returns
std::vector< Particle > ParticleList
Sparse tensor data container.
double epsilon(const FourMomentum &a, const FourMomentum &b, const FourMomentum &c, const FourMomentum &d)
contracts four 4-momenta with an 4D epsilon tensor.
Multidimensional tensor class with complex numbers as elements.
void clearData()
sets all the elements to 0
const FourMomentum & momentum() const
Various numerical constants.
Hammer particle data class.
static constexpr double pi