00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "EvtGenBase/EvtPatches.hh"
00023 #include "EvtGenBase/EvtPatches.hh"
00024 #include "EvtGenBase/EvtReport.hh"
00025 #include "EvtGenModels/EvtISGWFF.hh"
00026 #include "EvtGenBase/EvtPDL.hh"
00027 #include "EvtGenBase/EvtId.hh"
00028 #include <string>
00029 #include <math.h>
00030 using std::endl;
00031
00032 void EvtISGWFF::getscalarff(EvtId parent,EvtId daught,
00033 double t, double mass, double *fpf,
00034 double *f0f ) {
00035
00036
00037 static EvtId EM=EvtPDL::getId("e-");
00038 static EvtId EP=EvtPDL::getId("e+");
00039 static EvtId MUM=EvtPDL::getId("mu-");
00040 static EvtId MUP=EvtPDL::getId("mu+");
00041 static EvtId TAUM=EvtPDL::getId("tau-");
00042 static EvtId TAUP=EvtPDL::getId("tau+");
00043
00044 static EvtId BP=EvtPDL::getId("B+");
00045 static EvtId BM=EvtPDL::getId("B-");
00046 static EvtId B0=EvtPDL::getId("B0");
00047 static EvtId B0B=EvtPDL::getId("anti-B0");
00048
00049 static EvtId DST0=EvtPDL::getId("D*0");
00050 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00051 static EvtId DSTP=EvtPDL::getId("D*+");
00052 static EvtId DSTM=EvtPDL::getId("D*-");
00053 static EvtId D0=EvtPDL::getId("D0");
00054 static EvtId D0B=EvtPDL::getId("anti-D0");
00055 static EvtId DP=EvtPDL::getId("D+");
00056 static EvtId DM=EvtPDL::getId("D-");
00057
00058 static EvtId D1P1P=EvtPDL::getId("D_1+");
00059 static EvtId D1P1N=EvtPDL::getId("D_1-");
00060 static EvtId D1P10=EvtPDL::getId("D_10");
00061 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00062
00063 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00064 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00065 static EvtId D3P20=EvtPDL::getId("D_2*0");
00066 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00067
00068 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00069 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00070 static EvtId D3P10=EvtPDL::getId("D'_10");
00071 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00072
00073 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00074 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00075 static EvtId D3P00=EvtPDL::getId("D_0*0");
00076 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00077
00078 static EvtId D21S0P=EvtPDL::getId("hi");
00079 static EvtId D21S0N=EvtPDL::getId("hi");
00080 static EvtId D21S00=EvtPDL::getId("hi");
00081 static EvtId D21S0B=EvtPDL::getId("hi");
00082
00083 static EvtId D23S1P=EvtPDL::getId("hi");
00084 static EvtId D23S1N=EvtPDL::getId("hi");
00085 static EvtId D23S10=EvtPDL::getId("hi");
00086 static EvtId D23S1B=EvtPDL::getId("hi");
00087
00088 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00089 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00090 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00091 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00092 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00093
00094 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00095 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00096 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00097
00098 static EvtId PIP=EvtPDL::getId("pi+");
00099 static EvtId PIM=EvtPDL::getId("pi-");
00100 static EvtId PI0=EvtPDL::getId("pi0");
00101
00102 static EvtId RHOP=EvtPDL::getId("rho+");
00103 static EvtId RHOM=EvtPDL::getId("rho-");
00104 static EvtId RHO0=EvtPDL::getId("rho0");
00105
00106 static EvtId A2P=EvtPDL::getId("a_2+");
00107 static EvtId A2M=EvtPDL::getId("a_2-");
00108 static EvtId A20=EvtPDL::getId("a_20");
00109
00110 static EvtId A1P=EvtPDL::getId("a_1+");
00111 static EvtId A1M=EvtPDL::getId("a_1-");
00112 static EvtId A10=EvtPDL::getId("a_10");
00113
00114 static EvtId A0P=EvtPDL::getId("a_0+");
00115 static EvtId A0M=EvtPDL::getId("a_0-");
00116 static EvtId A00=EvtPDL::getId("a_00");
00117
00118 static EvtId B1P=EvtPDL::getId("b_1+");
00119 static EvtId B1M=EvtPDL::getId("b_1-");
00120 static EvtId B10=EvtPDL::getId("b_10");
00121
00122 static EvtId H1=EvtPDL::getId("h_1");
00123 static EvtId H1PR=EvtPDL::getId("h'_1");
00124
00125 static EvtId F1=EvtPDL::getId("f_1");
00126 static EvtId F1PR=EvtPDL::getId("f'_1");
00127 static EvtId F0=EvtPDL::getId("f_0");
00128 static EvtId F0PR=EvtPDL::getId("f'_0");
00129 static EvtId F2=EvtPDL::getId("f_2");
00130 static EvtId F2PR=EvtPDL::getId("f'_2");
00131
00132 static EvtId ETA=EvtPDL::getId("eta");
00133 static EvtId ETAPR=EvtPDL::getId("eta'");
00134 static EvtId OMEG=EvtPDL::getId("omega");
00135
00136 static EvtId KP=EvtPDL::getId("K+");
00137 static EvtId KM=EvtPDL::getId("K-");
00138 static EvtId K0=EvtPDL::getId("K0");
00139 static EvtId KB=EvtPDL::getId("anti-K0");
00140 static EvtId K0S=EvtPDL::getId("K_S0");
00141 static EvtId K0L=EvtPDL::getId("K_L0");
00142
00143 static EvtId KSTP=EvtPDL::getId("K*+");
00144 static EvtId KSTM=EvtPDL::getId("K*-");
00145 static EvtId KST0=EvtPDL::getId("K*0");
00146 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00147
00148 static EvtId K1P=EvtPDL::getId("K_1+");
00149 static EvtId K1M=EvtPDL::getId("K_1-");
00150 static EvtId K10=EvtPDL::getId("K_10");
00151 static EvtId K1B=EvtPDL::getId("anti-K_10");
00152
00153 static EvtId K1STP=EvtPDL::getId("K'_1+");
00154 static EvtId K1STM=EvtPDL::getId("K'_1-");
00155 static EvtId K1ST0=EvtPDL::getId("K'_10");
00156 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00157
00158 static EvtId K2STP=EvtPDL::getId("K_2*+");
00159 static EvtId K2STM=EvtPDL::getId("K_2*-");
00160 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00161 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00162
00163 static EvtId K0STP=EvtPDL::getId("K_0*+");
00164 static EvtId K0STM=EvtPDL::getId("K_0*-");
00165 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00166 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00167
00168 static EvtId PHI=EvtPDL::getId("phi");
00169 static EvtId DSP=EvtPDL::getId("D_s+");
00170 static EvtId DSM=EvtPDL::getId("D_s-");
00171
00172 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00173 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00174
00175 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00176 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00177
00178 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
00179 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
00180
00181 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00182 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00183
00184 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00185 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00186
00187 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00188 static EvtId BS0=EvtPDL::getId("B_s0");
00189 double fmf;
00190 double mb=EvtPDL::getMeanMass(parent);
00191
00192 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
00193 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
00194 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0L||
00195 daught==KB||daught==DSP||daught==DSM||daught==K0S) {
00196
00197 EvtISGW1FF1S0(parent,daught,t,mass,fpf,&fmf);
00198 }
00199
00200 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
00201 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
00202 EvtISGW1FF21S0(parent,daught,t,mass,fpf,&fmf);
00203 }
00204
00205 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
00206 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
00207 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
00208 daught==D3P0SP||daught==D3P0SN||
00209 daught==K0ST0) {
00210 EvtISGW1FF3P0(parent,daught,t,mass,fpf,&fmf);
00211 }
00212
00213 *f0f = (fmf/((mb*mb-mass*mass)/t))+(*fpf);
00214
00215 return ;
00216 }
00217
00218 void EvtISGWFF::gettensorff(EvtId parent,EvtId daught,
00219 double t, double mass, double *hf,
00220 double *kf, double *bpf, double *bmf ){
00221
00222
00223 static EvtId EM=EvtPDL::getId("e-");
00224 static EvtId EP=EvtPDL::getId("e+");
00225 static EvtId MUM=EvtPDL::getId("mu-");
00226 static EvtId MUP=EvtPDL::getId("mu+");
00227 static EvtId TAUM=EvtPDL::getId("tau-");
00228 static EvtId TAUP=EvtPDL::getId("tau+");
00229
00230 static EvtId BP=EvtPDL::getId("B+");
00231 static EvtId BM=EvtPDL::getId("B-");
00232 static EvtId B0=EvtPDL::getId("B0");
00233 static EvtId B0B=EvtPDL::getId("anti-B0");
00234
00235 static EvtId DST0=EvtPDL::getId("D*0");
00236 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00237 static EvtId DSTP=EvtPDL::getId("D*+");
00238 static EvtId DSTM=EvtPDL::getId("D*-");
00239 static EvtId D0=EvtPDL::getId("D0");
00240 static EvtId D0B=EvtPDL::getId("anti-D0");
00241 static EvtId DP=EvtPDL::getId("D+");
00242 static EvtId DM=EvtPDL::getId("D-");
00243
00244 static EvtId D1P1P=EvtPDL::getId("D_1+");
00245 static EvtId D1P1N=EvtPDL::getId("D_1-");
00246 static EvtId D1P10=EvtPDL::getId("D_10");
00247 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00248
00249 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00250 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00251 static EvtId D3P20=EvtPDL::getId("D_2*0");
00252 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00253
00254 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00255 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00256 static EvtId D3P10=EvtPDL::getId("D'_10");
00257 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00258
00259 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00260 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00261 static EvtId D3P00=EvtPDL::getId("D_0*0");
00262 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00263
00264 static EvtId D21S0P=EvtPDL::getId("hi");
00265 static EvtId D21S0N=EvtPDL::getId("hi");
00266 static EvtId D21S00=EvtPDL::getId("hi");
00267 static EvtId D21S0B=EvtPDL::getId("hi");
00268
00269 static EvtId D23S1P=EvtPDL::getId("hi");
00270 static EvtId D23S1N=EvtPDL::getId("hi");
00271 static EvtId D23S10=EvtPDL::getId("hi");
00272 static EvtId D23S1B=EvtPDL::getId("hi");
00273
00274 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00275 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00276 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00277 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00278 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00279
00280 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00281 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00282 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00283
00284 static EvtId PIP=EvtPDL::getId("pi+");
00285 static EvtId PIM=EvtPDL::getId("pi-");
00286 static EvtId PI0=EvtPDL::getId("pi0");
00287
00288 static EvtId RHOP=EvtPDL::getId("rho+");
00289 static EvtId RHOM=EvtPDL::getId("rho-");
00290 static EvtId RHO0=EvtPDL::getId("rho0");
00291
00292 static EvtId A2P=EvtPDL::getId("a_2+");
00293 static EvtId A2M=EvtPDL::getId("a_2-");
00294 static EvtId A20=EvtPDL::getId("a_20");
00295
00296 static EvtId A1P=EvtPDL::getId("a_1+");
00297 static EvtId A1M=EvtPDL::getId("a_1-");
00298 static EvtId A10=EvtPDL::getId("a_10");
00299
00300 static EvtId A0P=EvtPDL::getId("a_0+");
00301 static EvtId A0M=EvtPDL::getId("a_0-");
00302 static EvtId A00=EvtPDL::getId("a_00");
00303
00304 static EvtId B1P=EvtPDL::getId("b_1+");
00305 static EvtId B1M=EvtPDL::getId("b_1-");
00306 static EvtId B10=EvtPDL::getId("b_10");
00307
00308 static EvtId H1=EvtPDL::getId("h_1");
00309 static EvtId H1PR=EvtPDL::getId("h'_1");
00310
00311 static EvtId F1=EvtPDL::getId("f_1");
00312 static EvtId F1PR=EvtPDL::getId("f'_1");
00313 static EvtId F0=EvtPDL::getId("f_0");
00314 static EvtId F0PR=EvtPDL::getId("f'_0");
00315 static EvtId F2=EvtPDL::getId("f_2");
00316 static EvtId F2PR=EvtPDL::getId("f'_2");
00317
00318 static EvtId ETA=EvtPDL::getId("eta");
00319 static EvtId ETAPR=EvtPDL::getId("eta'");
00320 static EvtId OMEG=EvtPDL::getId("omega");
00321
00322 static EvtId KP=EvtPDL::getId("K+");
00323 static EvtId KM=EvtPDL::getId("K-");
00324 static EvtId K0=EvtPDL::getId("K0");
00325 static EvtId KB=EvtPDL::getId("anti-K0");
00326 static EvtId K0S=EvtPDL::getId("K_S0");
00327 static EvtId K0L=EvtPDL::getId("K_L0");
00328
00329 static EvtId KSTP=EvtPDL::getId("K*+");
00330 static EvtId KSTM=EvtPDL::getId("K*-");
00331 static EvtId KST0=EvtPDL::getId("K*0");
00332 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00333
00334 static EvtId K1P=EvtPDL::getId("K_1+");
00335 static EvtId K1M=EvtPDL::getId("K_1-");
00336 static EvtId K10=EvtPDL::getId("K_10");
00337 static EvtId K1B=EvtPDL::getId("anti-K_10");
00338
00339 static EvtId K1STP=EvtPDL::getId("K'_1+");
00340 static EvtId K1STM=EvtPDL::getId("K'_1-");
00341 static EvtId K1ST0=EvtPDL::getId("K'_10");
00342 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00343
00344 static EvtId K2STP=EvtPDL::getId("K_2*+");
00345 static EvtId K2STM=EvtPDL::getId("K_2*-");
00346 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00347 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00348
00349 static EvtId K0STP=EvtPDL::getId("K_0*+");
00350 static EvtId K0STM=EvtPDL::getId("K_0*-");
00351 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00352 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00353
00354 static EvtId PHI=EvtPDL::getId("phi");
00355 static EvtId DSP=EvtPDL::getId("D_s+");
00356 static EvtId DSM=EvtPDL::getId("D_s-");
00357
00358 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00359 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00360
00361 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00362 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00363
00364 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
00365 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
00366
00367 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00368 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00369
00370 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00371 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00372
00373 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00374 static EvtId BS0=EvtPDL::getId("B_s0");
00375
00376 EvtISGW1FF3P2(parent,daught,t,mass,hf,kf,bpf,bmf);
00377
00378 return;
00379
00380 }
00381
00382
00383 void EvtISGWFF::getvectorff(EvtId parent,EvtId daught,
00384 double t, double mass, double *a1f,
00385 double *a2f, double *vf, double *a0f ){
00386
00387
00388 static EvtId EM=EvtPDL::getId("e-");
00389 static EvtId EP=EvtPDL::getId("e+");
00390 static EvtId MUM=EvtPDL::getId("mu-");
00391 static EvtId MUP=EvtPDL::getId("mu+");
00392 static EvtId TAUM=EvtPDL::getId("tau-");
00393 static EvtId TAUP=EvtPDL::getId("tau+");
00394
00395 static EvtId BP=EvtPDL::getId("B+");
00396 static EvtId BM=EvtPDL::getId("B-");
00397 static EvtId B0=EvtPDL::getId("B0");
00398 static EvtId B0B=EvtPDL::getId("anti-B0");
00399
00400 static EvtId DST0=EvtPDL::getId("D*0");
00401 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00402 static EvtId DSTP=EvtPDL::getId("D*+");
00403 static EvtId DSTM=EvtPDL::getId("D*-");
00404 static EvtId D0=EvtPDL::getId("D0");
00405 static EvtId D0B=EvtPDL::getId("anti-D0");
00406 static EvtId DP=EvtPDL::getId("D+");
00407 static EvtId DM=EvtPDL::getId("D-");
00408
00409 static EvtId D1P1P=EvtPDL::getId("D_1+");
00410 static EvtId D1P1N=EvtPDL::getId("D_1-");
00411 static EvtId D1P10=EvtPDL::getId("D_10");
00412 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00413
00414 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00415 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00416 static EvtId D3P20=EvtPDL::getId("D_2*0");
00417 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00418
00419 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00420 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00421 static EvtId D3P10=EvtPDL::getId("D'_10");
00422 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00423
00424 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00425 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00426 static EvtId D3P00=EvtPDL::getId("D_0*0");
00427 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00428
00429 static EvtId D21S0P=EvtPDL::getId("hi");
00430 static EvtId D21S0N=EvtPDL::getId("hi");
00431 static EvtId D21S00=EvtPDL::getId("hi");
00432 static EvtId D21S0B=EvtPDL::getId("hi");
00433
00434 static EvtId D23S1P=EvtPDL::getId("hi");
00435 static EvtId D23S1N=EvtPDL::getId("hi");
00436 static EvtId D23S10=EvtPDL::getId("hi");
00437 static EvtId D23S1B=EvtPDL::getId("hi");
00438
00439 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00440 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00441 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00442 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00443 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00444
00445 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00446 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00447 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00448
00449 static EvtId PIP=EvtPDL::getId("pi+");
00450 static EvtId PIM=EvtPDL::getId("pi-");
00451 static EvtId PI0=EvtPDL::getId("pi0");
00452
00453 static EvtId RHOP=EvtPDL::getId("rho+");
00454 static EvtId RHOM=EvtPDL::getId("rho-");
00455 static EvtId RHO0=EvtPDL::getId("rho0");
00456
00457 static EvtId A2P=EvtPDL::getId("a_2+");
00458 static EvtId A2M=EvtPDL::getId("a_2-");
00459 static EvtId A20=EvtPDL::getId("a_20");
00460
00461 static EvtId A1P=EvtPDL::getId("a_1+");
00462 static EvtId A1M=EvtPDL::getId("a_1-");
00463 static EvtId A10=EvtPDL::getId("a_10");
00464
00465 static EvtId A0P=EvtPDL::getId("a_0+");
00466 static EvtId A0M=EvtPDL::getId("a_0-");
00467 static EvtId A00=EvtPDL::getId("a_00");
00468
00469 static EvtId B1P=EvtPDL::getId("b_1+");
00470 static EvtId B1M=EvtPDL::getId("b_1-");
00471 static EvtId B10=EvtPDL::getId("b_10");
00472
00473 static EvtId H1=EvtPDL::getId("h_1");
00474 static EvtId H1PR=EvtPDL::getId("h'_1");
00475
00476 static EvtId F1=EvtPDL::getId("f_1");
00477 static EvtId F1PR=EvtPDL::getId("f'_1");
00478 static EvtId F0=EvtPDL::getId("f_0");
00479 static EvtId F0PR=EvtPDL::getId("f'_0");
00480 static EvtId F2=EvtPDL::getId("f_2");
00481 static EvtId F2PR=EvtPDL::getId("f'_2");
00482
00483 static EvtId ETA=EvtPDL::getId("eta");
00484 static EvtId ETAPR=EvtPDL::getId("eta'");
00485 static EvtId OMEG=EvtPDL::getId("omega");
00486
00487 static EvtId KP=EvtPDL::getId("K+");
00488 static EvtId KM=EvtPDL::getId("K-");
00489 static EvtId K0=EvtPDL::getId("K0");
00490 static EvtId KB=EvtPDL::getId("anti-K0");
00491 static EvtId K0S=EvtPDL::getId("K_S0");
00492 static EvtId K0L=EvtPDL::getId("K_L0");
00493
00494 static EvtId KSTP=EvtPDL::getId("K*+");
00495 static EvtId KSTM=EvtPDL::getId("K*-");
00496 static EvtId KST0=EvtPDL::getId("K*0");
00497 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00498
00499 static EvtId K1P=EvtPDL::getId("K_1+");
00500 static EvtId K1M=EvtPDL::getId("K_1-");
00501 static EvtId K10=EvtPDL::getId("K_10");
00502 static EvtId K1B=EvtPDL::getId("anti-K_10");
00503
00504 static EvtId K1STP=EvtPDL::getId("K'_1+");
00505 static EvtId K1STM=EvtPDL::getId("K'_1-");
00506 static EvtId K1ST0=EvtPDL::getId("K'_10");
00507 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00508
00509 static EvtId K2STP=EvtPDL::getId("K_2*+");
00510 static EvtId K2STM=EvtPDL::getId("K_2*-");
00511 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00512 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00513
00514 static EvtId K0STP=EvtPDL::getId("K_0*+");
00515 static EvtId K0STM=EvtPDL::getId("K_0*-");
00516 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00517 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00518
00519 static EvtId PHI=EvtPDL::getId("phi");
00520 static EvtId DSP=EvtPDL::getId("D_s+");
00521 static EvtId DSM=EvtPDL::getId("D_s-");
00522
00523 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00524 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00525
00526 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00527 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00528
00529 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
00530 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
00531
00532 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00533 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00534
00535 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00536 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00537
00538 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00539 static EvtId BS0=EvtPDL::getId("B_s0");
00540
00541 double ff,gf,apf,amf;
00542
00543 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
00544 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
00545 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
00546 daught==PHI||daught==DSSTP||daught==DSSTM) {
00547 EvtISGW1FF3S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00548 }
00549 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
00550 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
00551 daught==D1P1SP||daught==D1P1SN||
00552 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
00553 daught==K1M) {
00554 EvtISGW1FF1P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00555 }
00556 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
00557 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
00558 EvtISGW1FF23S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00559 }
00560 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
00561 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
00562 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
00563 daught==D3P1SP||daught==D3P1SN||
00564 daught==K1ST0) {
00565 EvtISGW1FF3P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00566 }
00567
00568
00569
00570
00571 double mb=EvtPDL::getMeanMass(parent);
00572
00573
00574 *vf = (gf)*(mb+mass);
00575 *a1f = (ff)/(mb+mass);
00576 *a2f = -1.0*(apf)*(mb+mass);
00577 double a3f = ((mb+mass)/(2.0*mass))*(*a1f) -
00578 ((mb-mass)/(2.0*mass))*(*a2f);
00579
00580 *a0f = a3f - ( (t*amf)/(2.0*mass));
00581
00582
00583
00584 return;
00585 }
00586
00587
00588
00589 void EvtISGWFF::EvtISGW1FF3P2 (EvtId parent,EvtId daugt,
00590 double t, double mass,
00591 double *hf, double *kf, double *bpf, double *bmf ) {
00592
00593
00594 static EvtId EM=EvtPDL::getId("e-");
00595 static EvtId EP=EvtPDL::getId("e+");
00596 static EvtId MUM=EvtPDL::getId("mu-");
00597 static EvtId MUP=EvtPDL::getId("mu+");
00598 static EvtId TAUM=EvtPDL::getId("tau-");
00599 static EvtId TAUP=EvtPDL::getId("tau+");
00600
00601 static EvtId BP=EvtPDL::getId("B+");
00602 static EvtId BM=EvtPDL::getId("B-");
00603 static EvtId B0=EvtPDL::getId("B0");
00604 static EvtId B0B=EvtPDL::getId("anti-B0");
00605
00606 static EvtId DST0=EvtPDL::getId("D*0");
00607 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00608 static EvtId DSTP=EvtPDL::getId("D*+");
00609 static EvtId DSTM=EvtPDL::getId("D*-");
00610 static EvtId D0=EvtPDL::getId("D0");
00611 static EvtId D0B=EvtPDL::getId("anti-D0");
00612 static EvtId DP=EvtPDL::getId("D+");
00613 static EvtId DM=EvtPDL::getId("D-");
00614
00615 static EvtId D1P1P=EvtPDL::getId("D_1+");
00616 static EvtId D1P1N=EvtPDL::getId("D_1-");
00617 static EvtId D1P10=EvtPDL::getId("D_10");
00618 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00619
00620 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00621 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00622 static EvtId D3P20=EvtPDL::getId("D_2*0");
00623 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00624
00625 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00626 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00627 static EvtId D3P10=EvtPDL::getId("D'_10");
00628 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00629
00630 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00631 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00632 static EvtId D3P00=EvtPDL::getId("D_0*0");
00633 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00634
00635 static EvtId D21S0P=EvtPDL::getId("hi");
00636 static EvtId D21S0N=EvtPDL::getId("hi");
00637 static EvtId D21S00=EvtPDL::getId("hi");
00638 static EvtId D21S0B=EvtPDL::getId("hi");
00639
00640 static EvtId D23S1P=EvtPDL::getId("hi");
00641 static EvtId D23S1N=EvtPDL::getId("hi");
00642 static EvtId D23S10=EvtPDL::getId("hi");
00643 static EvtId D23S1B=EvtPDL::getId("hi");
00644
00645 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00646 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00647 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00648 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00649 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00650
00651 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00652 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00653 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00654
00655 static EvtId PIP=EvtPDL::getId("pi+");
00656 static EvtId PIM=EvtPDL::getId("pi-");
00657 static EvtId PI0=EvtPDL::getId("pi0");
00658
00659 static EvtId RHOP=EvtPDL::getId("rho+");
00660 static EvtId RHOM=EvtPDL::getId("rho-");
00661 static EvtId RHO0=EvtPDL::getId("rho0");
00662
00663 static EvtId A2P=EvtPDL::getId("a_2+");
00664 static EvtId A2M=EvtPDL::getId("a_2-");
00665 static EvtId A20=EvtPDL::getId("a_20");
00666
00667 static EvtId A1P=EvtPDL::getId("a_1+");
00668 static EvtId A1M=EvtPDL::getId("a_1-");
00669 static EvtId A10=EvtPDL::getId("a_10");
00670
00671 static EvtId A0P=EvtPDL::getId("a_0+");
00672 static EvtId A0M=EvtPDL::getId("a_0-");
00673 static EvtId A00=EvtPDL::getId("a_00");
00674
00675 static EvtId B1P=EvtPDL::getId("b_1+");
00676 static EvtId B1M=EvtPDL::getId("b_1-");
00677 static EvtId B10=EvtPDL::getId("b_10");
00678
00679 static EvtId H1=EvtPDL::getId("h_1");
00680 static EvtId H1PR=EvtPDL::getId("h'_1");
00681
00682 static EvtId F1=EvtPDL::getId("f_1");
00683 static EvtId F1PR=EvtPDL::getId("f'_1");
00684 static EvtId F0=EvtPDL::getId("f_0");
00685 static EvtId F0PR=EvtPDL::getId("f'_0");
00686 static EvtId F2=EvtPDL::getId("f_2");
00687 static EvtId F2PR=EvtPDL::getId("f'_2");
00688
00689 static EvtId ETA=EvtPDL::getId("eta");
00690 static EvtId ETAPR=EvtPDL::getId("eta'");
00691 static EvtId OMEG=EvtPDL::getId("omega");
00692
00693 static EvtId KP=EvtPDL::getId("K+");
00694 static EvtId KM=EvtPDL::getId("K-");
00695 static EvtId K0=EvtPDL::getId("K0");
00696 static EvtId KB=EvtPDL::getId("anti-K0");
00697 static EvtId K0S=EvtPDL::getId("K_S0");
00698 static EvtId K0L=EvtPDL::getId("K_L0");
00699
00700 static EvtId KSTP=EvtPDL::getId("K*+");
00701 static EvtId KSTM=EvtPDL::getId("K*-");
00702 static EvtId KST0=EvtPDL::getId("K*0");
00703 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00704
00705 static EvtId K1P=EvtPDL::getId("K_1+");
00706 static EvtId K1M=EvtPDL::getId("K_1-");
00707 static EvtId K10=EvtPDL::getId("K_10");
00708 static EvtId K1B=EvtPDL::getId("anti-K_10");
00709
00710 static EvtId K1STP=EvtPDL::getId("K'_1+");
00711 static EvtId K1STM=EvtPDL::getId("K'_1-");
00712 static EvtId K1ST0=EvtPDL::getId("K'_10");
00713 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00714
00715 static EvtId K2STP=EvtPDL::getId("K_2*+");
00716 static EvtId K2STM=EvtPDL::getId("K_2*-");
00717 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00718 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00719
00720 static EvtId K0STP=EvtPDL::getId("K_0*+");
00721 static EvtId K0STM=EvtPDL::getId("K_0*-");
00722 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00723 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00724
00725 static EvtId PHI=EvtPDL::getId("phi");
00726 static EvtId DSP=EvtPDL::getId("D_s+");
00727 static EvtId DSM=EvtPDL::getId("D_s-");
00728
00729 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00730 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00731
00732 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00733 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00734
00735 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
00736 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
00737
00738 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00739 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00740
00741 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00742 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00743
00744 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00745 static EvtId BS0=EvtPDL::getId("B_s0");
00746
00747 double mtb;
00748 double msd(0.0), mx(0.0), mb(0.0);
00749 double msq(0.0), bx2(0.0),mtx,f5;
00750 double mum,mup,tm,bb2(0.0),bbx2;
00751 double msb(0.0), kap;
00752
00753 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
00754 msb=5.2;
00755 msd=0.33;
00756 bb2=0.41*0.41;
00757 if (daugt==A20||daugt==A2P||daugt==A2M||daugt==F2||daugt==F2PR) {
00758 msq=0.33;
00759 bx2=0.27*0.27;
00760 }
00761 else{
00762 if (daugt==D3P2P||daugt==D3P2N||daugt==D3P2B||daugt==D3P20) {
00763 msq=1.82;
00764 bx2=0.34*0.34;
00765 }
00766 else{
00767 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P1.\n";
00768 }
00769 }
00770 }
00771 else{
00772 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
00773 }
00774
00775 mtb = msb + msd;
00776 mtx = msq + msd;
00777
00778 mb = EvtPDL::getMeanMass( parent );
00779 mx = mass;
00780
00781 mup=1.0/(1.0/msq+1.0/msb);
00782 mum=1.0/(1.0/msq-1.0/msb);
00783 bbx2=0.5*(bb2+bx2);
00784
00785 tm=(mb-mx)*(mb-mx);
00786 if (t>tm) t = 0.99*tm;
00787 kap = 0.7*0.7;
00788
00789 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
00790 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
00791
00792 *hf = f5*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
00793 mtx*bbx2)));
00794
00795 *kf = f5*msd*sqrt(2.0/bb2);
00796
00797 *bpf = (-1.0*f5*msd/(sqrt(8.0*bb2)*msb*mtx))*(1.0-(msd*msb*bx2/(
00798 2.0*mup*mtb*bbx2))+(msd*msb*bx2*(1.0-(msd*bx2/(2.0*mtb*bbx2)))/
00799 (4.0*mtb*mum*bbx2)));
00800 *bmf = 0.0;
00801 return;
00802 }
00803
00804 void EvtISGWFF::EvtISGW1FF1S0 ( EvtId parent, EvtId daugt,
00805 double t, double mass, double *fpf, double *fmf ) {
00806
00807
00808 static EvtId EM=EvtPDL::getId("e-");
00809 static EvtId EP=EvtPDL::getId("e+");
00810 static EvtId MUM=EvtPDL::getId("mu-");
00811 static EvtId MUP=EvtPDL::getId("mu+");
00812 static EvtId TAUM=EvtPDL::getId("tau-");
00813 static EvtId TAUP=EvtPDL::getId("tau+");
00814
00815 static EvtId BP=EvtPDL::getId("B+");
00816 static EvtId BM=EvtPDL::getId("B-");
00817 static EvtId B0=EvtPDL::getId("B0");
00818 static EvtId B0B=EvtPDL::getId("anti-B0");
00819
00820 static EvtId DST0=EvtPDL::getId("D*0");
00821 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00822 static EvtId DSTP=EvtPDL::getId("D*+");
00823 static EvtId DSTM=EvtPDL::getId("D*-");
00824 static EvtId D0=EvtPDL::getId("D0");
00825 static EvtId D0B=EvtPDL::getId("anti-D0");
00826 static EvtId DP=EvtPDL::getId("D+");
00827 static EvtId DM=EvtPDL::getId("D-");
00828
00829 static EvtId D1P1P=EvtPDL::getId("D_1+");
00830 static EvtId D1P1N=EvtPDL::getId("D_1-");
00831 static EvtId D1P10=EvtPDL::getId("D_10");
00832 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00833
00834 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00835 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00836 static EvtId D3P20=EvtPDL::getId("D_2*0");
00837 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00838
00839 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00840 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00841 static EvtId D3P10=EvtPDL::getId("D'_10");
00842 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00843
00844 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00845 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00846 static EvtId D3P00=EvtPDL::getId("D_0*0");
00847 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00848
00849 static EvtId D21S0P=EvtPDL::getId("hi");
00850 static EvtId D21S0N=EvtPDL::getId("hi");
00851 static EvtId D21S00=EvtPDL::getId("hi");
00852 static EvtId D21S0B=EvtPDL::getId("hi");
00853
00854 static EvtId D23S1P=EvtPDL::getId("hi");
00855 static EvtId D23S1N=EvtPDL::getId("hi");
00856 static EvtId D23S10=EvtPDL::getId("hi");
00857 static EvtId D23S1B=EvtPDL::getId("hi");
00858
00859 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00860 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00861 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00862 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00863 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00864
00865 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00866 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00867 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00868
00869 static EvtId PIP=EvtPDL::getId("pi+");
00870 static EvtId PIM=EvtPDL::getId("pi-");
00871 static EvtId PI0=EvtPDL::getId("pi0");
00872
00873 static EvtId RHOP=EvtPDL::getId("rho+");
00874 static EvtId RHOM=EvtPDL::getId("rho-");
00875 static EvtId RHO0=EvtPDL::getId("rho0");
00876
00877 static EvtId A2P=EvtPDL::getId("a_2+");
00878 static EvtId A2M=EvtPDL::getId("a_2-");
00879 static EvtId A20=EvtPDL::getId("a_20");
00880
00881 static EvtId A1P=EvtPDL::getId("a_1+");
00882 static EvtId A1M=EvtPDL::getId("a_1-");
00883 static EvtId A10=EvtPDL::getId("a_10");
00884
00885 static EvtId A0P=EvtPDL::getId("a_0+");
00886 static EvtId A0M=EvtPDL::getId("a_0-");
00887 static EvtId A00=EvtPDL::getId("a_00");
00888
00889 static EvtId B1P=EvtPDL::getId("b_1+");
00890 static EvtId B1M=EvtPDL::getId("b_1-");
00891 static EvtId B10=EvtPDL::getId("b_10");
00892
00893 static EvtId H1=EvtPDL::getId("h_1");
00894 static EvtId H1PR=EvtPDL::getId("h'_1");
00895
00896 static EvtId F1=EvtPDL::getId("f_1");
00897 static EvtId F1PR=EvtPDL::getId("f'_1");
00898 static EvtId F0=EvtPDL::getId("f_0");
00899 static EvtId F0PR=EvtPDL::getId("f'_0");
00900 static EvtId F2=EvtPDL::getId("f_2");
00901 static EvtId F2PR=EvtPDL::getId("f'_2");
00902
00903 static EvtId ETA=EvtPDL::getId("eta");
00904 static EvtId ETAPR=EvtPDL::getId("eta'");
00905 static EvtId OMEG=EvtPDL::getId("omega");
00906
00907 static EvtId KP=EvtPDL::getId("K+");
00908 static EvtId KM=EvtPDL::getId("K-");
00909 static EvtId K0=EvtPDL::getId("K0");
00910 static EvtId KB=EvtPDL::getId("anti-K0");
00911 static EvtId K0S=EvtPDL::getId("K_S0");
00912 static EvtId K0L=EvtPDL::getId("K_L0");
00913
00914 static EvtId KSTP=EvtPDL::getId("K*+");
00915 static EvtId KSTM=EvtPDL::getId("K*-");
00916 static EvtId KST0=EvtPDL::getId("K*0");
00917 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00918
00919 static EvtId K1P=EvtPDL::getId("K_1+");
00920 static EvtId K1M=EvtPDL::getId("K_1-");
00921 static EvtId K10=EvtPDL::getId("K_10");
00922 static EvtId K1B=EvtPDL::getId("anti-K_10");
00923
00924 static EvtId K1STP=EvtPDL::getId("K'_1+");
00925 static EvtId K1STM=EvtPDL::getId("K'_1-");
00926 static EvtId K1ST0=EvtPDL::getId("K'_10");
00927 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00928
00929 static EvtId K2STP=EvtPDL::getId("K_2*+");
00930 static EvtId K2STM=EvtPDL::getId("K_2*-");
00931 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00932 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00933
00934 static EvtId K0STP=EvtPDL::getId("K_0*+");
00935 static EvtId K0STM=EvtPDL::getId("K_0*-");
00936 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00937 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00938
00939 static EvtId PHI=EvtPDL::getId("phi");
00940 static EvtId DSP=EvtPDL::getId("D_s+");
00941 static EvtId DSM=EvtPDL::getId("D_s-");
00942
00943 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00944 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00945
00946 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00947 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00948
00949 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
00950 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
00951
00952 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00953 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00954
00955 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00956 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00957
00958 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00959 static EvtId BS0=EvtPDL::getId("B_s0");
00960
00961 double mtb;
00962 double msd(0.0), mx(0.0), mb(0.0);
00963 double msq(0.0), bx2(0.0),mtx;
00964 double f3,kap;
00965 double msb(0.0),bb2(0.0),mup,mum,bbx2,tm;
00966
00967 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
00968 msb=5.2;
00969 msd=0.33;
00970 bb2=0.41*0.41;
00971 if (daugt==PIP||daugt==PIM||daugt==PI0||daugt==ETA||daugt==ETAPR) {
00972 msq=0.33;
00973 bx2=0.31*0.31;
00974 }
00975 else{
00976 if (daugt==D0||daugt==DP||daugt==DM||daugt==D0B) {
00977 msq=1.82;
00978 bx2=0.39*0.39;
00979 }
00980 else{
00981 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1S0.\n";
00982 }
00983 }
00984 }
00985 else{
00986 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1S0.\n";
00987 report(ERROR,"EvtGen") << "Parent:"<<parent.getId()<<endl;
00988 }
00989
00990 mtb = msb + msd;
00991 mtx = msq + msd;
00992 mb = EvtPDL::getMeanMass( parent );
00993 mx = mass;
00994 mup=1.0/(1.0/msq+1.0/msb);
00995 mum=1.0/(1.0/msq-1.0/msb);
00996 bbx2=0.5*(bb2+bx2);
00997 tm=(mb-mx)*(mb-mx);
00998 if ( t>tm ) t=0.99*tm;
00999
01000 kap = 0.7*0.7;
01001 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
01002 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01003
01004 *fpf = f3*(1+(msb/(2.0*mum))-(msb*msq*msd*bb2/(4.0*mup*mum*mtx*bbx2)));
01005 *fmf = f3*(1.0-(mtb+mtx)*(0.5/msq-(msd*bb2/(4.0*mup*mtx*bbx2))));
01006
01007 return;
01008 }
01009
01010
01011
01012 void EvtISGWFF::EvtISGW1FF3S1(EvtId parent,EvtId daugt,double t,
01013 double mass, double *f,double *g,double *ap,double *am){
01014
01015
01016 static EvtId EM=EvtPDL::getId("e-");
01017 static EvtId EP=EvtPDL::getId("e+");
01018 static EvtId MUM=EvtPDL::getId("mu-");
01019 static EvtId MUP=EvtPDL::getId("mu+");
01020 static EvtId TAUM=EvtPDL::getId("tau-");
01021 static EvtId TAUP=EvtPDL::getId("tau+");
01022
01023 static EvtId BP=EvtPDL::getId("B+");
01024 static EvtId BM=EvtPDL::getId("B-");
01025 static EvtId B0=EvtPDL::getId("B0");
01026 static EvtId B0B=EvtPDL::getId("anti-B0");
01027
01028 static EvtId DST0=EvtPDL::getId("D*0");
01029 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01030 static EvtId DSTP=EvtPDL::getId("D*+");
01031 static EvtId DSTM=EvtPDL::getId("D*-");
01032 static EvtId D0=EvtPDL::getId("D0");
01033 static EvtId D0B=EvtPDL::getId("anti-D0");
01034 static EvtId DP=EvtPDL::getId("D+");
01035 static EvtId DM=EvtPDL::getId("D-");
01036
01037 static EvtId D1P1P=EvtPDL::getId("D_1+");
01038 static EvtId D1P1N=EvtPDL::getId("D_1-");
01039 static EvtId D1P10=EvtPDL::getId("D_10");
01040 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01041
01042 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01043 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01044 static EvtId D3P20=EvtPDL::getId("D_2*0");
01045 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01046
01047 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01048 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01049 static EvtId D3P10=EvtPDL::getId("D'_10");
01050 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01051
01052 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01053 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01054 static EvtId D3P00=EvtPDL::getId("D_0*0");
01055 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01056
01057 static EvtId D21S0P=EvtPDL::getId("hi");
01058 static EvtId D21S0N=EvtPDL::getId("hi");
01059 static EvtId D21S00=EvtPDL::getId("hi");
01060 static EvtId D21S0B=EvtPDL::getId("hi");
01061
01062 static EvtId D23S1P=EvtPDL::getId("hi");
01063 static EvtId D23S1N=EvtPDL::getId("hi");
01064 static EvtId D23S10=EvtPDL::getId("hi");
01065 static EvtId D23S1B=EvtPDL::getId("hi");
01066
01067 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01068 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01069 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01070 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01071 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01072
01073 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01074 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01075 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01076
01077 static EvtId PIP=EvtPDL::getId("pi+");
01078 static EvtId PIM=EvtPDL::getId("pi-");
01079 static EvtId PI0=EvtPDL::getId("pi0");
01080
01081 static EvtId RHOP=EvtPDL::getId("rho+");
01082 static EvtId RHOM=EvtPDL::getId("rho-");
01083 static EvtId RHO0=EvtPDL::getId("rho0");
01084
01085 static EvtId A2P=EvtPDL::getId("a_2+");
01086 static EvtId A2M=EvtPDL::getId("a_2-");
01087 static EvtId A20=EvtPDL::getId("a_20");
01088
01089 static EvtId A1P=EvtPDL::getId("a_1+");
01090 static EvtId A1M=EvtPDL::getId("a_1-");
01091 static EvtId A10=EvtPDL::getId("a_10");
01092
01093 static EvtId A0P=EvtPDL::getId("a_0+");
01094 static EvtId A0M=EvtPDL::getId("a_0-");
01095 static EvtId A00=EvtPDL::getId("a_00");
01096
01097 static EvtId B1P=EvtPDL::getId("b_1+");
01098 static EvtId B1M=EvtPDL::getId("b_1-");
01099 static EvtId B10=EvtPDL::getId("b_10");
01100
01101 static EvtId H1=EvtPDL::getId("h_1");
01102 static EvtId H1PR=EvtPDL::getId("h'_1");
01103
01104 static EvtId F1=EvtPDL::getId("f_1");
01105 static EvtId F1PR=EvtPDL::getId("f'_1");
01106 static EvtId F0=EvtPDL::getId("f_0");
01107 static EvtId F0PR=EvtPDL::getId("f'_0");
01108 static EvtId F2=EvtPDL::getId("f_2");
01109 static EvtId F2PR=EvtPDL::getId("f'_2");
01110
01111 static EvtId ETA=EvtPDL::getId("eta");
01112 static EvtId ETAPR=EvtPDL::getId("eta'");
01113 static EvtId OMEG=EvtPDL::getId("omega");
01114
01115 static EvtId KP=EvtPDL::getId("K+");
01116 static EvtId KM=EvtPDL::getId("K-");
01117 static EvtId K0=EvtPDL::getId("K0");
01118 static EvtId KB=EvtPDL::getId("anti-K0");
01119 static EvtId K0S=EvtPDL::getId("K_S0");
01120 static EvtId K0L=EvtPDL::getId("K_L0");
01121
01122 static EvtId KSTP=EvtPDL::getId("K*+");
01123 static EvtId KSTM=EvtPDL::getId("K*-");
01124 static EvtId KST0=EvtPDL::getId("K*0");
01125 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01126
01127 static EvtId K1P=EvtPDL::getId("K_1+");
01128 static EvtId K1M=EvtPDL::getId("K_1-");
01129 static EvtId K10=EvtPDL::getId("K_10");
01130 static EvtId K1B=EvtPDL::getId("anti-K_10");
01131
01132 static EvtId K1STP=EvtPDL::getId("K'_1+");
01133 static EvtId K1STM=EvtPDL::getId("K'_1-");
01134 static EvtId K1ST0=EvtPDL::getId("K'_10");
01135 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01136
01137 static EvtId K2STP=EvtPDL::getId("K_2*+");
01138 static EvtId K2STM=EvtPDL::getId("K_2*-");
01139 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01140 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01141
01142 static EvtId K0STP=EvtPDL::getId("K_0*+");
01143 static EvtId K0STM=EvtPDL::getId("K_0*-");
01144 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01145 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01146
01147 static EvtId PHI=EvtPDL::getId("phi");
01148 static EvtId DSP=EvtPDL::getId("D_s+");
01149 static EvtId DSM=EvtPDL::getId("D_s-");
01150
01151 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01152 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01153
01154 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01155 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01156
01157 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
01158 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
01159
01160 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01161 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01162
01163 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01164 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01165
01166 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01167 static EvtId BS0=EvtPDL::getId("B_s0");
01168
01169 double msd(0.0),mup,msq(0.0),bb2(0.0),mum,mtx,bbx2;
01170 double bx2(0.0),msb(0.0),tm;
01171 double mb,mx,f3, kap;
01172
01173 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
01174 msb=5.2;
01175 msd=0.33;
01176 bb2=0.41*0.41;
01177 if (daugt==DSTP||daugt==DSTM||daugt==DSTB||daugt==DST0) {
01178 msq=1.82;
01179 bx2=0.39*0.39;
01180 }
01181 else{
01182 if (daugt==RHOP||daugt==RHOM||daugt==RHO0||daugt==OMEG) {
01183 msq=0.33;
01184 bx2=0.31*0.31;
01185 }
01186 else{
01187 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3S1.\n";
01188 }
01189 }
01190 }
01191 else{
01192 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3S1.\n";
01193 }
01194
01195 double mtb;
01196
01197 mtb=msb+msd;
01198 mtx=msq+msd;
01199
01200 mup=1.0/(1.0/msq+1.0/msb);
01201 mum=1.0/(1.0/msq-1.0/msb);
01202 bbx2=0.5*(bb2+bx2);
01203 mb=EvtPDL::getMeanMass(parent);
01204 mx=mass;
01205 tm=(mb-mx)*(mb-mx);
01206 if ( t > tm ) t = 0.99*tm;
01207
01208 kap = 0.7*0.7;
01209 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
01210 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01211
01212 *f=2.0*mtb*f3;
01213 *g=0.5*f3*((1/msq)-(msd*bb2/(2.0*mum*mtx*bbx2)));
01214 *ap=(-1.0*f3/(2.0*mtx))*(1.0+(msd*(bb2-bx2)/(msb
01215 *(bb2+bx2)))-(msd*msd*bx2*bx2/(4.0*mum*mtb*bbx2*bbx2)));
01216 *am=0.0;
01217
01218 }
01219
01220 void EvtISGWFF::EvtISGW1FF23S1 (EvtId parent,EvtId daugt,
01221 double t, double mass, double *fpf, double *gpf,
01222 double *appf, double *apmf ) {
01223
01224 static EvtId EM=EvtPDL::getId("e-");
01225 static EvtId EP=EvtPDL::getId("e+");
01226 static EvtId MUM=EvtPDL::getId("mu-");
01227 static EvtId MUP=EvtPDL::getId("mu+");
01228 static EvtId TAUM=EvtPDL::getId("tau-");
01229 static EvtId TAUP=EvtPDL::getId("tau+");
01230
01231 static EvtId BP=EvtPDL::getId("B+");
01232 static EvtId BM=EvtPDL::getId("B-");
01233 static EvtId B0=EvtPDL::getId("B0");
01234 static EvtId B0B=EvtPDL::getId("anti-B0");
01235
01236 static EvtId DST0=EvtPDL::getId("D*0");
01237 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01238 static EvtId DSTP=EvtPDL::getId("D*+");
01239 static EvtId DSTM=EvtPDL::getId("D*-");
01240 static EvtId D0=EvtPDL::getId("D0");
01241 static EvtId D0B=EvtPDL::getId("anti-D0");
01242 static EvtId DP=EvtPDL::getId("D+");
01243 static EvtId DM=EvtPDL::getId("D-");
01244
01245 static EvtId D1P1P=EvtPDL::getId("D_1+");
01246 static EvtId D1P1N=EvtPDL::getId("D_1-");
01247 static EvtId D1P10=EvtPDL::getId("D_10");
01248 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01249
01250 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01251 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01252 static EvtId D3P20=EvtPDL::getId("D_2*0");
01253 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01254
01255 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01256 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01257 static EvtId D3P10=EvtPDL::getId("D'_10");
01258 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01259
01260 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01261 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01262 static EvtId D3P00=EvtPDL::getId("D_0*0");
01263 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01264
01265 static EvtId D21S0P=EvtPDL::getId("hi");
01266 static EvtId D21S0N=EvtPDL::getId("hi");
01267 static EvtId D21S00=EvtPDL::getId("hi");
01268 static EvtId D21S0B=EvtPDL::getId("hi");
01269
01270 static EvtId D23S1P=EvtPDL::getId("hi");
01271 static EvtId D23S1N=EvtPDL::getId("hi");
01272 static EvtId D23S10=EvtPDL::getId("hi");
01273 static EvtId D23S1B=EvtPDL::getId("hi");
01274
01275 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01276 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01277 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01278 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01279 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01280
01281 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01282 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01283 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01284
01285 static EvtId PIP=EvtPDL::getId("pi+");
01286 static EvtId PIM=EvtPDL::getId("pi-");
01287 static EvtId PI0=EvtPDL::getId("pi0");
01288
01289 static EvtId RHOP=EvtPDL::getId("rho+");
01290 static EvtId RHOM=EvtPDL::getId("rho-");
01291 static EvtId RHO0=EvtPDL::getId("rho0");
01292
01293 static EvtId A2P=EvtPDL::getId("a_2+");
01294 static EvtId A2M=EvtPDL::getId("a_2-");
01295 static EvtId A20=EvtPDL::getId("a_20");
01296
01297 static EvtId A1P=EvtPDL::getId("a_1+");
01298 static EvtId A1M=EvtPDL::getId("a_1-");
01299 static EvtId A10=EvtPDL::getId("a_10");
01300
01301 static EvtId A0P=EvtPDL::getId("a_0+");
01302 static EvtId A0M=EvtPDL::getId("a_0-");
01303 static EvtId A00=EvtPDL::getId("a_00");
01304
01305 static EvtId B1P=EvtPDL::getId("b_1+");
01306 static EvtId B1M=EvtPDL::getId("b_1-");
01307 static EvtId B10=EvtPDL::getId("b_10");
01308
01309 static EvtId H1=EvtPDL::getId("h_1");
01310 static EvtId H1PR=EvtPDL::getId("h'_1");
01311
01312 static EvtId F1=EvtPDL::getId("f_1");
01313 static EvtId F1PR=EvtPDL::getId("f'_1");
01314 static EvtId F0=EvtPDL::getId("f_0");
01315 static EvtId F0PR=EvtPDL::getId("f'_0");
01316 static EvtId F2=EvtPDL::getId("f_2");
01317 static EvtId F2PR=EvtPDL::getId("f'_2");
01318
01319 static EvtId ETA=EvtPDL::getId("eta");
01320 static EvtId ETAPR=EvtPDL::getId("eta'");
01321 static EvtId OMEG=EvtPDL::getId("omega");
01322
01323 static EvtId KP=EvtPDL::getId("K+");
01324 static EvtId KM=EvtPDL::getId("K-");
01325 static EvtId K0=EvtPDL::getId("K0");
01326 static EvtId KB=EvtPDL::getId("anti-K0");
01327 static EvtId K0S=EvtPDL::getId("K_S0");
01328 static EvtId K0L=EvtPDL::getId("K_L0");
01329
01330 static EvtId KSTP=EvtPDL::getId("K*+");
01331 static EvtId KSTM=EvtPDL::getId("K*-");
01332 static EvtId KST0=EvtPDL::getId("K*0");
01333 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01334
01335 static EvtId K1P=EvtPDL::getId("K_1+");
01336 static EvtId K1M=EvtPDL::getId("K_1-");
01337 static EvtId K10=EvtPDL::getId("K_10");
01338 static EvtId K1B=EvtPDL::getId("anti-K_10");
01339
01340 static EvtId K1STP=EvtPDL::getId("K'_1+");
01341 static EvtId K1STM=EvtPDL::getId("K'_1-");
01342 static EvtId K1ST0=EvtPDL::getId("K'_10");
01343 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01344
01345 static EvtId K2STP=EvtPDL::getId("K_2*+");
01346 static EvtId K2STM=EvtPDL::getId("K_2*-");
01347 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01348 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01349
01350 static EvtId K0STP=EvtPDL::getId("K_0*+");
01351 static EvtId K0STM=EvtPDL::getId("K_0*-");
01352 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01353 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01354
01355 static EvtId PHI=EvtPDL::getId("phi");
01356 static EvtId DSP=EvtPDL::getId("D_s+");
01357 static EvtId DSM=EvtPDL::getId("D_s-");
01358
01359 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01360 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01361
01362 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01363 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01364
01365 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
01366 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
01367
01368 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01369 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01370
01371 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01372 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01373
01374 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01375 static EvtId BS0=EvtPDL::getId("B_s0");
01376
01377 double mtb;
01378 double msd(0.0), mx(0.0), mb(0.0);
01379 double msq(0.0), bx2(0.0),mtx;
01380 double f3,f5,tt;
01381 double mum,mup,bb2(0.0),bbx2,tm,msb(0.0);
01382
01383 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
01384 msb=5.2;
01385 msd=0.33;
01386 bb2=0.41*0.41;
01387 if (daugt==RHO2SP||daugt==RHO2SM||daugt==RHO2S0||daugt==OMEG2S) {
01388 msq=0.33;
01389 bx2=0.31*0.31;
01390 }
01391 else{
01392 if (daugt==D23S1N||daugt==D23S10||daugt==D23S1P||daugt==D23S1B) {
01393 msq=1.82;
01394 bx2=0.39*0.39;
01395 }
01396 else{
01397 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
01398 }
01399 }
01400 }
01401 else{
01402 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_23P1.\n";
01403 }
01404
01405 mtb = msb + msd;
01406 mtx = msq + msd;
01407 mb = EvtPDL::getMeanMass( parent );
01408 mx = mass;
01409 mup=1.0/(1.0/msq+1.0/msb);
01410 mum=1.0/(1.0/msq-1.0/msb);
01411 bbx2=0.5*(bb2+bx2);
01412 tm=(mb-mx)*(mb-mx);
01413 if (t>tm) t = 0.99*tm;
01414
01415 double kap = 0.7*0.7;
01416 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
01417 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01418
01419 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
01420 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01421
01422 *fpf = sqrt(6.0)*f3*mtb*( ((bb2-bx2)/(bb2+bx2)) + ((msd*msd*bx2*
01423 (tm-t))/(6.0*mtx*mtb*bbx2*kap*bbx2)));
01424
01425 *gpf = sqrt(3.0/8.0)*f3*( ((((bb2-bx2)/(bb2+bx2)) + ((msd*msd*bx2*
01426 (tm-t))/(6.0*mtx*mtb*bbx2*kap*bbx2)))*
01427 ((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))) +
01428 ((msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
01429
01430 tt = (msd*msd*bx2*(tm-t))/(mtx*mtb*bb2*kap*bbx2);
01431
01432 *appf = (f5/(sqrt(6.0)*mtx))* ( ((3.0*mtb*bbx2/(2.0*msb*sqrt(bb2*bx2)))*
01433 (1.0 - ( (msd*msd*msb*bx2*bx2)/(4.0*mtb*mtb*mum*bbx2*bbx2)))) -
01434 ( (3.0*msd*sqrt(bx2/bb2))/(2.0*msb)) +
01435 ( (5.0*msd*sqrt(bx2*bb2)*(1.0 + 0.1*tt))/(2.0*msb*bbx2)) -
01436 ( (3.0*mtb*sqrt(bb2/bx2)*(1.0 + (tt/6.0)))/(2.0*msb)) +
01437 ( (7.0*msd*msd*sqrt(bb2/bx2)*bx2*bx2*(1.0 + (tt/14.0))) /
01438 (8.0*mtb*mum*bbx2*bbx2)));
01439
01440 *apmf = 0.0;
01441 return;
01442 }
01443
01444
01445 void EvtISGWFF::EvtISGW1FF3P1 (EvtId parent,EvtId daugt,
01446 double t, double mass,
01447 double *lf, double *qf, double *cpf, double *cmf ) {
01448
01449 static EvtId EM=EvtPDL::getId("e-");
01450 static EvtId EP=EvtPDL::getId("e+");
01451 static EvtId MUM=EvtPDL::getId("mu-");
01452 static EvtId MUP=EvtPDL::getId("mu+");
01453 static EvtId TAUM=EvtPDL::getId("tau-");
01454 static EvtId TAUP=EvtPDL::getId("tau+");
01455
01456 static EvtId BP=EvtPDL::getId("B+");
01457 static EvtId BM=EvtPDL::getId("B-");
01458 static EvtId B0=EvtPDL::getId("B0");
01459 static EvtId B0B=EvtPDL::getId("anti-B0");
01460
01461 static EvtId DST0=EvtPDL::getId("D*0");
01462 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01463 static EvtId DSTP=EvtPDL::getId("D*+");
01464 static EvtId DSTM=EvtPDL::getId("D*-");
01465 static EvtId D0=EvtPDL::getId("D0");
01466 static EvtId D0B=EvtPDL::getId("anti-D0");
01467 static EvtId DP=EvtPDL::getId("D+");
01468 static EvtId DM=EvtPDL::getId("D-");
01469
01470 static EvtId D1P1P=EvtPDL::getId("D_1+");
01471 static EvtId D1P1N=EvtPDL::getId("D_1-");
01472 static EvtId D1P10=EvtPDL::getId("D_10");
01473 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01474
01475 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01476 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01477 static EvtId D3P20=EvtPDL::getId("D_2*0");
01478 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01479
01480 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01481 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01482 static EvtId D3P10=EvtPDL::getId("D'_10");
01483 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01484
01485 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01486 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01487 static EvtId D3P00=EvtPDL::getId("D_0*0");
01488 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01489
01490 static EvtId D21S0P=EvtPDL::getId("hi");
01491 static EvtId D21S0N=EvtPDL::getId("hi");
01492 static EvtId D21S00=EvtPDL::getId("hi");
01493 static EvtId D21S0B=EvtPDL::getId("hi");
01494
01495 static EvtId D23S1P=EvtPDL::getId("hi");
01496 static EvtId D23S1N=EvtPDL::getId("hi");
01497 static EvtId D23S10=EvtPDL::getId("hi");
01498 static EvtId D23S1B=EvtPDL::getId("hi");
01499
01500 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01501 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01502 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01503 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01504 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01505
01506 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01507 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01508 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01509
01510 static EvtId PIP=EvtPDL::getId("pi+");
01511 static EvtId PIM=EvtPDL::getId("pi-");
01512 static EvtId PI0=EvtPDL::getId("pi0");
01513
01514 static EvtId RHOP=EvtPDL::getId("rho+");
01515 static EvtId RHOM=EvtPDL::getId("rho-");
01516 static EvtId RHO0=EvtPDL::getId("rho0");
01517
01518 static EvtId A2P=EvtPDL::getId("a_2+");
01519 static EvtId A2M=EvtPDL::getId("a_2-");
01520 static EvtId A20=EvtPDL::getId("a_20");
01521
01522 static EvtId A1P=EvtPDL::getId("a_1+");
01523 static EvtId A1M=EvtPDL::getId("a_1-");
01524 static EvtId A10=EvtPDL::getId("a_10");
01525
01526 static EvtId A0P=EvtPDL::getId("a_0+");
01527 static EvtId A0M=EvtPDL::getId("a_0-");
01528 static EvtId A00=EvtPDL::getId("a_00");
01529
01530 static EvtId B1P=EvtPDL::getId("b_1+");
01531 static EvtId B1M=EvtPDL::getId("b_1-");
01532 static EvtId B10=EvtPDL::getId("b_10");
01533
01534 static EvtId H1=EvtPDL::getId("h_1");
01535 static EvtId H1PR=EvtPDL::getId("h'_1");
01536
01537 static EvtId F1=EvtPDL::getId("f_1");
01538 static EvtId F1PR=EvtPDL::getId("f'_1");
01539 static EvtId F0=EvtPDL::getId("f_0");
01540 static EvtId F0PR=EvtPDL::getId("f'_0");
01541 static EvtId F2=EvtPDL::getId("f_2");
01542 static EvtId F2PR=EvtPDL::getId("f'_2");
01543
01544 static EvtId ETA=EvtPDL::getId("eta");
01545 static EvtId ETAPR=EvtPDL::getId("eta'");
01546 static EvtId OMEG=EvtPDL::getId("omega");
01547
01548 static EvtId KP=EvtPDL::getId("K+");
01549 static EvtId KM=EvtPDL::getId("K-");
01550 static EvtId K0=EvtPDL::getId("K0");
01551 static EvtId KB=EvtPDL::getId("anti-K0");
01552 static EvtId K0S=EvtPDL::getId("K_S0");
01553 static EvtId K0L=EvtPDL::getId("K_L0");
01554
01555 static EvtId KSTP=EvtPDL::getId("K*+");
01556 static EvtId KSTM=EvtPDL::getId("K*-");
01557 static EvtId KST0=EvtPDL::getId("K*0");
01558 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01559
01560 static EvtId K1P=EvtPDL::getId("K_1+");
01561 static EvtId K1M=EvtPDL::getId("K_1-");
01562 static EvtId K10=EvtPDL::getId("K_10");
01563 static EvtId K1B=EvtPDL::getId("anti-K_10");
01564
01565 static EvtId K1STP=EvtPDL::getId("K'_1+");
01566 static EvtId K1STM=EvtPDL::getId("K'_1-");
01567 static EvtId K1ST0=EvtPDL::getId("K'_10");
01568 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01569
01570 static EvtId K2STP=EvtPDL::getId("K_2*+");
01571 static EvtId K2STM=EvtPDL::getId("K_2*-");
01572 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01573 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01574
01575 static EvtId K0STP=EvtPDL::getId("K_0*+");
01576 static EvtId K0STM=EvtPDL::getId("K_0*-");
01577 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01578 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01579
01580 static EvtId PHI=EvtPDL::getId("phi");
01581 static EvtId DSP=EvtPDL::getId("D_s+");
01582 static EvtId DSM=EvtPDL::getId("D_s-");
01583
01584 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01585 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01586
01587 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01588 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01589
01590 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
01591 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
01592
01593 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01594 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01595
01596 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01597 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01598
01599 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01600 static EvtId BS0=EvtPDL::getId("B_s0");
01601
01602 double mtb;
01603 double msd(0.0), mx(0.0), mb(0.0);
01604 double msq(0.0), bx2(0.0),mtx,f5;
01605 double msb(0.0),bb2(0.0),mup,mum,bbx2,tm;
01606 double kap;
01607
01608 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
01609 msb=5.2;
01610 msd=0.33;
01611 bb2=0.41*0.41;
01612 if (daugt==A10||daugt==A1P||daugt==A1M||daugt==F1||daugt==F1PR) {
01613 msq=0.33;
01614 bx2=0.27*0.27;
01615 }
01616 else{
01617 if (daugt==D3P1P||daugt==D3P1N||daugt==D3P1B||daugt==D3P10) {
01618 msq=1.82;
01619 bx2=0.34*0.34;
01620 }
01621 else{
01622 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P1.\n";
01623 }
01624 }
01625 }
01626 else{
01627 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
01628 }
01629
01630 mtb = msb + msd;
01631 mtx = msq + msd;
01632
01633 mb = EvtPDL::getMeanMass( parent );
01634 mx = mass;
01635
01636 mup=1.0/(1.0/msq+1.0/msb);
01637 mum=1.0/(1.0/msq-1.0/msb);
01638 bbx2=0.5*(bb2+bx2);
01639 tm=(mb-mx)*(mb-mx);
01640 if (t>tm) t = 0.99*tm;
01641
01642 kap = 0.7*0.7;
01643 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
01644 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01645
01646 *qf = (f5*msd)/(2.0*mtx*sqrt(bb2));
01647
01648 *lf = -1.0*mtb*sqrt(bb2)*f5*(1/mum+(msd*(tm-t)/(2.0*mtb*
01649 kap*bb2))*((1.0/msq)-(1.0*msd*bb2/(2.0*mum*mtx*bbx2))));
01650
01651 *cpf = (f5*msd*msb/(4.0*mtb*sqrt(bb2)*mum))*(1.0-(msd*msq*bb2/(
01652 2.0*mtx*mum*bbx2)));
01653 *cmf = 0.0;
01654 return;
01655 }
01656
01657
01658
01659 void EvtISGWFF::EvtISGW1FF3P0 (EvtId parent,EvtId daugt,
01660 double t, double mass, double *upf, double *umf ) {
01661
01662 static EvtId EM=EvtPDL::getId("e-");
01663 static EvtId EP=EvtPDL::getId("e+");
01664 static EvtId MUM=EvtPDL::getId("mu-");
01665 static EvtId MUP=EvtPDL::getId("mu+");
01666 static EvtId TAUM=EvtPDL::getId("tau-");
01667 static EvtId TAUP=EvtPDL::getId("tau+");
01668
01669 static EvtId BP=EvtPDL::getId("B+");
01670 static EvtId BM=EvtPDL::getId("B-");
01671 static EvtId B0=EvtPDL::getId("B0");
01672 static EvtId B0B=EvtPDL::getId("anti-B0");
01673
01674 static EvtId DST0=EvtPDL::getId("D*0");
01675 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01676 static EvtId DSTP=EvtPDL::getId("D*+");
01677 static EvtId DSTM=EvtPDL::getId("D*-");
01678 static EvtId D0=EvtPDL::getId("D0");
01679 static EvtId D0B=EvtPDL::getId("anti-D0");
01680 static EvtId DP=EvtPDL::getId("D+");
01681 static EvtId DM=EvtPDL::getId("D-");
01682
01683 static EvtId D1P1P=EvtPDL::getId("D_1+");
01684 static EvtId D1P1N=EvtPDL::getId("D_1-");
01685 static EvtId D1P10=EvtPDL::getId("D_10");
01686 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01687
01688 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01689 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01690 static EvtId D3P20=EvtPDL::getId("D_2*0");
01691 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01692
01693 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01694 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01695 static EvtId D3P10=EvtPDL::getId("D'_10");
01696 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01697
01698 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01699 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01700 static EvtId D3P00=EvtPDL::getId("D_0*0");
01701 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01702
01703 static EvtId D21S0P=EvtPDL::getId("hi");
01704 static EvtId D21S0N=EvtPDL::getId("hi");
01705 static EvtId D21S00=EvtPDL::getId("hi");
01706 static EvtId D21S0B=EvtPDL::getId("hi");
01707
01708 static EvtId D23S1P=EvtPDL::getId("hi");
01709 static EvtId D23S1N=EvtPDL::getId("hi");
01710 static EvtId D23S10=EvtPDL::getId("hi");
01711 static EvtId D23S1B=EvtPDL::getId("hi");
01712
01713 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01714 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01715 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01716 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01717 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01718
01719 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01720 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01721 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01722
01723 static EvtId PIP=EvtPDL::getId("pi+");
01724 static EvtId PIM=EvtPDL::getId("pi-");
01725 static EvtId PI0=EvtPDL::getId("pi0");
01726
01727 static EvtId RHOP=EvtPDL::getId("rho+");
01728 static EvtId RHOM=EvtPDL::getId("rho-");
01729 static EvtId RHO0=EvtPDL::getId("rho0");
01730
01731 static EvtId A2P=EvtPDL::getId("a_2+");
01732 static EvtId A2M=EvtPDL::getId("a_2-");
01733 static EvtId A20=EvtPDL::getId("a_20");
01734
01735 static EvtId A1P=EvtPDL::getId("a_1+");
01736 static EvtId A1M=EvtPDL::getId("a_1-");
01737 static EvtId A10=EvtPDL::getId("a_10");
01738
01739 static EvtId A0P=EvtPDL::getId("a_0+");
01740 static EvtId A0M=EvtPDL::getId("a_0-");
01741 static EvtId A00=EvtPDL::getId("a_00");
01742
01743 static EvtId B1P=EvtPDL::getId("b_1+");
01744 static EvtId B1M=EvtPDL::getId("b_1-");
01745 static EvtId B10=EvtPDL::getId("b_10");
01746
01747 static EvtId H1=EvtPDL::getId("h_1");
01748 static EvtId H1PR=EvtPDL::getId("h'_1");
01749
01750 static EvtId F1=EvtPDL::getId("f_1");
01751 static EvtId F1PR=EvtPDL::getId("f'_1");
01752 static EvtId F0=EvtPDL::getId("f_0");
01753 static EvtId F0PR=EvtPDL::getId("f'_0");
01754 static EvtId F2=EvtPDL::getId("f_2");
01755 static EvtId F2PR=EvtPDL::getId("f'_2");
01756
01757 static EvtId ETA=EvtPDL::getId("eta");
01758 static EvtId ETAPR=EvtPDL::getId("eta'");
01759 static EvtId OMEG=EvtPDL::getId("omega");
01760
01761 static EvtId KP=EvtPDL::getId("K+");
01762 static EvtId KM=EvtPDL::getId("K-");
01763 static EvtId K0=EvtPDL::getId("K0");
01764 static EvtId KB=EvtPDL::getId("anti-K0");
01765 static EvtId K0S=EvtPDL::getId("K_S0");
01766 static EvtId K0L=EvtPDL::getId("K_L0");
01767
01768 static EvtId KSTP=EvtPDL::getId("K*+");
01769 static EvtId KSTM=EvtPDL::getId("K*-");
01770 static EvtId KST0=EvtPDL::getId("K*0");
01771 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01772
01773 static EvtId K1P=EvtPDL::getId("K_1+");
01774 static EvtId K1M=EvtPDL::getId("K_1-");
01775 static EvtId K10=EvtPDL::getId("K_10");
01776 static EvtId K1B=EvtPDL::getId("anti-K_10");
01777
01778 static EvtId K1STP=EvtPDL::getId("K'_1+");
01779 static EvtId K1STM=EvtPDL::getId("K'_1-");
01780 static EvtId K1ST0=EvtPDL::getId("K'_10");
01781 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01782
01783 static EvtId K2STP=EvtPDL::getId("K_2*+");
01784 static EvtId K2STM=EvtPDL::getId("K_2*-");
01785 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01786 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01787
01788 static EvtId K0STP=EvtPDL::getId("K_0*+");
01789 static EvtId K0STM=EvtPDL::getId("K_0*-");
01790 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01791 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01792
01793 static EvtId PHI=EvtPDL::getId("phi");
01794 static EvtId DSP=EvtPDL::getId("D_s+");
01795 static EvtId DSM=EvtPDL::getId("D_s-");
01796
01797 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01798 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01799
01800 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01801 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01802
01803 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
01804 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
01805
01806 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01807 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01808
01809 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01810 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01811
01812 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01813 static EvtId BS0=EvtPDL::getId("B_s0");
01814
01815 double mtb;
01816 double msd(0.0), mx(0.0), mb(0.0);
01817 double msq(0.0), bx2(0.0),mtx;
01818 double f5;
01819 double mum,mup,bb2(0.0),bbx2,msb(0.0),tm;
01820
01821 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
01822 msb=5.2;
01823 msd=0.33;
01824 bb2=0.41*0.41;
01825 if (daugt==A00||daugt==A0P||daugt==A0M||daugt==F0||daugt==F0PR) {
01826 msq=0.33;
01827 bx2=0.27*0.27;
01828 }
01829 else{
01830 if (daugt==D3P0P||daugt==D3P0N||daugt==D3P0B||daugt==D3P00) {
01831 msq=1.82;
01832 bx2=0.34*0.34;
01833 }
01834 else{
01835 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P0.\n";
01836 }
01837 }
01838 }
01839 else{
01840 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P0.\n";
01841 }
01842
01843 mtb = msb + msd;
01844 mtx = msq + msd;
01845
01846 mb = EvtPDL::getMeanMass( parent );
01847 mx = mass;
01848
01849 mup=1.0/(1.0/msq+1.0/msb);
01850 mum=1.0/(1.0/msq-1.0/msb);
01851 bbx2=0.5*(bb2+bx2);
01852 tm=(mb-mx)*(mb-mx);
01853 if (t>tm) t = 0.99*tm;
01854
01855 double kap = 0.7*0.7;
01856 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
01857 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
01858
01859 *upf = f5*msd*msq*msb/(sqrt(6.0*bb2)*mtx*mum);
01860 *umf = 0.0;
01861 return;
01862 }
01863
01864
01865
01866 void EvtISGWFF::EvtISGW1FF1P1 (EvtId parent,EvtId daugt,
01867 double t, double mass,
01868 double *vf, double *rf, double *spf, double *smf ) {
01869
01870 static EvtId EM=EvtPDL::getId("e-");
01871 static EvtId EP=EvtPDL::getId("e+");
01872 static EvtId MUM=EvtPDL::getId("mu-");
01873 static EvtId MUP=EvtPDL::getId("mu+");
01874 static EvtId TAUM=EvtPDL::getId("tau-");
01875 static EvtId TAUP=EvtPDL::getId("tau+");
01876
01877 static EvtId BP=EvtPDL::getId("B+");
01878 static EvtId BM=EvtPDL::getId("B-");
01879 static EvtId B0=EvtPDL::getId("B0");
01880 static EvtId B0B=EvtPDL::getId("anti-B0");
01881
01882 static EvtId DST0=EvtPDL::getId("D*0");
01883 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01884 static EvtId DSTP=EvtPDL::getId("D*+");
01885 static EvtId DSTM=EvtPDL::getId("D*-");
01886 static EvtId D0=EvtPDL::getId("D0");
01887 static EvtId D0B=EvtPDL::getId("anti-D0");
01888 static EvtId DP=EvtPDL::getId("D+");
01889 static EvtId DM=EvtPDL::getId("D-");
01890
01891 static EvtId D1P1P=EvtPDL::getId("D_1+");
01892 static EvtId D1P1N=EvtPDL::getId("D_1-");
01893 static EvtId D1P10=EvtPDL::getId("D_10");
01894 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01895
01896 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01897 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01898 static EvtId D3P20=EvtPDL::getId("D_2*0");
01899 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01900
01901 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01902 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01903 static EvtId D3P10=EvtPDL::getId("D'_10");
01904 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01905
01906 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01907 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01908 static EvtId D3P00=EvtPDL::getId("D_0*0");
01909 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01910
01911 static EvtId D21S0P=EvtPDL::getId("hi");
01912 static EvtId D21S0N=EvtPDL::getId("hi");
01913 static EvtId D21S00=EvtPDL::getId("hi");
01914 static EvtId D21S0B=EvtPDL::getId("hi");
01915
01916 static EvtId D23S1P=EvtPDL::getId("hi");
01917 static EvtId D23S1N=EvtPDL::getId("hi");
01918 static EvtId D23S10=EvtPDL::getId("hi");
01919 static EvtId D23S1B=EvtPDL::getId("hi");
01920
01921 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01922 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01923 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01924 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01925 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01926
01927 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01928 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01929 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01930
01931 static EvtId PIP=EvtPDL::getId("pi+");
01932 static EvtId PIM=EvtPDL::getId("pi-");
01933 static EvtId PI0=EvtPDL::getId("pi0");
01934
01935 static EvtId RHOP=EvtPDL::getId("rho+");
01936 static EvtId RHOM=EvtPDL::getId("rho-");
01937 static EvtId RHO0=EvtPDL::getId("rho0");
01938
01939 static EvtId A2P=EvtPDL::getId("a_2+");
01940 static EvtId A2M=EvtPDL::getId("a_2-");
01941 static EvtId A20=EvtPDL::getId("a_20");
01942
01943 static EvtId A1P=EvtPDL::getId("a_1+");
01944 static EvtId A1M=EvtPDL::getId("a_1-");
01945 static EvtId A10=EvtPDL::getId("a_10");
01946
01947 static EvtId A0P=EvtPDL::getId("a_0+");
01948 static EvtId A0M=EvtPDL::getId("a_0-");
01949 static EvtId A00=EvtPDL::getId("a_00");
01950
01951 static EvtId B1P=EvtPDL::getId("b_1+");
01952 static EvtId B1M=EvtPDL::getId("b_1-");
01953 static EvtId B10=EvtPDL::getId("b_10");
01954
01955 static EvtId H1=EvtPDL::getId("h_1");
01956 static EvtId H1PR=EvtPDL::getId("h'_1");
01957
01958 static EvtId F1=EvtPDL::getId("f_1");
01959 static EvtId F1PR=EvtPDL::getId("f'_1");
01960 static EvtId F0=EvtPDL::getId("f_0");
01961 static EvtId F0PR=EvtPDL::getId("f'_0");
01962 static EvtId F2=EvtPDL::getId("f_2");
01963 static EvtId F2PR=EvtPDL::getId("f'_2");
01964
01965 static EvtId ETA=EvtPDL::getId("eta");
01966 static EvtId ETAPR=EvtPDL::getId("eta'");
01967 static EvtId OMEG=EvtPDL::getId("omega");
01968
01969 static EvtId KP=EvtPDL::getId("K+");
01970 static EvtId KM=EvtPDL::getId("K-");
01971 static EvtId K0=EvtPDL::getId("K0");
01972 static EvtId KB=EvtPDL::getId("anti-K0");
01973 static EvtId K0S=EvtPDL::getId("K_S0");
01974 static EvtId K0L=EvtPDL::getId("K_L0");
01975
01976 static EvtId KSTP=EvtPDL::getId("K*+");
01977 static EvtId KSTM=EvtPDL::getId("K*-");
01978 static EvtId KST0=EvtPDL::getId("K*0");
01979 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01980
01981 static EvtId K1P=EvtPDL::getId("K_1+");
01982 static EvtId K1M=EvtPDL::getId("K_1-");
01983 static EvtId K10=EvtPDL::getId("K_10");
01984 static EvtId K1B=EvtPDL::getId("anti-K_10");
01985
01986 static EvtId K1STP=EvtPDL::getId("K'_1+");
01987 static EvtId K1STM=EvtPDL::getId("K'_1-");
01988 static EvtId K1ST0=EvtPDL::getId("K'_10");
01989 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01990
01991 static EvtId K2STP=EvtPDL::getId("K_2*+");
01992 static EvtId K2STM=EvtPDL::getId("K_2*-");
01993 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01994 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01995
01996 static EvtId K0STP=EvtPDL::getId("K_0*+");
01997 static EvtId K0STM=EvtPDL::getId("K_0*-");
01998 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01999 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
02000
02001 static EvtId PHI=EvtPDL::getId("phi");
02002 static EvtId DSP=EvtPDL::getId("D_s+");
02003 static EvtId DSM=EvtPDL::getId("D_s-");
02004
02005 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
02006 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
02007
02008 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
02009 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
02010
02011 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
02012 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
02013
02014 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
02015 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
02016
02017 static EvtId DSSTP=EvtPDL::getId("D_s*+");
02018 static EvtId DSSTM=EvtPDL::getId("D_s*-");
02019
02020 static EvtId BSB=EvtPDL::getId("anti-B_s0");
02021 static EvtId BS0=EvtPDL::getId("B_s0");
02022
02023 double mtb;
02024 double msd(0.0), mx(0.0), mb(0.0);
02025 double msq(0.0), bx2(0.0),mtx,f5;
02026 double mup,mum,kap;
02027 double msb(0.0),bb2(0.0),bbx2,tm;
02028
02029 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
02030
02031 msb=5.2;
02032 msd=0.33;
02033 bb2=0.41*0.41;
02034 if (daugt==H1||daugt==H1PR||daugt==B10||daugt==B1P||daugt==B1M) {
02035 msq=0.33;
02036 bx2=0.27*0.27;
02037 }
02038 else{
02039 if (daugt==D1P1P||daugt==D1P1N||daugt==D1P10||daugt==D1P1B) {
02040 msq=1.82;
02041 bx2=0.34*0.34;
02042 }
02043 else{
02044 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P1.\n";
02045 }
02046 }
02047 }
02048 else{
02049 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
02050 }
02051
02052 mtb = msb + msd;
02053 mtx = msq + msd;
02054
02055 mb = EvtPDL::getMeanMass( parent );
02056 mx = mass;
02057
02058 mup=1.0/(1.0/msq+1.0/msb);
02059 mum=1.0/(1.0/msq-1.0/msb);
02060 bbx2=0.5*(bb2+bx2);
02061 tm=(mb-mx)*(mb-mx);
02062 if (t>tm) t = 0.99*tm;
02063
02064 kap = 0.7*0.7;
02065 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0)*
02066 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
02067
02068 *vf = f5*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)));
02069 *rf = f5*mtb*sqrt(bb2/2)*((1.0/mup));
02070
02071 *spf = (f5*msd/(sqrt(2.0*bb2)*mtb))*(1.0+(msb/(2.0*mum))-
02072 (msb*msq*msd*bb2/(4.0*mup*mum*mtx*bbx2)));
02073 *smf = 0.0;
02074
02075 return;
02076
02077
02078 }
02079
02080 void EvtISGWFF::EvtISGW1FF21S0 (EvtId parent,EvtId daugt,
02081 double t, double mass, double *fppf, double *fpmf ) {
02082
02083 static EvtId EM=EvtPDL::getId("e-");
02084 static EvtId EP=EvtPDL::getId("e+");
02085 static EvtId MUM=EvtPDL::getId("mu-");
02086 static EvtId MUP=EvtPDL::getId("mu+");
02087 static EvtId TAUM=EvtPDL::getId("tau-");
02088 static EvtId TAUP=EvtPDL::getId("tau+");
02089
02090 static EvtId BP=EvtPDL::getId("B+");
02091 static EvtId BM=EvtPDL::getId("B-");
02092 static EvtId B0=EvtPDL::getId("B0");
02093 static EvtId B0B=EvtPDL::getId("anti-B0");
02094
02095 static EvtId DST0=EvtPDL::getId("D*0");
02096 static EvtId DSTB=EvtPDL::getId("anti-D*0");
02097 static EvtId DSTP=EvtPDL::getId("D*+");
02098 static EvtId DSTM=EvtPDL::getId("D*-");
02099 static EvtId D0=EvtPDL::getId("D0");
02100 static EvtId D0B=EvtPDL::getId("anti-D0");
02101 static EvtId DP=EvtPDL::getId("D+");
02102 static EvtId DM=EvtPDL::getId("D-");
02103
02104 static EvtId D1P1P=EvtPDL::getId("D_1+");
02105 static EvtId D1P1N=EvtPDL::getId("D_1-");
02106 static EvtId D1P10=EvtPDL::getId("D_10");
02107 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
02108
02109 static EvtId D3P2P=EvtPDL::getId("D_2*+");
02110 static EvtId D3P2N=EvtPDL::getId("D_2*-");
02111 static EvtId D3P20=EvtPDL::getId("D_2*0");
02112 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
02113
02114 static EvtId D3P1P=EvtPDL::getId("D'_1+");
02115 static EvtId D3P1N=EvtPDL::getId("D'_1-");
02116 static EvtId D3P10=EvtPDL::getId("D'_10");
02117 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
02118
02119 static EvtId D3P0P=EvtPDL::getId("D_0*+");
02120 static EvtId D3P0N=EvtPDL::getId("D_0*-");
02121 static EvtId D3P00=EvtPDL::getId("D_0*0");
02122 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
02123
02124 static EvtId D21S0P=EvtPDL::getId("hi");
02125 static EvtId D21S0N=EvtPDL::getId("hi");
02126 static EvtId D21S00=EvtPDL::getId("hi");
02127 static EvtId D21S0B=EvtPDL::getId("hi");
02128
02129 static EvtId D23S1P=EvtPDL::getId("hi");
02130 static EvtId D23S1N=EvtPDL::getId("hi");
02131 static EvtId D23S10=EvtPDL::getId("hi");
02132 static EvtId D23S1B=EvtPDL::getId("hi");
02133
02134 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
02135 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
02136 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
02137 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
02138 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
02139
02140 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
02141 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
02142 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
02143
02144 static EvtId PIP=EvtPDL::getId("pi+");
02145 static EvtId PIM=EvtPDL::getId("pi-");
02146 static EvtId PI0=EvtPDL::getId("pi0");
02147
02148 static EvtId RHOP=EvtPDL::getId("rho+");
02149 static EvtId RHOM=EvtPDL::getId("rho-");
02150 static EvtId RHO0=EvtPDL::getId("rho0");
02151
02152 static EvtId A2P=EvtPDL::getId("a_2+");
02153 static EvtId A2M=EvtPDL::getId("a_2-");
02154 static EvtId A20=EvtPDL::getId("a_20");
02155
02156 static EvtId A1P=EvtPDL::getId("a_1+");
02157 static EvtId A1M=EvtPDL::getId("a_1-");
02158 static EvtId A10=EvtPDL::getId("a_10");
02159
02160 static EvtId A0P=EvtPDL::getId("a_0+");
02161 static EvtId A0M=EvtPDL::getId("a_0-");
02162 static EvtId A00=EvtPDL::getId("a_00");
02163
02164 static EvtId B1P=EvtPDL::getId("b_1+");
02165 static EvtId B1M=EvtPDL::getId("b_1-");
02166 static EvtId B10=EvtPDL::getId("b_10");
02167
02168 static EvtId H1=EvtPDL::getId("h_1");
02169 static EvtId H1PR=EvtPDL::getId("h'_1");
02170
02171 static EvtId F1=EvtPDL::getId("f_1");
02172 static EvtId F1PR=EvtPDL::getId("f'_1");
02173 static EvtId F0=EvtPDL::getId("f_0");
02174 static EvtId F0PR=EvtPDL::getId("f'_0");
02175 static EvtId F2=EvtPDL::getId("f_2");
02176 static EvtId F2PR=EvtPDL::getId("f'_2");
02177
02178 static EvtId ETA=EvtPDL::getId("eta");
02179 static EvtId ETAPR=EvtPDL::getId("eta'");
02180 static EvtId OMEG=EvtPDL::getId("omega");
02181
02182 static EvtId KP=EvtPDL::getId("K+");
02183 static EvtId KM=EvtPDL::getId("K-");
02184 static EvtId K0=EvtPDL::getId("K0");
02185 static EvtId KB=EvtPDL::getId("anti-K0");
02186 static EvtId K0S=EvtPDL::getId("K_S0");
02187 static EvtId K0L=EvtPDL::getId("K_L0");
02188
02189 static EvtId KSTP=EvtPDL::getId("K*+");
02190 static EvtId KSTM=EvtPDL::getId("K*-");
02191 static EvtId KST0=EvtPDL::getId("K*0");
02192 static EvtId KSTB=EvtPDL::getId("anti-K*0");
02193
02194 static EvtId K1P=EvtPDL::getId("K_1+");
02195 static EvtId K1M=EvtPDL::getId("K_1-");
02196 static EvtId K10=EvtPDL::getId("K_10");
02197 static EvtId K1B=EvtPDL::getId("anti-K_10");
02198
02199 static EvtId K1STP=EvtPDL::getId("K'_1+");
02200 static EvtId K1STM=EvtPDL::getId("K'_1-");
02201 static EvtId K1ST0=EvtPDL::getId("K'_10");
02202 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
02203
02204 static EvtId K2STP=EvtPDL::getId("K_2*+");
02205 static EvtId K2STM=EvtPDL::getId("K_2*-");
02206 static EvtId K2ST0=EvtPDL::getId("K_2*0");
02207 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
02208
02209 static EvtId K0STP=EvtPDL::getId("K_0*+");
02210 static EvtId K0STM=EvtPDL::getId("K_0*-");
02211 static EvtId K0ST0=EvtPDL::getId("K_0*0");
02212 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
02213
02214 static EvtId PHI=EvtPDL::getId("phi");
02215 static EvtId DSP=EvtPDL::getId("D_s+");
02216 static EvtId DSM=EvtPDL::getId("D_s-");
02217
02218 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
02219 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
02220
02221 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
02222 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
02223
02224 static EvtId D3P1SP=EvtPDL::getId("D'_s1*+");
02225 static EvtId D3P1SN=EvtPDL::getId("D'_s1*-");
02226
02227 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
02228 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
02229
02230 static EvtId DSSTP=EvtPDL::getId("D_s*+");
02231 static EvtId DSSTM=EvtPDL::getId("D_s*-");
02232
02233 static EvtId BSB=EvtPDL::getId("anti-B_s0");
02234 static EvtId BS0=EvtPDL::getId("B_s0");
02235
02236 double mtb;
02237 double msd(0.0), mx(0.0), mb(0.0);
02238 double msq(0.0), bx2(0.0),mtx;
02239 double f3;
02240 double msb(0.0);
02241 double mum,mup,tm,bb2(0.0),bbx2;
02242
02243 if (parent==BM||parent==BP||parent==B0||parent==B0B) {
02244 msb=5.2;
02245 msd=0.33;
02246 bb2=0.41*0.41;
02247 if (daugt==PI2S0||daugt==PI2SP||daugt==PI2SM||daugt==ETA2S){
02248 msq=0.33;
02249 bx2=0.31*0.31;
02250 }
02251 else{
02252 if (daugt==D21S00||daugt==D21S0P||daugt==D21S0N||daugt==D21S0B) {
02253 msq=1.82;
02254 bx2=0.39*0.39;
02255 }
02256 else{
02257 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw1_ff_21S0.\n";
02258 }
02259 }
02260 }
02261 else{
02262 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw1_ff_21S0.\n";
02263 }
02264
02265 mtb = msb + msd;
02266 mtx = msq + msd;
02267
02268 mb = EvtPDL::getMeanMass( parent );
02269 mx = mass;
02270
02271 mup=1.0/(1.0/msq+1.0/msb);
02272 mum=1.0/(1.0/msq-1.0/msb);
02273 bbx2=0.5*(bb2+bx2);
02274 tm=(mb-mx)*(mb-mx);
02275 if (t>tm) t = 0.99*tm;
02276
02277 double kap = 0.7*0.7;
02278 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0)*
02279 exp(-1.0*((msd*msd*(tm-t)/(4.0*mtb*mtx*kap*bbx2))));
02280
02281 *fppf = f3*sqrt(3.0/8.0)*(msb/mup)*( ((bb2-bx2)/(bb2+bx2)) +
02282 (((msq*msd*bb2)/(3.0*mum*mtx*bbx2))*((7.0*bx2-3.0*bb2)/
02283 (4.0*bbx2))) +
02284 (((msd*msd*bx2*(tm-t))/(6.0*mtx*mtb*bbx2*kap*bbx2))*
02285 (1.0 - ((msq*msd*bb2)/(2.0*mum*mtx*bbx2)))));
02286
02287 *fpmf = 0.0;
02288 return;
02289 }
02290
02291