Hammer  1.0.0
Helicity Amplitude Module for Matrix Element Reweighting
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RateBDstarLepNu.cc
Go to the documentation of this file.
1 ///
2 /// @file RateBDstarLepNu.cc
3 /// @brief \f$ B \rightarrow D^* \tau\nu \f$ total rate
4 ///
5 
6 //**** This file is a part of the HAMMER library
7 //**** Copyright (C) 2016 - 2020 The HAMMER Collaboration
8 //**** HAMMER is licensed under version 3 of the GPL; see COPYING for details
9 //**** Please note the MCnet academic guidelines; see GUIDELINES for details
10 
11 // -*- C++ -*-
12 #include <cmath>
14 #include "Hammer/IndexLabels.hh"
15 #include "Hammer/Math/Constants.hh"
17 #include "Hammer/Particle.hh"
18 #include "Hammer/Tools/Pdg.hh"
19 
20 using namespace std;
21 
22 namespace Hammer {
23 
24  namespace MD = MultiDimensional;
25 
26  RateBDstarLepNu::RateBDstarLepNu() {
27  //Create tensor rank and dimensions
28  vector<IndexType> dims{{11, 8, 11, 8, _nPoints}};
29  string name {"RateBDstarLepNuQ2"};
30  auto& pdg = PID::instance();
31  addProcessSignature(PID::BPLUS,{-PID::DSTAR,PID::NU_TAU,PID::ANTITAU});
32  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTITAU), pdg.getMass(PID::BPLUS)-pdg.getMass(PID::DSTAR))});
34 
35  addProcessSignature(PID::BZERO,{PID::DSTARMINUS,PID::NU_TAU,PID::ANTITAU});
36  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTITAU), pdg.getMass(PID::BZERO)-pdg.getMass(PID::DSTARMINUS))});
38 
39  addProcessSignature(PID::BPLUS,{-PID::DSTAR,PID::NU_MU,PID::ANTIMUON});
40  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTIMUON), pdg.getMass(PID::BPLUS)-pdg.getMass(PID::DSTAR))});
42 
43  addProcessSignature(PID::BZERO,{PID::DSTARMINUS,PID::NU_MU,PID::ANTIMUON});
44  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTIMUON), pdg.getMass(PID::BZERO)-pdg.getMass(PID::DSTARMINUS))});
46 
47  addProcessSignature(PID::BPLUS,{-PID::DSTAR,PID::NU_E,PID::POSITRON});
48  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::POSITRON), pdg.getMass(PID::BPLUS)-pdg.getMass(PID::DSTAR))});
50 
51  addProcessSignature(PID::BZERO,{PID::DSTARMINUS,PID::NU_E,PID::POSITRON});
52  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::POSITRON), pdg.getMass(PID::BZERO)-pdg.getMass(PID::DSTARMINUS))});
54 
55  //bs -> cs
56  addProcessSignature(PID::BS,{PID::DSSTARMINUS,PID::NU_TAU,PID::ANTITAU});
57  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTITAU), pdg.getMass(PID::BS)-pdg.getMass(PID::DSSTARMINUS))});
59 
60  addProcessSignature(PID::BS,{PID::DSSTARMINUS,PID::NU_MU,PID::ANTIMUON});
61  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::ANTIMUON), pdg.getMass(PID::BS)-pdg.getMass(PID::DSSTARMINUS))});
63 
64  addProcessSignature(PID::BS,{PID::DSSTARMINUS,PID::NU_E,PID::POSITRON});
65  addIntegrationBoundaries({PS::makeQ2Function(pdg.getMass(PID::POSITRON), pdg.getMass(PID::BS)-pdg.getMass(PID::DSSTARMINUS))});
67  setSignatureIndex();
68  }
69 
70  Tensor RateBDstarLepNu::evalAtPSPoint(const vector<double>& point) {
71  auto labs = getTensor().labels();
72  labs.pop_back();
73  auto dimensions = getTensor().dims();
74  dimensions.pop_back();
75  Tensor result{"RateBDstarLepNu", MD::makeEmptySparse(dimensions, labs)};
76 
77  const double Mb = masses()[0];
78  const double Mc = masses()[1];
79  const double Mt = masses()[3];
80 
81  const double Mb2 = pow(Mb,2.);
82  const double Mb4 = pow(Mb,4.);
83  const double Mc2 = pow(Mc,2.);
84  const double Mc4 = pow(Mc,4.);
85  const double Mt2 = pow(Mt,2.);
86 
87  //kinematic objects
88  const double Sqq = point[0];
89  const double Sqq2 = pow(Sqq, 2.);
90  const double Ew = (Mb2 - Mc2 + Sqq)/(2*Mb);
91  const double Ew2 = pow(Ew,2.);
92  const double Pw = sqrt(Ew2 - Sqq);
93  const double Pw2 = pow(Pw,2.);
94  const double Pw4 = pow(Pw,4.);
95 
96  double RateNorm = (pow(GFermi,2.)*Pw*pow(-Mt2 + Sqq,2.))/(32.*Mb2*pi3*Sqq);
97 
98  //set non-zero tensor elements
99  result.element({0,1,0,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
100  result.element({0,1,0,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
101  result.element({0,1,0,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
102  result.element({0,1,1,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
103  result.element({0,1,3,0}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
104  result.element({0,1,5,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
105  result.element({0,1,5,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
106  result.element({0,1,5,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
107  result.element({0,1,7,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
108  result.element({0,1,7,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
109  result.element({0,1,7,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
110  result.element({0,1,9,5}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
111  result.element({0,1,9,6}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
112  result.element({0,1,9,7}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
113  result.element({0,2,0,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
114  result.element({0,2,5,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
115  result.element({0,2,7,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
116  result.element({0,2,9,7}) = (16.*Mb2*Mt*Pw2)/Sqq ;
117  result.element({0,3,0,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
118  result.element({0,3,0,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
119  result.element({0,3,0,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
120  result.element({0,3,1,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
121  result.element({0,3,3,0}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
122  result.element({0,3,5,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
123  result.element({0,3,5,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
124  result.element({0,3,5,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
125  result.element({0,3,7,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
126  result.element({0,3,7,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
127  result.element({0,3,7,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
128  result.element({0,4,0,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
129  result.element({0,4,0,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
130  result.element({0,4,0,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
131  result.element({0,4,1,0}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
132  result.element({0,4,3,0}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
133  result.element({0,4,5,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
134  result.element({0,4,5,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
135  result.element({0,4,5,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
136  result.element({0,4,7,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
137  result.element({0,4,7,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
138  result.element({0,4,7,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
139  result.element({0,4,9,5}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
140  result.element({0,4,9,6}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
141  result.element({0,4,9,7}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
142  result.element({1,0,0,1}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
143  result.element({1,0,0,3}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
144  result.element({1,0,0,4}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
145  result.element({1,0,1,0}) = (Mb2*Pw2)/(2.*Mc2) ;
146  result.element({1,0,3,0}) = -(Mb2*Pw2)/(2.*Mc2) ;
147  result.element({1,0,5,1}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
148  result.element({1,0,5,3}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
149  result.element({1,0,5,4}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
150  result.element({1,0,7,1}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
151  result.element({1,0,7,3}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
152  result.element({1,0,7,4}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
153  result.element({2,0,2,0}) = (Mb2*Pw2)/(2.*Mc2) ;
154  result.element({2,0,4,0}) = -(Mb2*Pw2)/(2.*Mc2) ;
155  result.element({2,0,6,1}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
156  result.element({2,0,6,3}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
157  result.element({2,0,6,4}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
158  result.element({2,0,8,1}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
159  result.element({2,0,8,3}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
160  result.element({2,0,8,4}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
161  result.element({3,0,0,1}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
162  result.element({3,0,0,3}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
163  result.element({3,0,0,4}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
164  result.element({3,0,1,0}) = -(Mb2*Pw2)/(2.*Mc2) ;
165  result.element({3,0,3,0}) = (Mb2*Pw2)/(2.*Mc2) ;
166  result.element({3,0,5,1}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
167  result.element({3,0,5,3}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
168  result.element({3,0,5,4}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
169  result.element({3,0,7,1}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
170  result.element({3,0,7,3}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
171  result.element({3,0,7,4}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
172  result.element({4,0,2,0}) = -(Mb2*Pw2)/(2.*Mc2) ;
173  result.element({4,0,4,0}) = (Mb2*Pw2)/(2.*Mc2) ;
174  result.element({4,0,6,1}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
175  result.element({4,0,6,3}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
176  result.element({4,0,6,4}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
177  result.element({4,0,8,1}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
178  result.element({4,0,8,3}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
179  result.element({4,0,8,4}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
180  result.element({5,1,0,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
181  result.element({5,1,0,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
182  result.element({5,1,0,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
183  result.element({5,1,1,0}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
184  result.element({5,1,3,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
185  result.element({5,1,5,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
186  result.element({5,1,5,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
187  result.element({5,1,5,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
188  result.element({5,1,7,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
189  result.element({5,1,7,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
190  result.element({5,1,7,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
191  result.element({5,1,9,5}) = (-2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
192  result.element({5,1,9,6}) = 2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
193  result.element({5,1,9,7}) = (2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
194  result.element({5,2,0,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
195  result.element({5,2,5,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
196  result.element({5,2,7,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
197  result.element({5,2,9,7}) = (16.*Mb2*Mt*Pw2)/Sqq ;
198  result.element({5,3,0,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
199  result.element({5,3,0,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
200  result.element({5,3,0,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
201  result.element({5,3,1,0}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
202  result.element({5,3,3,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
203  result.element({5,3,5,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
204  result.element({5,3,5,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
205  result.element({5,3,5,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
206  result.element({5,3,7,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
207  result.element({5,3,7,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
208  result.element({5,3,7,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
209  result.element({5,4,0,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
210  result.element({5,4,0,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
211  result.element({5,4,0,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
212  result.element({5,4,1,0}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
213  result.element({5,4,3,0}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
214  result.element({5,4,5,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
215  result.element({5,4,5,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
216  result.element({5,4,5,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
217  result.element({5,4,7,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
218  result.element({5,4,7,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
219  result.element({5,4,7,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
220  result.element({5,4,9,5}) = (8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
221  result.element({5,4,9,6}) = (2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
222  result.element({5,4,9,7}) = (2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
223  result.element({6,1,2,0}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
224  result.element({6,1,4,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
225  result.element({6,1,6,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
226  result.element({6,1,6,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
227  result.element({6,1,6,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
228  result.element({6,1,8,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
229  result.element({6,1,8,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
230  result.element({6,1,8,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
231  result.element({6,1,10,5}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
232  result.element({6,1,10,6}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
233  result.element({6,1,10,7}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
234  result.element({6,2,6,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
235  result.element({6,2,8,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
236  result.element({6,2,10,7}) = (16.*Mb2*Mt*Pw2)/Sqq ;
237  result.element({6,3,2,0}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
238  result.element({6,3,4,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
239  result.element({6,3,6,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
240  result.element({6,3,6,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
241  result.element({6,3,6,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
242  result.element({6,3,8,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
243  result.element({6,3,8,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
244  result.element({6,3,8,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
245  result.element({6,4,2,0}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
246  result.element({6,4,4,0}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
247  result.element({6,4,6,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
248  result.element({6,4,6,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
249  result.element({6,4,6,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
250  result.element({6,4,8,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
251  result.element({6,4,8,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
252  result.element({6,4,8,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
253  result.element({6,4,10,5}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
254  result.element({6,4,10,6}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
255  result.element({6,4,10,7}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
256  result.element({7,1,0,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
257  result.element({7,1,0,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
258  result.element({7,1,0,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
259  result.element({7,1,1,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
260  result.element({7,1,3,0}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
261  result.element({7,1,5,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
262  result.element({7,1,5,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
263  result.element({7,1,5,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
264  result.element({7,1,7,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
265  result.element({7,1,7,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
266  result.element({7,1,7,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
267  result.element({7,1,9,5}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
268  result.element({7,1,9,6}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
269  result.element({7,1,9,7}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
270  result.element({7,2,0,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
271  result.element({7,2,5,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
272  result.element({7,2,7,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
273  result.element({7,2,9,7}) = (16.*Mb2*Mt*Pw2)/Sqq ;
274  result.element({7,3,0,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
275  result.element({7,3,0,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
276  result.element({7,3,0,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
277  result.element({7,3,1,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
278  result.element({7,3,3,0}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
279  result.element({7,3,5,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
280  result.element({7,3,5,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
281  result.element({7,3,5,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
282  result.element({7,3,7,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
283  result.element({7,3,7,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
284  result.element({7,3,7,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
285  result.element({7,4,0,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
286  result.element({7,4,0,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
287  result.element({7,4,0,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
288  result.element({7,4,1,0}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
289  result.element({7,4,3,0}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
290  result.element({7,4,5,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
291  result.element({7,4,5,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
292  result.element({7,4,5,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
293  result.element({7,4,7,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
294  result.element({7,4,7,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
295  result.element({7,4,7,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
296  result.element({7,4,9,5}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
297  result.element({7,4,9,6}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
298  result.element({7,4,9,7}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
299  result.element({8,1,2,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
300  result.element({8,1,4,0}) = (Mb2*Mt*Pw2)/(2.*Mc2*Sqq) ;
301  result.element({8,1,6,1}) = -(2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
302  result.element({8,1,6,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
303  result.element({8,1,6,4}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
304  result.element({8,1,8,1}) = (2.*Mb2*Pw2*(2.*Mt2 + Sqq) + 3.*Mc2*Sqq*(Mt2 + 2.*Sqq))/(6.*Mc2*Sqq2) ;
305  result.element({8,1,8,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
306  result.element({8,1,8,4}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
307  result.element({8,1,10,5}) = (-2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
308  result.element({8,1,10,6}) = 2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
309  result.element({8,1,10,7}) = (2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
310  result.element({8,2,6,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
311  result.element({8,2,8,2}) = (4.*Mb2*Pw2*(Mt2 + 2.*Sqq))/(3.*Sqq) ;
312  result.element({8,2,10,7}) = (16.*Mb2*Mt*Pw2)/Sqq ;
313  result.element({8,3,2,0}) = -(Mb2*Mt*Pw2)/(2.*Mc2) ;
314  result.element({8,3,4,0}) = (Mb2*Mt*Pw2)/(2.*Mc2) ;
315  result.element({8,3,6,1}) = -(Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
316  result.element({8,3,6,3}) = -(Mb2*Mt2*Pw2)/(2.*Mc2) ;
317  result.element({8,3,6,4}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
318  result.element({8,3,8,1}) = (Mb2*Mt2*Pw2)/(2.*Mc2*Sqq) ;
319  result.element({8,3,8,3}) = (Mb2*Mt2*Pw2)/(2.*Mc2) ;
320  result.element({8,3,8,4}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
321  result.element({8,4,2,0}) = ((-Mb4 + Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
322  result.element({8,4,4,0}) = ((Mb4 - Mb2*Mc2)*Mt*Pw2)/(2.*Mc2*Sqq) ;
323  result.element({8,4,6,1}) = -(Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
324  result.element({8,4,6,3}) = ((-Mb4 + Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
325  result.element({8,4,6,4}) = (Mb2*Mt2*Pw2*(-3.*pow(Mb2 - Mc2,2.) - 4.*Mb2*Pw2) - 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
326  result.element({8,4,8,1}) = (Mb2*Pw2*(2.*Mb2*(2.*Mt2 + Sqq) - 2.*Mc2*(2.*Mt2 + Sqq) - Sqq*(Mt2 + 2.*Sqq)))/(6.*Mc2*Sqq2) ;
327  result.element({8,4,8,3}) = ((Mb4 - Mb2*Mc2)*Mt2*Pw2)/(2.*Mc2*Sqq) ;
328  result.element({8,4,8,4}) = (Mb2*Mt2*Pw2*(3.*pow(Mb2 - Mc2,2.) + 4.*Mb2*Pw2) + 8.*Mb4*Pw4*Sqq)/(6.*Mc2*Sqq2) ;
329  result.element({8,4,10,5}) = (8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
330  result.element({8,4,10,6}) = (2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
331  result.element({8,4,10,7}) = (2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
332  result.element({9,5,0,1}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
333  result.element({9,5,0,4}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
334  result.element({9,5,5,1}) = (-2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
335  result.element({9,5,5,4}) = (8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
336  result.element({9,5,7,1}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
337  result.element({9,5,7,4}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
338  result.element({9,5,9,5}) = (32.*Mb4*Pw4*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
339  result.element({9,5,9,6}) = (8.*Mb2*Pw2*(Mb2 - Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
340  result.element({9,5,9,7}) = (8.*Mb2*Pw2*(Mb2 + 3.*Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
341  result.element({9,6,0,1}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
342  result.element({9,6,0,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
343  result.element({9,6,5,1}) = 2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
344  result.element({9,6,5,4}) = (2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
345  result.element({9,6,7,1}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
346  result.element({9,6,7,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
347  result.element({9,6,9,5}) = (8.*Mb2*Pw2*(Mb2 - Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
348  result.element({9,6,9,6}) = (8.*(2.*Mt2 + Sqq)*(Mb2*Pw2 + 3.*Mc2*Sqq))/(3.*Mc2*Sqq) ;
349  result.element({9,6,9,7}) = (8.*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2))*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
350  result.element({9,7,0,1}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
351  result.element({9,7,0,2}) = (16.*Mb2*Mt*Pw2)/Sqq ;
352  result.element({9,7,0,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
353  result.element({9,7,5,1}) = (2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
354  result.element({9,7,5,2}) = (16.*Mb2*Mt*Pw2)/Sqq ;
355  result.element({9,7,5,4}) = (2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
356  result.element({9,7,7,1}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
357  result.element({9,7,7,2}) = (16.*Mb2*Mt*Pw2)/Sqq ;
358  result.element({9,7,7,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
359  result.element({9,7,9,5}) = (8.*Mb2*Pw2*(Mb2 + 3.*Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
360  result.element({9,7,9,6}) = (8.*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2))*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
361  result.element({9,7,9,7}) = (8.*(2.*Mt2 + Sqq)*(3.*Mc2*(2.*Mc2 - Sqq)*Sqq + Mb2*(Pw2*Sqq + 2.*Mc2*(8.*Pw2 + 3.*Sqq))))/(3.*Mc2*Sqq2) ;
362  result.element({10,5,6,1}) = (2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
363  result.element({10,5,6,4}) = (-8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
364  result.element({10,5,8,1}) = (-2.*Mb2*Mt*Pw2*(-Mb2 + Mc2 + Sqq))/(Mc2*Sqq) ;
365  result.element({10,5,8,4}) = (8.*Mb4*Mt*Pw4)/(Mc2*Sqq) ;
366  result.element({10,5,10,5}) = (32.*Mb4*Pw4*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
367  result.element({10,5,10,6}) = (8.*Mb2*Pw2*(Mb2 - Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
368  result.element({10,5,10,7}) = (8.*Mb2*Pw2*(Mb2 + 3.*Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
369  result.element({10,6,6,1}) = -2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
370  result.element({10,6,6,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
371  result.element({10,6,8,1}) = 2.*Mt*(3 + (Mb2*Pw2)/(Mc2*Sqq)) ;
372  result.element({10,6,8,4}) = (2.*Mb2*Mt*Pw2*(Mb2 - Mc2 - Sqq))/(Mc2*Sqq) ;
373  result.element({10,6,10,5}) = (8.*Mb2*Pw2*(Mb2 - Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
374  result.element({10,6,10,6}) = (8.*(2.*Mt2 + Sqq)*(Mb2*Pw2 + 3.*Mc2*Sqq))/(3.*Mc2*Sqq) ;
375  result.element({10,6,10,7}) = (8.*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2))*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
376  result.element({10,7,6,1}) = (-2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
377  result.element({10,7,6,2}) = (16.*Mb2*Mt*Pw2)/Sqq ;
378  result.element({10,7,6,4}) = (-2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
379  result.element({10,7,8,1}) = (2.*Mt*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2)))/(Mc2*Sqq) ;
380  result.element({10,7,8,2}) = (16.*Mb2*Mt*Pw2)/Sqq ;
381  result.element({10,7,8,4}) = (2.*Mb2*Mt*Pw2*(Mb2 + 3.*Mc2 - Sqq))/(Mc2*Sqq) ;
382  result.element({10,7,10,5}) = (8.*Mb2*Pw2*(Mb2 + 3.*Mc2 - Sqq)*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
383  result.element({10,7,10,6}) = (8.*(-3.*Mc4 + Mb2*(3.*Mc2 + Pw2))*(2.*Mt2 + Sqq))/(3.*Mc2*Sqq) ;
384  result.element({10,7,10,7}) = (8.*(2.*Mt2 + Sqq)*(3.*Mc2*(2.*Mc2 - Sqq)*Sqq + Mb2*(Pw2*Sqq + 2.*Mc2*(8.*Pw2 + 3.*Sqq))))/(3.*Mc2*Sqq2) ;
385 
386 
387  result*=(RateNorm);
388 
389  return result;
390 
391  }
392 
393 }
TensorData makeEmptySparse(const IndexList &dimensions, const LabelsList &labels)
LabelsList labels() const
get the labels of all the indices at once
Definition: Tensor.cc:83
static constexpr double GFermi
Definition: Constants.hh:29
Tensor indices label definitions.
static constexpr double pi3
Definition: Constants.hh:25
Sparse tensor data container.
total rate
Multidimensional tensor class with complex numbers as elements.
Definition: Tensor.hh:33
Various numerical constants.
Hammer particle data class.
BoundaryFunction makeQ2Function(double qmin, double qmax)
Definition: RateBase.hh:122
Hammer particle class.