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: EvtModel.cc 00012 // 00013 // Description: 00014 // 00015 // Modification history: 00016 // 00017 // RYD September 25, 1996 Module created 00018 // 00019 //------------------------------------------------------------------------ 00020 // 00021 #include "EvtGenBase/EvtPatches.hh" 00022 #include <iostream> 00023 #include <iomanip> 00024 #include <fstream> 00025 #include <ctype.h> 00026 #include <stdlib.h> 00027 #include <assert.h> 00028 #include "EvtGenBase/EvtModel.hh" 00029 00030 #include "EvtGenModels/EvtTauVectornu.hh" 00031 #include "EvtGenModels/EvtVVP.hh" 00032 #include "EvtGenModels/EvtSLN.hh" 00033 #include "EvtGenModels/EvtISGW2.hh" 00034 #include "EvtGenModels/EvtMelikhov.hh" 00035 #include "EvtGenModels/EvtSLPole.hh" 00036 #include "EvtGenModels/EvtISGW.hh" 00037 #include "EvtGenModels/EvtBHadronic.hh" 00038 #include "EvtGenModels/EvtVSS.hh" 00039 #include "EvtGenModels/EvtVSSMix.hh" 00040 #include "EvtGenModels/EvtVSSBMixCPT.hh" 00041 #include "EvtGenModels/EvtVSPPwave.hh" 00042 #include "EvtGenModels/EvtGoityRoberts.hh" 00043 #include "EvtGenModels/EvtSVS.hh" 00044 #include "EvtGenModels/EvtTSS.hh" 00045 #include "EvtGenModels/EvtTVSPwave.hh" 00046 #include "EvtGenModels/EvtSVVHelAmp.hh" 00047 #include "EvtGenModels/EvtSVPHelAmp.hh" 00048 #include "EvtGenModels/EvtSVPCP.hh" 00049 #include "EvtGenModels/EvtVVSPwave.hh" 00050 #include "EvtGenModels/EvtDDalitz.hh" 00051 #include "EvtGenModels/EvtOmegaDalitz.hh" 00052 #include "EvtGenModels/EvtPi0Dalitz.hh" 00053 #include "EvtGenModels/EvtEtaDalitz.hh" 00054 #include "EvtGenModels/EvtPhsp.hh" 00055 #include "EvtGenModels/EvtCalHelAmp.hh" 00056 #include "EvtGenModels/EvtRexc.hh" 00057 #include "EvtGenModels/EvtConExc.hh" 00058 #include "EvtGenModels/EvtBtoXsgamma.hh" 00059 #include "EvtGenModels/EvtBtoXsll.hh" 00060 #include "EvtGenModels/EvtBtoXsEtap.hh" 00061 #include "EvtGenModels/EvtSSSCP.hh" 00062 #include "EvtGenModels/EvtSSSCPpng.hh" 00063 #include "EvtGenModels/EvtSTSCP.hh" 00064 #include "EvtGenModels/EvtSTS.hh" 00065 #include "EvtGenModels/EvtSSSCPT.hh" 00066 #include "EvtGenModels/EvtSVSCP.hh" 00067 #include "EvtGenModels/EvtSSDCP.hh" 00068 #include "EvtGenModels/EvtSVSNONCPEIGEN.hh" 00069 #include "EvtGenModels/EvtSVVNONCPEIGEN.hh" 00070 #include "EvtGenModels/EvtSVVCP.hh" 00071 #include "EvtGenModels/EvtSVVCPLH.hh" 00072 #include "EvtGenModels/EvtSVSCPLH.hh" 00073 #include "EvtGenModels/EvtSll.hh" 00074 #include "EvtGenModels/EvtVll.hh" 00075 #include "EvtGenModels/EvtEDM.hh" 00076 #include "EvtGenModels/EvtTaulnunu.hh" 00077 #include "EvtGenModels/EvtTauHadnu.hh" 00078 #include "EvtGenModels/EvtTauScalarnu.hh" 00079 #include "EvtGenModels/EvtKstarnunu.hh" 00080 #include "EvtGenModels/EvtbTosllBall.hh" 00081 #include "EvtGenModels/EvtSingleParticle.hh" 00082 #include "EvtGenModels/EvtSingleParticle2.hh" 00083 #include "EvtGenModels/EvtSinglePoint.hh" 00084 #include "EvtGenModels/EvtVectorIsr.hh" 00085 #include "EvtGenModels/EvtVPHOtoVISRHi.hh" 00086 #include "EvtGenModels/EvtVPHOtoVISR.hh" 00087 #include "EvtGenModels/EvtSLBKPole.hh" 00088 00089 #include "EvtGenModels/EvtHQET.hh" 00090 #include "EvtGenModels/EvtHQET2.hh" 00091 #include "EvtGenBase/EvtParticle.hh" 00092 #include "EvtGenBase/EvtPDL.hh" 00093 #include "EvtGenModels/EvtHelAmp.hh" 00094 #include "EvtGenModels/EvtPartWave.hh" 00095 00096 #include "EvtGenModels/EvtBto2piCPiso.hh" 00097 #include "EvtGenModels/EvtBtoKpiCPiso.hh" 00098 #include "EvtGenModels/EvtSVSCPiso.hh" 00099 #include "EvtGenModels/EvtVVpipi.hh" 00100 #include "EvtGenModels/EvtVVPIPI_WEIGHTED.hh" 00101 00102 #include "EvtGenModels/EvtBTo4piCP.hh" 00103 #include "EvtGenModels/EvtBTo3piCP.hh" 00104 #include "EvtGenModels/EvtCBTo3piP00.hh" 00105 #include "EvtGenModels/EvtCBTo3piMPP.hh" 00106 #include "EvtGenModels/EvtBToKpipiCP.hh" 00107 #include "EvtGenModels/EvtBsquark.hh" 00108 #include "EvtGenModels/EvtPhiDalitz.hh" 00109 00110 #include "EvtGenModels/EvtLNuGamma.hh" 00111 00112 #include "EvtGenModels/EvtVub.hh" 00113 #include "EvtGenModels/EvtVubHybrid.hh" 00114 #include "EvtGenModels/EvtVubNLO.hh" 00115 #include "EvtGenModels/EvtPto3P.hh" 00116 #include "EvtGenModels/EvtBtoKD3P.hh" 00117 #include "EvtGenModels/EvtKstarstargamma.hh" 00118 #include "EvtGenModels/EvtFlatQ2.hh" 00119 #include "EvtGenModels/EvtLambdaP_BarGamma.hh" 00120 #include "EvtGenModels/EvtKKLambdaC.hh" 00121 #include "EvtGenModels/EvtMultibody.hh" 00122 #include "EvtGenModels/EvtJpipi.hh" 00123 #include "EvtGenModels/EvtAngSam.hh" 00124 #include "EvtGenModels/EvtAngSam3.hh" 00125 #include "EvtGenModels/EvtAngSamX.hh" 00126 #include "EvtGenModels/EvtAngSamLab.hh" 00127 #include "EvtGenModels/EvtS2GV.hh" 00128 #include "EvtGenModels/EvtAV2GV.hh" 00129 #include "EvtGenModels/EvtJ2BB1.hh" 00130 #include "EvtGenModels/EvtJ2BB2.hh" 00131 #include "EvtGenModels/EvtJ2BB3.hh" 00132 #include "EvtGenModels/EvtChi0BB1.hh" 00133 #include "EvtGenModels/EvtChi1BB1.hh" 00134 #include "EvtGenModels/EvtChi2BB1.hh" 00135 #include "EvtGenModels/EvtChi0BB2.hh" 00136 #include "EvtGenModels/EvtChi1BB2.hh" 00137 #include "EvtGenModels/EvtChi2BB2.hh" 00138 00139 #include "EvtGenModels/EvtHypWK.hh" //BES , 2007 00140 #include "EvtGenModels/EvtTauGamMu.hh" 00141 #include "EvtGenModels/EvtHypNonLepton.hh" //from CLEO 2009-04 00142 #include "EvtGenModels/EvtDeBD.hh" 00143 #include "EvtGenModels/EvtT2GV.hh" 00144 #include "EvtGenModels/EvtP2GC0.hh" 00145 #include "EvtGenModels/EvtP2GC1.hh" 00146 #include "EvtGenModels/EvtP2GC2.hh" 00147 #include "EvtGenModels/EvtDIY.hh" 00148 #include "EvtGenModels/EvtRhoPi.hh" 00149 #include "EvtGenModels/EvtHAngSam3.hh" 00150 #include "EvtGenModels/EvtAngH2.hh" 00151 #include "EvtGenModels/EvtMassH1.hh" 00152 #include "EvtGenModels/EvtMassH2.hh" 00153 #include "EvtGenModels/EvtmH2.hh" 00154 #include "EvtGenModels/EvtBody3.hh" 00155 #include "EvtGenModels/EvtMBody3.hh" 00156 #include "EvtGenModels/EvtJPE.hh" 00157 #include "EvtGenModels/EvtPBB1.hh" 00158 #include "EvtGenModels/EvtPBB2.hh" 00159 #include "EvtGenModels/EvtSPL.hh" 00160 #include "EvtGenModels/EvtHelPPJ.hh" 00161 #include "EvtGenModels/EvtLundCharm.hh" 00162 #include "EvtGenModels/EvtLunda.hh" 00163 #include "EvtGenModels/EvtPhokhara.hh" 00164 #include "EvtGenModels/EvtPhokhara_pipi.hh" 00165 #include "EvtGenModels/EvtPhokhara_pi0pi0pipi.hh" 00166 #include "EvtGenModels/EvtPhokhara_4pi.hh" 00167 #include "EvtGenModels/EvtPhokhara_ppbar.hh" 00168 #include "EvtGenModels/EvtPhokhara_nnbar.hh" 00169 #include "EvtGenModels/EvtPhokhara_KK.hh" 00170 #include "EvtGenModels/EvtPhokhara_K0K0.hh" 00171 #include "EvtGenModels/EvtPhokhara_pipipi0.hh" 00172 #include "EvtGenModels/EvtPhokhara_LLB.hh" 00173 #include "EvtGenModels/EvtTauola.hh" 00174 #include "EvtGenModels/EvtOpenCharm.hh" 00175 #include "EvtGenModels/EvtmPhsp.hh" 00176 #include "EvtGenModels/EvtLambdac2pKpi.hh" 00177 #include "EvtGenModels/EvtTrackGen.hh" 00178 #include "EvtGenModels/EvtJTO3P.hh" 00179 #include "EvtGenModels/EvtDMix.hh" 00180 #include "EvtGenModels/EvtD0mixDalitz.hh" 00181 00182 #ifndef EVTSTANDALONE 00183 #include "EvtGenModels/EvtUclaII.hh" 00184 #include "EvtGenModels/EvtJetSet.hh" 00185 #include "EvtGenModels/EvtJscont.hh" 00186 #else 00187 #include "EvtGenModels/EvtPythia.hh" 00188 #include "EvtGenModels/EvtPyGaGa.hh" 00189 #include "EvtGenModels/EvtPycont.hh" 00190 #endif 00191 00192 #include "EvtGenModels/EvtModelReg.hh" 00193 using std::fstream; 00194 using std::cout; 00195 using std::endl; 00196 00197 EvtModelReg::EvtModelReg() 00198 { 00199 EvtModel &modelist=EvtModel::instance(); 00200 00201 modelist.Register(new EvtLambdaP_BarGamma); 00202 modelist.Register(new EvtFlatQ2); 00203 modelist.Register(new EvtTauHadnu); 00204 modelist.Register(new EvtTauVectornu); 00205 modelist.Register(new EvtVVP); 00206 modelist.Register(new EvtSLN); 00207 modelist.Register(new EvtISGW2); 00208 modelist.Register(new EvtMelikhov); 00209 modelist.Register(new EvtSLPole); 00210 modelist.Register(new EvtHQET); 00211 modelist.Register(new EvtHQET2); 00212 modelist.Register(new EvtISGW); 00213 modelist.Register(new EvtBHadronic); 00214 modelist.Register(new EvtVSS); 00215 modelist.Register(new EvtVSSMix); 00216 modelist.Register(new EvtVSSBMixCPT); 00217 modelist.Register(new EvtVSPPwave); 00218 modelist.Register(new EvtGoityRoberts); 00219 modelist.Register(new EvtSVS); 00220 modelist.Register(new EvtTSS); 00221 modelist.Register(new EvtTVSPwave); 00222 modelist.Register(new EvtSVVHelAmp); 00223 modelist.Register(new EvtSVPHelAmp); 00224 modelist.Register(new EvtSVPCP); 00225 modelist.Register(new EvtVVSPwave); 00226 modelist.Register(new EvtDDalitz); 00227 modelist.Register(new EvtOmegaDalitz); 00228 modelist.Register(new EvtEtaDalitz); 00229 modelist.Register(new EvtPhsp); 00230 modelist.Register(new EvtCalHelAmp); 00231 modelist.Register(new EvtRexc); 00232 modelist.Register(new EvtLambdac2pKpi); 00233 modelist.Register(new EvtTrackGen); 00234 modelist.Register(new EvtConExc); 00235 modelist.Register(new EvtBtoXsgamma); 00236 modelist.Register(new EvtBtoXsll); 00237 modelist.Register(new EvtBtoXsEtap); 00238 modelist.Register(new EvtSSSCP); 00239 modelist.Register(new EvtSSSCPpng); 00240 modelist.Register(new EvtSTSCP); 00241 modelist.Register(new EvtSTS); 00242 modelist.Register(new EvtSSSCPT); 00243 modelist.Register(new EvtSVSCP); 00244 modelist.Register(new EvtSSDCP); 00245 modelist.Register(new EvtSVSNONCPEIGEN); 00246 modelist.Register(new EvtSVVNONCPEIGEN); 00247 modelist.Register(new EvtSVVCP); 00248 modelist.Register(new EvtSVVCPLH); 00249 modelist.Register(new EvtSVSCPLH); 00250 modelist.Register(new EvtSll); 00251 modelist.Register(new EvtVll); 00252 modelist.Register(new EvtEDM); 00253 modelist.Register(new EvtTaulnunu); 00254 modelist.Register(new EvtTauScalarnu); 00255 modelist.Register(new EvtKstarnunu); 00256 modelist.Register(new EvtbTosllBall); 00257 modelist.Register(new EvtBto2piCPiso); 00258 modelist.Register(new EvtBtoKpiCPiso); 00259 modelist.Register(new EvtSVSCPiso); 00260 modelist.Register(new EvtSingleParticle); 00261 modelist.Register(new EvtSingleParticle2); 00262 modelist.Register(new EvtSinglePoint); 00263 modelist.Register(new EvtVectorIsr); 00264 modelist.Register(new EvtVPHOtoVISRHi); 00265 modelist.Register(new EvtVPHOtoVISR); 00266 modelist.Register(new EvtSLBKPole); 00267 modelist.Register(new EvtPi0Dalitz); 00268 modelist.Register(new EvtHelAmp); 00269 modelist.Register(new EvtPartWave); 00270 modelist.Register(new EvtVVpipi); 00271 modelist.Register(new EvtVVPIPI_WEIGHTED); 00272 modelist.Register(new EvtBsquark); 00273 modelist.Register(new EvtPhiDalitz); 00274 00275 modelist.Register(new EvtBTo4piCP); 00276 modelist.Register(new EvtBTo3piCP); 00277 modelist.Register(new EvtCBTo3piP00); 00278 modelist.Register(new EvtCBTo3piMPP); 00279 modelist.Register(new EvtBToKpipiCP); 00280 00281 modelist.Register(new EvtLNuGamma); 00282 modelist.Register(new EvtKstarstargamma); 00283 00284 modelist.Register(new EvtVub); 00285 modelist.Register(new EvtVubHybrid); 00286 modelist.Register(new EvtVubNLO); 00287 modelist.Register(new EvtPto3P); 00288 modelist.Register(new EvtBtoKD3P); 00289 modelist.Register(new EvtKKLambdaC); 00290 modelist.Register(new EvtMultibody); 00291 modelist.Register(new EvtJpipi); 00292 modelist.Register(new EvtAngSam); 00293 modelist.Register(new EvtAngSamLab); 00294 modelist.Register(new EvtAngSam3); 00295 modelist.Register(new EvtAngSamX); 00296 modelist.Register(new EvtP2GC0); 00297 modelist.Register(new EvtP2GC1); 00298 modelist.Register(new EvtP2GC2); 00299 modelist.Register(new EvtDIY); 00300 modelist.Register(new EvtRhoPi); 00301 modelist.Register(new EvtHAngSam3); 00302 modelist.Register(new EvtMassH1); 00303 modelist.Register(new EvtMassH2); 00304 modelist.Register(new EvtmH2); 00305 modelist.Register(new EvtAngH2); 00306 modelist.Register(new EvtBody3); 00307 modelist.Register(new EvtMBody3); 00308 modelist.Register(new EvtJPE); 00309 modelist.Register(new EvtPBB1); 00310 modelist.Register(new EvtPBB2); 00311 modelist.Register(new EvtSPL); 00312 modelist.Register(new EvtHelPPJ); 00313 modelist.Register(new EvtS2GV); 00314 modelist.Register(new EvtAV2GV); 00315 modelist.Register(new EvtT2GV); 00316 modelist.Register(new EvtJ2BB1); 00317 modelist.Register(new EvtJ2BB2); 00318 modelist.Register(new EvtJ2BB3); 00319 modelist.Register(new EvtChi0BB1); 00320 modelist.Register(new EvtChi1BB1); 00321 modelist.Register(new EvtChi2BB1); 00322 modelist.Register(new EvtChi0BB2); 00323 modelist.Register(new EvtChi1BB2); 00324 modelist.Register(new EvtChi2BB2); 00325 modelist.Register(new EvtHypWK); 00326 modelist.Register(new EvtTauGamMu); 00327 modelist.Register(new EvtHypNonLepton); 00328 modelist.Register(new EvtDeBD); 00329 modelist.Register(new EvtLundCharm); 00330 modelist.Register(new EvtLunda); 00331 modelist.Register(new EvtPhokhara); 00332 modelist.Register(new EvtPhokhara_pipi); 00333 modelist.Register(new EvtPhokhara_pi0pi0pipi); 00334 modelist.Register(new EvtPhokhara_4pi); 00335 modelist.Register(new EvtPhokhara_ppbar); 00336 modelist.Register(new EvtPhokhara_nnbar); 00337 modelist.Register(new EvtPhokhara_KK); 00338 modelist.Register(new EvtPhokhara_K0K0); 00339 modelist.Register(new EvtPhokhara_pipipi0); 00340 modelist.Register(new EvtPhokhara_LLB); 00341 modelist.Register(new EvtTauola); 00342 modelist.Register(new EvtOpenCharm); 00343 modelist.Register(new EvtmPhsp); 00344 modelist.Register(new EvtJTO3P); 00345 modelist.Register(new EvtDMix); 00346 modelist.Register(new EvtD0mixDalitz); 00347 00348 #ifndef EVTSTANDALONE 00349 modelist.Register(new EvtUclaII); 00350 cout << "Will register EvtJetSet"<<endl; 00351 modelist.Register(new EvtJetSet); 00352 modelist.Register(new EvtJscont); 00353 #else 00354 modelist.Register(new EvtPycont); 00355 cout << "Will register EvtPythia"<<endl; 00356 modelist.Register(new EvtPythia); 00357 modelist.Register(new EvtPyGaGa); 00358 #endif 00359 00360 } 00361 00362 00363 00364 00365 00366 00367 00368