35 {
36
37 if (sigmaProcessPtr->nFinal() != 1) return 0.;
38
39
40
41
42
43 int idRes = sigmaProcessPtr->resonanceA();
44 double mRes = particleDataPtr->m0(idRes);
45 double wRes = particleDataPtr->mWidth(idRes);
46 double m2Res = mRes*mRes;
47 double GamMRat = wRes/mRes;
48 double sHat = phaseSpacePtr->sHat();
49 double weightBW =
pow2(sHat - m2Res) +
pow2(sHat * GamMRat);
51
53 case 8:
54 if(m < 0.0375){
55 weightBW *= 121.88e-12*std::exp(13.0*m);
56 }else{
57 weightBW *= 1.0e-12*std::exp(18.5*m-1.4*std::log(m));
58 }
59
60 break;
61
62 case 13:
63 if(m < 0.023){
64 weightBW *= 102.77e-12*std::exp(11.5*m);
65 }else if(m < 0.231){
66 weightBW *= 1.0e-12*std::exp(16.1*m-1.2*std::log(m));
67 }else{
68 weightBW *= 1.8675e-16*std::exp(31.7*m-4.6*std::log(m));
69 }
70 break;
71
72 default:
73 throw std::runtime_error("Unknown WprimeFlat:EnergyMode - should be either 8 or 13!");
74
75 }
76
77 return weightBW;
78 }
static const std::map< unsigned int, unsigned int > pow2