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/EvtISGW2FF.hh"
00026 #include "EvtGenBase/EvtPDL.hh"
00027 #include "EvtGenBase/EvtId.hh"
00028 #include "EvtGenBase/EvtIdSet.hh"
00029 #include "EvtGenBase/EvtConst.hh"
00030 #include <string>
00031 #include <math.h>
00032 #include <stdlib.h>
00033 using std::endl;
00034
00035 void EvtISGW2FF::getscalarff(EvtId parent,EvtId daught,
00036 double t, double mass, double *fpf,
00037 double *f0f ) {
00038
00039
00040
00041
00042 static EvtId BP=EvtPDL::getId("B+");
00043 static EvtId BM=EvtPDL::getId("B-");
00044 static EvtId B0=EvtPDL::getId("B0");
00045 static EvtId B0B=EvtPDL::getId("anti-B0");
00046
00047 static EvtId DST0=EvtPDL::getId("D*0");
00048 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00049 static EvtId DSTP=EvtPDL::getId("D*+");
00050 static EvtId DSTM=EvtPDL::getId("D*-");
00051 static EvtId D0=EvtPDL::getId("D0");
00052 static EvtId D0B=EvtPDL::getId("anti-D0");
00053 static EvtId DP=EvtPDL::getId("D+");
00054 static EvtId DM=EvtPDL::getId("D-");
00055
00056 static EvtId D1P1P=EvtPDL::getId("D_1+");
00057 static EvtId D1P1N=EvtPDL::getId("D_1-");
00058 static EvtId D1P10=EvtPDL::getId("D_10");
00059 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00060
00061 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00062 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00063 static EvtId D3P20=EvtPDL::getId("D_2*0");
00064 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00065
00066 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00067 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00068 static EvtId D3P10=EvtPDL::getId("D'_10");
00069 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00070
00071 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00072 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00073 static EvtId D3P00=EvtPDL::getId("D_0*0");
00074 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00075
00076 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
00077 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00078 static EvtId D21S00=EvtPDL::getId("D(2S)0");
00079 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00080
00081 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00082 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00083 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00084 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
00085
00086 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00087 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00088 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00089 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00090 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00091
00092 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00093 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00094 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00095
00096 static EvtId PIP=EvtPDL::getId("pi+");
00097 static EvtId PIM=EvtPDL::getId("pi-");
00098 static EvtId PI0=EvtPDL::getId("pi0");
00099
00100 static EvtId RHOP=EvtPDL::getId("rho+");
00101 static EvtId RHOM=EvtPDL::getId("rho-");
00102 static EvtId RHO0=EvtPDL::getId("rho0");
00103
00104 static EvtId A2P=EvtPDL::getId("a_2+");
00105 static EvtId A2M=EvtPDL::getId("a_2-");
00106 static EvtId A20=EvtPDL::getId("a_20");
00107
00108 static EvtId A1P=EvtPDL::getId("a_1+");
00109 static EvtId A1M=EvtPDL::getId("a_1-");
00110 static EvtId A10=EvtPDL::getId("a_10");
00111
00112 static EvtId A0P=EvtPDL::getId("a_0+");
00113 static EvtId A0M=EvtPDL::getId("a_0-");
00114 static EvtId A00=EvtPDL::getId("a_00");
00115
00116 static EvtId B1P=EvtPDL::getId("b_1+");
00117 static EvtId B1M=EvtPDL::getId("b_1-");
00118 static EvtId B10=EvtPDL::getId("b_10");
00119
00120 static EvtId H1=EvtPDL::getId("h_1");
00121 static EvtId H1PR=EvtPDL::getId("h'_1");
00122
00123 static EvtId F1=EvtPDL::getId("f_1");
00124 static EvtId F1PR=EvtPDL::getId("f'_1");
00125 static EvtId F0=EvtPDL::getId("f_0");
00126 static EvtId F0PR=EvtPDL::getId("f'_0");
00127 static EvtId F2=EvtPDL::getId("f_2");
00128 static EvtId F2PR=EvtPDL::getId("f'_2");
00129
00130 static EvtId ETA=EvtPDL::getId("eta");
00131 static EvtId ETAPR=EvtPDL::getId("eta'");
00132 static EvtId OMEG=EvtPDL::getId("omega");
00133
00134 static EvtId KP=EvtPDL::getId("K+");
00135 static EvtId KM=EvtPDL::getId("K-");
00136 static EvtId K0=EvtPDL::getId("K0");
00137 static EvtId KB=EvtPDL::getId("anti-K0");
00138 static EvtId K0S=EvtPDL::getId("K_S0");
00139 static EvtId K0L=EvtPDL::getId("K_L0");
00140
00141 static EvtId KSTP=EvtPDL::getId("K*+");
00142 static EvtId KSTM=EvtPDL::getId("K*-");
00143 static EvtId KST0=EvtPDL::getId("K*0");
00144 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00145
00146 static EvtId K1P=EvtPDL::getId("K_1+");
00147 static EvtId K1M=EvtPDL::getId("K_1-");
00148 static EvtId K10=EvtPDL::getId("K_10");
00149 static EvtId K1B=EvtPDL::getId("anti-K_10");
00150
00151 static EvtId K1STP=EvtPDL::getId("K'_1+");
00152 static EvtId K1STM=EvtPDL::getId("K'_1-");
00153 static EvtId K1ST0=EvtPDL::getId("K'_10");
00154 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00155
00156 static EvtId K2STP=EvtPDL::getId("K_2*+");
00157 static EvtId K2STM=EvtPDL::getId("K_2*-");
00158 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00159 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00160
00161 static EvtId K0STP=EvtPDL::getId("K_0*+");
00162 static EvtId K0STM=EvtPDL::getId("K_0*-");
00163 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00164 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00165
00166 static EvtId PHI=EvtPDL::getId("phi");
00167 static EvtId DSP=EvtPDL::getId("D_s+");
00168 static EvtId DSM=EvtPDL::getId("D_s-");
00169
00170 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00171 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00172
00173 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00174 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00175
00176 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
00177 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
00178
00179 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00180 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00181
00182 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00183 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00184
00185 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00186 static EvtId BS0=EvtPDL::getId("B_s0");
00187
00188 double fmf;
00189 double mb=EvtPDL::getMeanMass(parent);
00190
00191 if (daught==PI0||daught==PIP||daught==PIM||daught==ETA||
00192 daught==ETAPR||daught==D0||daught==D0B||daught==DP||
00193 daught==DM||daught==KP||daught==KM||daught==K0||daught==K0S||
00194 daught==K0L||daught==KB||daught==DSP||daught==DSM) {
00195
00196 EvtISGW2FF1S0(parent,daught,t,mass,fpf,&fmf);
00197 }
00198
00199 if (daught==PI2S0||daught==PI2SP||daught==PI2SM||daught==ETA2S||
00200 daught==D21S0P||daught==D21S0B||daught==D21S0N||daught==D21S00){
00201 EvtISGW2FF21S0(parent,daught,t,mass,fpf,&fmf);
00202 }
00203
00204 if (daught==A00||daught==A0P||daught==A0M||daught==F0||
00205 daught==F0PR||daught==D3P0P||daught==D3P00||daught==D3P0B||
00206 daught==D3P0N||daught==K0STM||daught==K0STB||daught==K0STP||
00207 daught==D3P0SP||daught==D3P0SN||
00208 daught==K0ST0) {
00209 EvtISGW2FF3P0(parent,daught,t,mass,fpf,&fmf);
00210 }
00211
00212 *f0f = (fmf/((mb*mb-mass*mass)/t))+(*fpf);
00213
00214 return ;
00215 }
00216
00217 void EvtISGW2FF::gettensorff(EvtId parent,EvtId daught,
00218 double t, double mass, double *hf,
00219 double *kf, double *bpf, double *bmf ){
00220
00221
00222 static EvtId EM=EvtPDL::getId("e-");
00223 static EvtId EP=EvtPDL::getId("e+");
00224 static EvtId MUM=EvtPDL::getId("mu-");
00225 static EvtId MUP=EvtPDL::getId("mu+");
00226 static EvtId TAUM=EvtPDL::getId("tau-");
00227 static EvtId TAUP=EvtPDL::getId("tau+");
00228
00229 static EvtId BP=EvtPDL::getId("B+");
00230 static EvtId BM=EvtPDL::getId("B-");
00231 static EvtId B0=EvtPDL::getId("B0");
00232 static EvtId B0B=EvtPDL::getId("anti-B0");
00233
00234 static EvtId DST0=EvtPDL::getId("D*0");
00235 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00236 static EvtId DSTP=EvtPDL::getId("D*+");
00237 static EvtId DSTM=EvtPDL::getId("D*-");
00238 static EvtId D0=EvtPDL::getId("D0");
00239 static EvtId D0B=EvtPDL::getId("anti-D0");
00240 static EvtId DP=EvtPDL::getId("D+");
00241 static EvtId DM=EvtPDL::getId("D-");
00242
00243 static EvtId D1P1P=EvtPDL::getId("D_1+");
00244 static EvtId D1P1N=EvtPDL::getId("D_1-");
00245 static EvtId D1P10=EvtPDL::getId("D_10");
00246 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00247
00248 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00249 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00250 static EvtId D3P20=EvtPDL::getId("D_2*0");
00251 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00252
00253 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00254 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00255 static EvtId D3P10=EvtPDL::getId("D'_10");
00256 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00257
00258 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00259 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00260 static EvtId D3P00=EvtPDL::getId("D_0*0");
00261 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00262
00263 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
00264 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00265 static EvtId D21S00=EvtPDL::getId("D(2S)0");
00266 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00267
00268 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00269 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00270 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00271 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
00272
00273 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00274 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00275 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00276 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00277 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00278
00279 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00280 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00281 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00282
00283 static EvtId PIP=EvtPDL::getId("pi+");
00284 static EvtId PIM=EvtPDL::getId("pi-");
00285 static EvtId PI0=EvtPDL::getId("pi0");
00286
00287 static EvtId RHOP=EvtPDL::getId("rho+");
00288 static EvtId RHOM=EvtPDL::getId("rho-");
00289 static EvtId RHO0=EvtPDL::getId("rho0");
00290
00291 static EvtId A2P=EvtPDL::getId("a_2+");
00292 static EvtId A2M=EvtPDL::getId("a_2-");
00293 static EvtId A20=EvtPDL::getId("a_20");
00294
00295 static EvtId A1P=EvtPDL::getId("a_1+");
00296 static EvtId A1M=EvtPDL::getId("a_1-");
00297 static EvtId A10=EvtPDL::getId("a_10");
00298
00299 static EvtId A0P=EvtPDL::getId("a_0+");
00300 static EvtId A0M=EvtPDL::getId("a_0-");
00301 static EvtId A00=EvtPDL::getId("a_00");
00302
00303 static EvtId B1P=EvtPDL::getId("b_1+");
00304 static EvtId B1M=EvtPDL::getId("b_1-");
00305 static EvtId B10=EvtPDL::getId("b_10");
00306
00307 static EvtId H1=EvtPDL::getId("h_1");
00308 static EvtId H1PR=EvtPDL::getId("h'_1");
00309
00310 static EvtId F1=EvtPDL::getId("f_1");
00311 static EvtId F1PR=EvtPDL::getId("f'_1");
00312 static EvtId F0=EvtPDL::getId("f_0");
00313 static EvtId F0PR=EvtPDL::getId("f'_0");
00314 static EvtId F2=EvtPDL::getId("f_2");
00315 static EvtId F2PR=EvtPDL::getId("f'_2");
00316
00317 static EvtId ETA=EvtPDL::getId("eta");
00318 static EvtId ETAPR=EvtPDL::getId("eta'");
00319 static EvtId OMEG=EvtPDL::getId("omega");
00320
00321 static EvtId KP=EvtPDL::getId("K+");
00322 static EvtId KM=EvtPDL::getId("K-");
00323 static EvtId K0=EvtPDL::getId("K0");
00324 static EvtId KB=EvtPDL::getId("anti-K0");
00325 static EvtId K0S=EvtPDL::getId("K_S0");
00326 static EvtId K0L=EvtPDL::getId("K_L0");
00327
00328 static EvtId KSTP=EvtPDL::getId("K*+");
00329 static EvtId KSTM=EvtPDL::getId("K*-");
00330 static EvtId KST0=EvtPDL::getId("K*0");
00331 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00332
00333 static EvtId K1P=EvtPDL::getId("K_1+");
00334 static EvtId K1M=EvtPDL::getId("K_1-");
00335 static EvtId K10=EvtPDL::getId("K_10");
00336 static EvtId K1B=EvtPDL::getId("anti-K_10");
00337
00338 static EvtId K1STP=EvtPDL::getId("K'_1+");
00339 static EvtId K1STM=EvtPDL::getId("K'_1-");
00340 static EvtId K1ST0=EvtPDL::getId("K'_10");
00341 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00342
00343 static EvtId K2STP=EvtPDL::getId("K_2*+");
00344 static EvtId K2STM=EvtPDL::getId("K_2*-");
00345 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00346 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00347
00348 static EvtId K0STP=EvtPDL::getId("K_0*+");
00349 static EvtId K0STM=EvtPDL::getId("K_0*-");
00350 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00351 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00352
00353 static EvtId PHI=EvtPDL::getId("phi");
00354 static EvtId DSP=EvtPDL::getId("D_s+");
00355 static EvtId DSM=EvtPDL::getId("D_s-");
00356
00357 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00358 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00359
00360 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00361 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00362
00363 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
00364 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
00365
00366 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00367 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00368
00369 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00370 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00371
00372 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00373 static EvtId BS0=EvtPDL::getId("B_s0");
00374
00375 EvtISGW2FF3P2(parent,daught,t,mass,hf,kf,bpf,bmf);
00376
00377 return;
00378
00379 }
00380
00381
00382 void EvtISGW2FF::getvectorff(EvtId parent,EvtId daught,
00383 double t, double mass, double *a1f,
00384 double *a2f, double *vf, double *a0f ){
00385 double ff,gf,apf,amf;
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("D(2S)+");
00430 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00431 static EvtId D21S00=EvtPDL::getId("D(2S)0");
00432 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00433
00434 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00435 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00436 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00437 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
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 if (daught==DST0||daught==DSTP||daught==DSTM||daught==DSTB||
00542 daught==OMEG||daught==RHO0||daught==RHOM||daught==RHOP||
00543 daught==KSTP||daught==KSTM||daught==KST0||daught==KSTB||
00544 daught==PHI||daught==DSSTP||daught==DSSTM) {
00545 EvtISGW2FF3S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00546 }
00547 if (daught==B10||daught==B1P||daught==B1M||daught==H1||
00548 daught==H1PR||daught==D1P1P||daught==D1P10||daught==D1P1B||
00549 daught==D1P1SP||daught==D1P1SN||
00550 daught==D1P1N||daught==K10||daught==K1B||daught==K1P||
00551 daught==K1M) {
00552 EvtISGW2FF1P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00553 }
00554 if (daught==RHO2S0||daught==RHO2SP||daught==RHO2SM||daught==OMEG2S||
00555 daught==D23S1P||daught==D23S1B||daught==D23S1N||daught==D23S10){
00556 EvtISGW2FF23S1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00557 }
00558 if (daught==A10||daught==A1P||daught==A1M||daught==F1||
00559 daught==F1PR||daught==D3P1P||daught==D3P10||daught==D3P1B||
00560 daught==D3P1N||daught==K1STM||daught==K1STB||daught==K1STP||
00561 daught==D3P1SP||daught==D3P1SN||
00562 daught==K1ST0) {
00563 EvtISGW2FF3P1(parent,daught,t,mass,&ff,&gf,&apf,&amf);
00564 }
00565
00566
00567
00568
00569 double mb=EvtPDL::getMeanMass(parent);
00570
00571
00572 *vf = (gf)*(mb+mass);
00573 *a1f = (ff)/(mb+mass);
00574 *a2f = -1.0*(apf)*(mb+mass);
00575
00576 double a3f = ((mb+mass)/(2.0*mass))*(*a1f) -
00577 ((mb-mass)/(2.0*mass))*(*a2f);
00578
00579 *a0f = a3f + ( (t*amf)/(2.0*mass));
00580
00581 return;
00582 }
00583
00584
00585
00586 void EvtISGW2FF::EvtISGW2FF1S0 (EvtId parent,EvtId daugt,
00587 double t, double mass, double *fpf, double *fmf ) {
00588
00589 double mtb, mbb(0.0);
00590 double msd(0.0), mx,mb,nf(0.0),nfp(0.0);
00591 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
00592 double zji,cji,w,gammaji,chiji,betaji_fppfm;
00593 double rfppfm,rfpmfm,f3fppfm,f3fpmfm,fppfm,fpmfm,al,ai,rcji,f3;
00594 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2,betaji_fpmfm;
00595
00596 EvtId prnt=parent;
00597 EvtId dgt=daugt;
00598
00599
00600 static EvtId EM=EvtPDL::getId("e-");
00601 static EvtId EP=EvtPDL::getId("e+");
00602 static EvtId MUM=EvtPDL::getId("mu-");
00603 static EvtId MUP=EvtPDL::getId("mu+");
00604 static EvtId TAUM=EvtPDL::getId("tau-");
00605 static EvtId TAUP=EvtPDL::getId("tau+");
00606
00607 static EvtIdSet theB("B+","B-","B0","anti-B0");
00608
00609 static EvtId DST0=EvtPDL::getId("D*0");
00610 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00611 static EvtId DSTP=EvtPDL::getId("D*+");
00612 static EvtId DSTM=EvtPDL::getId("D*-");
00613 static EvtId D0=EvtPDL::getId("D0");
00614 static EvtId D0B=EvtPDL::getId("anti-D0");
00615 static EvtId DP=EvtPDL::getId("D+");
00616 static EvtId DM=EvtPDL::getId("D-");
00617
00618 static EvtId D1P1P=EvtPDL::getId("D_1+");
00619 static EvtId D1P1N=EvtPDL::getId("D_1-");
00620 static EvtId D1P10=EvtPDL::getId("D_10");
00621 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00622
00623 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00624 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00625 static EvtId D3P20=EvtPDL::getId("D_2*0");
00626 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00627
00628 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00629 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00630 static EvtId D3P10=EvtPDL::getId("D'_10");
00631 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00632
00633 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00634 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00635 static EvtId D3P00=EvtPDL::getId("D_0*0");
00636 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00637
00638 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
00639 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00640 static EvtId D21S00=EvtPDL::getId("D(2S)0");
00641 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00642
00643 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00644 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00645 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00646 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
00647
00648 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00649 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00650 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00651 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00652 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00653
00654 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00655 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00656 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00657
00658 static EvtId PIP=EvtPDL::getId("pi+");
00659 static EvtId PIM=EvtPDL::getId("pi-");
00660 static EvtId PI0=EvtPDL::getId("pi0");
00661
00662 static EvtId RHOP=EvtPDL::getId("rho+");
00663 static EvtId RHOM=EvtPDL::getId("rho-");
00664 static EvtId RHO0=EvtPDL::getId("rho0");
00665
00666 static EvtId A2P=EvtPDL::getId("a_2+");
00667 static EvtId A2M=EvtPDL::getId("a_2-");
00668 static EvtId A20=EvtPDL::getId("a_20");
00669
00670 static EvtId A1P=EvtPDL::getId("a_1+");
00671 static EvtId A1M=EvtPDL::getId("a_1-");
00672 static EvtId A10=EvtPDL::getId("a_10");
00673
00674 static EvtId A0P=EvtPDL::getId("a_0+");
00675 static EvtId A0M=EvtPDL::getId("a_0-");
00676 static EvtId A00=EvtPDL::getId("a_00");
00677
00678 static EvtId B1P=EvtPDL::getId("b_1+");
00679 static EvtId B1M=EvtPDL::getId("b_1-");
00680 static EvtId B10=EvtPDL::getId("b_10");
00681
00682 static EvtId H1=EvtPDL::getId("h_1");
00683 static EvtId H1PR=EvtPDL::getId("h'_1");
00684
00685 static EvtId F1=EvtPDL::getId("f_1");
00686 static EvtId F1PR=EvtPDL::getId("f'_1");
00687 static EvtId F0=EvtPDL::getId("f_0");
00688 static EvtId F0PR=EvtPDL::getId("f'_0");
00689 static EvtId F2=EvtPDL::getId("f_2");
00690 static EvtId F2PR=EvtPDL::getId("f'_2");
00691
00692 static EvtId ETA=EvtPDL::getId("eta");
00693 static EvtId ETAPR=EvtPDL::getId("eta'");
00694 static EvtId OMEG=EvtPDL::getId("omega");
00695
00696 static EvtId KP=EvtPDL::getId("K+");
00697 static EvtId KM=EvtPDL::getId("K-");
00698 static EvtId K0=EvtPDL::getId("K0");
00699 static EvtId KB=EvtPDL::getId("anti-K0");
00700 static EvtId K0S=EvtPDL::getId("K_S0");
00701 static EvtId K0L=EvtPDL::getId("K_L0");
00702
00703 static EvtId KSTP=EvtPDL::getId("K*+");
00704 static EvtId KSTM=EvtPDL::getId("K*-");
00705 static EvtId KST0=EvtPDL::getId("K*0");
00706 static EvtId KSTB=EvtPDL::getId("anti-K*0");
00707
00708 static EvtId K1P=EvtPDL::getId("K_1+");
00709 static EvtId K1M=EvtPDL::getId("K_1-");
00710 static EvtId K10=EvtPDL::getId("K_10");
00711 static EvtId K1B=EvtPDL::getId("anti-K_10");
00712
00713 static EvtId K1STP=EvtPDL::getId("K'_1+");
00714 static EvtId K1STM=EvtPDL::getId("K'_1-");
00715 static EvtId K1ST0=EvtPDL::getId("K'_10");
00716 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00717
00718 static EvtId K2STP=EvtPDL::getId("K_2*+");
00719 static EvtId K2STM=EvtPDL::getId("K_2*-");
00720 static EvtId K2ST0=EvtPDL::getId("K_2*0");
00721 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00722
00723 static EvtId K0STP=EvtPDL::getId("K_0*+");
00724 static EvtId K0STM=EvtPDL::getId("K_0*-");
00725 static EvtId K0ST0=EvtPDL::getId("K_0*0");
00726 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00727
00728 static EvtId PHI=EvtPDL::getId("phi");
00729 static EvtId DSP=EvtPDL::getId("D_s+");
00730 static EvtId DSM=EvtPDL::getId("D_s-");
00731
00732 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
00733 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
00734
00735 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
00736 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
00737
00738 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
00739 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
00740
00741 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
00742 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
00743
00744 static EvtId DSSTP=EvtPDL::getId("D_s*+");
00745 static EvtId DSSTM=EvtPDL::getId("D_s*-");
00746
00747 static EvtId BSB=EvtPDL::getId("anti-B_s0");
00748 static EvtId BS0=EvtPDL::getId("B_s0");
00749
00750 if (theB.contains(prnt)) {
00751
00752 msb=5.2;
00753 msd=0.33;
00754 bb2=0.431*0.431;
00755 mbb=5.31;
00756 nf = 4.0;
00757
00758 if (dgt==PI0||dgt==PIP||dgt==PIM||dgt==ETA||dgt==ETAPR) {
00759
00760 msq=0.33;
00761 bx2=0.406*0.406;
00762 mbx=0.75*0.770+0.25*0.14;
00763 nfp = 0.0;
00764 }
00765 else{
00766 if (dgt==D0||dgt==D0B||dgt==DP||dgt==DM) {
00767 msq=1.82;
00768 bx2=0.45*0.45;
00769 mbx=0.75*2.01+0.25*1.87;
00770 nfp = 3.0;
00771 }
00772 else{
00773 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
00774 }
00775 }
00776 }
00777 else{
00778 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
00779 msb=1.82;
00780 msd=0.33;
00781 bb2=0.45*0.45;
00782 mbb=1.963;
00783 nf = 3.0;
00784
00785 if (dgt==PIP||dgt==PIM||dgt==PI0||dgt==ETA||dgt==ETAPR) {
00786 msq=0.33;
00787 bx2=0.406*0.406;
00788 mbx=0.75*0.770+0.25*0.14;
00789 nfp = 0.0;
00790 }
00791 else{
00792 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB||dgt==KP||dgt==KM) {
00793 msq=0.55;
00794 bx2=0.44*0.44;
00795 mbx=0.75*0.892+0.25*0.49767;
00796 nfp = 2.0;
00797 }
00798 else{
00799 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
00800 }
00801 }
00802 }
00803 else{
00804 if (prnt==DSP||prnt==DSM){
00805 msb=1.82;
00806 msd=0.55;
00807 bb2=0.56*0.56;
00808 mbb=1.968;
00809 nf = 3.0;
00810
00811 if (dgt==K0||dgt==K0S||dgt==K0L||dgt==KB) {
00812
00813 msq=0.33;
00814 bx2=0.44*0.44;
00815 mbx=0.75*0.770+0.25*0.14;
00816 nfp = 0.0;
00817 }
00818 else{
00819 if (dgt==PI0||dgt==ETA||dgt==ETAPR) {
00820 msq=0.33;
00821 bx2=0.53*0.53;
00822 mbx=0.75*0.892+0.25*0.49767;
00823 nfp = 0.0;
00824 }
00825 else{
00826
00827 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
00828 }
00829 }
00830 }
00831 else{
00832
00833 if (prnt==BS0||prnt==BSB){
00834
00835 msb=5.2;
00836 msd=0.55;
00837 bb2=0.54*0.54;
00838 mbb=5.38;
00839 nf = 4.0;
00840
00841 if (dgt==DSP||dgt==DSM) {
00842
00843 msq=1.82;
00844 bx2=0.56*0.56;
00845 mbx=0.75*2.11+0.25*1.97;
00846 nfp = 3.0;
00847 }
00848 else if (dgt==KP||dgt==KM) {
00849
00850 msq=0.55;
00851 bx2=0.44*0.44;
00852 mbx=0.75*0.892+0.25*0.49767;
00853 nfp = 2.0;
00854 }
00855 else{
00856 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
00857 }
00858 }
00859
00860 else{
00861 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1S0.\n";
00862 report(ERROR,"EvtGen") << "Parent:"<<parent.getId()<<endl;
00863 }
00864 }
00865 }
00866 }
00867
00868 mtb = msb + msd;
00869 mtx = msq + msd;
00870 mb=EvtPDL::getMeanMass(parent);
00871 mx=mass;
00872
00873 mup=1.0/(1.0/msq+1.0/msb);
00874 mum=1.0/(1.0/msq-1.0/msb);
00875 bbx2=0.5*(bb2+bx2);
00876 tm=(mb-mx)*(mb-mx);
00877 if ( t>tm ) t=0.99*tm;
00878 wt=1.0+(tm-t)/(2.0*mbb*mbx);
00879
00880 mqm = 0.1;
00881 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
00882 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
00883 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
00884
00885 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5) /
00886 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
00887
00888
00889
00890
00891 w = 1.0 + (( tm - t ) / ( 2.0* mb * mx ));
00892 rcji = ( 1/sqrt(w*w -1 ))*log( w + sqrt( w*w -1 ));
00893 al = (8.0 / ( 33.0 - 2.0*nfp ))*(w*rcji -1.0 );
00894 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
00895 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
00896
00897 zji = msq / msb;
00898
00899 gammaji = EvtGetGammaji( zji );
00900 chiji = -1.0 - ( gammaji / ( 1- zji ));
00901 betaji_fppfm = gammaji - (2.0/3.0)*chiji;
00902 betaji_fpmfm = gammaji + (2.0/3.0)*chiji;
00903 rfppfm = cji *(1.0 + betaji_fppfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
00904 rfpmfm = cji *(1.0 + betaji_fpmfm*EvtGetas( msq,sqrt(msb*msq) )/EvtConst::pi);
00905 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
00906 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
00907 fppfm = f3fppfm* rfppfm * ( 2.0 - ( ( mtx/msq)*(1- ( (msd*msq*bb2)
00908 /(2.0*mup*mtx*bbx2)))));
00909 fpmfm = f3fpmfm* rfpmfm * ( mtb/msq) * ( 1 - ( ( msd*msq*bb2)/
00910 ( 2.0*mup*mtx*bbx2)));
00911
00912 *fpf = (fppfm + fpmfm)/2.0;
00913 *fmf = (fppfm - fpmfm)/2.0;
00914
00915 return;
00916 }
00917
00918
00919
00920
00921
00922 void EvtISGW2FF::EvtISGW2FF3S1(EvtId parent,EvtId daugt,double t,double mass,
00923 double *f,double *g,double *ap,double *am){
00924
00925
00926 static EvtId EM=EvtPDL::getId("e-");
00927 static EvtId EP=EvtPDL::getId("e+");
00928 static EvtId MUM=EvtPDL::getId("mu-");
00929 static EvtId MUP=EvtPDL::getId("mu+");
00930 static EvtId TAUM=EvtPDL::getId("tau-");
00931 static EvtId TAUP=EvtPDL::getId("tau+");
00932
00933 static EvtId BP=EvtPDL::getId("B+");
00934 static EvtId BM=EvtPDL::getId("B-");
00935 static EvtId B0=EvtPDL::getId("B0");
00936 static EvtId B0B=EvtPDL::getId("anti-B0");
00937
00938 static EvtId DST0=EvtPDL::getId("D*0");
00939 static EvtId DSTB=EvtPDL::getId("anti-D*0");
00940 static EvtId DSTP=EvtPDL::getId("D*+");
00941 static EvtId DSTM=EvtPDL::getId("D*-");
00942 static EvtId D0=EvtPDL::getId("D0");
00943 static EvtId D0B=EvtPDL::getId("anti-D0");
00944 static EvtId DP=EvtPDL::getId("D+");
00945 static EvtId DM=EvtPDL::getId("D-");
00946
00947 static EvtId D1P1P=EvtPDL::getId("D_1+");
00948 static EvtId D1P1N=EvtPDL::getId("D_1-");
00949 static EvtId D1P10=EvtPDL::getId("D_10");
00950 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00951
00952 static EvtId D3P2P=EvtPDL::getId("D_2*+");
00953 static EvtId D3P2N=EvtPDL::getId("D_2*-");
00954 static EvtId D3P20=EvtPDL::getId("D_2*0");
00955 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00956
00957 static EvtId D3P1P=EvtPDL::getId("D'_1+");
00958 static EvtId D3P1N=EvtPDL::getId("D'_1-");
00959 static EvtId D3P10=EvtPDL::getId("D'_10");
00960 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00961
00962 static EvtId D3P0P=EvtPDL::getId("D_0*+");
00963 static EvtId D3P0N=EvtPDL::getId("D_0*-");
00964 static EvtId D3P00=EvtPDL::getId("D_0*0");
00965 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00966
00967 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
00968 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00969 static EvtId D21S00=EvtPDL::getId("D(2S)0");
00970 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00971
00972 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00973 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00974 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00975 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
00976
00977 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00978 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00979 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00980 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00981 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00982
00983 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00984 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00985 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00986
00987 static EvtId PIP=EvtPDL::getId("pi+");
00988 static EvtId PIM=EvtPDL::getId("pi-");
00989 static EvtId PI0=EvtPDL::getId("pi0");
00990
00991 static EvtId RHOP=EvtPDL::getId("rho+");
00992 static EvtId RHOM=EvtPDL::getId("rho-");
00993 static EvtId RHO0=EvtPDL::getId("rho0");
00994
00995 static EvtId A2P=EvtPDL::getId("a_2+");
00996 static EvtId A2M=EvtPDL::getId("a_2-");
00997 static EvtId A20=EvtPDL::getId("a_20");
00998
00999 static EvtId A1P=EvtPDL::getId("a_1+");
01000 static EvtId A1M=EvtPDL::getId("a_1-");
01001 static EvtId A10=EvtPDL::getId("a_10");
01002
01003 static EvtId A0P=EvtPDL::getId("a_0+");
01004 static EvtId A0M=EvtPDL::getId("a_0-");
01005 static EvtId A00=EvtPDL::getId("a_00");
01006
01007 static EvtId B1P=EvtPDL::getId("b_1+");
01008 static EvtId B1M=EvtPDL::getId("b_1-");
01009 static EvtId B10=EvtPDL::getId("b_10");
01010
01011 static EvtId H1=EvtPDL::getId("h_1");
01012 static EvtId H1PR=EvtPDL::getId("h'_1");
01013
01014 static EvtId F1=EvtPDL::getId("f_1");
01015 static EvtId F1PR=EvtPDL::getId("f'_1");
01016 static EvtId F0=EvtPDL::getId("f_0");
01017 static EvtId F0PR=EvtPDL::getId("f'_0");
01018 static EvtId F2=EvtPDL::getId("f_2");
01019 static EvtId F2PR=EvtPDL::getId("f'_2");
01020
01021 static EvtId ETA=EvtPDL::getId("eta");
01022 static EvtId ETAPR=EvtPDL::getId("eta'");
01023 static EvtId OMEG=EvtPDL::getId("omega");
01024
01025 static EvtId KP=EvtPDL::getId("K+");
01026 static EvtId KM=EvtPDL::getId("K-");
01027 static EvtId K0=EvtPDL::getId("K0");
01028 static EvtId KB=EvtPDL::getId("anti-K0");
01029 static EvtId K0S=EvtPDL::getId("K_S0");
01030 static EvtId K0L=EvtPDL::getId("K_L0");
01031
01032 static EvtId KSTP=EvtPDL::getId("K*+");
01033 static EvtId KSTM=EvtPDL::getId("K*-");
01034 static EvtId KST0=EvtPDL::getId("K*0");
01035 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01036
01037 static EvtId K1P=EvtPDL::getId("K_1+");
01038 static EvtId K1M=EvtPDL::getId("K_1-");
01039 static EvtId K10=EvtPDL::getId("K_10");
01040 static EvtId K1B=EvtPDL::getId("anti-K_10");
01041
01042 static EvtId K1STP=EvtPDL::getId("K'_1+");
01043 static EvtId K1STM=EvtPDL::getId("K'_1-");
01044 static EvtId K1ST0=EvtPDL::getId("K'_10");
01045 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01046
01047 static EvtId K2STP=EvtPDL::getId("K_2*+");
01048 static EvtId K2STM=EvtPDL::getId("K_2*-");
01049 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01050 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01051
01052 static EvtId K0STP=EvtPDL::getId("K_0*+");
01053 static EvtId K0STM=EvtPDL::getId("K_0*-");
01054 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01055 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01056
01057 static EvtId PHI=EvtPDL::getId("phi");
01058 static EvtId DSP=EvtPDL::getId("D_s+");
01059 static EvtId DSM=EvtPDL::getId("D_s-");
01060
01061 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01062 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01063
01064 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01065 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01066
01067 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
01068 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
01069
01070 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01071 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01072
01073 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01074 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01075
01076 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01077 static EvtId BS0=EvtPDL::getId("B_s0");
01078
01079 double cf(0.0),mtb,wt,msd(0.0),mup,f3f,msq(0.0),bb2(0.0),mum,mtx,bbx2,f3g;
01080 double cji,bx2(0.0),f3appam,msb(0.0),tm,mbb(0.0),mbx(0.0);
01081 double f3apmam,appam,apmam,mb,mx,f3;
01082 double r_f,r_g,r_appam,r_apmam, betaji_f,betaji_g;
01083 double betaji_appam, betaji_apmam;
01084 double w,mqm,r2,chiji,zji,ai,al,rcji,nf(0.0),nfp(0.0),gammaji;
01085
01086 EvtId prnt=parent;
01087 EvtId dgt=daugt;
01088
01089 if (parent==B0||parent==B0B||parent==BP||parent==BM) {
01090
01091 msb=5.2;
01092 msd=0.33;
01093 bb2=0.431*0.431;
01094 mbb=5.31;
01095 nf = 4.0;
01096
01097 if (dgt==DST0||dgt==DSTP||dgt==DSTM||dgt==DSTB) {
01098
01099 cf=0.989;
01100 msq=1.82;
01101 bx2=0.38*0.38;
01102 mbx=0.75*2.01+0.25*1.87;
01103 nfp = 3.0;
01104 }
01105 else{
01106 if (dgt==OMEG||dgt==RHO0||dgt==RHOM||dgt==RHOP) {
01107
01108 cf=0.905;
01109 msq=0.33;
01110 bx2=0.299*0.299;
01111 mbx=0.75*0.770+0.25*0.14;
01112 nfp = 0.0;
01113 }
01114 else{
01115 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
01116 }
01117 }
01118 }
01119 else{
01120 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
01121
01122 msb=1.82;
01123 msd=0.33;
01124 bb2=0.45*0.45;
01125 mbb=1.963;
01126 nf = 3.0;
01127
01128 if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
01129
01130 cf=0.928;
01131 msq=0.55;
01132 bx2=0.33*0.33;
01133 mbx=0.75*0.892+0.25*0.494;
01134 nfp = 2.0;
01135 }
01136 else{
01137 if (dgt==RHO0||dgt==OMEG||dgt==RHOM||dgt==RHOP) {
01138 cf=0.889;
01139 msq=0.33;
01140 bx2=0.299*0.299;
01141 mbx=0.75*0.770+0.25*0.14;
01142 nfp = 0.0;
01143 }
01144 else{
01145 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
01146 }
01147 }
01148 }
01149 else{
01150 if (prnt==DSP||prnt==DSM){
01151
01152 msb=1.82;
01153 msd=0.55;
01154 bb2=0.56*0.56;
01155 mbb=1.968;
01156 nf = 3.0;
01157
01158 if (dgt==KSTB||dgt==KST0) {
01159
01160 cf=0.8731;
01161 msq=0.55;
01162 bx2=0.33*0.33;
01163 mbx=0.87;
01164 nfp = 2.0;
01165 }
01166 else{
01167 if(dgt==PHI){
01168 cf=0.911;
01169 msq=0.55;
01170 bx2=0.37*0.37;
01171 mbx=0.97;
01172 nfp = 2.0;
01173 }
01174 else{
01175 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3S1.\n";
01176 }
01177 }
01178 }
01179 else{
01180
01181 if (prnt==BS0||prnt==BSB){
01182
01183 msb=5.2;
01184 msd=0.55;
01185 bb2=0.54*0.54;
01186 mbb=5.38;
01187 nf = 4.0;
01188
01189 if (dgt==DSSTP||dgt==DSSTM) {
01190
01191 cf=0.984;
01192 msq=1.82;
01193 bx2=0.49*0.49;
01194 mbx=0.75*2.11+0.25*1.97;
01195 nfp = 3.0;
01196 }
01197 else if (dgt==KSTP||dgt==KSTM||dgt==KST0||dgt==KSTB) {
01198
01199 cf=0.928;
01200 msq=0.55;
01201 bx2=0.33*0.33;
01202 mbx=0.75*0.892+0.25*0.494;
01203 nfp = 2.0;
01204 }
01205 else{
01206 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
01207 }
01208 }
01209
01210 else{
01211 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw2_ff_3S1.\n";
01212 }
01213 }
01214 }
01215 }
01216
01217
01218 mtb=msb+msd;
01219 mtx=msq+msd;
01220
01221 mup=1.0/(1.0/msq+1.0/msb);
01222 mum=1.0/(1.0/msq-1.0/msb);
01223 bbx2=0.5*(bb2+bx2);
01224 mb=EvtPDL::getMeanMass(parent);
01225 mx=mass;
01226 tm=(mb-mx)*(mb-mx);
01227 if ( t > tm ) t = 0.99*tm;
01228
01229 wt=1.0+(tm-t)/(2.0*mbb*mbx);
01230 mqm = 0.1;
01231
01232 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
01233 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
01234 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
01235
01236 w = 1.0 + (( tm - t ) / ( 2.0* mb * mx ));
01237
01238 rcji = ( 1/sqrt(w*w -1 ))*log( w + sqrt( w*w -1 ));
01239
01240 al = (8.0 / ( 33.0 - 2.0*nfp ))*(w*rcji -1.0 );
01241
01242 ai = -1.0* ( 6.0/( 33.0 - 2.0*nf));
01243
01244 cji = pow(( EvtGetas( msb,msb ) / EvtGetas( msq,msq ) ),ai);
01245 zji = msq / msb;
01246
01247 gammaji = EvtGetGammaji( zji );
01248
01249 chiji = -1.0 - ( gammaji / ( 1- zji ));
01250
01251 betaji_g = (2.0/3.0)+gammaji;
01252 betaji_f = (-2.0/3.0)+gammaji;
01253 betaji_appam = -1.0-chiji+(4.0/(3.0*(1.0-zji)))+
01254 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)));
01255
01256 betaji_apmam = (1.0/3.0)-chiji-(4.0/(3.0*(1.0-zji)))-
01257 (2.0*(1+zji)*gammaji/(3.0*(1.0-zji)*(1.0-zji)))+
01258 gammaji;
01259
01260 r_g = cji*(1+(betaji_g*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
01261 r_f = cji*(1+(betaji_f*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
01262 r_appam = cji*(1+(betaji_appam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
01263 r_apmam = cji*(1+(betaji_apmam*EvtGetas( msq,sqrt(mb*msq) )/(EvtConst::pi)));
01264
01265
01266 f3=sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,1.5)/
01267 ((1.0+r2*(tm-t)/12.0)*(1.0+r2*(tm-t)/12.0));
01268
01269 f3f=sqrt(mbx*mbb/(mtx*mtb))*f3;
01270 f3g=sqrt(mtx*mtb/(mbx*mbb))*f3;
01271 f3appam=sqrt(mtb*mtb*mtb*mbx/(mbb*mbb*mbb*mtx))*f3;
01272 f3apmam=sqrt(mtx*mtb/(mbx*mbb))*f3;
01273 *f=cf*mtb*(1+wt+msd*(wt-1)/(2*mup))*f3f*r_f;
01274 *g=0.5*(1/msq-msd*bb2/(2*mum*mtx*bbx2))*f3g*r_g;
01275
01276 appam=cji*(msd*bx2*(1-msd*bx2/(2*mtb*bbx2))/
01277 ((1+wt)*msq*msb*bbx2)-
01278 betaji_appam*EvtGetas( msq,sqrt(msq*mb) )/
01279 (mtb*EvtConst::pi))*f3appam;
01280
01281 apmam=-1.0*(mtb/msb-msd*bx2/(2*mup*bbx2)+wt*msd*mtb*bx2*
01282 (1-msd*bx2/(2*mtb*bbx2))/((wt+1)*msq*msb*bbx2))*
01283 f3apmam*r_apmam/mtx;
01284
01285 *ap=0.5*(appam+apmam);
01286 *am=0.5*(appam-apmam);
01287 return;
01288 }
01289
01290
01291 void EvtISGW2FF::EvtISGW2FF21S0 (EvtId parent,EvtId daugt,
01292 double t, double mass, double *fppf, double *fpmf ) {
01293
01294
01295 static EvtId EM=EvtPDL::getId("e-");
01296 static EvtId EP=EvtPDL::getId("e+");
01297 static EvtId MUM=EvtPDL::getId("mu-");
01298 static EvtId MUP=EvtPDL::getId("mu+");
01299 static EvtId TAUM=EvtPDL::getId("tau-");
01300 static EvtId TAUP=EvtPDL::getId("tau+");
01301
01302 static EvtId BP=EvtPDL::getId("B+");
01303 static EvtId BM=EvtPDL::getId("B-");
01304 static EvtId B0=EvtPDL::getId("B0");
01305 static EvtId B0B=EvtPDL::getId("anti-B0");
01306
01307 static EvtId DST0=EvtPDL::getId("D*0");
01308 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01309 static EvtId DSTP=EvtPDL::getId("D*+");
01310 static EvtId DSTM=EvtPDL::getId("D*-");
01311 static EvtId D0=EvtPDL::getId("D0");
01312 static EvtId D0B=EvtPDL::getId("anti-D0");
01313 static EvtId DP=EvtPDL::getId("D+");
01314 static EvtId DM=EvtPDL::getId("D-");
01315
01316 static EvtId D1P1P=EvtPDL::getId("D_1+");
01317 static EvtId D1P1N=EvtPDL::getId("D_1-");
01318 static EvtId D1P10=EvtPDL::getId("D_10");
01319 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01320
01321 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01322 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01323 static EvtId D3P20=EvtPDL::getId("D_2*0");
01324 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01325
01326 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01327 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01328 static EvtId D3P10=EvtPDL::getId("D'_10");
01329 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01330
01331 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01332 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01333 static EvtId D3P00=EvtPDL::getId("D_0*0");
01334 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01335
01336 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
01337 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
01338 static EvtId D21S00=EvtPDL::getId("D(2S)0");
01339 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
01340
01341 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
01342 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
01343 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
01344 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
01345
01346 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01347 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01348 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01349 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01350 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01351
01352 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01353 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01354 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01355
01356 static EvtId PIP=EvtPDL::getId("pi+");
01357 static EvtId PIM=EvtPDL::getId("pi-");
01358 static EvtId PI0=EvtPDL::getId("pi0");
01359
01360 static EvtId RHOP=EvtPDL::getId("rho+");
01361 static EvtId RHOM=EvtPDL::getId("rho-");
01362 static EvtId RHO0=EvtPDL::getId("rho0");
01363
01364 static EvtId A2P=EvtPDL::getId("a_2+");
01365 static EvtId A2M=EvtPDL::getId("a_2-");
01366 static EvtId A20=EvtPDL::getId("a_20");
01367
01368 static EvtId A1P=EvtPDL::getId("a_1+");
01369 static EvtId A1M=EvtPDL::getId("a_1-");
01370 static EvtId A10=EvtPDL::getId("a_10");
01371
01372 static EvtId A0P=EvtPDL::getId("a_0+");
01373 static EvtId A0M=EvtPDL::getId("a_0-");
01374 static EvtId A00=EvtPDL::getId("a_00");
01375
01376 static EvtId B1P=EvtPDL::getId("b_1+");
01377 static EvtId B1M=EvtPDL::getId("b_1-");
01378 static EvtId B10=EvtPDL::getId("b_10");
01379
01380 static EvtId H1=EvtPDL::getId("h_1");
01381 static EvtId H1PR=EvtPDL::getId("h'_1");
01382
01383 static EvtId F1=EvtPDL::getId("f_1");
01384 static EvtId F1PR=EvtPDL::getId("f'_1");
01385 static EvtId F0=EvtPDL::getId("f_0");
01386 static EvtId F0PR=EvtPDL::getId("f'_0");
01387 static EvtId F2=EvtPDL::getId("f_2");
01388 static EvtId F2PR=EvtPDL::getId("f'_2");
01389
01390 static EvtId ETA=EvtPDL::getId("eta");
01391 static EvtId ETAPR=EvtPDL::getId("eta'");
01392 static EvtId OMEG=EvtPDL::getId("omega");
01393
01394 static EvtId KP=EvtPDL::getId("K+");
01395 static EvtId KM=EvtPDL::getId("K-");
01396 static EvtId K0=EvtPDL::getId("K0");
01397 static EvtId KB=EvtPDL::getId("anti-K0");
01398 static EvtId K0S=EvtPDL::getId("K_S0");
01399 static EvtId K0L=EvtPDL::getId("K_L0");
01400
01401 static EvtId KSTP=EvtPDL::getId("K*+");
01402 static EvtId KSTM=EvtPDL::getId("K*-");
01403 static EvtId KST0=EvtPDL::getId("K*0");
01404 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01405
01406 static EvtId K1P=EvtPDL::getId("K_1+");
01407 static EvtId K1M=EvtPDL::getId("K_1-");
01408 static EvtId K10=EvtPDL::getId("K_10");
01409 static EvtId K1B=EvtPDL::getId("anti-K_10");
01410
01411 static EvtId K1STP=EvtPDL::getId("K'_1+");
01412 static EvtId K1STM=EvtPDL::getId("K'_1-");
01413 static EvtId K1ST0=EvtPDL::getId("K'_10");
01414 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01415
01416 static EvtId K2STP=EvtPDL::getId("K_2*+");
01417 static EvtId K2STM=EvtPDL::getId("K_2*-");
01418 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01419 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01420
01421 static EvtId K0STP=EvtPDL::getId("K_0*+");
01422 static EvtId K0STM=EvtPDL::getId("K_0*-");
01423 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01424 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01425
01426 static EvtId PHI=EvtPDL::getId("phi");
01427 static EvtId DSP=EvtPDL::getId("D_s+");
01428 static EvtId DSM=EvtPDL::getId("D_s-");
01429
01430 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01431 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01432
01433 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01434 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01435
01436 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
01437 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
01438
01439 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01440 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01441
01442 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01443 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01444
01445 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01446 static EvtId BS0=EvtPDL::getId("B_s0");
01447
01448 double mtb, mbb(0.0);
01449 double msd(0.0), mx,mb,nf,nfp(0.0);
01450 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
01451 double f3fppfm,f3fpmfm,fppfm,fpmfm,f3;
01452 double mqm,msb(0.0);
01453 double mum,mup,r2,wt,tm,bb2(0.0),bbx2;
01454 double tau,udef,vdef;
01455
01456 EvtId prnt=parent;
01457 EvtId dgt=daugt;
01458
01459 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
01460
01461 msb=5.2;
01462 msd=0.33;
01463 bb2=0.431*0.431;
01464 mbb=0.75*5.325+0.25*5.279;
01465 nf = 4.0;
01466
01467 if (dgt==PI2S0||dgt==PI2SP||dgt==PI2SM||dgt==ETA2S) {
01468
01469 msq=0.33;
01470 bx2=0.406*0.406;
01471 mbx=0.75*1.45+0.25*1.300;
01472 nfp = 0.0;
01473 }
01474 else{
01475 if (dgt==D21S0P||dgt==D21S0B||dgt==D21S0N||dgt==D21S00) {
01476 msq=1.82;
01477 bx2=0.45*0.45;
01478 mbx=0.75*2.64+0.25*2.58;
01479 nfp=3.0;
01480 }
01481 else{
01482
01483 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
01484 }
01485 }
01486 }
01487 else{
01488 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
01489 msb=1.82;
01490 msd=0.33;
01491 bb2=0.45*0.45;
01492 mbb=1.963;
01493 nf = 3.0;
01494 if (dgt==PI2SP||dgt==PI2SM||dgt==PI2S0||dgt==ETA2S) {
01495 msq=0.33;
01496 bx2=0.406*0.406;
01497 mbx=0.75*1.45+0.25*1.300;
01498 nfp = 0.0;
01499 }
01500 else{
01501 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_21S0.\n";
01502 }
01503 }
01504 else{
01505 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_21S0.\n";
01506 }
01507 }
01508
01509 mtb = msb + msd;
01510 mtx = msq + msd;
01511
01512 mb = EvtPDL::getMeanMass( parent );
01513 mx = mass;
01514
01515 mup=1.0/(1.0/msq+1.0/msb);
01516 mum=1.0/(1.0/msq-1.0/msb);
01517 bbx2=0.5*(bb2+bx2);
01518 tm=(mb-mx)*(mb-mx);
01519 if (t>tm) t = 0.99*tm;
01520 wt=1.0+(tm-t)/(2.0*mbb*mbx);
01521
01522 mqm = 0.1;
01523 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
01524 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
01525 log(EvtGetas(mqm)/EvtGetas(msq));
01526
01527 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
01528 (pow((1.0+r2*(tm-t)/24.0),4.0));
01529
01530 f3fppfm = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
01531 f3fpmfm = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
01532
01533 tau = msd*msd*bx2*(wt-1)/(bb2*bbx2);
01534 udef = (( bb2-bx2)/(2.0*bbx2)) + ((bb2*tau)/(3.0*bbx2));
01535 vdef = (bb2*(1.0+(msq/msb))/(6.0*bbx2))*(7.0 - ((bb2/bbx2)*(5+tau)));
01536
01537 fppfm = f3fppfm*sqrt(1.5)*((1.0-(msd/msq))*udef-(msd*vdef/msq));
01538 fpmfm = f3fpmfm*sqrt(1.5)*(mtb/msq)*(udef+(msd*vdef/mtx));
01539
01540 *fppf = (fppfm + fpmfm) /2.0;
01541 *fpmf = (fppfm - fpmfm) /2.0;
01542 return;
01543
01544 }
01545
01546
01547 void EvtISGW2FF::EvtISGW2FF23S1 (EvtId parent,EvtId daugt,
01548 double t, double mass, double *fpf, double *gpf,
01549 double *appf, double *apmf ) {
01550
01551
01552 static EvtId EM=EvtPDL::getId("e-");
01553 static EvtId EP=EvtPDL::getId("e+");
01554 static EvtId MUM=EvtPDL::getId("mu-");
01555 static EvtId MUP=EvtPDL::getId("mu+");
01556 static EvtId TAUM=EvtPDL::getId("tau-");
01557 static EvtId TAUP=EvtPDL::getId("tau+");
01558
01559 static EvtId BP=EvtPDL::getId("B+");
01560 static EvtId BM=EvtPDL::getId("B-");
01561 static EvtId B0=EvtPDL::getId("B0");
01562 static EvtId B0B=EvtPDL::getId("anti-B0");
01563
01564 static EvtId DST0=EvtPDL::getId("D*0");
01565 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01566 static EvtId DSTP=EvtPDL::getId("D*+");
01567 static EvtId DSTM=EvtPDL::getId("D*-");
01568 static EvtId D0=EvtPDL::getId("D0");
01569 static EvtId D0B=EvtPDL::getId("anti-D0");
01570 static EvtId DP=EvtPDL::getId("D+");
01571 static EvtId DM=EvtPDL::getId("D-");
01572
01573 static EvtId D1P1P=EvtPDL::getId("D_1+");
01574 static EvtId D1P1N=EvtPDL::getId("D_1-");
01575 static EvtId D1P10=EvtPDL::getId("D_10");
01576 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01577
01578 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01579 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01580 static EvtId D3P20=EvtPDL::getId("D_2*0");
01581 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01582
01583 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01584 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01585 static EvtId D3P10=EvtPDL::getId("D'_10");
01586 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01587
01588 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01589 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01590 static EvtId D3P00=EvtPDL::getId("D_0*0");
01591 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01592
01593 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
01594 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
01595 static EvtId D21S00=EvtPDL::getId("D(2S)0");
01596 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
01597
01598 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
01599 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
01600 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
01601 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
01602
01603 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01604 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01605 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01606 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01607 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01608
01609 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01610 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01611 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01612
01613 static EvtId PIP=EvtPDL::getId("pi+");
01614 static EvtId PIM=EvtPDL::getId("pi-");
01615 static EvtId PI0=EvtPDL::getId("pi0");
01616
01617 static EvtId RHOP=EvtPDL::getId("rho+");
01618 static EvtId RHOM=EvtPDL::getId("rho-");
01619 static EvtId RHO0=EvtPDL::getId("rho0");
01620
01621 static EvtId A2P=EvtPDL::getId("a_2+");
01622 static EvtId A2M=EvtPDL::getId("a_2-");
01623 static EvtId A20=EvtPDL::getId("a_20");
01624
01625 static EvtId A1P=EvtPDL::getId("a_1+");
01626 static EvtId A1M=EvtPDL::getId("a_1-");
01627 static EvtId A10=EvtPDL::getId("a_10");
01628
01629 static EvtId A0P=EvtPDL::getId("a_0+");
01630 static EvtId A0M=EvtPDL::getId("a_0-");
01631 static EvtId A00=EvtPDL::getId("a_00");
01632
01633 static EvtId B1P=EvtPDL::getId("b_1+");
01634 static EvtId B1M=EvtPDL::getId("b_1-");
01635 static EvtId B10=EvtPDL::getId("b_10");
01636
01637 static EvtId H1=EvtPDL::getId("h_1");
01638 static EvtId H1PR=EvtPDL::getId("h'_1");
01639
01640 static EvtId F1=EvtPDL::getId("f_1");
01641 static EvtId F1PR=EvtPDL::getId("f'_1");
01642 static EvtId F0=EvtPDL::getId("f_0");
01643 static EvtId F0PR=EvtPDL::getId("f'_0");
01644 static EvtId F2=EvtPDL::getId("f_2");
01645 static EvtId F2PR=EvtPDL::getId("f'_2");
01646
01647 static EvtId ETA=EvtPDL::getId("eta");
01648 static EvtId ETAPR=EvtPDL::getId("eta'");
01649 static EvtId OMEG=EvtPDL::getId("omega");
01650
01651 static EvtId KP=EvtPDL::getId("K+");
01652 static EvtId KM=EvtPDL::getId("K-");
01653 static EvtId K0=EvtPDL::getId("K0");
01654 static EvtId KB=EvtPDL::getId("anti-K0");
01655 static EvtId K0S=EvtPDL::getId("K_S0");
01656 static EvtId K0L=EvtPDL::getId("K_L0");
01657
01658 static EvtId KSTP=EvtPDL::getId("K*+");
01659 static EvtId KSTM=EvtPDL::getId("K*-");
01660 static EvtId KST0=EvtPDL::getId("K*0");
01661 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01662
01663 static EvtId K1P=EvtPDL::getId("K_1+");
01664 static EvtId K1M=EvtPDL::getId("K_1-");
01665 static EvtId K10=EvtPDL::getId("K_10");
01666 static EvtId K1B=EvtPDL::getId("anti-K_10");
01667
01668 static EvtId K1STP=EvtPDL::getId("K'_1+");
01669 static EvtId K1STM=EvtPDL::getId("K'_1-");
01670 static EvtId K1ST0=EvtPDL::getId("K'_10");
01671 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01672
01673 static EvtId K2STP=EvtPDL::getId("K_2*+");
01674 static EvtId K2STM=EvtPDL::getId("K_2*-");
01675 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01676 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01677
01678 static EvtId K0STP=EvtPDL::getId("K_0*+");
01679 static EvtId K0STM=EvtPDL::getId("K_0*-");
01680 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01681 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01682
01683 static EvtId PHI=EvtPDL::getId("phi");
01684 static EvtId DSP=EvtPDL::getId("D_s+");
01685 static EvtId DSM=EvtPDL::getId("D_s-");
01686
01687 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01688 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01689
01690 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01691 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01692
01693 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
01694 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
01695
01696 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01697 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01698
01699 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01700 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01701
01702 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01703 static EvtId BS0=EvtPDL::getId("B_s0");
01704
01705 double mtb, mbb(0.0);
01706 double msd(0.0), mx,mb,nf,nfp(0.0);
01707 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
01708 double f3appam,f3apmam,f3,appam,apmam,f3fp,f3gp;
01709 double udef,tau,mum,mup,bb2(0.0),bbx2,tm,wt,mqm,r2,msb(0.0);
01710 double cfp(0.0);
01711
01712 EvtId prnt=parent;
01713 EvtId dgt=daugt;
01714
01715 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
01716
01717 msb=5.2;
01718 msd=0.33;
01719 bb2=0.431*0.431;
01720 mbb=0.75*5.325+0.25*5.279;
01721 nf = 4.0;
01722
01723 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
01724
01725 cfp=0.776;
01726 msq=0.33;
01727 bx2=0.299*0.299;
01728 mbx=0.75*1.45+0.25*1.300;
01729 nfp = 0.0;
01730
01731 }
01732 else{
01733 if (dgt==D23S1N||dgt==D23S1P||dgt==D23S1B||dgt==D23S10) {
01734 cfp=0.929;
01735 msq=1.82;
01736 bx2=0.38*0.38;
01737 mbx=0.75*2.64+0.25*2.58;
01738 nfp=3.0;
01739 }
01740 else{
01741 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
01742 }
01743 }
01744 }
01745 else{
01746 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
01747 msb=1.82;
01748 msd=0.33;
01749 bb2=0.45*0.45;
01750 mbb=1.963;
01751 nf = 3.0;
01752
01753 if (dgt==RHO2S0||dgt==RHO2SP||dgt==RHO2SM||dgt==OMEG2S) {
01754 cfp=0.74;
01755 msq=0.33;
01756 bx2=0.299*0.299;
01757 mbx=0.75*1.45+0.25*1.300;
01758 nfp = 0.0;
01759 }
01760 else{
01761 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_23P1.\n";
01762 }
01763 }
01764 else{
01765 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_23P1.\n";
01766 }
01767 }
01768
01769 mtb = msb + msd;
01770 mtx = msq + msd;
01771 mb = EvtPDL::getMeanMass( parent );
01772 mx = mass;
01773
01774 mup=1.0/(1.0/msq+1.0/msb);
01775 mum=1.0/(1.0/msq-1.0/msb);
01776 bbx2=0.5*(bb2+bx2);
01777 tm=(mb-mx)*(mb-mx);
01778
01779 if (t>tm) t = 0.99*tm;
01780 wt=1.0+(tm-t)/(2.0*mbb*mbx);
01781
01782 mqm = 0.1;
01783 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
01784 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
01785 log(EvtGetas(mqm)/EvtGetas(msq));
01786
01787 f3 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,3.0/2.0) /
01788 (pow((1.0+r2*(tm-t)/24.0),4.0));
01789
01790 f3fp = f3*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
01791 f3gp = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
01792 f3appam = f3*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
01793 f3apmam = f3*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
01794
01795 tau = msd*msd*bx2*(wt-1.0)/(bb2*bbx2);
01796 udef = (( bb2-bx2)/(2.0*bbx2));
01797 udef = udef + ((bb2*tau)/(3.0*bbx2));
01798
01799 *fpf = cfp*sqrt(1.5)*mtb*(1.0+wt)*udef*f3fp;
01800
01801 *gpf = sqrt(3.0/8.0)*f3gp*(((1.0/msq)-((msd*bb2)/(2.0*mum*mtx*bbx2)))*
01802 udef + ( (msd*bb2*bx2)/(3.0*mum*mtx*bbx2*bbx2)));
01803
01804 appam = f3appam*sqrt(2.0/3.0)*(bb2/(msq*msb*bbx2))*((-7.0*msd*msd*bx2*
01805 bx2*(1.0+(tau/7.0))/(8.0*mtb*bbx2*bbx2))+(5.0*msd*bx2*(1.0+
01806 (tau/5.0))/(4.0*bbx2))+(3.0*msd*msd*bx2*bx2/(8.0*mtb*bb2*bbx2))-
01807 (3.0*msd*bx2/(4.0*bb2)));
01808
01809 apmam = f3apmam*sqrt(3.0/2.0)*(mtb/(msb*mtx))*(1.0-(bb2*(1.0+(tau/7.0))/
01810 bbx2)-(msd*bx2*(1.0-(5.0*bb2*(1.0+(tau/5.0))/(3.0*bbx2)))
01811 /(2.0*mtb*bbx2))-(7.0*msd*msd*bb2*bx2/(12.0*msq*mtb*bbx2*bbx2))*
01812 (1.0-(bx2/bbx2)+(bb2*tau/(7.0*bbx2))));
01813
01814 *appf = (appam + apmam) /2.0;
01815 *apmf = (appam - apmam) /2.0;
01816 return;
01817 }
01818
01819 void EvtISGW2FF::EvtISGW2FF1P1 (EvtId parent,EvtId daugt,
01820 double t, double mass, double *rf, double *vf,
01821 double *spf, double *smf ) {
01822
01823
01824 static EvtId EM=EvtPDL::getId("e-");
01825 static EvtId EP=EvtPDL::getId("e+");
01826 static EvtId MUM=EvtPDL::getId("mu-");
01827 static EvtId MUP=EvtPDL::getId("mu+");
01828 static EvtId TAUM=EvtPDL::getId("tau-");
01829 static EvtId TAUP=EvtPDL::getId("tau+");
01830
01831 static EvtId BP=EvtPDL::getId("B+");
01832 static EvtId BM=EvtPDL::getId("B-");
01833 static EvtId B0=EvtPDL::getId("B0");
01834 static EvtId B0B=EvtPDL::getId("anti-B0");
01835
01836 static EvtId DST0=EvtPDL::getId("D*0");
01837 static EvtId DSTB=EvtPDL::getId("anti-D*0");
01838 static EvtId DSTP=EvtPDL::getId("D*+");
01839 static EvtId DSTM=EvtPDL::getId("D*-");
01840 static EvtId D0=EvtPDL::getId("D0");
01841 static EvtId D0B=EvtPDL::getId("anti-D0");
01842 static EvtId DP=EvtPDL::getId("D+");
01843 static EvtId DM=EvtPDL::getId("D-");
01844
01845 static EvtId D1P1P=EvtPDL::getId("D_1+");
01846 static EvtId D1P1N=EvtPDL::getId("D_1-");
01847 static EvtId D1P10=EvtPDL::getId("D_10");
01848 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
01849
01850 static EvtId D3P2P=EvtPDL::getId("D_2*+");
01851 static EvtId D3P2N=EvtPDL::getId("D_2*-");
01852 static EvtId D3P20=EvtPDL::getId("D_2*0");
01853 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
01854
01855 static EvtId D3P1P=EvtPDL::getId("D'_1+");
01856 static EvtId D3P1N=EvtPDL::getId("D'_1-");
01857 static EvtId D3P10=EvtPDL::getId("D'_10");
01858 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
01859
01860 static EvtId D3P0P=EvtPDL::getId("D_0*+");
01861 static EvtId D3P0N=EvtPDL::getId("D_0*-");
01862 static EvtId D3P00=EvtPDL::getId("D_0*0");
01863 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
01864
01865 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
01866 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
01867 static EvtId D21S00=EvtPDL::getId("D(2S)0");
01868 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
01869
01870 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
01871 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
01872 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
01873 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
01874
01875 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
01876 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
01877 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
01878 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
01879 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
01880
01881 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
01882 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
01883 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
01884
01885 static EvtId PIP=EvtPDL::getId("pi+");
01886 static EvtId PIM=EvtPDL::getId("pi-");
01887 static EvtId PI0=EvtPDL::getId("pi0");
01888
01889 static EvtId RHOP=EvtPDL::getId("rho+");
01890 static EvtId RHOM=EvtPDL::getId("rho-");
01891 static EvtId RHO0=EvtPDL::getId("rho0");
01892
01893 static EvtId A2P=EvtPDL::getId("a_2+");
01894 static EvtId A2M=EvtPDL::getId("a_2-");
01895 static EvtId A20=EvtPDL::getId("a_20");
01896
01897 static EvtId A1P=EvtPDL::getId("a_1+");
01898 static EvtId A1M=EvtPDL::getId("a_1-");
01899 static EvtId A10=EvtPDL::getId("a_10");
01900
01901 static EvtId A0P=EvtPDL::getId("a_0+");
01902 static EvtId A0M=EvtPDL::getId("a_0-");
01903 static EvtId A00=EvtPDL::getId("a_00");
01904
01905 static EvtId B1P=EvtPDL::getId("b_1+");
01906 static EvtId B1M=EvtPDL::getId("b_1-");
01907 static EvtId B10=EvtPDL::getId("b_10");
01908
01909 static EvtId H1=EvtPDL::getId("h_1");
01910 static EvtId H1PR=EvtPDL::getId("h'_1");
01911
01912 static EvtId F1=EvtPDL::getId("f_1");
01913 static EvtId F1PR=EvtPDL::getId("f'_1");
01914 static EvtId F0=EvtPDL::getId("f_0");
01915 static EvtId F0PR=EvtPDL::getId("f'_0");
01916 static EvtId F2=EvtPDL::getId("f_2");
01917 static EvtId F2PR=EvtPDL::getId("f'_2");
01918
01919 static EvtId ETA=EvtPDL::getId("eta");
01920 static EvtId ETAPR=EvtPDL::getId("eta'");
01921 static EvtId OMEG=EvtPDL::getId("omega");
01922
01923 static EvtId KP=EvtPDL::getId("K+");
01924 static EvtId KM=EvtPDL::getId("K-");
01925 static EvtId K0=EvtPDL::getId("K0");
01926 static EvtId KB=EvtPDL::getId("anti-K0");
01927 static EvtId K0S=EvtPDL::getId("K_S0");
01928 static EvtId K0L=EvtPDL::getId("K_L0");
01929
01930 static EvtId KSTP=EvtPDL::getId("K*+");
01931 static EvtId KSTM=EvtPDL::getId("K*-");
01932 static EvtId KST0=EvtPDL::getId("K*0");
01933 static EvtId KSTB=EvtPDL::getId("anti-K*0");
01934
01935 static EvtId K1P=EvtPDL::getId("K_1+");
01936 static EvtId K1M=EvtPDL::getId("K_1-");
01937 static EvtId K10=EvtPDL::getId("K_10");
01938 static EvtId K1B=EvtPDL::getId("anti-K_10");
01939
01940 static EvtId K1STP=EvtPDL::getId("K'_1+");
01941 static EvtId K1STM=EvtPDL::getId("K'_1-");
01942 static EvtId K1ST0=EvtPDL::getId("K'_10");
01943 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
01944
01945 static EvtId K2STP=EvtPDL::getId("K_2*+");
01946 static EvtId K2STM=EvtPDL::getId("K_2*-");
01947 static EvtId K2ST0=EvtPDL::getId("K_2*0");
01948 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
01949
01950 static EvtId K0STP=EvtPDL::getId("K_0*+");
01951 static EvtId K0STM=EvtPDL::getId("K_0*-");
01952 static EvtId K0ST0=EvtPDL::getId("K_0*0");
01953 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
01954
01955 static EvtId PHI=EvtPDL::getId("phi");
01956 static EvtId DSP=EvtPDL::getId("D_s+");
01957 static EvtId DSM=EvtPDL::getId("D_s-");
01958
01959 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
01960 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
01961
01962 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
01963 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
01964
01965 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
01966 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
01967
01968 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
01969 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
01970
01971 static EvtId DSSTP=EvtPDL::getId("D_s*+");
01972 static EvtId DSSTM=EvtPDL::getId("D_s*-");
01973
01974 static EvtId BSB=EvtPDL::getId("anti-B_s0");
01975 static EvtId BS0=EvtPDL::getId("B_s0");
01976
01977 double mtb, mbb(0.0);
01978 double msd(0.0), mx,mb,nf,nfp(0.0);
01979 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
01980 double f5sppsm,f5spmsm;
01981 double f5v,f5r,mup,mum,vv,rr,spmsm,sppsm;
01982 double mqm,msb(0.0),bb2(0.0),bbx2,tm,wt,r2;
01983 EvtId prnt=parent;
01984 EvtId dgt=daugt;
01985 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
01986 msb=5.2;
01987 msd=0.33;
01988 bb2=0.431*0.431;
01989 mbb=5.31;
01990 nf = 4.0;
01991 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
01992 msq=0.33;
01993 bx2=0.275*0.275;
01994 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
01995 nfp = 0.0;
01996 }
01997 else{
01998 if (dgt==D1P1P||dgt==D1P10||dgt==D1P1B||dgt==D1P1N) {
01999 msq=1.82;
02000 bx2=0.33*0.33;
02001 mbx=(5.0*2.46+3.0*2.42)/8.0;
02002 nfp = 3.0;
02003 }
02004 else{
02005 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
02006 }
02007 }
02008 }
02009 else{
02010 if (prnt==DM||prnt==DP||prnt==D0B||prnt==D0) {
02011 msb=1.82;
02012 msd=0.33;
02013 bb2=0.45*0.45;
02014 mbb=1.963;
02015 nf = 3.0;
02016 if (dgt==B10||dgt==B1P||dgt==B1M||dgt==H1||dgt==H1PR) {
02017 msq=0.33;
02018 bx2=0.275*0.275;
02019 mbx=(3.0*1.123+0.98+5.0*1.32+3.0*1.26)/12.0;
02020 nfp = 0.0;
02021 }
02022 else{
02023 if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
02024 msq=0.55;
02025 bx2=0.30*0.30;
02026 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
02027 nfp = 2.0;
02028 }
02029 else{
02030 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_1P1.\n";
02031 }
02032 }
02033 }
02034 else{
02035
02036 if (prnt==BS0||prnt==BSB){
02037
02038 msb=5.2;
02039 msd=0.55;
02040 bb2=0.54*0.54;
02041 mbb=5.38;
02042 nf = 4.0;
02043
02044 if (dgt==D1P1SP||dgt==D1P1SN) {
02045
02046 msq=1.82;
02047 bx2=0.41*0.41;
02048 mbx=(5.0*2.61+3.0*2.54)/8.0;
02049 nfp = 3.0;
02050 }
02051 else if (dgt==K10||dgt==K1B||dgt==K1P||dgt==K1M) {
02052 msq=0.55;
02053 bx2=0.30*0.30;
02054 mbx=(3.0*1.27+1.43+5.0*1.43+3.0*1.4)/12.0;
02055 nfp = 2.0;
02056 }
02057 else{
02058 report(ERROR,"EvtGen") << "Not implemented daugt:"
02059 <<daugt.getId()<<" in get_isgw_ff_1S0.\n";
02060 }
02061 }
02062
02063 else{
02064 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_1P1.\n";
02065 }
02066 }
02067 }
02068
02069
02070 mtb = msb + msd;
02071 mtx = msq + msd;
02072
02073 mb = EvtPDL::getMeanMass( parent );
02074 mx = mass;
02075
02076 mup=1.0/(1.0/msq+1.0/msb);
02077 mum=1.0/(1.0/msq-1.0/msb);
02078 bbx2=0.5*(bb2+bx2);
02079 tm=(mb-mx)*(mb-mx);
02080 if (t>tm) t = 0.99*tm;
02081 wt=1.0+(tm-t)/(2.0*mbb*mbx);
02082
02083 mqm = 0.1;
02084 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
02085 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
02086 log(EvtGetas(mqm,mqm)/EvtGetas(msq,msq));
02087
02088 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
02089 (pow((1.0+r2*(tm-t)/18.0),3.0));
02090
02091 f5v = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
02092 f5r = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
02093 f5sppsm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
02094 f5spmsm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
02095
02096 if (msq == msd) {
02097 vv = f5v*(((mtb*sqrt(bb2))/(4.0*sqrt(2.0)*msb*msq*mtx)) +
02098 (((wt-1)*msd)/(6.0*sqrt(2.0*bb2)*mtx)));
02099
02100 rr = f5r*mtb*sqrt(bb2/2)*((1.0/mup)+((msd*mtx*(wt-1)*(wt-1))/
02101 (3.0*msq*bb2)));
02102
02103 sppsm = msd*f5sppsm/(sqrt(2.0*bb2)*mtb)*(1.0-(msd/msq)+((msd*bb2)/
02104 (2.0*mup*bbx2)));
02105
02106 spmsm = msd*f5spmsm/(sqrt(2.0*bb2)*msq)*(((4-wt)/3.0)- ( (msd*msq*bb2)/
02107 (2.0*mtx*mup*bbx2)));
02108
02109 } else {
02110 vv = -1.0*msd*f5v/(2.0*sqrt(3.0*bb2)*mtx)*
02111 ((wt+1)/2.0+bb2*mtb/(2.0*msd*msq*msb));
02112
02113 rr = -2.0*mtb*sqrt(bb2/3.0)*f5r*(1.0/msq + mtx*msd*(wt-1)/(2.0*bb2)*
02114 ((wt+1)/(2.0*msq)-msd*bb2/(2.0*mum*mtx*bbx2)));
02115
02116 sppsm = -1.0*sqrt(3.0)*msd*f5sppsm/(2.0*sqrt(bb2)*mtb)*(1 - msd/(3.0*msq) -
02117 msd*bb2/(3.0*bbx2)*(1.0/(2.0*mum)-1.0/mup));
02118
02119 spmsm = -1.0*msd*f5spmsm/(2.0*sqrt(3.0*bb2)*mtx)*((2-wt)*mtx/msq +
02120 msd*bb2/bbx2*(1.0/(2.0*mum)-1.0/mup));
02121
02122 }
02123
02124
02125 double parMass=EvtPDL::getMeanMass(prnt);
02126 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
02127 double massNom= EvtPDL::getMeanMass(dgt);
02128 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
02129 double q2maxin=sqrt(q2maxNom/q2max);
02130 if ( q2maxin > 1000. ) q2maxin=1000.;
02131
02132 vv*=q2maxin;
02133 rr*=q2maxin;
02134 sppsm*=q2maxin;
02135 spmsm*=q2maxin;
02136
02137 *vf = vv;
02138 *rf = rr;
02139 *spf = (sppsm + spmsm)/2.0;
02140 *smf = (sppsm - spmsm)/2.0;
02141 return;
02142 }
02143
02144
02145 void EvtISGW2FF::EvtISGW2FF3P1 (EvtId parent,EvtId daugt,
02146 double t, double mass, double *lf, double *qf,
02147 double *cpf, double *cmf ) {
02148
02149
02150 static EvtId EM=EvtPDL::getId("e-");
02151 static EvtId EP=EvtPDL::getId("e+");
02152 static EvtId MUM=EvtPDL::getId("mu-");
02153 static EvtId MUP=EvtPDL::getId("mu+");
02154 static EvtId TAUM=EvtPDL::getId("tau-");
02155 static EvtId TAUP=EvtPDL::getId("tau+");
02156
02157 static EvtId BP=EvtPDL::getId("B+");
02158 static EvtId BM=EvtPDL::getId("B-");
02159 static EvtId B0=EvtPDL::getId("B0");
02160 static EvtId B0B=EvtPDL::getId("anti-B0");
02161
02162 static EvtId DST0=EvtPDL::getId("D*0");
02163 static EvtId DSTB=EvtPDL::getId("anti-D*0");
02164 static EvtId DSTP=EvtPDL::getId("D*+");
02165 static EvtId DSTM=EvtPDL::getId("D*-");
02166 static EvtId D0=EvtPDL::getId("D0");
02167 static EvtId D0B=EvtPDL::getId("anti-D0");
02168 static EvtId DP=EvtPDL::getId("D+");
02169 static EvtId DM=EvtPDL::getId("D-");
02170
02171 static EvtId D1P1P=EvtPDL::getId("D_1+");
02172 static EvtId D1P1N=EvtPDL::getId("D_1-");
02173 static EvtId D1P10=EvtPDL::getId("D_10");
02174 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
02175
02176 static EvtId D3P2P=EvtPDL::getId("D_2*+");
02177 static EvtId D3P2N=EvtPDL::getId("D_2*-");
02178 static EvtId D3P20=EvtPDL::getId("D_2*0");
02179 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
02180
02181 static EvtId D3P1P=EvtPDL::getId("D'_1+");
02182 static EvtId D3P1N=EvtPDL::getId("D'_1-");
02183 static EvtId D3P10=EvtPDL::getId("D'_10");
02184 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
02185
02186 static EvtId D3P0P=EvtPDL::getId("D_0*+");
02187 static EvtId D3P0N=EvtPDL::getId("D_0*-");
02188 static EvtId D3P00=EvtPDL::getId("D_0*0");
02189 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
02190
02191 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
02192 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
02193 static EvtId D21S00=EvtPDL::getId("D(2S)0");
02194 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
02195
02196 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
02197 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
02198 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
02199 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
02200
02201 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
02202 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
02203 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
02204 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
02205 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
02206
02207 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
02208 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
02209 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
02210
02211 static EvtId PIP=EvtPDL::getId("pi+");
02212 static EvtId PIM=EvtPDL::getId("pi-");
02213 static EvtId PI0=EvtPDL::getId("pi0");
02214
02215 static EvtId RHOP=EvtPDL::getId("rho+");
02216 static EvtId RHOM=EvtPDL::getId("rho-");
02217 static EvtId RHO0=EvtPDL::getId("rho0");
02218
02219 static EvtId A2P=EvtPDL::getId("a_2+");
02220 static EvtId A2M=EvtPDL::getId("a_2-");
02221 static EvtId A20=EvtPDL::getId("a_20");
02222
02223 static EvtId A1P=EvtPDL::getId("a_1+");
02224 static EvtId A1M=EvtPDL::getId("a_1-");
02225 static EvtId A10=EvtPDL::getId("a_10");
02226
02227 static EvtId A0P=EvtPDL::getId("a_0+");
02228 static EvtId A0M=EvtPDL::getId("a_0-");
02229 static EvtId A00=EvtPDL::getId("a_00");
02230
02231 static EvtId B1P=EvtPDL::getId("b_1+");
02232 static EvtId B1M=EvtPDL::getId("b_1-");
02233 static EvtId B10=EvtPDL::getId("b_10");
02234
02235 static EvtId H1=EvtPDL::getId("h_1");
02236 static EvtId H1PR=EvtPDL::getId("h'_1");
02237
02238 static EvtId F1=EvtPDL::getId("f_1");
02239 static EvtId F1PR=EvtPDL::getId("f'_1");
02240 static EvtId F0=EvtPDL::getId("f_0");
02241 static EvtId F0PR=EvtPDL::getId("f'_0");
02242 static EvtId F2=EvtPDL::getId("f_2");
02243 static EvtId F2PR=EvtPDL::getId("f'_2");
02244
02245 static EvtId ETA=EvtPDL::getId("eta");
02246 static EvtId ETAPR=EvtPDL::getId("eta'");
02247 static EvtId OMEG=EvtPDL::getId("omega");
02248
02249 static EvtId KP=EvtPDL::getId("K+");
02250 static EvtId KM=EvtPDL::getId("K-");
02251 static EvtId K0=EvtPDL::getId("K0");
02252 static EvtId KB=EvtPDL::getId("anti-K0");
02253 static EvtId K0S=EvtPDL::getId("K_S0");
02254 static EvtId K0L=EvtPDL::getId("K_L0");
02255
02256 static EvtId KSTP=EvtPDL::getId("K*+");
02257 static EvtId KSTM=EvtPDL::getId("K*-");
02258 static EvtId KST0=EvtPDL::getId("K*0");
02259 static EvtId KSTB=EvtPDL::getId("anti-K*0");
02260
02261 static EvtId K1P=EvtPDL::getId("K_1+");
02262 static EvtId K1M=EvtPDL::getId("K_1-");
02263 static EvtId K10=EvtPDL::getId("K_10");
02264 static EvtId K1B=EvtPDL::getId("anti-K_10");
02265
02266 static EvtId K1STP=EvtPDL::getId("K'_1+");
02267 static EvtId K1STM=EvtPDL::getId("K'_1-");
02268 static EvtId K1ST0=EvtPDL::getId("K'_10");
02269 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
02270
02271 static EvtId K2STP=EvtPDL::getId("K_2*+");
02272 static EvtId K2STM=EvtPDL::getId("K_2*-");
02273 static EvtId K2ST0=EvtPDL::getId("K_2*0");
02274 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
02275
02276 static EvtId K0STP=EvtPDL::getId("K_0*+");
02277 static EvtId K0STM=EvtPDL::getId("K_0*-");
02278 static EvtId K0ST0=EvtPDL::getId("K_0*0");
02279 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
02280
02281 static EvtId PHI=EvtPDL::getId("phi");
02282 static EvtId DSP=EvtPDL::getId("D_s+");
02283 static EvtId DSM=EvtPDL::getId("D_s-");
02284
02285 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
02286 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
02287
02288 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
02289 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
02290
02291 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
02292 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
02293
02294 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
02295 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
02296 static EvtId DSSTP=EvtPDL::getId("D_s*+");
02297 static EvtId DSSTM=EvtPDL::getId("D_s*-");
02298
02299 static EvtId BSB=EvtPDL::getId("anti-B_s0");
02300 static EvtId BS0=EvtPDL::getId("B_s0");
02301
02302 double mtb, mbb(0.0);
02303 double msd(0.0), mx,mb,nf,nfp(0.0);
02304 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
02305 double f5cppcm,f5cpmcm,f5,ql,ll,cppcm,cpmcm,f5q,f5l;
02306 double mqm,msb(0.0),bb2(0.0),mup,mum,bbx2,tm,wt,r2;
02307 EvtId prnt=parent;
02308 EvtId dgt=daugt;
02309
02310 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
02311
02312 msb=5.2;
02313 msd=0.33;
02314 bb2=0.431*0.431;
02315 mbb=5.31;
02316 nf = 4.0;
02317
02318 if (dgt==A10||dgt==A1P||dgt==A1M||dgt==F1||dgt==F1PR) {
02319
02320 msq=0.33;
02321 bx2=0.275*0.275;
02322 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02323 nfp = 0.0;
02324 }
02325 else{
02326 if (dgt==D3P1P||dgt==D3P1N||dgt==D3P10||dgt==D3P1B) {
02327 msq=1.82;
02328 bx2=0.33*0.33;
02329 mbx=(3.0*2.49+2.40)/4.0;
02330 nfp = 3.0;
02331 }
02332 else{
02333 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
02334 }
02335 }
02336 }
02337 else{
02338 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
02339
02340 msb=1.82;
02341 msd=0.33;
02342 bb2=0.45*0.45;
02343 mbb=1.963;
02344 nf = 3.0;
02345
02346 if (dgt==F1||dgt==F1PR||dgt==A10||dgt==A1P||dgt==A1M) {
02347
02348 msq=0.33;
02349 bx2=0.275*0.275;
02350 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02351 nfp = 0.0;
02352 }
02353 else{
02354 if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
02355 msq=0.55;
02356 bx2=0.30*0.30;
02357 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
02358 nfp = 2.0;
02359 }
02360 else{
02361 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_3P1.\n";
02362 }
02363 }
02364 }
02365 else{
02366
02367 if (prnt==BS0||prnt==BSB){
02368
02369 msb=5.2;
02370 msd=0.55;
02371 bb2=0.54*0.54;
02372 mbb=5.38;
02373 nf = 4.0;
02374
02375 if (dgt==D3P1SP||dgt==D3P1SN) {
02376
02377 msq=1.82;
02378 bx2=0.41*0.41;
02379 mbx=(3.0*2.54+2.46)/4.0;
02380 nfp = 3.0;
02381 }
02382 else if (dgt==K1STM||dgt==K1STB||dgt==K1STP||dgt==K1ST0) {
02383 msq=0.55;
02384 bx2=0.30*0.30;
02385 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
02386 nfp = 2.0;
02387 }
02388 else{
02389 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
02390 }
02391 }
02392
02393 else{
02394 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P1.\n";
02395 }
02396 }
02397 }
02398
02399
02400
02401 mtb = msb + msd;
02402 mtx = msq + msd;
02403
02404 mb = EvtPDL::getMeanMass( parent );
02405 mx = mass;
02406
02407 mup=1.0/(1.0/msq+1.0/msb);
02408 mum=1.0/(1.0/msq-1.0/msb);
02409 bbx2=0.5*(bb2+bx2);
02410 tm=(mb-mx)*(mb-mx);
02411 if (t>tm) t = 0.99*tm;
02412 wt=1.0+(tm-t)/(2.0*mbb*mbx);
02413
02414 mqm = 0.1;
02415 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
02416 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
02417 log(EvtGetas(mqm)/EvtGetas(msq));
02418
02419 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
02420 (pow((1.0+r2*(tm-t)/18.0),3.0));
02421
02422 f5q = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
02423 f5l = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),0.5);
02424 f5cppcm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),0.5);
02425 f5cpmcm = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),-0.5);
02426
02427 if (msq == msd) {
02428
02429 ql = -1.0*(msd*(5.0+wt)*f5q/(2.0*mtx*sqrt(bb2)*6.0));
02430
02431 ll = -1.0*mtb*sqrt(bb2)*f5l*(1/mum+ ( (msd*mtx*(wt-1)/bb2)*
02432 ( (5.0+wt)/(6.0*msq)-(msd*bb2)/(2.0*mum*mtx*bbx2))));
02433
02434 cppcm = (-1.0*(msd*mtx*f5cppcm/(2.0*msq*mtb*sqrt(bb2)))*
02435 (1-(msd*msq*bb2)/(2.0*mtx*mum*bbx2)));
02436
02437 cpmcm = 1.0*(msd*mtx*f5cpmcm/(2.0*msq*mtb*sqrt(bb2)))*
02438 (((wt+2.0)/3.0)-(msd*msq*bb2)/(2.0*mtx*mum*bbx2))
02439 *(mtb/mtx);
02440 } else {
02441
02442 ql = f5q*sqrt(1.0/6.0)*msd/(sqrt(bb2)*mtx)*
02443 (1.0-bb2*mtb/(4.0*msd*msq*msb));
02444 ll = f5l*sqrt(2.0/3.0)*mtb*sqrt(bb2)*(1.0/(2.0*msq) - 3.0/(2.0*msb) +
02445 msd*mtx*(wt-1)/bb2*(1.0/msq-msd*bb2/(2.0*mum*mtx*bbx2)));
02446 cppcm = msd*msd*bx2*f5cppcm/(sqrt(6.0)*mtb*msq*sqrt(bb2)*bbx2);
02447 cpmcm = -sqrt(2.0/3.0)*msd*f5cpmcm/(sqrt(bb2)*mtx)*
02448 (1+msd*bx2/(2.0*msq*bbx2));
02449 }
02450
02451
02452 double parMass=EvtPDL::getMeanMass(prnt);
02453 double q2max = parMass*parMass + mass*mass - 2.0*parMass*mass;
02454 double massNom= EvtPDL::getMeanMass(dgt);
02455 double q2maxNom = parMass*parMass + massNom*massNom - 2.0*parMass*massNom;
02456 double q2maxin=sqrt(q2maxNom/q2max);
02457 if ( q2maxin > 1000. ) q2maxin=1000.;
02458 ql*=q2maxin;
02459 ll*=q2maxin;
02460 cppcm*=q2maxin;
02461 cpmcm*=q2maxin;
02462
02463 *qf = ql;
02464 *lf = ll;
02465 *cpf = (cppcm + cpmcm)/2.0;
02466 *cmf = (cppcm - cpmcm)/2.0;
02467 return;
02468 }
02469
02470
02471 void EvtISGW2FF::EvtISGW2FF3P0 (EvtId parent,EvtId daugt,
02472 double t, double mass, double *upf, double *umf ) {
02473
02474
02475 static EvtId EM=EvtPDL::getId("e-");
02476 static EvtId EP=EvtPDL::getId("e+");
02477 static EvtId MUM=EvtPDL::getId("mu-");
02478 static EvtId MUP=EvtPDL::getId("mu+");
02479 static EvtId TAUM=EvtPDL::getId("tau-");
02480 static EvtId TAUP=EvtPDL::getId("tau+");
02481
02482 static EvtId BP=EvtPDL::getId("B+");
02483 static EvtId BM=EvtPDL::getId("B-");
02484 static EvtId B0=EvtPDL::getId("B0");
02485 static EvtId B0B=EvtPDL::getId("anti-B0");
02486
02487 static EvtId DST0=EvtPDL::getId("D*0");
02488 static EvtId DSTB=EvtPDL::getId("anti-D*0");
02489 static EvtId DSTP=EvtPDL::getId("D*+");
02490 static EvtId DSTM=EvtPDL::getId("D*-");
02491 static EvtId D0=EvtPDL::getId("D0");
02492 static EvtId D0B=EvtPDL::getId("anti-D0");
02493 static EvtId DP=EvtPDL::getId("D+");
02494 static EvtId DM=EvtPDL::getId("D-");
02495
02496 static EvtId D1P1P=EvtPDL::getId("D_1+");
02497 static EvtId D1P1N=EvtPDL::getId("D_1-");
02498 static EvtId D1P10=EvtPDL::getId("D_10");
02499 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
02500
02501 static EvtId D3P2P=EvtPDL::getId("D_2*+");
02502 static EvtId D3P2N=EvtPDL::getId("D_2*-");
02503 static EvtId D3P20=EvtPDL::getId("D_2*0");
02504 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
02505
02506 static EvtId D3P1P=EvtPDL::getId("D'_1+");
02507 static EvtId D3P1N=EvtPDL::getId("D'_1-");
02508 static EvtId D3P10=EvtPDL::getId("D'_10");
02509 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
02510
02511 static EvtId D3P0P=EvtPDL::getId("D_0*+");
02512 static EvtId D3P0N=EvtPDL::getId("D_0*-");
02513 static EvtId D3P00=EvtPDL::getId("D_0*0");
02514 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
02515
02516 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
02517 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
02518 static EvtId D21S00=EvtPDL::getId("D(2S)0");
02519 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
02520
02521 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
02522 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
02523 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
02524 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
02525
02526 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
02527 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
02528 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
02529 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
02530 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
02531
02532 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
02533 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
02534 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
02535
02536 static EvtId PIP=EvtPDL::getId("pi+");
02537 static EvtId PIM=EvtPDL::getId("pi-");
02538 static EvtId PI0=EvtPDL::getId("pi0");
02539
02540 static EvtId RHOP=EvtPDL::getId("rho+");
02541 static EvtId RHOM=EvtPDL::getId("rho-");
02542 static EvtId RHO0=EvtPDL::getId("rho0");
02543
02544 static EvtId A2P=EvtPDL::getId("a_2+");
02545 static EvtId A2M=EvtPDL::getId("a_2-");
02546 static EvtId A20=EvtPDL::getId("a_20");
02547
02548 static EvtId A1P=EvtPDL::getId("a_1+");
02549 static EvtId A1M=EvtPDL::getId("a_1-");
02550 static EvtId A10=EvtPDL::getId("a_10");
02551
02552 static EvtId A0P=EvtPDL::getId("a_0+");
02553 static EvtId A0M=EvtPDL::getId("a_0-");
02554 static EvtId A00=EvtPDL::getId("a_00");
02555
02556 static EvtId B1P=EvtPDL::getId("b_1+");
02557 static EvtId B1M=EvtPDL::getId("b_1-");
02558 static EvtId B10=EvtPDL::getId("b_10");
02559
02560 static EvtId H1=EvtPDL::getId("h_1");
02561 static EvtId H1PR=EvtPDL::getId("h'_1");
02562
02563 static EvtId F1=EvtPDL::getId("f_1");
02564 static EvtId F1PR=EvtPDL::getId("f'_1");
02565 static EvtId F0=EvtPDL::getId("f_0");
02566 static EvtId F0PR=EvtPDL::getId("f'_0");
02567 static EvtId F2=EvtPDL::getId("f_2");
02568 static EvtId F2PR=EvtPDL::getId("f'_2");
02569
02570 static EvtId ETA=EvtPDL::getId("eta");
02571 static EvtId ETAPR=EvtPDL::getId("eta'");
02572 static EvtId OMEG=EvtPDL::getId("omega");
02573
02574 static EvtId KP=EvtPDL::getId("K+");
02575 static EvtId KM=EvtPDL::getId("K-");
02576 static EvtId K0=EvtPDL::getId("K0");
02577 static EvtId KB=EvtPDL::getId("anti-K0");
02578 static EvtId K0S=EvtPDL::getId("K_S0");
02579 static EvtId K0L=EvtPDL::getId("K_L0");
02580
02581 static EvtId KSTP=EvtPDL::getId("K*+");
02582 static EvtId KSTM=EvtPDL::getId("K*-");
02583 static EvtId KST0=EvtPDL::getId("K*0");
02584 static EvtId KSTB=EvtPDL::getId("anti-K*0");
02585
02586 static EvtId K1P=EvtPDL::getId("K_1+");
02587 static EvtId K1M=EvtPDL::getId("K_1-");
02588 static EvtId K10=EvtPDL::getId("K_10");
02589 static EvtId K1B=EvtPDL::getId("anti-K_10");
02590
02591 static EvtId K1STP=EvtPDL::getId("K'_1+");
02592 static EvtId K1STM=EvtPDL::getId("K'_1-");
02593 static EvtId K1ST0=EvtPDL::getId("K'_10");
02594 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
02595
02596 static EvtId K2STP=EvtPDL::getId("K_2*+");
02597 static EvtId K2STM=EvtPDL::getId("K_2*-");
02598 static EvtId K2ST0=EvtPDL::getId("K_2*0");
02599 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
02600
02601 static EvtId K0STP=EvtPDL::getId("K_0*+");
02602 static EvtId K0STM=EvtPDL::getId("K_0*-");
02603 static EvtId K0ST0=EvtPDL::getId("K_0*0");
02604 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
02605
02606 static EvtId PHI=EvtPDL::getId("phi");
02607 static EvtId DSP=EvtPDL::getId("D_s+");
02608 static EvtId DSM=EvtPDL::getId("D_s-");
02609
02610 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
02611 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
02612
02613 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
02614 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
02615
02616 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
02617 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
02618
02619 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
02620 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
02621
02622 static EvtId DSSTP=EvtPDL::getId("D_s*+");
02623 static EvtId DSSTM=EvtPDL::getId("D_s*-");
02624
02625 static EvtId BSB=EvtPDL::getId("anti-B_s0");
02626 static EvtId BS0=EvtPDL::getId("B_s0");
02627
02628 double mtb, mbb(0.0);
02629 double msd(0.0), mx,mb,nf,nfp(0.0);
02630 double msq(0.0),bx2(0.0),mbx(0.0),mtx;
02631 double f5uppum,f5upmum,uppum,upmum,f5;
02632 double mqm,mum,mup,wt,r2,bb2(0.0),bbx2,msb(0.0),tm;
02633
02634 EvtId prnt=parent;
02635 EvtId dgt=daugt;
02636
02637 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
02638
02639 msb=5.2;
02640 msd=0.33;
02641 bb2=0.431*0.431;
02642 mbb=5.31;
02643 nf = 4.0;
02644 if (dgt==A00||dgt==A0P||dgt==A0M||dgt==F0||dgt==F0PR) {
02645
02646 msq=0.33;
02647 bx2=0.275*0.275;
02648 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02649 nfp = 0.0;
02650 }
02651 else{
02652 if (dgt==D3P0P||dgt==D3P0N||dgt==D3P00||dgt==D3P0B) {
02653 msq=1.82;
02654 bx2=0.33*0.33;
02655 mbx=(3.0*2.49+2.40)/4.0;
02656 nfp = 3.0;
02657 }
02658 else{
02659 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
02660 }
02661 }
02662 }
02663 else{
02664 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
02665
02666 msb=1.82;
02667 msd=0.33;
02668 bb2=0.45*0.45;
02669 mbb=1.963;
02670 nf = 3.0;
02671 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
02672 msq=0.33;
02673 bx2=0.275*0.275;
02674 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02675 nfp = 0.0;
02676 }
02677 else{
02678 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
02679 msq=0.55;
02680 bx2=0.30*0.30;
02681 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
02682 nfp = 2.0;
02683 }
02684 else{
02685 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
02686 }
02687 }
02688 }
02689 else{
02690 if (prnt==DSP||prnt==DSM){
02691 msb=1.82;
02692 msd=0.55;
02693 bb2=0.56*0.56;
02694 mbb=1.968;
02695 nf = 3.0;
02696
02697 if (dgt==F0||dgt==F0PR||dgt==A00||dgt==A0P||dgt==A0M) {
02698 msq=0.55;
02699 bx2=0.33*0.33;
02700 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
02701 nfp = 2.0;
02702 }
02703 else{
02704 if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
02705 msq=0.33;
02706 bx2=0.30*0.30;
02707 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02708 nfp = 0.0;
02709 }
02710 else{
02711 report(ERROR,"EvtGen") << "Not implemented daugt in get_EvtISGW2_ff_3P0.\n";
02712 }
02713 }
02714 }
02715 else{
02716
02717 if (prnt==BS0||prnt==BSB){
02718
02719 msb=5.2;
02720 msd=0.55;
02721 bb2=0.54*0.54;
02722 mbb=5.38;
02723 nf = 4.0;
02724
02725 if (dgt==D3P0SP||dgt==D3P0SN) {
02726
02727 msq=1.82;
02728 bx2=0.41*0.41;
02729 mbx=(3.0*2.54+2.46)/4.0;
02730 nfp = 3.0;
02731 }
02732 else if (dgt==K0STM||dgt==K0STB||dgt==K0STP||dgt==K0ST0) {
02733 msq=0.55;
02734 bx2=0.30*0.30;
02735 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
02736 nfp = 2.0;
02737 }
02738 else{
02739 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
02740 }
02741 }
02742 else{
02743 report(ERROR,"EvtGen") << "Not implemented parent in get_EvtISGW2_ff_3P0.\n";
02744 }
02745 }
02746 }
02747 }
02748
02749
02750 mtb = msb + msd;
02751 mtx = msq + msd;
02752
02753 mb = EvtPDL::getMeanMass( parent );
02754 mx = mass;
02755
02756 mup=1.0/(1.0/msq+1.0/msb);
02757 mum=1.0/(1.0/msq-1.0/msb);
02758 bbx2=0.5*(bb2+bx2);
02759 tm=(mb-mx)*(mb-mx);
02760 if (t>tm) t = 0.99*tm;
02761 wt=1.0+(tm-t)/(2.0*mbb*mbx);
02762
02763 mqm = 0.1;
02764 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2) +
02765 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
02766 log(EvtGetas(mqm)/EvtGetas(msq));
02767
02768 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
02769 (pow((1.0+r2*(tm-t)/18.0),3.0));
02770
02771 f5uppum = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
02772 f5upmum = f5*pow(( mbb / mtb ),0.5)*pow((mbx/mtx),-0.5);
02773
02774 uppum = -1.0*f5uppum*sqrt(2.0/(3.0*bb2))*msd;
02775 upmum = 1.0*f5upmum*sqrt(2.0/(3.0*bb2))*msd*mtb/mtx;
02776
02777 *upf = (uppum + upmum)/2.0;
02778 *umf = (uppum - upmum)/2.0;
02779
02780 return;
02781
02782 }
02783
02784
02785 void EvtISGW2FF::EvtISGW2FF3P2 (EvtId parent,EvtId daugt,
02786 double t, double mass, double *hf, double *kf,
02787 double *bpf, double *bmf ) {
02788
02789
02790 static EvtId EM=EvtPDL::getId("e-");
02791 static EvtId EP=EvtPDL::getId("e+");
02792 static EvtId MUM=EvtPDL::getId("mu-");
02793 static EvtId MUP=EvtPDL::getId("mu+");
02794 static EvtId TAUM=EvtPDL::getId("tau-");
02795 static EvtId TAUP=EvtPDL::getId("tau+");
02796
02797 static EvtId BP=EvtPDL::getId("B+");
02798 static EvtId BM=EvtPDL::getId("B-");
02799 static EvtId B0=EvtPDL::getId("B0");
02800 static EvtId B0B=EvtPDL::getId("anti-B0");
02801
02802 static EvtId DST0=EvtPDL::getId("D*0");
02803 static EvtId DSTB=EvtPDL::getId("anti-D*0");
02804 static EvtId DSTP=EvtPDL::getId("D*+");
02805 static EvtId DSTM=EvtPDL::getId("D*-");
02806 static EvtId D0=EvtPDL::getId("D0");
02807 static EvtId D0B=EvtPDL::getId("anti-D0");
02808 static EvtId DP=EvtPDL::getId("D+");
02809 static EvtId DM=EvtPDL::getId("D-");
02810
02811 static EvtId D1P1P=EvtPDL::getId("D_1+");
02812 static EvtId D1P1N=EvtPDL::getId("D_1-");
02813 static EvtId D1P10=EvtPDL::getId("D_10");
02814 static EvtId D1P1B=EvtPDL::getId("anti-D_10");
02815
02816 static EvtId D3P2P=EvtPDL::getId("D_2*+");
02817 static EvtId D3P2N=EvtPDL::getId("D_2*-");
02818 static EvtId D3P20=EvtPDL::getId("D_2*0");
02819 static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
02820
02821 static EvtId D3P1P=EvtPDL::getId("D'_1+");
02822 static EvtId D3P1N=EvtPDL::getId("D'_1-");
02823 static EvtId D3P10=EvtPDL::getId("D'_10");
02824 static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
02825
02826 static EvtId D3P0P=EvtPDL::getId("D_0*+");
02827 static EvtId D3P0N=EvtPDL::getId("D_0*-");
02828 static EvtId D3P00=EvtPDL::getId("D_0*0");
02829 static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
02830
02831 static EvtId D21S0P=EvtPDL::getId("D(2S)+");
02832 static EvtId D21S0N=EvtPDL::getId("D(2S)-");
02833 static EvtId D21S00=EvtPDL::getId("D(2S)0");
02834 static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
02835
02836 static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
02837 static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
02838 static EvtId D23S10=EvtPDL::getId("D*(2S)0");
02839 static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
02840
02841
02842 static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
02843 static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
02844 static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
02845 static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
02846 static EvtId ETA2S=EvtPDL::getId("eta(2S)");
02847
02848 static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
02849 static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
02850 static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
02851
02852 static EvtId PIP=EvtPDL::getId("pi+");
02853 static EvtId PIM=EvtPDL::getId("pi-");
02854 static EvtId PI0=EvtPDL::getId("pi0");
02855
02856 static EvtId RHOP=EvtPDL::getId("rho+");
02857 static EvtId RHOM=EvtPDL::getId("rho-");
02858 static EvtId RHO0=EvtPDL::getId("rho0");
02859
02860 static EvtId A2P=EvtPDL::getId("a_2+");
02861 static EvtId A2M=EvtPDL::getId("a_2-");
02862 static EvtId A20=EvtPDL::getId("a_20");
02863
02864 static EvtId A1P=EvtPDL::getId("a_1+");
02865 static EvtId A1M=EvtPDL::getId("a_1-");
02866 static EvtId A10=EvtPDL::getId("a_10");
02867
02868 static EvtId A0P=EvtPDL::getId("a_0+");
02869 static EvtId A0M=EvtPDL::getId("a_0-");
02870 static EvtId A00=EvtPDL::getId("a_00");
02871
02872 static EvtId B1P=EvtPDL::getId("b_1+");
02873 static EvtId B1M=EvtPDL::getId("b_1-");
02874 static EvtId B10=EvtPDL::getId("b_10");
02875
02876 static EvtId H1=EvtPDL::getId("h_1");
02877 static EvtId H1PR=EvtPDL::getId("h'_1");
02878
02879 static EvtId F1=EvtPDL::getId("f_1");
02880 static EvtId F1PR=EvtPDL::getId("f'_1");
02881 static EvtId F0=EvtPDL::getId("f_0");
02882 static EvtId F0PR=EvtPDL::getId("f'_0");
02883 static EvtId F2=EvtPDL::getId("f_2");
02884 static EvtId F2PR=EvtPDL::getId("f'_2");
02885
02886 static EvtId ETA=EvtPDL::getId("eta");
02887 static EvtId ETAPR=EvtPDL::getId("eta'");
02888 static EvtId OMEG=EvtPDL::getId("omega");
02889
02890 static EvtId KP=EvtPDL::getId("K+");
02891 static EvtId KM=EvtPDL::getId("K-");
02892 static EvtId K0=EvtPDL::getId("K0");
02893 static EvtId KB=EvtPDL::getId("anti-K0");
02894 static EvtId K0S=EvtPDL::getId("K_S0");
02895 static EvtId K0L=EvtPDL::getId("K_L0");
02896
02897 static EvtId KSTP=EvtPDL::getId("K*+");
02898 static EvtId KSTM=EvtPDL::getId("K*-");
02899 static EvtId KST0=EvtPDL::getId("K*0");
02900 static EvtId KSTB=EvtPDL::getId("anti-K*0");
02901
02902 static EvtId K1P=EvtPDL::getId("K_1+");
02903 static EvtId K1M=EvtPDL::getId("K_1-");
02904 static EvtId K10=EvtPDL::getId("K_10");
02905 static EvtId K1B=EvtPDL::getId("anti-K_10");
02906
02907 static EvtId K1STP=EvtPDL::getId("K'_1+");
02908 static EvtId K1STM=EvtPDL::getId("K'_1-");
02909 static EvtId K1ST0=EvtPDL::getId("K'_10");
02910 static EvtId K1STB=EvtPDL::getId("anti-K'_10");
02911
02912 static EvtId K2STP=EvtPDL::getId("K_2*+");
02913 static EvtId K2STM=EvtPDL::getId("K_2*-");
02914 static EvtId K2ST0=EvtPDL::getId("K_2*0");
02915 static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
02916
02917 static EvtId K0STP=EvtPDL::getId("K_0*+");
02918 static EvtId K0STM=EvtPDL::getId("K_0*-");
02919 static EvtId K0ST0=EvtPDL::getId("K_0*0");
02920 static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
02921
02922 static EvtId PHI=EvtPDL::getId("phi");
02923 static EvtId DSP=EvtPDL::getId("D_s+");
02924 static EvtId DSM=EvtPDL::getId("D_s-");
02925
02926 static EvtId D1P1SP=EvtPDL::getId("D_s1+");
02927 static EvtId D1P1SN=EvtPDL::getId("D_s1-");
02928
02929 static EvtId D3P0SP=EvtPDL::getId("D_s0*+");
02930 static EvtId D3P0SN=EvtPDL::getId("D_s0*-");
02931
02932 static EvtId D3P1SP=EvtPDL::getId("D'_s1+");
02933 static EvtId D3P1SN=EvtPDL::getId("D'_s1-");
02934
02935 static EvtId D3P2SP=EvtPDL::getId("D_s2*+");
02936 static EvtId D3P2SN=EvtPDL::getId("D_s2*-");
02937
02938 static EvtId DSSTP=EvtPDL::getId("D_s*+");
02939 static EvtId DSSTM=EvtPDL::getId("D_s*-");
02940
02941 static EvtId BSB=EvtPDL::getId("anti-B_s0");
02942 static EvtId BS0=EvtPDL::getId("B_s0");
02943
02944
02945 double mtb, mbb(0.0);
02946 double msd(0.0), mx,mb,nf,nfp(0.0);
02947 double msq(0.0),bx2(0.0),mbx(0.0),mtx,f5;
02948 double f5h,f5k,f5bppbm,f5bpmbm,bppbm,bpmbm;
02949 double mqm,mum,mup,tm,wt,r2,bb2(0.0),bbx2;
02950 double msb(0.0);
02951 EvtId prnt=parent;
02952 EvtId dgt=daugt;
02953
02954 if (prnt==B0||prnt==B0B||prnt==BP||prnt==BM) {
02955
02956 msb=5.2;
02957 msd=0.33;
02958 bb2=0.431*0.431;
02959 mbb=5.31;
02960 nf = 4.0;
02961
02962 if (dgt==A20||dgt==A2P||dgt==A2M||dgt==F2||dgt==F2PR) {
02963
02964 msq=0.33;
02965 bx2=0.275*0.275;
02966 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02967 nfp = 0.0;
02968
02969 }
02970
02971 else{
02972 if (dgt==D3P2P||dgt==D3P2N||dgt==D3P20||dgt==D3P2B) {
02973
02974 msq=1.82;
02975 bx2=0.33*0.33;
02976 mbx=(5.0*2.46+3.0*2.42)/8.0;
02977 nfp = 3.0;
02978 }
02979 else{
02980
02981 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
02982 }
02983 }
02984 }
02985 else{
02986 if (prnt==D0||prnt==D0B||prnt==DP||prnt==DM) {
02987
02988 msb=1.82;
02989 msd=0.33;
02990 bb2=0.45*0.45;
02991 mbb=1.963;
02992 nf = 3.0;
02993 if (dgt==F2||dgt==F2PR||dgt==A20||dgt==A2P||dgt==A2M) {
02994 msq=0.33;
02995 bx2=0.275*0.275;
02996 mbx=(3.0*1.23+0.98+5.0*1.32+3.0*1.26)/12.0;
02997 nfp = 0.0;
02998 }
02999 else{
03000 if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
03001 msq=0.55;
03002 bx2=0.30*0.30;
03003 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
03004 nfp = 2.0;
03005 }
03006 else{
03007 report(ERROR,"EvtGen") << "Not implemented daugt in get_isgw_ff_3P2.\n";
03008 }
03009 }
03010 }
03011 else{
03012
03013 if (prnt==BS0||prnt==BSB){
03014
03015 msb=5.2;
03016 msd=0.55;
03017 bb2=0.54*0.54;
03018 mbb=5.38;
03019 nf = 4.0;
03020
03021 if (dgt==D3P2SP||dgt==D3P2SN) {
03022
03023 msq=1.82;
03024 bx2=0.41*0.41;
03025 mbx=(5.0*2.61+3.0*2.54)/8.0;
03026 nfp = 3.0;
03027 }
03028 else if (dgt==K2STM||dgt==K2STB||dgt==K2STP||dgt==K2ST0) {
03029 msq=0.55;
03030 bx2=0.30*0.30;
03031 mbx=(3.0*1.40+1.43+5.0*1.43+3.0*1.27)/12.0;
03032 nfp = 2.0;
03033 }
03034 else{
03035 report(ERROR,"EvtGen") << "Not implemented daugt:"<<daugt.getId()<<" in get_isgw_ff_1S0.\n";
03036 }
03037 }
03038
03039 else{
03040 report(ERROR,"EvtGen") << "Not implemented parent in get_isgw_ff_3P2.\n";
03041 }
03042 }
03043 }
03044 mtb = msb + msd;
03045 mtx = msq + msd;
03046
03047 mb = EvtPDL::getMeanMass( parent );
03048 mx = mass;
03049 mup=1.0/(1.0/msq+1.0/msb);
03050 mum=1.0/(1.0/msq-1.0/msb);
03051 bbx2=0.5*(bb2+bx2);
03052 tm=(mb-mx)*(mb-mx);
03053 if (t>tm) t = 0.99*tm;
03054 wt=1.0+(tm-t)/(2.0*mbb*mbx);
03055
03056 mqm = 0.1;
03057 r2=3.0/(4.0*msb*msq)+3*msd*msd/(2*mbb*mbx*bbx2)+
03058 (16.0/(mbb*mbx*(33.0-2.0*nfp)))*
03059 log(EvtGetas(mqm)/EvtGetas(msq));
03060
03061 f5 = sqrt(mtx/mtb)*pow(sqrt(bx2*bb2)/bbx2,5.0/2.0) /
03062 (pow((1.0+r2*(tm-t)/18.0),3.0));
03063
03064 f5h = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
03065 f5k = f5*pow(( mbb / mtb ),-0.5)*pow((mbx/mtx),0.5);
03066 f5bppbm = f5*pow(( mbb / mtb ),-2.5)*pow((mbx/mtx),0.5);
03067 f5bpmbm = f5*pow(( mbb / mtb ),-1.5)*pow((mbx/mtx),-0.5);
03068
03069 *hf = f5h*(msd/(sqrt(8.0*bb2)*mtb))*((1.0/msq)-(msd*bb2/(2.0*mum*
03070 mtx*bbx2)));
03071
03072 *kf = f5k*(msd/(sqrt(2.0*bb2)))*(1.0+wt);
03073
03074 bppbm = ((msd*msd*f5bppbm*bx2)/(sqrt(32.0*bb2)*msq*msb*mtb*bbx2))*
03075 (1.0-(msd*bx2/(2.0*mtb*bbx2)));
03076
03077 bpmbm = -1.0*(msd*f5bpmbm/(sqrt(2.0*bb2)*msb*mtx))*(1.0-
03078 ((msd*msb*bx2)/(2.0*mup*mtb*bbx2))+((msd*bx2*(1.0-
03079 ((msd*bx2)/(2.0*mtb*bbx2))))/(4.0*msq*bbx2)));
03080
03081 *bpf = (bppbm + bpmbm)/2.0;
03082 *bmf = (bppbm - bpmbm)/2.0;
03083 return;
03084 }
03085
03086
03087 double EvtISGW2FF::EvtGetGammaji ( double z )
03088
03089 {
03090 double temp;
03091
03092 temp = 2+((2.0*z)/(1-z))*log(z);
03093 temp = -1.0*temp;
03094
03095 return temp;
03096
03097 }
03098
03099
03100
03101 double EvtISGW2FF::EvtGetas ( double massq, double massx )
03102 {
03103 double lqcd2 = 0.04;
03104 double nflav = 4;
03105 double temp = 0.6;
03106
03107 if ( massx > 0.6 ) {
03108 if ( massq < 1.85 ) {
03109 nflav = 3.0;}
03110
03111 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
03112 log( massx*massx/lqcd2);
03113 }
03114 return temp;
03115
03116 }
03117
03118 double EvtISGW2FF::EvtGetas ( double mass )
03119
03120 {
03121 double lqcd2 = 0.04;
03122 double nflav = 4;
03123 double temp = 0.6;
03124
03125 if ( mass > 0.6 ) {
03126 if ( mass < 1.85 ) {
03127 nflav = 3.0;}
03128
03129 temp = 12.0*EvtConst::pi / ( 33.0 - 2.0*nflav) /
03130 log( mass*mass/lqcd2);
03131 }
03132 return temp;
03133
03134 }
03135
03136
03137 void EvtISGW2FF::getbaryonff(EvtId, EvtId, double, double, double*,
03138 double*, double*, double*){
03139
03140 report(ERROR,"EvtGen") << "Not implemented :getbaryonff in EvtISGW2FF.\n";
03141
03142 ::abort();
03143
03144 }
03145