BOSS 7.1.1
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtD0ToKSpi0eta.cc
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// Environment:
3// This software is part of models developed at BES collaboration
4// based on the EvtGen framework. If you use all or part
5// of it, please give an appropriate acknowledgement.
6//
7// Copyright Information: See EvtGen/BesCopyright
8// Copyright (A) 2006 Ping Rong-Gang @IHEP
9//
10// Module: EvtD0ToKSpi0eta.cc
11// the necessary file: Evt.hh
12//
13// Description: D+ -> K- K+ pi+,
14//
15//
16// Modification history:
17// Liaoyuan Dong Fri Dec 02 23:35:56 CST 2022 Module created
18//------------------------------------------------------------------------
19
21#include <fstream>
22#include <stdlib.h>
25#include "EvtGenBase/EvtPDL.hh"
30#include <string>
33using std::endl;
34
36
37void EvtD0ToKSpi0eta::getName(std::string& model_name){
38 model_name="D0ToKSpi0eta";
39}
40
44
46 // check that there are 0 arguments
47 checkNArg(0);
48 checkNDaug(3);
53
54 mass[0] = 0.98;//a0980
55 mass[1] = 0.89255;//K892
56 mass[2] = 1.414;//K1410
57 mass[3] = 1.414;//KPISwave
58 mass[4] = 1.414;//non-Dwave
59
60 width[0] = 0.756;//a0980
61 width[1] = 0.0473;//k892
62 width[2] = 0.232;//k1410
63 width[3] = 0.232;//kpiswave
64 width[4] = 0.232;//non-Dwave
65
66 rho[0] = 1;//a0980
67 phi[0] = 0;//
68
69 rho[1] = 0.20146;// k892
70 phi[1] = 2.9328;//
71
72 rho[2] = 0.81611;// k1410
73 phi[2] = -2.0637;
74
75 rho[3] = 0.49421;// kpiswave
76 phi[3] =-4.4523;
77
78 rho[4] = 5.4953;// non-Dwave
79 phi[4] = 1.7266;//
80
81 spin[0] = 0; //a0980
82 spin[1] = 1; //k892
83 spin[2] = 1; //k1410
84 spin[3] = 0; //kpiSwave
85 spin[4] = 2; //nonD
86
87 modetype[0] = 23;// a0980
88 modetype[1] = 12;// k892
89 modetype[2] = 12;// k1410
90 modetype[3] = 12;// kpis
91 modetype[4] = 13;// non D
92
93/*
94 std::cout << "EvtD0ToKSpi0eta ==> Initialization" << std::endl;
95 for (int i=0; i<5; i++) {
96 cout << i << " rho= " << rho[i] << " phi= " << phi[i] << endl;
97 }
98*/
99
100 mD0 = 1.864;
101 mK0 = 0.497611;
102 mKa = 0.49368;
103 mPi = 0.13957;
104 mK02 = 0.237616707;
105 mPi2 = 0.01947978;
106 mass_EtaP = 0.95778;
107 mass_Kaon = 0.49368;
108
109 math_pi = 3.1415926;
110 mass_Pion = 0.13957;
111 mass_Pion2 = 0.0194797849;
112 mass_2Pion = 0.27914;
113 math_2pi = 6.2831852;
114 rD2 = 25.0; // 5*5
115 rRes2 = 9.0; // 3*3
116 //g1 = 0.5468;
117 g2 = 0.23;
118 GS1 = 0.636619783;
119 GS2 = 0.01860182466;
120 GS3 = 0.1591549458;
121 GS4 = 0.00620060822;
122
123
124 int GG[4][4] = { {1,0,0,0}, {0,-1,0,0}, {0,0,-1,0}, {0,0,0,-1} };
125 for (int i=0; i<4; i++) {
126 for (int j=0; j<4; j++) {
127 G[i][j] = GG[i][j];
128 }
129 }
130}
131
133 setProbMax(625.0);//MAXprob = 621.9269871585
134}
135
136
138//==================================================get max============================================
139/*
140 double maxprob = 0.0;
141 for(int ir=0;ir<=60000000;ir++){
142 p->initializePhaseSpace(getNDaug(),getDaugs());
143 EvtVector4R D1 = p->getDaug(0)->getP4();
144 EvtVector4R D2 = p->getDaug(1)->getP4();
145 EvtVector4R D3 = p->getDaug(2)->getP4();
146
147 double P1[4], P2[4], P3[4];
148 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
149 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
150 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
151
152 double value;
153 int nstates=8;
154 int g0[8]={1,1,4,1,1,1,3,1};
155 double r0[8]={3.0,3.0,3.0,3.0,3.0,3.0,3.0,3.0};
156 double r1[8]={5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0};
157
158 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
159
160 if (value<0) continue;
161 if(value>maxprob) {
162 maxprob=value;
163 cout << "ir= " << ir << endl;
164 cout << "MAX====> " << maxprob << endl;
165 }
166 }
167 printf("MAXprob = %.10f\n",maxprob);
168*/
169//==================================================get max============================================
170
171
173 EvtVector4R D1 = p->getDaug(0)->getP4();
174 EvtVector4R D2 = p->getDaug(1)->getP4();
175 EvtVector4R D3 = p->getDaug(2)->getP4();
176
177 double P1[4], P2[4], P3[4];
178 P1[0] = D1.get(0); P1[1] = D1.get(1); P1[2] = D1.get(2); P1[3] = D1.get(3);
179 P2[0] = D2.get(0); P2[1] = D2.get(1); P2[2] = D2.get(2); P2[3] = D2.get(3);
180 P3[0] = D3.get(0); P3[1] = D3.get(1); P3[2] = D3.get(2); P3[3] = D3.get(3);
181
182 //Check
183// P1[0] = 0.734098420544862; P2[0] = 0.352732515142708; P3[0] = 0.799420828049644;
184 // P1[1] = 0.409477641275596; P2[1] = 0.078790398165110; P3[1] = -0.431210425541509;
185 // P1[2] = 0.301451605847801; P2[2] = 0.308201450489482; P3[2] = -0.378552010532733;
186 // P1[3] =-0.180693640379551; P2[3] =-0.070704784074596; P3[3] = 0.09759914740263;
187
188 double value;
189 int nstates=5;
190 int g0[5]={3,1,1,2,0};
191 double r0[5]={3.0,3.0,3.0,3.0,3.0};
192 double r1[5]={5.0,5.0,5.0,5.0,5.0};
193
194 calEva(P1, P2, P3, mass, width, rho, phi, g0, spin, modetype, nstates, value,r0,r1);
195 setProb(value);
196 return ;
197
198//////
199}
200
201
202void EvtD0ToKSpi0eta::Com_Multi(double a1[2], double a2[2], double res[2])
203{
204 res[0] = a1[0]*a2[0]-a1[1]*a2[1];
205 res[1] = a1[1]*a2[0]+a1[0]*a2[1];
206}
207void EvtD0ToKSpi0eta::Com_Divide(double a1[2], double a2[2], double res[2])
208{
209 double tmp = a2[0]*a2[0]+a2[1]*a2[1];
210 res[0] = (a1[0]*a2[0]+a1[1]*a2[1])/tmp;
211 res[1] = (a1[1]*a2[0]-a1[0]*a2[1])/tmp;
212}
213//------------base---------------------------------
214double EvtD0ToKSpi0eta::SCADot(double a1[4], double a2[4])
215{
216 double _cal = a1[0]*a2[0]-a1[1]*a2[1]-a1[2]*a2[2]-a1[3]*a2[3];
217 return _cal;
218}
219double EvtD0ToKSpi0eta::barrier(int l, double sa, double sb, double sc, double r, double mass)
220{
221 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
222 if(q < 0) q = 1e-16;
223 double z;
224 z = q*r*r;
225 double sa0;
226 sa0 = mass*mass;
227 double q0 = (sa0+sb-sc)*(sa0+sb-sc)/(4*sa0)-sb;
228 if(q0 < 0) q0 = 1e-16;
229 double z0 = q0*r*r;
230 double F = 0.0;
231 if(l == 0) F = 1;
232 if(l == 1) F = sqrt((1+z0)/(1+z));
233 if(l == 2) F = sqrt((9+3*z0+z0*z0)/(9+3*z+z*z));
234 return F;
235
236}
237//------------------spin-------------------------------------------
238void EvtD0ToKSpi0eta::calt1(double daug1[4], double daug2[4], double t1[4])
239{
240 double p, pq, tmp;
241 double pa[4], qa[4];
242 for(int i=0; i<4; i++) {
243 pa[i] = daug1[i] + daug2[i];
244 qa[i] = daug1[i] - daug2[i];
245 }
246 p = SCADot(pa,pa);
247 pq = SCADot(pa,qa);
248 tmp = pq/p;
249 for(int i=0; i<4; i++) {
250 t1[i] = qa[i] - tmp*pa[i];
251 }
252}
253void EvtD0ToKSpi0eta::calt2(double daug1[4], double daug2[4], double t2[4][4])
254{
255 double p, r;
256 double pa[4], t1[4];
257 calt1(daug1,daug2,t1);
258 r = SCADot(t1,t1)/3.0;
259 for(int i=0; i<4; i++) {
260 pa[i] = daug1[i] + daug2[i];
261 }
262 p = SCADot(pa,pa);
263 for(int i=0; i<4; i++) {
264 for(int j=0; j<4; j++) {
265 t2[i][j] = t1[i]*t1[j] - r*(G[i][j]-pa[i]*pa[j]/p);
266 }
267 }
268}
269//-------------------prop--------------------------------------------
270void EvtD0ToKSpi0eta::propagator(double mass2, double mass, double width, double sx, double prop[2])
271{
272 double a[2], b[2];
273 a[0] = 1;
274 a[1] = 0;
275 b[0] = mass2-sx;
276 b[1] = -mass*width;
277 Com_Divide(a,b,prop);
278}
279double EvtD0ToKSpi0eta::wid(double mass2, double mass, double sa, double sb, double sc, double r2, int l)
280{
281 double widm = 0.;
282 double m = sqrt(sa);
283 double tmp = sb-sc;
284 double tmp1 = sa+tmp;
285 double q = 0.25*tmp1*tmp1/sa-sb;
286 if(q<0) q = 1e-16;
287 double tmp2 = mass2+tmp;
288 double q0 = 0.25*tmp2*tmp2/mass2-sb;
289 if(q0<0) q0 = 1e-16;
290 double z = q*r2;
291 double z0 = q0*r2;
292 double t = q/q0;
293 if(l == 0) {widm = sqrt(t)*mass/m;}
294 else if(l == 1) {widm = t*sqrt(t)*mass/m*(1+z0)/(1+z);}
295 else if(l == 2) {widm = t*t*sqrt(t)*mass/m*(9+3*z0+z0*z0)/(9+3*z+z*z);}
296 return widm;
297}
298double EvtD0ToKSpi0eta::widl1(double mass2, double mass, double sa, double sb, double sc, double r2)
299{
300 double widm = 0.;
301 double m = sqrt(sa);
302 double tmp = sb-sc;
303 double tmp1 = sa+tmp;
304 double q = 0.25*tmp1*tmp1/sa-sb;
305 if(q<0) q = 1e-16;
306 double tmp2 = mass2+tmp;
307 double q0 = 0.25*tmp2*tmp2/mass2-sb;
308 if(q0<0) q0 = 1e-16;
309 double z = q*r2;
310 double z0 = q0*r2;
311 double F = (1+z0)/(1+z);
312 double t = q/q0;
313 widm = t*sqrt(t)*mass/m*F;
314 return widm;
315}
316void EvtD0ToKSpi0eta::propagatorRBW(double mass, double width, double sa, double sb, double sc, double r2, int l, double prop[2])
317{
318
319 double a[2], b[2];
320 double mass2 = mass*mass;
321 a[0] = 1;
322 a[1] = 0;
323 b[0] = mass2-sa;
324 b[1] = -mass*width*wid(mass2,mass,sa,sb,sc,r2,l);
325 Com_Divide(a,b,prop);
326}
327
328void EvtD0ToKSpi0eta::KPiSLASS(double sa, double sb, double sc, double prop[2]) {
329 const double m1430 = 1.441;
330 const double sa0 = 1.441*1.441; // m1430*m1430;
331 const double w1430 = 0.193;
332 const double Lass1 = 0.25/sa0;
333 double tmp = sb-sc;
334 double tmp1 = sa0+tmp;
335 double q0 = Lass1*tmp1*tmp1-sb;
336 if(q0<0) q0 = 1e-16;
337 double tmp2 = sa+tmp;
338 double qs = 0.25*tmp2*tmp2/sa-sb;
339 double q = sqrt(qs);
340 double width = w1430*q*m1430/sqrt(sa*q0);
341 double temp_R = atan(m1430*width/(sa0-sa));
342 if(temp_R<0) temp_R += math_pi;
343 double deltaR = -1.915 + temp_R; //fiR=-109.7
344 double temp_F = atan(0.226*q/(2.0-3.819*qs)); // 2.0*0.113 = 0.226; 0.113*33.8 = 3.819
345 if(temp_F<0) temp_F += math_pi;
346 double deltaF = 0.002 + temp_F; //fiF=0.1
347 double deltaS = deltaR + 2.0*deltaF;
348 double t1 = 0.96*sin(deltaF);
349 double t2 = sin(deltaR);
350 double CF[2], CS[2];
351 CF[0] = cos(deltaF);
352 CF[1] = sin(deltaF);
353 CS[0] = cos(deltaS);
354 CS[1] = sin(deltaS);
355 prop[0] = t1*CF[0] + t2*CS[0];
356 prop[1] = t1*CF[1] + t2*CS[1];
357}
358 //------------GS---used by rho----------------------------
359void EvtD0ToKSpi0eta::propagatorGS(double mass2, double mass, double width, double sa, double sb, double sc, double r2, double prop[2])
360{
361 double a[2], b[2];
362 double tmp = sb-sc;
363 double tmp1 = sa+tmp;
364 double q2 = 0.25*tmp1*tmp1/sa-sb;
365 if(q2<0) q2 = 1e-16;
366
367 double tmp2 = mass2+tmp;
368 double q02 = 0.25*tmp2*tmp2/mass2-sb;
369 if(q02<0) q02 = 1e-16;
370
371 double q = sqrt(q2);
372 double q0 = sqrt(q02);
373 double m = sqrt(sa);
374 double q03 = q0*q02;
375 //double tmp3 = log(mass+2*q0)+1.2760418309; // log(mass_2Pion) = 1.2760418309;
376 double tmp3 = log(mass+2*q0)+1.2926305904; // log(mpi0+mpip) = -1.2926305904;
377
378 double h = GS1*q/m*(log(m+2*q)+1.2926305904);
379 double h0 = GS1*q0/mass*tmp3;
380 double dh = h0*(0.125/q02-0.5/mass2)+GS3/mass2;
381 double d = GS2/q02*tmp3+GS3*mass/q0-GS4*mass/q03;
382 double f = mass2/q03*(q2*(h-h0)+(mass2-sa)*q02*dh);
383
384 a[0] = 1.0+d*width/mass;
385 a[1] = 0.0;
386 b[0] = mass2-sa+width*f;
387 b[1] = -mass*width*widl1(mass2,mass,sa,sb,sc,r2);
388 Com_Divide(a,b,prop);
389 }
390void EvtD0ToKSpi0eta::propagatorFlatte(double mass, double width, double sa, double sb, double sc,int r, double prop[2]){
391 double qKK,qetapi,qKSKS;
392 double rhoab[2], rhoKsK[2];
393 //q = 0.25*(sa+sb-sc)*(sa+sb-sc)/sa-sb;
394 qetapi=0.25*(sa+0.547862*0.547862-0.1349768*0.1349768)*(sa+0.547862*0.547862-0.1349768*0.1349768)/sa-0.547862*0.547862;//eta pi0
395 qKK = 1-(2*0.49368/sa)*(2*0.49368/sa);//K+K-
396 qKSKS = 1-(2*0.497614/sa)*(2*0.497614/sa);//KS0KS0
397//eta pi0
398 if(qetapi>0){
399 rhoab[0] = 2*sqrt(qetapi/sa);
400 rhoab[1] = 0;
401 }
402 if(qetapi<0){
403 rhoab[0] = 0;
404 rhoab[1] = 2*sqrt(-qetapi/sa);
405 }
406 //KK&&KSKS
407 if(qKK>0&&qKSKS>0){
408 rhoKsK[0] = 0.5*(sqrt(qKK)+sqrt(qKSKS));
409 rhoKsK[1] = 0;
410 }
411 if(qKK<0&&qKSKS<0){
412 rhoKsK[0] = 0;
413 rhoKsK[1] = 0.5*(sqrt(-qKK)+sqrt(-qKSKS));
414 }
415 if(qKK<0&&qKSKS>0){
416 rhoKsK[0] = 0.5*sqrt(qKSKS);
417 rhoKsK[1] = 0.5*sqrt(-qKK);
418 }
419 if(qKK>0&&qKSKS<0){
420 rhoKsK[0] = 0.5*sqrt(qKK);
421 rhoKsK[1] = 0.5*sqrt(-qKSKS);
422 }
423 double a[2], b[2];
424 a[0] = 1;
425 a[1] = 0;
426 b[0] = mass*mass - sa + 0.341*rhoab[1] + 0.892*0.341*rhoKsK[1];//(考虑两项:eta pi 和kk)
427 b[1] = - (0.341*rhoab[0] + 0.892*0.341*rhoKsK[0]);
428 Com_Divide(a,b,prop);
429}
430
431
432double EvtD0ToKSpi0eta::DDalitz(double P1[4], double P2[4], double P3[4], int Ang, double mass){
433 double pR[4], pD[4];
434 double temp_PDF, v_re;
435 temp_PDF = 0.0;
436 v_re = 0.0;
437 double B[2], s1, s2, s3, sR, sD;
438 for(int i=0; i<4; i++){
439 pR[i] = P1[i] + P2[i];
440 pD[i] = pR[i] + P3[i];
441 }
442 s1 = SCADot(P1,P1);
443 s2 = SCADot(P2,P2);
444 s3 = SCADot(P3,P3);
445 sR = SCADot(pR,pR);
446 sD = SCADot(pD,pD);
447 int G[4][4];
448 for(int i=0; i!=4; i++){
449 for(int j=0; j!=4; j++){
450 if(i==j){
451 if(i==0) G[i][j] = 1;
452 else G[i][j] = -1;
453 }
454 else G[i][j] = 0;
455 }
456 }
457 if(Ang == 0){
458 B[0] = 1;
459 B[1] = 1;
460 temp_PDF = 1;
461 }
462 if(Ang == 1){
463 B[0] = barrier(1,sR,s1,s2,3.0,mass);
464 B[1] = barrier(1,sD,sR,s3,5.0,1.864);
465 double t1[4], T1[4];
466 calt1(P1,P2,t1);
467 calt1(pR,P3,T1);
468 temp_PDF = 0;
469 for(int i=0; i<4; i++){
470 temp_PDF += t1[i]*T1[i]*G[i][i];
471 }
472 }
473 if(Ang == 2){
474 B[0] = barrier(2,sR,s1,s2,3.0,mass);
475 B[1] = barrier(2,sD,sR,s3,5.0,1.864);
476 double t2[4][4], T2[4][4];
477 calt2(P1,P2,t2);
478 calt2(pR,P3,T2);
479 temp_PDF = 0;
480 for(int i=0; i<4; i++){
481 for(int j=0; j<4; j++){
482 temp_PDF += t2[i][j]*T2[j][i]*G[i][i]*G[j][j];
483 }
484 }
485 }
486 v_re = temp_PDF*B[0]*B[1];
487 return v_re;
488}
489
490void EvtD0ToKSpi0eta::calEva(double* KS0, double* Pi0, double* Eta, double *mass1, double *width1, double *amp, double *phase,int* g0,int* spin, int* modetype, int nstates, double & Result , double*r0 ,double*r1)
491{
492 double rRes = 9.0;
493 double P12[4], P23[4], P13[4];
494 double cof[2], amp_PDF[2], PDF[2];
495 double seta, spi0, sks0;
496 double s12, s13, s23;
497 for(int i=0; i<4; i++){
498 P12[i] = KS0[i] + Pi0[i];
499 P13[i] = KS0[i] + Eta[i];
500 P23[i] = Pi0[i] + Eta[i];
501 }
502 sks0 = SCADot(KS0,KS0);
503 spi0 = SCADot(Pi0,Pi0);
504 seta = SCADot(Eta,Eta);
505 s12 = SCADot(P12,P12);
506 s13 = SCADot(P13,P13);
507 s23 = SCADot(P23,P23);
508 double pro[2], temp_PDF, amp_tmp[2];
509 double mass1sq;
510 double Amp_KPiS[2];
511 amp_PDF[0] = 0;
512 amp_PDF[1] = 0;
513 PDF[0] = 0;
514 PDF[1] = 0;
515 amp_tmp[0] = 0;
516 amp_tmp[1] = 0;
517 for(int i=0; i<nstates; i++) {
518 amp_tmp[0] = 0;
519 amp_tmp[1] = 0;
520 mass1sq = mass1[i]*mass1[i];
521 cof[0] = amp[i]*cos(phase[i]);
522 cof[1] = amp[i]*sin(phase[i]);
523 temp_PDF = 0;
524 if(modetype[i] == 23){
525 temp_PDF = DDalitz( Pi0, Eta, KS0, spin[i], mass1[i]);//计算An里面的Sn
526 //if(g0[i]==1) propagatorGS(mass1sq,mass1[i],width1[i],s23,spi0,seta,9.0,pro);
527 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],s23,spi0,seta,rRes,spin[i],pro);//利用RBW函数计算了传播子对应An中的Pn
528 if(g0[i]==2) KPiSLASS(s23,spi0,seta,pro);//利用K pi s波(不同于传播子的参数化的一种方式),
529 if(g0[i]==3) propagatorFlatte(mass1[i],width1[i],s23,spi0,seta,0,pro);//spi0:pi0 seta:eta
530 if(g0[i]==0){
531 pro[0] = 1;
532 pro[1] = 0;
533 }
534 amp_tmp[0] = temp_PDF*pro[0];
535 amp_tmp[1] = temp_PDF*pro[1];
536 }
537
538
539 if(modetype[i] == 12){
540 temp_PDF = DDalitz(KS0, Pi0, Eta, spin[i], mass1[i]);
541 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],s12,sks0,spi0,rRes,spin[i],pro);
542 if(g0[i]==2) KPiSLASS(s12,sks0,spi0,pro);
543
544 if(g0[i]==0){
545 pro[0] = 1;//指的是pro的实部为1
546 pro[1] = 0;//虚部为0------------------------pro0==1&&pro1==0即为非共振态
547 }
548 amp_tmp[0] = temp_PDF*pro[0];
549 amp_tmp[1] = temp_PDF*pro[1];
550 }
551
552
553 if(modetype[i] == 13){
554 //temp_PDF = 0;
555 temp_PDF = DDalitz(KS0, Eta, Pi0, spin[i], mass1[i]);
556 if(g0[i]==1) propagatorRBW(mass1[i],width1[i],s13,sks0,seta,rRes,spin[i],pro);
557 //if(g0[i]==2) KEtaSLASS(s13,sks0,seta,pro);
558
559 if(g0[i]==0){
560 pro[0] = 1;
561 pro[1] = 0;
562 }
563 //amp_tmp[0] = amp_tmp[0] - temp_PDF*pro[0];
564 //amp_tmp[1] = amp_tmp[1] - temp_PDF*pro[1];
565 amp_tmp[0] = temp_PDF*pro[0];
566 amp_tmp[1] = temp_PDF*pro[1];
567 }
568 Com_Multi(amp_tmp,cof,amp_PDF);
569 PDF[0] += amp_PDF[0];
570 PDF[1] += amp_PDF[1];
571
572 }
573 double value = PDF[0]*PDF[0] + PDF[1]*PDF[1];
574 if(value <=0) value = 1e-20;
575 Result = value;
576//Check
577//printf("%s %8.14f\n","AAABBBvalue = ",value);
578}
579
double sin(const BesAngle a)
Definition BesAngle.h:210
double cos(const BesAngle a)
Definition BesAngle.h:213
double mass
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
****INTEGER imax DOUBLE PRECISION m_pi *DOUBLE PRECISION m_amfin DOUBLE PRECISION m_Chfin DOUBLE PRECISION m_Xenph DOUBLE PRECISION m_sinw2 DOUBLE PRECISION m_GFermi DOUBLE PRECISION m_MfinMin DOUBLE PRECISION m_ta2 INTEGER m_out INTEGER m_KeyFSR INTEGER m_KeyQCD *COMMON c_Semalib $ !copy of input $ !CMS energy $ !beam mass $ !final mass $ !beam charge $ !final charge $ !smallest final mass $ !Z mass $ !Z width $ !EW mixing angle $ !Gmu Fermi $ alphaQED at q
Definition KKsem.h:33
TCrossPart * CS
Definition Mcgpj.cxx:51
TTree * t
Definition binning.cxx:23
virtual ~EvtD0ToKSpi0eta()
void getName(std::string &name)
EvtDecayBase * clone()
void decay(EvtParticle *p)
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)
void setProb(double prob)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
double get(int i) const
double double double double * s12
Definition qcdloop1.h:77
double double double double double * s23
Definition qcdloop1.h:77
const double b
Definition slope.cxx:9