65 {
66
68
71 EvtParticle* photon = p->
getDaug( 2 );
72
74 Hd1[0] = new EvtComplex[2];
75 Hd1[1] = new EvtComplex[2];
76 Hd1[2] = new EvtComplex[2];
77 Hd1[3] = new EvtComplex[2];
78 Hd1[4] = new EvtComplex[2];
79
80 Hd1[0][0] = 0.0;
81 Hd1[0][1] = 0.0;
82 Hd1[1][0] = 0.0;
83 Hd1[1][1] = 0.0;
84 Hd1[2][0] = 0.0;
85 Hd1[2][1] = 0.0;
86 Hd1[3][0] = 0.0;
87 Hd1[3][1] = 1.0;
88 Hd1[4][0] = 0.0;
89 Hd1[4][1] = 0.0;
90
92
93 EvtScalarParticle theB;
94
96
97 EvtVector4R theKstarP4 =
kaon->getP4() +
pion->getP4();
98
99 EvtTensorParticle theKstar;
101
102 EvtPhotonParticle thePhoton;
104
107
108 EvtAmp amp1;
109
110 d1.evalAmp( &theB, amp1 );
111
113 Hd2[0] = new EvtComplex[1];
114
115 Hd2[0][0] = 1.0;
116
118
119 EvtVector4R theKstarP4boost( theKstarP4.
get( 0 ), -theKstarP4.
get( 1 ), -theKstarP4.
get( 2 ),
120 -theKstarP4.
get( 3 ) );
121
122 EvtScalarParticle theKaon;
125
126 EvtScalarParticle thePion;
129
132
133
134
135 double m = theKstarP4.
mass();
136 EvtTwoBodyVertex
v( 0.5, 0.14, 1.4, 2 );
137 EvtTwoBodyKine v1( 0.5, 0.14, m );
138 EvtPropBreitWignerRel prop( 1.4, 0.2 );
139
140
141
142 double width = prop.g0() *
v.widthFactor( v1 );
143 prop.set_g0( width );
144 EvtComplex bwamp = prop.evaluate( m );
145
146 EvtAmp amp2;
147
148 d2.evalAmp( &theKstar, amp2 );
149
150 vertex( 0, bwamp * ( amp1._amp[0] * amp2._amp[0] + amp1._amp[1] * amp2._amp[1] +
151 amp1._amp[2] * amp2._amp[2] + amp1._amp[3] * amp2._amp[3] +
152 amp1._amp[4] * amp2._amp[4] ) );
153
154 vertex( 1, bwamp * ( amp1._amp[5] * amp2._amp[0] + amp1._amp[6] * amp2._amp[1] +
155 amp1._amp[7] * amp2._amp[2] + amp1._amp[8] * amp2._amp[3] +
156 amp1._amp[9] * amp2._amp[4] ) );
157
158 return;
159}
EvtComplex * EvtComplexPtr
EvtComplexPtr * EvtComplexPtrPtr
EvtDiracSpinor boostTo(const EvtDiracSpinor &sp, const EvtVector4R p4)
**********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
void vertex(const EvtComplex &)
static EvtId getId(const std::string &name)
EvtVector4R getP4Restframe()
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
void addDaug(EvtParticle *node)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void init(EvtId part_n, double e, double px, double py, double pz)
void init(EvtId part_n, double e, double px, double py, double pz)
void init(EvtId part_n, double e, double px, double py, double pz)