64 {
65
74
81
86
89
91
93 EvtVector4R pv, ps, ppr;
94
100
101 EvtHelSys angles( ppr, pv );
102 double theta = angles.getHelAng( 1 );
103 double phi = angles.getHelAng( 2 );
104 double gamma = 0;
105
106
107
108
109
110
111
112
113
114
115
116 double mass_b1, mass_b2;
117 EvtId d1;
119
120
121
122
123 if ( ( d1 == XP ) || ( d1 == XM ) || ( d1 == XZP ) || ( d1 == XZM ) ) { mass_b1 = 1.532; }
124 else if ( ( d1 == SPP ) || ( d1 == SPM ) || ( d1 == SMP ) || ( d1 == SMM ) ||
125 ( d1 == SZP ) || ( d1 == SZM ) )
126 { mass_b1 = 1.383; }
127 else if ( ( d1 == DZP ) || ( d1 == DZM ) || ( d1 == DPP ) || ( d1 == DPM ) ||
128 ( d1 == DMP ) || ( d1 == DMM ) || ( d1 == DPPP ) || ( d1 == DPPM ) )
129 { mass_b1 = 1.232; }
130 else if ( ( d1 == OP ) || d1 == OM ) { mass_b1 = 1.67245; }
131 else
132 { cout << "The decay is not the process: J/psi->B10 B10bar(decuplet baryon) ." << endl; }
133
134 mass_b2 = mass_b1;
136
137
138
139
140 double R = pow( mass_b1 + mass_M / 2.0, 2.0 );
141 double c1 = mass_M * mass_M / 4.0 - mass_b1 * mass_b1;
142 double u = pow( ( R - c1 ) / ( R + c1 ), 2.0 );
143
145 else
146 {
alpha = ( -9 *
u *
u *
u + 17 *
u *
u - 16 *
u + 8 ) / ( 9 *
u *
u *
u - 7 *
u *
u + 8 ); }
147
148 double F00, F01, F03, F10, F11, F22, F23, F30, F32, F33;
149 double scale1 = sqrt( 3.0 ) *
u / (
u - 2.0 );
150 double scale2 = 3.0 *
u / ( 3.0 *
u - 4 );
151
152
153
154
155 F00 = sqrt( ( 1 -
alpha ) / ( 4.0 * ( 1.0 + scale2 * scale2 ) ) );
156 F03 = sqrt( ( 1 +
alpha ) / ( 2.0 * ( 1.0 + 2.0 * scale1 * scale1 ) ) );
157 F01 = scale1 * F03;
158 F11 = scale2 * F00;
159 F22 = F11;
160 F32 = F01;
161 F33 = F00;
162 F30 = F03;
163 F10 = F01;
164 F23 = F32;
165
166
167
168 vertex( 0, 0, 0,
Djmn( 1, 1, 0, phi, theta, gamma ) * F00 );
169 vertex( 0, 0, 1,
Djmn( 1, 1, -1, phi, theta, gamma ) * F01 );
171 vertex( 0, 0, 3,
Djmn( 1, 1, 1, phi, theta, gamma ) * F03 );
172 vertex( 0, 1, 0,
Djmn( 1, 1, 1, phi, theta, gamma ) * F10 );
173 vertex( 0, 1, 1,
Djmn( 1, 1, 0, phi, theta, gamma ) * F11 );
178 vertex( 0, 2, 2,
Djmn( 1, 1, 0, phi, theta, gamma ) * F22 );
179 vertex( 0, 2, 3,
Djmn( 1, 1, -1, phi, theta, gamma ) * F23 );
180 vertex( 0, 3, 0,
Djmn( 1, 1, -1, phi, theta, gamma ) * F30 );
182 vertex( 0, 3, 2,
Djmn( 1, 1, 1, phi, theta, gamma ) * F32 );
183 vertex( 0, 3, 3,
Djmn( 1, 1, 0, phi, theta, gamma ) * F33 );
184
185 vertex( 1, 0, 0,
Djmn( 1, -1, 0, phi, theta, gamma ) * F00 );
186 vertex( 1, 0, 1,
Djmn( 1, -1, -1, phi, theta, gamma ) * F01 );
188 vertex( 1, 0, 3,
Djmn( 1, -1, 1, phi, theta, gamma ) * F03 );
189 vertex( 1, 1, 0,
Djmn( 1, -1, 1, phi, theta, gamma ) * F10 );
190 vertex( 1, 1, 1,
Djmn( 1, -1, 0, phi, theta, gamma ) * F11 );
195 vertex( 1, 2, 2,
Djmn( 1, -1, 0, phi, theta, gamma ) * F22 );
196 vertex( 1, 2, 3,
Djmn( 1, -1, -1, phi, theta, gamma ) * F23 );
197 vertex( 1, 3, 0,
Djmn( 1, -1, -1, phi, theta, gamma ) * F30 );
199 vertex( 1, 3, 2,
Djmn( 1, -1, 1, phi, theta, gamma ) * F32 );
200 vertex( 1, 3, 3,
Djmn( 1, -1, 0, phi, theta, gamma ) * F33 );
201
202 vertex( 2, 0, 0,
Djmn( 1, 0, 0, phi, theta, gamma ) * F00 );
203 vertex( 2, 0, 1,
Djmn( 1, 0, -1, phi, theta, gamma ) * F01 );
205 vertex( 2, 0, 3,
Djmn( 1, 0, 1, phi, theta, gamma ) * F03 );
206 vertex( 2, 1, 0,
Djmn( 1, 0, 1, phi, theta, gamma ) * F10 );
207 vertex( 2, 1, 1,
Djmn( 1, 0, 0, phi, theta, gamma ) * F11 );
212 vertex( 2, 2, 2,
Djmn( 1, 0, 0, phi, theta, gamma ) * F22 );
213 vertex( 2, 2, 3,
Djmn( 1, 0, -1, phi, theta, gamma ) * F23 );
214 vertex( 2, 3, 0,
Djmn( 1, 0, -1, phi, theta, gamma ) * F30 );
216 vertex( 2, 3, 2,
Djmn( 1, 0, 1, phi, theta, gamma ) * F32 );
217 vertex( 2, 3, 3,
Djmn( 1, 0, 0, phi, theta, gamma ) * F33 );
218
219 return;
220}
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
**********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 double getMass(EvtId i)
static EvtId getId(const std::string &name)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
complex_t R(double Q2, double M2, double G, double Mp2, double Mm2)