BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtGoityRoberts.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2//
3// Environment:
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.
7//
8// Copyright Information: See EvtGen/COPYRIGHT
9// Copyright (C) 1998 Caltech, UCSB
10//
11// Module: EvtGoityRoberts.cc
12//
13// Description: Routine to decay vector-> scalar scalar
14//
15// Modification history:
16//
17// RYD November 24, 1996 Module created
18//
19//------------------------------------------------------------------------
20//
21#include "EvtGoityRoberts.hh"
30#include <stdlib.h>
31#include <string>
32
34
35void EvtGoityRoberts::getName( std::string& model_name ) { model_name = "GOITY_ROBERTS"; }
36
38
40
41 // check that there are 0 arguments
42 checkNArg( 0 );
43 checkNDaug( 4 );
44
49}
50
52
54
55 // added by Lange Jan4,2000
56 static EvtId DST0 = EvtPDL::getId( "D*0" );
57 static EvtId DSTB = EvtPDL::getId( "anti-D*0" );
58 static EvtId DSTP = EvtPDL::getId( "D*+" );
59 static EvtId DSTM = EvtPDL::getId( "D*-" );
60 static EvtId D0 = EvtPDL::getId( "D0" );
61 static EvtId D0B = EvtPDL::getId( "anti-D0" );
62 static EvtId DP = EvtPDL::getId( "D+" );
63 static EvtId DM = EvtPDL::getId( "D-" );
64
65 EvtId meson = getDaug( 0 );
66
67 if ( meson == DST0 || meson == DSTP || meson == DSTM || meson == DSTB )
68 { DecayBDstarpilnuGR( p, getDaug( 0 ), getDaug( 1 ), getDaug( 2 ), getDaug( 3 ) ); }
69 else
70 {
71 if ( meson == D0 || meson == DP || meson == DM || meson == D0B )
72 { DecayBDpilnuGR( p, getDaug( 0 ), getDaug( 1 ), getDaug( 2 ), getDaug( 3 ) ); }
73 else { report( ERROR, "EvtGen" ) << "Wrong daugther in EvtGoityRoberts!\n"; }
74 }
75 return;
76}
77
78void EvtGoityRoberts::DecayBDstarpilnuGR( EvtParticle* pb, EvtId ndstar, EvtId npion,
79 EvtId nlep, EvtId nnu ) {
80
82
83 // added by Lange Jan4,2000
84 static EvtId EM = EvtPDL::getId( "e-" );
85 static EvtId EP = EvtPDL::getId( "e+" );
86 static EvtId MUM = EvtPDL::getId( "mu-" );
87 static EvtId MUP = EvtPDL::getId( "mu+" );
88
89 EvtParticle *dstar, *pion, *lepton, *neutrino;
90
91 // pb->makeDaughters(getNDaug(),getDaugs());
92 dstar = pb->getDaug( 0 );
93 pion = pb->getDaug( 1 );
94 lepton = pb->getDaug( 2 );
95 neutrino = pb->getDaug( 3 );
96
97 EvtVector4C l1, l2, et0, et1, et2;
98
99 EvtVector4R v, vp, p4_pi;
100 double w;
101
102 v.set( 1.0, 0.0, 0.0, 0.0 ); // 4-velocity of B meson
103 vp = ( 1.0 / dstar->getP4().mass() ) * dstar->getP4(); // 4-velocity of D*
104 p4_pi = pion->getP4();
105
106 w = v * vp; // four velocity transfere.
107
108 EvtTensor4C omega;
109
110 double mb = EvtPDL::getMeanMass( pb->getId() ); // B mass
111 double md = EvtPDL::getMeanMass( ndstar ); // D* mass
112
113 EvtComplex dmb( 0.0460, -0.5 * 0.00001 ); // B*-B mass splitting ?
114 EvtComplex dmd( 0.1421, -0.5 * 0.00006 );
115 // The last two sets of numbers should
116 // be correctly calculated from the
117 // dstar and pion charges.
118 double g = 0.5; // EvtAmplitude proportional to these coupling constants
119 double alpha3 = 0.690; // See table I in G&R's paper
120 double alpha1 = -1.430;
121 double alpha2 = -0.140;
122 double f0 = 0.093; // The pion decay constants set to 93 MeV
123
124 EvtComplex dmt3( 0.563, -0.5 * 0.191 ); // Mass splitting = dmt - iGamma/2
125 EvtComplex dmt1( 0.392, -0.5 * 1.040 );
126 EvtComplex dmt2( 0.709, -0.5 * 0.405 );
127
128 double betas = 0.285; // magic number for meson wave function ground state
129 double betap = 0.280; // magic number for meson wave function state "1"
130 double betad = 0.260; // magic number for meson wave function state "2"
131 double betasp = betas * betas + betap * betap;
132 double betasd = betas * betas + betad * betad;
133
134 double lambdabar = 0.750; // M(0-,1-) - mQ From Goity&Roberts's code
135
136 // Isgur&Wise fct
137 double xi = exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 4 * betas * betas ) );
138 double xi1 = -1.0 * sqrt( 2.0 / 3.0 ) *
139 ( lambdabar * lambdabar * ( w * w - 1.0 ) / ( 4 * betas * betas ) ) *
140 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 4 * betas * betas ) );
141 double rho1 = sqrt( 1.0 / 2.0 ) * ( lambdabar / betas ) *
142 pow( ( 2 * betas * betap / ( betasp ) ), 2.5 ) *
143 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 2 * betasp ) );
144 double rho2 = sqrt( 1.0 / 8.0 ) * ( lambdabar * lambdabar / ( betas * betas ) ) *
145 pow( ( 2 * betas * betad / ( betasd ) ), 3.5 ) *
146 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 2 * betasd ) );
147
148 // report(INFO,"EvtGen") <<"rho's:"<<rho1<<rho2<<endl;
149
150 EvtComplex h1nr, h2nr, h3nr, f1nr, f2nr;
151 EvtComplex f3nr, f4nr, f5nr, f6nr, knr, g1nr, g2nr, g3nr, g4nr, g5nr;
152 EvtComplex h1r, h2r, h3r, f1r, f2r, f3r, f4r, f5r, f6r, kr, g1r, g2r, g3r, g4r, g5r;
153 EvtComplex h1, h2, h3, f1, f2, f3, f4, f5, f6, k, g1, g2, g3, g4, g5;
154
155 // Non-resonance part
156 h1nr = -g * xi * ( p4_pi * v ) / ( f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) );
157 h2nr = -g * xi / ( f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) );
158 h3nr = -( g * xi / ( f0 * md ) ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) -
159 EvtComplex( ( 1.0 + w ) / ( p4_pi * vp ), 0.0 ) );
160
161 f1nr = -( g * xi / ( 2 * f0 * mb ) ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) -
162 1.0 / ( EvtComplex( p4_pi * vp, 0.0 ) + dmd ) );
163 f2nr = f1nr * mb / md;
164 f3nr = EvtComplex( 0.0 );
165 f4nr = EvtComplex( 0.0 );
166 f5nr = ( g * xi / ( 2 * f0 * mb * md ) ) *
167 ( EvtComplex( 1.0, 0.0 ) + ( p4_pi * v ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) );
168 f6nr = ( g * xi / ( 2 * f0 * mb ) ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) -
169 EvtComplex( 1.0 / ( p4_pi * vp ), 0.0 ) );
170
171 knr = ( g * xi / ( 2 * f0 ) ) *
172 ( ( p4_pi * ( vp - w * v ) ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) +
173 EvtComplex( ( p4_pi * ( v - w * vp ) ) / ( p4_pi * vp ), 0.0 ) );
174
175 g1nr = EvtComplex( 0.0 );
176 g2nr = EvtComplex( 0.0 );
177 g3nr = EvtComplex( 0.0 );
178 g4nr = ( g * xi ) / ( f0 * md * EvtComplex( p4_pi * vp ) );
179 g5nr = EvtComplex( 0.0 );
180
181 // Resonance part (D** removed by hand - alainb)
182 h1r = -alpha1 * rho1 * ( p4_pi * v ) /
183 ( f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt1 ) ) +
184 alpha2 * rho2 * ( p4_pi * ( v + 2.0 * w * v - vp ) ) /
185 ( 3 * f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) -
186 alpha3 * xi1 * ( p4_pi * v ) / ( f0 * mb * md * EvtComplex( p4_pi * v, 0.0 ) + dmt3 );
187 h2r =
188 -alpha2 * ( 1 + w ) * rho2 / ( 3 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) -
189 alpha3 * xi1 / ( f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
190 h3r = alpha2 * rho2 * ( 1 + w ) / ( 3 * f0 * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) -
191 alpha3 * xi1 / ( f0 * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
192
193 f1r = -alpha2 * rho2 * ( w - 1.0 ) /
194 ( 6 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) -
195 alpha3 * xi1 / ( 2 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
196 f2r = f1r * mb / md;
197 f3r = EvtComplex( 0.0 );
198 f4r = EvtComplex( 0.0 );
199 f5r = alpha1 * rho1 * ( p4_pi * v ) /
200 ( 2 * f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt1 ) ) +
201 alpha2 * rho2 * ( p4_pi * ( vp - v / 3.0 - 2.0 / 3.0 * w * v ) ) /
202 ( 2 * f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) +
203 alpha3 * xi1 * ( p4_pi * v ) /
204 ( 2 * f0 * mb * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
205 f6r =
206 alpha2 * rho2 * ( w - 1.0 ) / ( 6 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) +
207 alpha3 * xi1 / ( 2 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
208
209 kr = -alpha1 * rho1 * ( w - 1.0 ) * ( p4_pi * v ) /
210 ( 2 * f0 * ( EvtComplex( p4_pi * v, 0.0 ) + dmt1 ) ) -
211 alpha2 * rho2 * ( w - 1.0 ) * ( p4_pi * ( vp - w * v ) ) /
212 ( 3 * f0 * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) +
213 alpha3 * xi1 * ( p4_pi * ( vp - w * v ) ) /
214 ( 2 * f0 * ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) );
215
216 g1r = EvtComplex( 0.0 );
217 g2r = EvtComplex( 0.0 );
218 g3r = -g2r;
219 g4r = 2.0 * alpha2 * rho2 / ( 3 * f0 * md * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) );
220 g5r = EvtComplex( 0.0 );
221
222 // Sum
223 h1 = h1nr + h1r;
224 h2 = h2nr + h2r;
225 h3 = h3nr + h3r;
226
227 f1 = f1nr + f1r;
228 f2 = f2nr + f2r;
229 f3 = f3nr + f3r;
230 f4 = f4nr + f4r;
231 f5 = f5nr + f5r;
232 f6 = f6nr + f6r;
233
234 k = knr + kr;
235
236 g1 = g1nr + g1r;
237 g2 = g2nr + g2r;
238 g3 = g3nr + g3r;
239 g4 = g4nr + g4r;
240 g5 = g5nr + g5r;
241
242 EvtTensor4C g_metric;
243 g_metric.setdiag( 1.0, -1.0, -1.0, -1.0 );
244
245 if ( nlep == EM || nlep == MUM )
246 {
247 omega = EvtComplex( 0.0, 0.5 ) *
248 dual( h1 * mb * md * directProd( v, vp ) + h2 * mb * directProd( v, p4_pi ) +
249 h3 * md * directProd( vp, p4_pi ) ) +
250 f1 * mb * directProd( v, p4_pi ) + f2 * md * directProd( vp, p4_pi ) +
251 f3 * directProd( p4_pi, p4_pi ) + f4 * mb * mb * directProd( v, v ) +
252 f5 * mb * md * directProd( vp, v ) + f6 * mb * directProd( p4_pi, v ) +
253 k * g_metric +
254 EvtComplex( 0.0, 0.5 ) * directProd( dual( directProd( vp, p4_pi ) ).cont2( v ),
255 ( g1 * p4_pi + g2 * mb * v ) ) +
256 EvtComplex( 0.0, 0.5 ) * directProd( ( g3 * mb * v + g4 * md * vp + g5 * p4_pi ),
257 dual( directProd( vp, p4_pi ) ).cont2( v ) );
258
259 l1 = EvtLeptonVACurrent( lepton->spParent( 0 ), neutrino->spParentNeutrino() );
260 l2 = EvtLeptonVACurrent( lepton->spParent( 1 ), neutrino->spParentNeutrino() );
261 }
262 else
263 {
264 if ( nlep == EP || nlep == MUP )
265 {
266 omega =
267 EvtComplex( 0.0, -0.5 ) *
268 dual( h1 * mb * md * directProd( v, vp ) + h2 * mb * directProd( v, p4_pi ) +
269 h3 * md * directProd( vp, p4_pi ) ) +
270 f1 * mb * directProd( v, p4_pi ) + f2 * md * directProd( vp, p4_pi ) +
271 f3 * directProd( p4_pi, p4_pi ) + f4 * mb * mb * directProd( v, v ) +
272 f5 * mb * md * directProd( vp, v ) + f6 * mb * directProd( p4_pi, v ) +
273 k * g_metric +
274 EvtComplex( 0.0, -0.5 ) * directProd( dual( directProd( vp, p4_pi ) ).cont2( v ),
275 ( g1 * p4_pi + g2 * mb * v ) ) +
276 EvtComplex( 0.0, -0.5 ) * directProd( ( g3 * mb * v + g4 * md * vp + g5 * p4_pi ),
277 dual( directProd( vp, p4_pi ) ).cont2( v ) );
278
279 l1 = EvtLeptonVACurrent( neutrino->spParentNeutrino(), lepton->spParent( 0 ) );
280 l2 = EvtLeptonVACurrent( neutrino->spParentNeutrino(), lepton->spParent( 1 ) );
281 }
282 else { report( DEBUG, "EvtGen" ) << "42387dfs878w wrong lepton number\n"; }
283 }
284
285 et0 = omega.cont2( dstar->epsParent( 0 ).conj() );
286 et1 = omega.cont2( dstar->epsParent( 1 ).conj() );
287 et2 = omega.cont2( dstar->epsParent( 2 ).conj() );
288
289 vertex( 0, 0, l1.cont( et0 ) );
290 vertex( 0, 1, l2.cont( et0 ) );
291
292 vertex( 1, 0, l1.cont( et1 ) );
293 vertex( 1, 1, l2.cont( et1 ) );
294
295 vertex( 2, 0, l1.cont( et2 ) );
296 vertex( 2, 1, l2.cont( et2 ) );
297
298 return;
299}
300
301void EvtGoityRoberts::DecayBDpilnuGR( EvtParticle* pb, EvtId nd, EvtId npion, EvtId nlep,
302 EvtId nnu )
303
304{
305 // added by Lange Jan4,2000
306 static EvtId EM = EvtPDL::getId( "e-" );
307 static EvtId EP = EvtPDL::getId( "e+" );
308 static EvtId MUM = EvtPDL::getId( "mu-" );
309 static EvtId MUP = EvtPDL::getId( "mu+" );
310
311 EvtParticle *d, *pion, *lepton, *neutrino;
312
314 d = pb->getDaug( 0 );
315 pion = pb->getDaug( 1 );
316 lepton = pb->getDaug( 2 );
317 neutrino = pb->getDaug( 3 );
318
319 EvtVector4C l1, l2, et0, et1, et2;
320
321 EvtVector4R v, vp, p4_pi;
322 double w;
323
324 v.set( 1.0, 0.0, 0.0, 0.0 ); // 4-velocity of B meson
325 vp = ( 1.0 / d->getP4().mass() ) * d->getP4(); // 4-velocity of D
326 p4_pi = pion->getP4(); // 4-momentum of pion
327 w = v * vp; // four velocity transfer.
328
329 double mb = EvtPDL::getMeanMass( pb->getId() ); // B mass
330 double md = EvtPDL::getMeanMass( nd ); // D* mass
331 EvtComplex dmb( 0.0460, -0.5 * 0.00001 ); // B mass splitting ?
332 // The last two numbers should be
333 // correctly calculated from the
334 // dstar and pion particle number.
335
336 double g = 0.5; // Amplitude proportional to these coupling constants
337 double alpha3 = 0.690; // See table I in G&R's paper
338 double alpha1 = -1.430;
339 double alpha2 = -0.140;
340 double f0 = 0.093; // The pion decay constant set to 93 MeV
341
342 EvtComplex dmt3( 0.563, -0.5 * 0.191 ); // Mass splitting = dmt - iGamma/2
343 EvtComplex dmt1( 0.392, -0.5 * 1.040 );
344 EvtComplex dmt2( 0.709, -0.5 * 0.405 );
345
346 double betas = 0.285; // magic number for meson wave function ground state
347 double betap = 0.280; // magic number for meson wave function state "1"
348 double betad = 0.260; // magic number for meson wave function state "2"
349 double betasp = betas * betas + betap * betap;
350 double betasd = betas * betas + betad * betad;
351
352 double lambdabar = 0.750; // M(0-,1-) - mQ From Goity&Roberts's code
353
354 // Isgur&Wise fct
355 double xi = exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 4 * betas * betas ) );
356 double xi1 = -1.0 * sqrt( 2.0 / 3.0 ) *
357 ( lambdabar * lambdabar * ( w * w - 1.0 ) / ( 4 * betas * betas ) ) *
358 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 4 * betas * betas ) );
359 double rho1 = sqrt( 1.0 / 2.0 ) * ( lambdabar / betas ) *
360 pow( ( 2 * betas * betap / ( betasp ) ), 2.5 ) *
361 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 2 * betasp ) );
362 double rho2 = sqrt( 1.0 / 8.0 ) * ( lambdabar * lambdabar / ( betas * betas ) ) *
363 pow( ( 2 * betas * betad / ( betasd ) ), 3.5 ) *
364 exp( lambdabar * lambdabar * ( 1.0 - w * w ) / ( 2 * betasd ) );
365
366 EvtComplex h, a1, a2, a3;
367 EvtComplex hnr, a1nr, a2nr, a3nr;
368 EvtComplex hr, a1r, a2r, a3r;
369
370 // Non-resonance part (D* and D** removed by hand - alainb)
371 hnr = g * xi * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) ) / ( 2 * f0 * mb * md );
372 a1nr = -1.0 * g * xi * ( 1 + w ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) ) /
373 ( 2 * f0 );
374 a2nr = g * xi * ( ( p4_pi * ( v + vp ) ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmb ) ) /
375 ( 2 * f0 * mb );
376 a3nr = EvtComplex( 0.0, 0.0 );
377
378 // Resonance part (D** remove by hand - alainb)
379 hr = alpha2 * rho2 * ( w - 1 ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) /
380 ( 6 * f0 * mb * md ) +
381 alpha3 * xi1 * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) ) / ( 2 * f0 * mb * md );
382 a1r = -1.0 * alpha2 * rho2 * ( w * w - 1 ) *
383 ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) / ( 6 * f0 ) -
384 alpha3 * xi1 * ( 1 + w ) * ( 1.0 / ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) ) /
385 ( 2 * f0 );
386 a2r = alpha1 * rho1 * ( ( p4_pi * v ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmt1 ) ) /
387 ( 2 * f0 * mb ) +
388 alpha2 * rho2 * ( 0.5 * p4_pi * ( w * vp - v ) + p4_pi * ( vp - w * v ) ) /
389 ( 3 * f0 * mb * ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) +
390 alpha3 * xi1 * ( ( p4_pi * ( v + vp ) ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmt3 ) ) /
391 ( 2 * f0 * mb );
392 a3r = -1.0 * alpha1 * rho1 * ( ( p4_pi * v ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmt1 ) ) /
393 ( 2 * f0 * md ) -
394 alpha2 * rho2 *
395 ( ( p4_pi * ( vp - w * v ) ) / ( EvtComplex( p4_pi * v, 0.0 ) + dmt2 ) ) /
396 ( 2 * f0 * md );
397
398 // Sum
399 h = hnr + hr;
400 a1 = a1nr + a1r;
401 a2 = a2nr + a2r;
402 a3 = a3nr + a3r;
403
404 EvtVector4C omega;
405
406 if ( nlep == EM || nlep == MUM )
407 {
408 omega =
409 EvtComplex( 0.0, -1.0 ) * h * mb * md * dual( directProd( vp, p4_pi ) ).cont2( v ) +
410 a1 * p4_pi + a2 * mb * v + a3 * md * vp;
411 l1 = EvtLeptonVACurrent( lepton->spParent( 0 ), neutrino->spParentNeutrino() );
412 l2 = EvtLeptonVACurrent( lepton->spParent( 1 ), neutrino->spParentNeutrino() );
413 }
414 else
415 {
416 if ( nlep == EP || nlep == MUP )
417 {
418 omega =
419 EvtComplex( 0.0, 1.0 ) * h * mb * md * dual( directProd( vp, p4_pi ) ).cont2( v ) +
420 a1 * p4_pi + a2 * mb * v + a3 * md * vp;
421 l1 = EvtLeptonVACurrent( neutrino->spParentNeutrino(), lepton->spParent( 0 ) );
422 l2 = EvtLeptonVACurrent( neutrino->spParentNeutrino(), lepton->spParent( 1 ) );
423 }
424 else { report( ERROR, "EvtGen" ) << "42387dfs878w wrong lepton number\n"; }
425 }
426
427 vertex( 0, l1 * omega );
428 vertex( 1, l2 * omega );
429
430 return;
431}
double mass
TFile * f1
TF1 * g1
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtComplex exp(const EvtComplex &c)
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
int pion
double w
ostream & report(Severity severity, const char *facility)
Definition EvtReport.cc:34
@ DEBUG
Definition EvtReport.hh:53
@ ERROR
Definition EvtReport.hh:49
EvtTensor4C dual(const EvtTensor4C &t2)
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35
void vertex(const EvtComplex &amp)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
EvtId * getDaugs()
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
EvtId getDaug(int i)
virtual ~EvtGoityRoberts()
EvtDecayBase * clone()
void getName(std::string &name)
void decay(EvtParticle *p)
Definition EvtId.hh:27
static double getMeanMass(EvtId i)
Definition EvtPDL.hh:43
static EvtId getId(const std::string &name)
Definition EvtPDL.cc:272
virtual EvtVector4C epsParent(int i) const
EvtId getId() const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void setdiag(double t00, double t11, double t22, double t33)
EvtVector4C cont2(const EvtVector4C &v4) const
EvtVector4C conj() const
EvtComplex cont(const EvtVector4C &v4) const