1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtModel.cc
15 // Modification history:
17 // RYD September 25, 1996 Module created
19 //------------------------------------------------------------------------
21 #include "EvtGenBase/EvtPatches.hh"
28 #include "EvtGenBase/EvtModel.hh"
30 #include "EvtGenModels/EvtTauVectornu.hh"
31 #include "EvtGenModels/EvtVVP.hh"
32 #include "EvtGenModels/EvtSLN.hh"
33 #include "EvtGenModels/EvtISGW2.hh"
34 #include "EvtGenModels/EvtMelikhov.hh"
35 #include "EvtGenModels/EvtSLPole.hh"
36 #include "EvtGenModels/EvtPropSLPole.hh"
37 #include "EvtGenModels/EvtSLBKPole.hh"
38 #include "EvtGenModels/EvtISGW.hh"
39 #include "EvtGenModels/EvtBHadronic.hh"
40 #include "EvtGenModels/EvtVSS.hh"
41 #include "EvtGenModels/EvtVSSMix.hh"
42 #include "EvtGenModels/EvtVSSBMixCPT.hh"
43 #include "EvtGenModels/EvtVSPPwave.hh"
44 #include "EvtGenModels/EvtGoityRoberts.hh"
45 #include "EvtGenModels/EvtSVS.hh"
46 #include "EvtGenModels/EvtTSS.hh"
47 #include "EvtGenModels/EvtTVSPwave.hh"
48 #include "EvtGenModels/EvtSVVHelAmp.hh"
49 #include "EvtGenModels/EvtSVPHelAmp.hh"
50 #include "EvtGenModels/EvtSVPCP.hh"
51 #include "EvtGenModels/EvtVVSPwave.hh"
52 #include "EvtGenModels/EvtDDalitz.hh"
53 #include "EvtGenModels/EvtOmegaDalitz.hh"
54 #include "EvtGenModels/EvtPi0Dalitz.hh"
55 #include "EvtGenModels/EvtEtaDalitz.hh"
56 #include "EvtGenModels/EvtPhsp.hh"
57 #include "EvtGenModels/EvtBtoXsgamma.hh"
58 #include "EvtGenModels/EvtBtoXsll.hh"
59 #include "EvtGenModels/EvtBtoXsEtap.hh"
60 #include "EvtGenModels/EvtSSSCP.hh"
61 #include "EvtGenModels/EvtSSSCPpng.hh"
62 #include "EvtGenModels/EvtSTSCP.hh"
63 #include "EvtGenModels/EvtSTS.hh"
64 #include "EvtGenModels/EvtSSSCPT.hh"
65 #include "EvtGenModels/EvtSVSCP.hh"
66 #include "EvtGenModels/EvtSSDCP.hh"
67 #include "EvtGenModels/EvtSVSNONCPEIGEN.hh"
68 #include "EvtGenModels/EvtSVVNONCPEIGEN.hh"
69 #include "EvtGenModels/EvtSVVCP.hh"
70 #include "EvtGenModels/EvtSVVCPLH.hh"
71 #include "EvtGenModels/EvtSVSCPLH.hh"
72 #include "EvtGenModels/EvtSll.hh"
73 #include "EvtGenModels/EvtVll.hh"
74 #include "EvtGenModels/EvtTaulnunu.hh"
75 #include "EvtGenModels/EvtTauHadnu.hh"
76 #include "EvtGenModels/EvtTauScalarnu.hh"
77 #include "EvtGenModels/EvtKstarnunu.hh"
78 #include "EvtGenModels/EvtbTosllBall.hh"
79 #include "EvtGenModels/EvtSingleParticle.hh"
80 #include "EvtGenModels/EvtVectorIsr.hh"
81 #include "EvtGenModels/EvtBToPlnuBK.hh"
82 #include "EvtGenModels/EvtBToVlnuBall.hh"
84 #include "EvtGenModels/EvtSVVHelCPMix.hh"
85 #include "EvtGenModels/EvtLb2Lll.hh"
86 #include "EvtGenModels/EvtHypNonLepton.hh"
88 #include "EvtGenModels/EvtbTosllAli.hh"
89 //#include "EvtGenModels/EvtBToDDalitzCPK.hh"
90 //#include "EvtGenModels/EvtPVVCPLH.hh"
91 //#include "EvtGenModels/EvtLambdaB2LambdaV.hh"
92 //#include "EvtGenModels/EvtSSD_DirectCP.hh"
94 #include "EvtGenModels/EvtHQET.hh"
95 #include "EvtGenModels/EvtHQET2.hh"
96 #include "EvtGenBase/EvtParticle.hh"
97 #include "EvtGenBase/EvtPDL.hh"
98 #include "EvtGenModels/EvtHelAmp.hh"
99 #include "EvtGenModels/EvtPartWave.hh"
101 #include "EvtGenModels/EvtBto2piCPiso.hh"
102 #include "EvtGenModels/EvtBtoKpiCPiso.hh"
103 #include "EvtGenModels/EvtSVSCPiso.hh"
104 #include "EvtGenModels/EvtVVpipi.hh"
105 #include "EvtGenModels/EvtY3SToY1SpipiMoxhay.hh"
106 #include "EvtGenModels/EvtYmSToYnSpipiCLEO.hh"
107 #include "EvtGenModels/EvtVVPIPI_WEIGHTED.hh"
108 #include "EvtGenModels/EvtVPHOtoVISRHi.hh"
110 #include "EvtGenModels/EvtBTo4piCP.hh"
111 #include "EvtGenModels/EvtBTo3piCP.hh"
112 #include "EvtGenModels/EvtCBTo3piP00.hh"
113 #include "EvtGenModels/EvtCBTo3piMPP.hh"
114 #include "EvtGenModels/EvtBToKpipiCP.hh"
115 #include "EvtGenModels/EvtBsquark.hh"
116 #include "EvtGenModels/EvtPhiDalitz.hh"
118 #include "EvtGenModels/EvtLNuGamma.hh"
120 #include "EvtGenModels/EvtVub.hh"
121 //#include "EvtGenModels/EvtVubAFR.hh"
122 #include "EvtGenModels/EvtVubHybrid.hh"
123 #include "EvtGenModels/EvtVubNLO.hh"
124 #include "EvtGenModels/EvtVubBLNP.hh"
125 #include "EvtGenModels/EvtVubBLNPHybrid.hh"
127 #include "EvtGenModels/EvtPto3P.hh"
128 #include "EvtGenModels/EvtBtoKD3P.hh"
129 #include "EvtGenModels/EvtKstarstargamma.hh"
130 #include "EvtGenModels/EvtFlatQ2.hh"
131 #include "EvtGenModels/EvtLambdaP_BarGamma.hh"
132 #include "EvtGenModels/EvtBBScalar.hh"
133 #include "EvtGenModels/EvtKKLambdaC.hh"
134 #include "EvtGenModels/EvtMultibody.hh"
136 //#include "EvtGenModels/EvtJetSetCDF.hh"
137 //#include "EvtGenModels/EvtJscontCDF.hh"
140 //#ifndef EVTSTANDALONE
141 //#include "EvtGenModels/EvtJetSet.hh"
142 //#include "EvtGenModels/EvtJscont.hh"
144 #include "EvtGenModels/EvtPythia.hh"
145 #include "EvtGenModels/EvtPyGaGa.hh"
146 #include "EvtGenModels/EvtPycont.hh"
149 #include "EvtGenModels/EvtDMix.hh"
150 #include "EvtGenModels/EvtD0mixDalitz.hh"
152 #include "EvtGenModels/EvtModelReg.hh"
157 EvtModelReg::EvtModelReg(const std::list<EvtDecayBase*>* extraModels)
160 EvtModel &modelist=EvtModel::instance();
163 for(std::list<EvtDecayBase*>::const_iterator it = extraModels->begin();
164 it != extraModels->end(); ++it){
165 modelist.registerModel(*it);
169 modelist.registerModel(new EvtBBScalar);
170 modelist.registerModel(new EvtLambdaP_BarGamma);
171 modelist.registerModel(new EvtFlatQ2);
172 modelist.registerModel(new EvtTauHadnu);
173 modelist.registerModel(new EvtTauVectornu);
174 modelist.registerModel(new EvtVVP);
175 modelist.registerModel(new EvtSLN);
176 modelist.registerModel(new EvtISGW2);
177 modelist.registerModel(new EvtMelikhov);
178 modelist.registerModel(new EvtSLPole);
179 modelist.registerModel(new EvtPropSLPole);
180 modelist.registerModel(new EvtSLBKPole);
181 modelist.registerModel(new EvtHQET);
182 modelist.registerModel(new EvtHQET2);
183 modelist.registerModel(new EvtISGW);
184 modelist.registerModel(new EvtBHadronic);
185 modelist.registerModel(new EvtVSS);
186 modelist.registerModel(new EvtVSSMix);
187 modelist.registerModel(new EvtVSSBMixCPT);
188 modelist.registerModel(new EvtVSPPwave);
189 modelist.registerModel(new EvtGoityRoberts);
190 modelist.registerModel(new EvtSVS);
191 modelist.registerModel(new EvtTSS);
192 modelist.registerModel(new EvtTVSPwave);
193 modelist.registerModel(new EvtSVVHelAmp);
194 modelist.registerModel(new EvtSVPHelAmp);
195 modelist.registerModel(new EvtSVPCP);
196 modelist.registerModel(new EvtVVSPwave);
197 modelist.registerModel(new EvtDDalitz);
198 modelist.registerModel(new EvtOmegaDalitz);
199 modelist.registerModel(new EvtEtaDalitz);
200 modelist.registerModel(new EvtPhsp);
201 modelist.registerModel(new EvtBtoXsgamma);
202 modelist.registerModel(new EvtBtoXsll);
203 modelist.registerModel(new EvtBtoXsEtap);
204 modelist.registerModel(new EvtSSSCP);
205 modelist.registerModel(new EvtSSSCPpng);
206 modelist.registerModel(new EvtSTSCP);
207 modelist.registerModel(new EvtSTS);
208 modelist.registerModel(new EvtSSSCPT);
209 modelist.registerModel(new EvtSVSCP);
210 modelist.registerModel(new EvtSSDCP);
211 modelist.registerModel(new EvtSVSNONCPEIGEN);
212 modelist.registerModel(new EvtSVVNONCPEIGEN);
213 modelist.registerModel(new EvtSVVCP);
214 modelist.registerModel(new EvtSVVCPLH);
215 modelist.registerModel(new EvtSVSCPLH);
216 modelist.registerModel(new EvtSll);
217 modelist.registerModel(new EvtVll);
218 modelist.registerModel(new EvtTaulnunu);
219 modelist.registerModel(new EvtTauScalarnu);
220 modelist.registerModel(new EvtKstarnunu);
221 modelist.registerModel(new EvtbTosllBall);
222 modelist.registerModel(new EvtBto2piCPiso);
223 modelist.registerModel(new EvtBtoKpiCPiso);
224 modelist.registerModel(new EvtSVSCPiso);
225 modelist.registerModel(new EvtSingleParticle);
226 modelist.registerModel(new EvtVectorIsr);
227 modelist.registerModel(new EvtPi0Dalitz);
228 modelist.registerModel(new EvtHelAmp);
229 modelist.registerModel(new EvtPartWave);
230 modelist.registerModel(new EvtVVpipi);
231 modelist.registerModel(new EvtY3SToY1SpipiMoxhay);
232 modelist.registerModel(new EvtYmSToYnSpipiCLEO);
233 modelist.registerModel(new EvtBsquark);
234 modelist.registerModel(new EvtPhiDalitz);
235 modelist.registerModel(new EvtBToPlnuBK);
236 modelist.registerModel(new EvtBToVlnuBall);
237 modelist.registerModel(new EvtVVPIPI_WEIGHTED);
238 modelist.registerModel(new EvtVPHOtoVISRHi);
240 modelist.registerModel(new EvtBTo4piCP);
241 modelist.registerModel(new EvtBTo3piCP);
242 modelist.registerModel(new EvtCBTo3piP00);
243 modelist.registerModel(new EvtCBTo3piMPP);
244 modelist.registerModel(new EvtBToKpipiCP);
246 modelist.registerModel(new EvtLb2Lll);
247 modelist.registerModel(new EvtHypNonLepton);
248 modelist.registerModel(new EvtSVVHelCPMix);
250 modelist.registerModel(new EvtLNuGamma);
251 modelist.registerModel(new EvtKstarstargamma);
253 modelist.registerModel(new EvtVub);
254 //modelist.registerModel(new EvtVubAFR);
256 modelist.registerModel(new EvtVubHybrid);
257 modelist.registerModel(new EvtVubNLO);
258 modelist.registerModel(new EvtVubBLNP);
259 modelist.registerModel(new EvtVubBLNPHybrid);
261 modelist.registerModel(new EvtPto3P);
262 modelist.registerModel(new EvtBtoKD3P);
263 modelist.registerModel(new EvtKKLambdaC);
264 modelist.registerModel(new EvtMultibody);
265 modelist.registerModel(new EvtDMix);
266 modelist.registerModel(new EvtD0mixDalitz);
268 //modelist.registerModel(new EvtJetSetCDF);
269 //modelist.registerModel(new EvtJscontCDF);
271 modelist.registerModel(new EvtbTosllAli);
272 // modelist.registerModel(new EvtBToDDalitzCPK);
273 // modelist.registerModel(new EvtLambdaB2LambdaV);
274 // modelist.registerModel(new EvtLambda2PPiForLambdaB2LambdaV);
275 // modelist.registerModel(new EvtV2VpVmForLambdaB2LambdaV);
276 // modelist.registerModel(new EvtPVVCPLH);
277 // modelist.registerModel(new EvtSSD_DirectCP);
280 //#ifndef EVTSTANDALONE
281 // cout << "Will registerModel EvtJetSet"<<endl;
282 // modelist.registerModel(new EvtJetSet);
283 // modelist.registerModel(new EvtJscont);
285 modelist.registerModel(new EvtPycont);
286 cout << "Will register EvtPythia"<<endl;
287 modelist.registerModel(new EvtPythia);
288 modelist.registerModel(new EvtPyGaGa);