21#ifndef EVTPsi3Sdecay_HH
22#define EVTPsi3Sdecay_HH
46 double xx[24]={3.72968, 3.97, 3.99, 4.01, 4.015, 4.03, 4.06, 4.12, 4.14, 4.16, 4.17, 4.18, 4.2, 4.26, 4.30, 4.34, 4.38, 4.42, 4.46, 4.50, 4.54, 4.58, 4.62, 4.66 };
47 double y0[24]={0., 86, 133, 76, 10, 334, 410, 303, 177, 167, 177, 179, 180, 86, 31, 49, 65, 196, 52, 87, 166, 14, 33, 49};
48 double y1[24]={0., 137, 90, 135, 38, 196, 480, 310, 200, 200, 182, 197, 181, 94, 108, 96, 154, 165, 171, 106, 27, 144, 36, 22};
49 double y2[24]={0., 1140, 1370, 1660, 1920, 1600, 1115, 700, 675, 626, 636, 605, 515, 540, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
50 double y3[24]={0., 1140, 1370, 1660, 1920, 1600, 1115, 700, 675, 626, 636, 605, 515, 540, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
51 double y4[24]={0., 0, 0, 0, 213, 2000, 2290, 2550, 2443, 2566, 2363, 2173, 1830, 269, 822, 1045, 1020, 820, 398, 588, 690, 459, 360, 398};
52 double y5[24]={0., 1115, 1375, 1650, 1851, 1650, 1085, 780, 688, 688, 642, 648, 535, 511, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
53 double y6[24]={0., 1115, 1375, 1650, 1851, 1650, 1085, 780, 688, 688, 642, 648, 535, 511, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
54 double y7[24]={0., 0, 0, 0, 0, 1400, 2390, 2280, 2556, 2479, 2357, 2145, 1564, 237, 822, 1045, 1020, 820, 398, 588, 690, 459, 360, 398};
55 double y8[24]={0., 102, 133, 269, 250, 174, 51, 26, 25, 15, 34, 7, 15, 47, 106, 70, 36, 10, 2, 28, 60, 60, 48, 36};
56 double y9[24]={0., 0, 0, 0, 0, 0, 0, 478, 684, 905, 916, 889, 812, 34, 314, 368, 318, 357, 292, 171, 66, 103, 190, 272};
57 double y10[24]={0., 0, 0, 0, 0, 0, 0, 478, 684, 905, 916, 889, 812, 34, 314, 368, 318, 357, 292, 171, 66, 103, 190, 272};
58 double y11[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 398, 428, 310, 131, 0, 45, 126, 98, 39, 0};
59 double y12[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6, 49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
60 double y13[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6, 49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
61 double y14[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
62 double y15[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
63 double y16[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
64 double y17[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
65 double y18[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
66 double y19[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110 };
67 double y20[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110 };
68 double y21[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
69 double y22[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
70 double y23[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
96 for(
int i=0;i<24;i++){
98 d0d0bar.push_back(y0[i]);
99 dpdm.push_back(y1[i]);
100 d0dst0bar.push_back(y2[i]);
101 d0bardst0.push_back(y3[i]);
102 dst0dst0bar.push_back(y4[i]);
103 dstpdm.push_back( y5[i]);
104 dstmdp.push_back( y6[i]);
105 dstpdstm.push_back(y7[i]);
106 dspdsm.push_back( y8[i]);
107 dsspdsm.push_back( y9[i]);
108 dssmdsp.push_back( y10[i]);
109 dsspdssm.push_back( y11[i]);
110 xs12.push_back( y12[i] );
111 xs13.push_back( y13[i] );
112 xs14.push_back( y14[i] );
113 xs15.push_back( y15[i] );
114 xs16.push_back( y16[i] );
115 xs17.push_back( y17[i] );
116 xs18.push_back( y18[i] );
117 xs19.push_back( y19[i] );
118 xs20.push_back( y20[i] );
119 xs21.push_back( y21[i] );
120 xs22.push_back( y22[i] );
121 xs23.push_back( y23[i] );
133 double xx[24]={3.72968, 3.97, 3.99, 4.01, 4.015, 4.03, 4.06, 4.12, 4.14, 4.16, 4.17, 4.18, 4.2, 4.26, 4.30, 4.34, 4.38, 4.42, 4.46, 4.50, 4.54, 4.58, 4.62, 4.66 };
134 double y0[24]={0., 86, 133, 76, 10, 334, 410, 303, 177, 167, 177, 179, 180, 86, 31, 49, 65, 196, 52, 87, 166, 14, 33, 49};
135 double y1[24]={0., 137, 90, 135, 38, 196, 480, 310, 200, 200, 182, 197, 181, 94, 108, 96, 154, 165, 171, 106, 27, 144, 36, 22};
136 double y2[24]={0., 1140, 1370, 1660, 1920, 1600, 1115, 700, 675, 626, 636, 605, 515, 540, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
137 double y3[24]={0., 1140, 1370, 1660, 1920, 1600, 1115, 700, 675, 626, 636, 605, 515, 540, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
138 double y4[24]={0., 0, 0, 0, 213, 2000, 2290, 2550, 2443, 2566, 2363, 2173, 1830, 269, 822, 1045, 1020, 820, 398, 588, 690, 459, 360, 398};
139 double y5[24]={0., 1115, 1375, 1650, 1851, 1650, 1085, 780, 688, 688, 642, 648, 535, 511, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
140 double y6[24]={0., 1115, 1375, 1650, 1851, 1650, 1085, 780, 688, 688, 642, 648, 535, 511, 748, 880, 556, 657, 477, 494, 320, 616, 575, 373};
141 double y7[24]={0., 0, 0, 0, 0, 1400, 2390, 2280, 2556, 2479, 2357, 2145, 1564, 237, 822, 1045, 1020, 820, 398, 588, 690, 459, 360, 398};
142 double y8[24]={0., 102, 133, 269, 250, 174, 51, 26, 25, 15, 34, 7, 15, 47, 106, 70, 36, 10, 2, 28, 60, 60, 48, 36};
143 double y9[24]={0., 0, 0, 0, 0, 0, 0, 478, 684, 905, 916, 889, 812, 34, 314, 368, 318, 357, 292, 171, 66, 103, 190, 272};
144 double y10[24]={0., 0, 0, 0, 0, 0, 0, 478, 684, 905, 916, 889, 812, 34, 314, 368, 318, 357, 292, 171, 66, 103, 190, 272};
145 double y11[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 440, 398, 428, 310, 131, 0, 45, 126, 98, 39, 0};
146 double y12[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6, 49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
147 double y13[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6, 49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
148 double y14[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
149 double y15[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
150 double y16[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
151 double y17[24]={0., 0, 0, 0, 0, 0, 24, 7.5, 68.6, 64.8, 73.3, 95.8, 122.5,106.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110};
152 double y18[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
153 double y19[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110 };
154 double y20[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107.3,98, 378, 650, 564, 167, 304, 359, 381, 497, 110 };
155 double y21[24]={0., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
156 double y22[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
157 double y23[24]={0., 0, 0, 0, 0, 0, 12, 3.8, 32.4, 32.4, 37, 48, 61.2, 53.6,49, 169, 325, 282, 83.5, 152, 179, 190, 248, 55 };
183 for(
int i=0;i<24;i++){
185 d0d0bar.push_back(y0[i]);
186 dpdm.push_back(y1[i]);
187 d0dst0bar.push_back(y2[i]);
188 d0bardst0.push_back(y3[i]);
189 dst0dst0bar.push_back(y4[i]);
190 dstpdm.push_back( y5[i]);
191 dstmdp.push_back( y6[i]);
192 dstpdstm.push_back(y7[i]);
193 dspdsm.push_back( y8[i]);
194 dsspdsm.push_back( y9[i]);
195 dssmdsp.push_back( y10[i]);
196 dsspdssm.push_back( y11[i]);
197 xs12.push_back( y12[i] );
198 xs13.push_back( y13[i] );
199 xs14.push_back( y14[i] );
200 xs15.push_back( y15[i] );
201 xs16.push_back( y16[i] );
202 xs17.push_back( y17[i] );
203 xs18.push_back( y18[i] );
204 xs19.push_back( y19[i] );
205 xs20.push_back( y20[i] );
206 xs21.push_back( y21[i] );
207 xs22.push_back( y22[i] );
208 xs23.push_back( y23[i] );
216 Vson.push_back(
"D0"); Vson.push_back(
"anti-D0");
217 VmodeSon.push_back(Vson);
221 Vson.push_back(
"D+"); Vson.push_back(
"D-");
222 VmodeSon.push_back(Vson);
226 Vson.push_back(
"D0"); Vson.push_back(
"anti-D*0");
227 VmodeSon.push_back(Vson);
231 Vson.push_back(
"anti-D0"); Vson.push_back(
"D*0");
232 VmodeSon.push_back(Vson);
236 Vson.push_back(
"D*0"); Vson.push_back(
"anti-D*0");
237 VmodeSon.push_back(Vson);
241 Vson.push_back(
"D*+"); Vson.push_back(
"D-");
242 VmodeSon.push_back(Vson);
246 Vson.push_back(
"D*-"); Vson.push_back(
"D+");
247 VmodeSon.push_back(Vson);
251 Vson.push_back(
"D*+"); Vson.push_back(
"D*-");
252 VmodeSon.push_back(Vson);
256 Vson.push_back(
"D_s+"); Vson.push_back(
"D_s-");
257 VmodeSon.push_back(Vson);
261 Vson.push_back(
"D_s*+"); Vson.push_back(
"D_s-");
262 VmodeSon.push_back(Vson);
266 Vson.push_back(
"D_s*-"); Vson.push_back(
"D_s+");
267 VmodeSon.push_back(Vson);
271 Vson.push_back(
"D_s*+"); Vson.push_back(
"D_s*-");
272 VmodeSon.push_back(Vson);
276 Vson.push_back(
"D*+"); Vson.push_back(
"D-");Vson.push_back(
"pi0");
277 VmodeSon.push_back(Vson);
281 Vson.push_back(
"D*-"); Vson.push_back(
"D+");Vson.push_back(
"pi0");
282 VmodeSon.push_back(Vson);
286 Vson.push_back(
"D*+"); Vson.push_back(
"anti-D0");Vson.push_back(
"pi-");
287 VmodeSon.push_back(Vson);
291 Vson.push_back(
"D*-"); Vson.push_back(
"D0");Vson.push_back(
"pi+");
292 VmodeSon.push_back(Vson);
296 Vson.push_back(
"D+"); Vson.push_back(
"anti-D*0");Vson.push_back(
"pi-");
297 VmodeSon.push_back(Vson);
301 Vson.push_back(
"D-"); Vson.push_back(
"D*0");Vson.push_back(
"pi+");
302 VmodeSon.push_back(Vson);
306 Vson.push_back(
"D*+"); Vson.push_back(
"D*-");Vson.push_back(
"pi0");
307 VmodeSon.push_back(Vson);
311 Vson.push_back(
"anti-D*0"); Vson.push_back(
"D*+");Vson.push_back(
"pi-");
312 VmodeSon.push_back(Vson);
316 Vson.push_back(
"D*0"); Vson.push_back(
"D*-");Vson.push_back(
"pi+");
317 VmodeSon.push_back(Vson);
321 Vson.push_back(
"D*0"); Vson.push_back(
"anti-D*0");Vson.push_back(
"pi0");
322 VmodeSon.push_back(Vson);
326 Vson.push_back(
"anti-D0"); Vson.push_back(
"D*0");Vson.push_back(
"pi0");
327 VmodeSon.push_back(Vson);
331 Vson.push_back(
"anti-D*0"); Vson.push_back(
"D0");Vson.push_back(
"pi0");
332 VmodeSon.push_back(Vson);
340 double polint( std::vector <double> points);
344 double theProb(std::vector<double> myxs,
int ich);
347 std::vector<EvtId>
getVId(
int mode);
355 if(m<0 || m>24) {std::cout<<
"EvtPsi3Decay::setMode: bad mode"<<std::endl;abort();}
356 _themode = m;_excflag=1;}
362 std::vector <double> x;
363 std::vector <double> d0d0bar;
364 std::vector <double> dpdm;
365 std::vector <double> d0dst0bar;
366 std::vector <double> d0bardst0;
367 std::vector <double> dst0dst0bar;
368 std::vector <double> dstpdm;
369 std::vector <double> dstmdp;
370 std::vector <double> dstpdstm;
371 std::vector <double> dspdsm;
372 std::vector <double> dsspdsm;
373 std::vector <double> dssmdsp;
374 std::vector <double> dsspdssm;
375 std::vector <double> xs12;
376 std::vector <double> xs13;
377 std::vector <double> xs14;
378 std::vector <double> xs15;
379 std::vector <double> xs16;
380 std::vector <double> xs17;
381 std::vector <double> xs18;
382 std::vector <double> xs19;
383 std::vector <double> xs20;
384 std::vector <double> xs21;
385 std::vector <double> xs22;
386 std::vector <double> xs23;
389 double theXsection[50];
391 std::vector<std::string> Vson;
392 std::vector<EvtId> Vid;
394 std::vector< std::vector<std::string> > VmodeSon;
395 std::vector< std::vector<EvtId> > VmodeId;
396 int _themode,_excflag;
398 std::vector<EvtVector4R> v_p4;
int getDecay(double ecms)
double theProb(std::vector< double > myxs, int ich)
void PHSPDecay(EvtParticle *par)
bool AngSam(EvtVector4R parent_p4cm, EvtVector4R son_p4cm, double alpha)
std::vector< EvtId > getVId(int mode)
double polint(std::vector< double > points)
EvtPsi3Sdecay(double ecms, EvtParticle *parent)
std::vector< EvtVector4R > getDaugP4()
std::vector< EvtId > getDaugId()