/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtISGW2.cc

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Environment:
00004 //      This software is part of the EvtGen package developed jointly
00005 //      for the BaBar and CLEO collaborations.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information: See EvtGen/COPYRIGHT
00009 //      Copyright (C) 1998      Caltech, UCSB
00010 //
00011 // Module: EvtISGW2.cc
00012 //
00013 // Description: Routine to implement semileptonic decays according
00014 //              to the model ISGW2
00015 //
00016 // Modification history:
00017 //
00018 //    DJL/RYD     September 25, 1996         Module created
00019 //
00020 //------------------------------------------------------------------------
00021 // 
00022 #include "EvtGenBase/EvtPatches.hh"
00023 #include <stdlib.h>
00024 #include "EvtGenBase/EvtParticle.hh"
00025 #include "EvtGenBase/EvtGenKine.hh"
00026 #include "EvtGenBase/EvtPDL.hh"
00027 #include "EvtGenBase/EvtReport.hh"
00028 #include "EvtGenModels/EvtISGW2.hh"
00029 #include "EvtGenBase/EvtConst.hh"
00030 #include "EvtGenBase/EvtIdSet.hh"
00031 #include <string>
00032 #include "EvtGenModels/EvtISGW2FF.hh"
00033 #include "EvtGenBase/EvtSemiLeptonicScalarAmp.hh"
00034 #include "EvtGenBase/EvtSemiLeptonicVectorAmp.hh"
00035 #include "EvtGenBase/EvtSemiLeptonicTensorAmp.hh"
00036 
00037 EvtISGW2::EvtISGW2():
00038    isgw2ffmodel(0)
00039   ,calcamp(0)
00040 {}
00041 
00042 
00043 EvtISGW2::~EvtISGW2() {
00044   delete isgw2ffmodel;
00045   isgw2ffmodel=0;
00046   delete calcamp;
00047   calcamp=0;
00048 }
00049 
00050 void EvtISGW2::getName(std::string& model_name){
00051 
00052   model_name="ISGW2";     
00053 
00054 }
00055 
00056 
00057 
00058 EvtDecayBase* EvtISGW2::clone(){
00059 
00060   return new EvtISGW2;
00061 
00062 }
00063 
00064 void EvtISGW2::decay( EvtParticle *p ){
00065 
00066   p->initializePhaseSpace(getNDaug(),getDaugs());
00067 
00068   calcamp->CalcAmp(p,_amp2,isgw2ffmodel);
00069 
00070 }
00071 
00072 void EvtISGW2::initProbMax() {
00073 
00074   //added by Lange Jan4,2000
00075   static EvtId EM=EvtPDL::getId("e-");
00076   static EvtId EP=EvtPDL::getId("e+");
00077   static EvtId MUM=EvtPDL::getId("mu-");
00078   static EvtId MUP=EvtPDL::getId("mu+");
00079   static EvtId TAUM=EvtPDL::getId("tau-");
00080   static EvtId TAUP=EvtPDL::getId("tau+");
00081 
00082   static EvtId BP=EvtPDL::getId("B+");
00083   static EvtId BM=EvtPDL::getId("B-");
00084   static EvtId B0=EvtPDL::getId("B0");
00085   static EvtId B0B=EvtPDL::getId("anti-B0");
00086   static EvtId BS0=EvtPDL::getId("B_s0");
00087   static EvtId BSB=EvtPDL::getId("anti-B_s0");
00088   static EvtId BCP=EvtPDL::getId("B_c+");
00089   static EvtId BCM=EvtPDL::getId("B_c-");
00090 
00091   static EvtId DST0=EvtPDL::getId("D*0");
00092   static EvtId DSTB=EvtPDL::getId("anti-D*0");
00093   static EvtId DSTP=EvtPDL::getId("D*+");
00094   static EvtId DSTM=EvtPDL::getId("D*-");
00095   static EvtId D0=EvtPDL::getId("D0");
00096   static EvtId D0B=EvtPDL::getId("anti-D0");
00097   static EvtId DP=EvtPDL::getId("D+");
00098   static EvtId DM=EvtPDL::getId("D-");
00099 
00100   static EvtId D1P1P=EvtPDL::getId("D_1+");
00101   static EvtId D1P1N=EvtPDL::getId("D_1-");
00102   static EvtId D1P10=EvtPDL::getId("D_10");
00103   static EvtId D1P1B=EvtPDL::getId("anti-D_10");
00104 
00105   static EvtId D3P2P=EvtPDL::getId("D_2*+");
00106   static EvtId D3P2N=EvtPDL::getId("D_2*-");
00107   static EvtId D3P20=EvtPDL::getId("D_2*0");
00108   static EvtId D3P2B=EvtPDL::getId("anti-D_2*0");
00109 
00110   static EvtId D3P1P=EvtPDL::getId("D'_1+");
00111   static EvtId D3P1N=EvtPDL::getId("D'_1-");
00112   static EvtId D3P10=EvtPDL::getId("D'_10");
00113   static EvtId D3P1B=EvtPDL::getId("anti-D'_10");
00114 
00115   static EvtId D3P0P=EvtPDL::getId("D_0*+");
00116   static EvtId D3P0N=EvtPDL::getId("D_0*-");
00117   static EvtId D3P00=EvtPDL::getId("D_0*0");
00118   static EvtId D3P0B=EvtPDL::getId("anti-D_0*0");
00119 
00120   static EvtId D21S0P=EvtPDL::getId("D(2S)+");
00121   static EvtId D21S0N=EvtPDL::getId("D(2S)-");
00122   static EvtId D21S00=EvtPDL::getId("D(2S)0");
00123   static EvtId D21S0B=EvtPDL::getId("anti-D(2S)0");
00124 
00125   static EvtId D23S1P=EvtPDL::getId("D*(2S)+");
00126   static EvtId D23S1N=EvtPDL::getId("D*(2S)-");
00127   static EvtId D23S10=EvtPDL::getId("D*(2S)0");
00128   static EvtId D23S1B=EvtPDL::getId("anti-D*(2S)0");
00129 
00130   static EvtId RHO2S0=EvtPDL::getId("rho(2S)0");
00131   static EvtId RHO2SP=EvtPDL::getId("rho(2S)+");
00132   static EvtId RHO2SM=EvtPDL::getId("rho(2S)-");
00133   static EvtId OMEG2S=EvtPDL::getId("omega(2S)");
00134   static EvtId ETA2S=EvtPDL::getId("eta(2S)");
00135 
00136   static EvtId PI2S0=EvtPDL::getId("pi(2S)0");
00137   static EvtId PI2SP=EvtPDL::getId("pi(2S)+");
00138   static EvtId PI2SM=EvtPDL::getId("pi(2S)-");
00139 
00140   static EvtId PIP=EvtPDL::getId("pi+");
00141   static EvtId PIM=EvtPDL::getId("pi-");
00142   static EvtId PI0=EvtPDL::getId("pi0");
00143 
00144   static EvtId RHOP=EvtPDL::getId("rho+");
00145   static EvtId RHOM=EvtPDL::getId("rho-");
00146   static EvtId RHO0=EvtPDL::getId("rho0");
00147 
00148   static EvtId A2P=EvtPDL::getId("a_2+");
00149   static EvtId A2M=EvtPDL::getId("a_2-");
00150   static EvtId A20=EvtPDL::getId("a_20");
00151 
00152   static EvtId A1P=EvtPDL::getId("a_1+");
00153   static EvtId A1M=EvtPDL::getId("a_1-");
00154   static EvtId A10=EvtPDL::getId("a_10");
00155 
00156   static EvtId A0P=EvtPDL::getId("a_0+");
00157   static EvtId A0M=EvtPDL::getId("a_0-");
00158   static EvtId A00=EvtPDL::getId("a_00");
00159 
00160   static EvtId B1P=EvtPDL::getId("b_1+");
00161   static EvtId B1M=EvtPDL::getId("b_1-");
00162   static EvtId B10=EvtPDL::getId("b_10");
00163 
00164   static EvtId H1=EvtPDL::getId("h_1");
00165   static EvtId H1PR=EvtPDL::getId("h'_1");
00166 
00167   static EvtId F1=EvtPDL::getId("f_1");
00168   static EvtId F1PR=EvtPDL::getId("f'_1");
00169   static EvtId F0=EvtPDL::getId("f_0");
00170   static EvtId F0PR=EvtPDL::getId("f'_0");
00171   static EvtId F2=EvtPDL::getId("f_2");
00172   static EvtId F2PR=EvtPDL::getId("f'_2");
00173 
00174   static EvtId ETA=EvtPDL::getId("eta");
00175   static EvtId ETAPR=EvtPDL::getId("eta'");
00176   static EvtId OMEG=EvtPDL::getId("omega");
00177 
00178   static EvtId KP=EvtPDL::getId("K+");
00179   static EvtId KM=EvtPDL::getId("K-");
00180   static EvtId K0=EvtPDL::getId("K0");
00181   static EvtId KB=EvtPDL::getId("anti-K0");
00182   static EvtId K0S=EvtPDL::getId("K_S0");
00183   static EvtId K0L=EvtPDL::getId("K_L0");
00184 
00185   static EvtId KSTP=EvtPDL::getId("K*+");
00186   static EvtId KSTM=EvtPDL::getId("K*-");
00187   static EvtId KST0=EvtPDL::getId("K*0");
00188   static EvtId KSTB=EvtPDL::getId("anti-K*0");
00189 
00190   static EvtId K1P=EvtPDL::getId("K_1+");
00191   static EvtId K1M=EvtPDL::getId("K_1-");
00192   static EvtId K10=EvtPDL::getId("K_10");
00193   static EvtId K1B=EvtPDL::getId("anti-K_10");
00194 
00195   static EvtId K1STP=EvtPDL::getId("K'_1+");
00196   static EvtId K1STM=EvtPDL::getId("K'_1-");
00197   static EvtId K1ST0=EvtPDL::getId("K'_10");
00198   static EvtId K1STB=EvtPDL::getId("anti-K'_10");
00199 
00200   static EvtId K2STP=EvtPDL::getId("K_2*+");
00201   static EvtId K2STM=EvtPDL::getId("K_2*-");
00202   static EvtId K2ST0=EvtPDL::getId("K_2*0");
00203   static EvtId K2STB=EvtPDL::getId("anti-K_2*0");
00204 
00205   static EvtId K0STP=EvtPDL::getId("K_0*+");
00206   static EvtId K0STM=EvtPDL::getId("K_0*-");
00207   static EvtId K0ST0=EvtPDL::getId("K_0*0");
00208   static EvtId K0STB=EvtPDL::getId("anti-K_0*0");
00209 
00210   static EvtId PHI=EvtPDL::getId("phi");
00211   static EvtId DSP=EvtPDL::getId("D_s+");
00212   static EvtId DSM=EvtPDL::getId("D_s-");
00213 
00214   static EvtId DSSTP=EvtPDL::getId("D_s*+");
00215   static EvtId DSSTM=EvtPDL::getId("D_s*-");
00216   static EvtId DS1P=EvtPDL::getId("D_s1+");
00217   static EvtId DS1M=EvtPDL::getId("D_s1-");
00218   static EvtId DS0STP=EvtPDL::getId("D_s0*+");
00219   static EvtId DS0STM=EvtPDL::getId("D_s0*-");
00220   static EvtId DPS1P=EvtPDL::getId("D'_s1+");
00221   static EvtId DPS1M=EvtPDL::getId("D'_s1-");
00222   static EvtId DS2STP=EvtPDL::getId("D_s2*+");
00223   static EvtId DS2STM=EvtPDL::getId("D_s2*-");
00224 
00225 EvtId parnum,mesnum,lnum;
00226 
00227 parnum = getParentId();
00228 mesnum = getDaug(0);
00229 lnum = getDaug(1);
00230 
00231 
00232 if ( parnum==BP||parnum==BM||parnum==B0||parnum==B0B||parnum==BS0||parnum==BSB ) {
00233 
00234  
00235   if ( mesnum==DST0||mesnum==DSTP||mesnum==DSTB||mesnum==DSTM||mesnum==DSSTP||mesnum==DSSTM) {
00236 
00237     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00238        setProbMax(10000.0);
00239        return;
00240     }
00241     if ( lnum==TAUP||lnum==TAUM ) {
00242        setProbMax(7000.0);
00243        return;
00244     }
00245   }
00246 
00247  
00248   if ( mesnum==D0||mesnum==DP||mesnum==D0B||mesnum==DM||mesnum==DSP||mesnum==DSM) {
00249 
00250     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00251        setProbMax(4000.0);
00252        return;
00253     }
00254     if ( lnum==TAUP||lnum==TAUM ) {
00255        setProbMax(3500.0);
00256        return;
00257     }
00258   }
00259 
00260 
00261   if ( mesnum==D1P1P||mesnum==D1P1N||mesnum==D1P10||mesnum==D1P1B||mesnum==DS1P||mesnum==DS1M) {
00262     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00263       setProbMax(1300.0);
00264        return;
00265     }
00266     if ( lnum==TAUP||lnum==TAUM ) {
00267       setProbMax(480.0);
00268        return;
00269     }
00270   }
00271 
00272   if ( mesnum==D3P1P||mesnum==D3P1N||mesnum==D3P10||mesnum==D3P1B||mesnum==DS0STP||mesnum==DS0STM) {
00273 
00274     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00275        setProbMax(450.0);
00276        return;
00277     }
00278     if ( lnum==TAUP||lnum==TAUM ) {
00279       setProbMax(73.0);//???
00280        return;
00281     }
00282   }
00283 
00284   if ( mesnum==D3P0P||mesnum==D3P0N||mesnum==D3P00||mesnum==D3P0B||mesnum==DPS1P||mesnum==DPS1M) {
00285 
00286     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00287       setProbMax(200.0);
00288        return;
00289     }
00290     if ( lnum==TAUP||lnum==TAUM ) {
00291       setProbMax(90.0);
00292        return;
00293     }
00294   }
00295   if ( mesnum==D3P2P||mesnum==D3P2N||mesnum==D3P20||mesnum==D3P2B||mesnum==DS2STP||mesnum==DS2STM) {
00296 
00297     if ( mesnum==DS2STP|| mesnum==DS2STM) {
00298       setProbMax(550.0);
00299       return;
00300     }
00301     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00302        setProbMax(400.0);
00303        return;
00304     }
00305     if ( lnum==TAUP||lnum==TAUM ) {
00306        setProbMax(220.0);
00307        return;
00308     }
00309   }
00310 
00311   if ( mesnum==D21S0P||mesnum==D21S0N||mesnum==D21S00||mesnum==D21S0B) {
00312 
00313     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00314        setProbMax(16.0);
00315        return;
00316     }
00317     if ( lnum==TAUP||lnum==TAUM ) {
00318        setProbMax(3.0);
00319        return;
00320     }
00321   }
00322 
00323   if ( mesnum==D23S1P||mesnum==D23S1N||mesnum==D23S10||mesnum==D23S1B) {
00324 
00325     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00326        setProbMax(500.0);
00327        return;
00328     }
00329     if ( lnum==TAUP||lnum==TAUM ) {
00330        setProbMax(250.0);
00331        return;
00332     }
00333   }
00334 
00335   if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
00336 
00337     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00338        setProbMax(6500.0);
00339        return;
00340     }
00341     if ( lnum==TAUP||lnum==TAUM ) {
00342        setProbMax(6000.0);
00343        return;
00344     }
00345   }
00346 
00347   if ( mesnum==OMEG) {
00348 
00349     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00350        setProbMax(6800.0);
00351        return;
00352     }
00353     if ( lnum==TAUP||lnum==TAUM ) {
00354        setProbMax(6000.0);
00355        return;
00356     }
00357   }
00358 
00359   if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
00360 
00361     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00362        setProbMax(1200.0);
00363        return;
00364     }
00365     if ( lnum==TAUP||lnum==TAUM ) {
00366        setProbMax(1150.0);
00367        return;
00368     }
00369   }
00370 
00371   if ( mesnum==ETA) {
00372 
00373     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00374        setProbMax(1800.0);
00375        return;
00376     }
00377     if ( lnum==TAUP||lnum==TAUM ) {
00378        setProbMax(1900.0);
00379        return;
00380     }
00381   }
00382 
00383   if ( mesnum==ETAPR) {
00384 
00385     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00386        setProbMax(3000.0);
00387        return;
00388     } 
00389     if ( lnum==TAUP||lnum==TAUM ) {
00390        setProbMax(3000.0);
00391        return;
00392     }
00393   }
00394 
00395 
00396   if ( mesnum==B1P||mesnum==B1M||mesnum==B10) {
00397 
00398     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00399        setProbMax(2500.0);
00400        return;
00401     }
00402     if ( lnum==TAUP||lnum==TAUM ) {
00403        setProbMax(1700.0);
00404        return;
00405     }
00406   }
00407 
00408   if ( mesnum==A0P||mesnum==A0M||mesnum==A00) {
00409 
00410     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00411        setProbMax(80.0);
00412        return;
00413     }
00414     if ( lnum==TAUP||lnum==TAUM ) {
00415        setProbMax(62.0);
00416        return;
00417     }
00418   }
00419 
00420   if ( mesnum==A1P||mesnum==A1M||mesnum==A10) {
00421 
00422     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00423        setProbMax(4500.0);
00424        return;
00425     }
00426     if ( lnum==TAUP||lnum==TAUM ) {
00427        setProbMax(3500.0);
00428        return;
00429     }
00430   }
00431 
00432   if ( mesnum==A2P||mesnum==A2M||mesnum==A20) {
00433 
00434     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00435        setProbMax(1200.0);
00436        return;
00437     }
00438     if ( lnum==TAUP||lnum==TAUM ) {
00439        setProbMax(1000.0);
00440        return;
00441     }
00442   }
00443 
00444   if ( mesnum==H1) {
00445 
00446     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00447        setProbMax(2600.0);
00448        return;
00449     }
00450     if ( lnum==TAUP||lnum==TAUM ) {
00451        setProbMax(2900.0);
00452        return;
00453     }
00454   }
00455 
00456   if ( mesnum==H1PR) {
00457 
00458     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00459        setProbMax(1400.0);
00460        return;
00461     }
00462     if ( lnum==TAUP||lnum==TAUM ) {
00463        setProbMax(1500.0);
00464        return;
00465     }
00466   }
00467 
00468   if ( mesnum==F2) {
00469 
00470     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00471        setProbMax(1100.0);
00472        return;
00473     }
00474     if ( lnum==TAUP||lnum==TAUM ) {
00475        setProbMax(1100.0);
00476        return;
00477     }
00478   }
00479 
00480   if ( mesnum==F2PR) {
00481 
00482     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00483        setProbMax(804.0);
00484        return;
00485     }
00486     if ( lnum==TAUP||lnum==TAUM ) {
00487        setProbMax(600.0);
00488        return;
00489     }
00490   }
00491 
00492   if ( mesnum==F1) {
00493 
00494     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00495        setProbMax(2500.0);
00496        return;
00497     }
00498     if ( lnum==TAUP||lnum==TAUM ) {
00499        setProbMax(2000.0) ;
00500        return;
00501     }
00502   }
00503 
00504   if ( mesnum==F1PR) {
00505 
00506     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00507        setProbMax(2400.0);
00508        return;
00509     }
00510     if ( lnum==TAUP||lnum==TAUM ) {
00511        setProbMax(1700.0);
00512        return;
00513     }
00514   }
00515 
00516   if ( mesnum==F0) {
00517 
00518     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00519        setProbMax( 80.0);
00520        return;
00521     }
00522     if ( lnum==TAUP||lnum==TAUM ) {
00523        setProbMax(63.0);
00524        return;
00525     }
00526   }
00527 
00528   if ( mesnum==F0PR) {
00529 
00530     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00531        setProbMax(120.0);
00532        return;
00533     }
00534     if ( lnum==TAUP||lnum==TAUM ) {
00535        setProbMax(120.0);
00536        return;
00537     }
00538   }
00539 
00540 
00541   if ( mesnum==RHO2SP||mesnum==RHO2SM||mesnum==RHO2S0) {
00542 
00543     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00544        setProbMax( 2400.0);
00545        return;
00546     }
00547     if ( lnum==TAUP||lnum==TAUM ) {
00548        setProbMax(2000.0);
00549        return;
00550     }
00551   }
00552 
00553   if ( mesnum==OMEG2S) {
00554 
00555     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00556        setProbMax(1600.0);
00557        return;
00558     }
00559     if ( lnum==TAUP||lnum==TAUM ) {
00560        setProbMax(1400.0) ;
00561        return;
00562     }
00563   }
00564 
00565   if ( mesnum==PI2SP||mesnum==PI2SM||mesnum==PI2S0) {
00566 
00567     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00568        setProbMax( 500.0);
00569        return;
00570     }
00571     if ( lnum==TAUP||lnum==TAUM ) {
00572        setProbMax(300.0);
00573        return;
00574     }
00575   }
00576 
00577   if ( mesnum==ETA2S) {
00578 
00579     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00580        setProbMax(344.0);
00581        return;
00582     }
00583     if ( lnum==TAUP||lnum==TAUM ) {
00584        setProbMax(300.0);
00585        return;
00586     }
00587   }
00588 
00589   if ( mesnum==KP||mesnum==KM||
00590        mesnum==K1P||mesnum==K1M||mesnum==K1STP||mesnum==K1STM) {
00591 
00592     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00593       setProbMax(2000.0);
00594       return;
00595     }
00596     if ( lnum==TAUP||lnum==TAUM ) {
00597       setProbMax(1000.0);
00598       return;
00599     }
00600   }
00601 
00602   if ( mesnum==KSTP||mesnum==KSTM ) {
00603 
00604     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00605       setProbMax(10000.0);
00606       return;
00607     }
00608     if ( lnum==TAUP||lnum==TAUM ) {
00609       setProbMax(7000.0);
00610       return;
00611     }
00612   }
00613 
00614 
00615 }
00616 
00617 if ( parnum==D0||parnum==DP||parnum==DM||parnum==D0B ) {
00618 
00619 
00620   if ( mesnum==RHOP||mesnum==RHOM||mesnum==RHO0) {
00621 
00622     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00623        setProbMax(110.0);
00624        return;
00625     }
00626   }
00627 
00628   if ( mesnum==OMEG) {
00629 
00630     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00631        setProbMax(75.0);
00632        return;
00633     }
00634   }
00635 
00636   if ( mesnum==PIP||mesnum==PIM||mesnum==PI0) {
00637 
00638     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00639        setProbMax(40.0);
00640        return;
00641     }
00642   }
00643 
00644   if ( mesnum==ETA) {
00645 
00646     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00647        setProbMax( 65.0);
00648        return;
00649     }
00650   }
00651 
00652   if ( mesnum==ETAPR) {
00653 
00654     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00655        setProbMax( 60.0);
00656        return;
00657     }
00658   }
00659 
00660   if ( mesnum==KP||mesnum==KM||mesnum==K0||
00661        mesnum==K0S||mesnum==K0L||mesnum==KB) {
00662 
00663     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00664        setProbMax( 70.0);
00665        return;
00666     }
00667   }
00668 
00669   if ( mesnum==K1STP||mesnum==K1STM||mesnum==K1ST0||mesnum==K1STB) {
00670 
00671     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00672        setProbMax( 3.3);
00673        return;
00674     }
00675   }
00676 
00677   if ( mesnum==K1P||mesnum==K1M||mesnum==K10||mesnum==K1B) {
00678 
00679     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00680        setProbMax( 100.0);
00681        return;
00682     }
00683   }
00684 
00685   if ( mesnum==KSTP||mesnum==KSTM||mesnum==KST0||mesnum==KSTB) {
00686 
00687     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00688        setProbMax( 135.0);
00689        return;
00690     }
00691   }
00692 
00693   if ( mesnum==K2STP||mesnum==K2STM||mesnum==K2ST0||mesnum==K2STB) {
00694 
00695     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00696       //Lange - Oct 26,2001 - increasing from 0.75 to 
00697       //accomodate
00698       setProbMax( 9.0);
00699       // setProbMax( 0.75);
00700        return;
00701     }
00702   }
00703 
00704   if ( mesnum==F0) {
00705     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00706       setProbMax(1.0);
00707       return;
00708     }
00709   }
00710 
00711 }
00712 
00713 if ( parnum==DSP||parnum==DSM ) {
00714 
00715 
00716   if ( mesnum==PHI ) {
00717 
00718     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00719        setProbMax( 90.0 );
00720        return;
00721     }
00722   }
00723 
00724   if ( mesnum==ETA ) {
00725 
00726     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00727       setProbMax( 75.0 );
00728        return;
00729     }
00730   }
00731 
00732   if ( mesnum==ETAPR ) {
00733 
00734     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00735       setProbMax( 80.0) ;
00736        return;
00737     }
00738   }
00739 
00740   if ( mesnum==KST0||mesnum==KSTB ) {
00741 
00742     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00743       setProbMax( 100.0) ;
00744        return;  
00745     }
00746   }
00747 
00748 
00749   if ( mesnum==K0 || mesnum==KB || mesnum==K0S || mesnum==K0L ) {
00750 
00751     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00752        setProbMax( 45.0 );
00753        return;
00754     }
00755   }
00756 
00757   if ( mesnum==F0) {
00758     if ( lnum==EP||lnum==EM||lnum==MUP||lnum==MUM ) {
00759       setProbMax(1.0);
00760       return;
00761     }
00762   }
00763 
00764 
00765 }
00766 
00767  if ( parnum==BCP||parnum==BCM ) {
00768    setProbMax(1000.0 );
00769    return;
00770  }
00771 
00772 
00773 
00774 //This is a real cludge.. (ryd)
00775  setProbMax(0.0);
00776 
00777 }
00778 
00779 void EvtISGW2::init(){
00780 
00781   checkNArg(0);
00782   checkNDaug(3);
00783 
00784   //We expect the parent to be a scalar 
00785   //and the daughters to be X lepton neutrino
00786 
00787   checkSpinParent(EvtSpinType::SCALAR);
00788   checkSpinDaughter(1,EvtSpinType::DIRAC);
00789   checkSpinDaughter(2,EvtSpinType::NEUTRINO);
00790 
00791   EvtSpinType::spintype mesontype=EvtPDL::getSpinType(getDaug(0));
00792 
00793   isgw2ffmodel = new EvtISGW2FF;
00794   
00795   if ( mesontype==EvtSpinType::SCALAR ) { 
00796     calcamp = new EvtSemiLeptonicScalarAmp; 
00797   }
00798   if ( mesontype==EvtSpinType::VECTOR ) { 
00799     calcamp = new EvtSemiLeptonicVectorAmp; 
00800   }
00801   if ( mesontype==EvtSpinType::TENSOR ) { 
00802     calcamp = new EvtSemiLeptonicTensorAmp; 
00803   }
00804   
00805 }
00806 
00807 
00808 
00809 
00810 
00811 
00812 

Generated on Tue Nov 29 23:12:18 2016 for BOSS_7.0.2 by  doxygen 1.4.7