BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtDsToPipPipPimPi0.hh
Go to the documentation of this file.
1
2#ifndef EVTDSTOPIPPIPPIMPI0_HH
3#define EVTDSTOPIPPIPPIMPI0_HH
4
6
7#include <math.h>
8
9class EvtParticle;
10
12// must set as pi+ pi+ pi- pi0 in order!
13
14public:
15
17 virtual ~EvtDsToPipPipPimPi0();
18
19 void getName(std::string& name);
21
22 void init();
23 void initProbMax();
24
25 void decay(EvtParticle *p);
26
27private:
28static double mass1[11];
29static double mass2[11];
30static double width1[11];
31static double width2[11];
32static double amp[11];
33static double phase[11];
34static double a10gam_arr[3000];
35static double a1pgam_arr[3000];
36static double mD;
37static double metap;
38static double mKst0;
39static double GKst0;
40static double mKstp;
41static double Gkstp;
42static double mk0;
43static double mass_Kaon;
44static double mass_Ks;
45static double mass_Eta;
46static double mass_Pion;
47static double math_pi;
48static double mass_Pion2;
49static double mass_2Pion;
50static double math_2pi;
51static double rD2; // 5*5
52static double rRes1; // 3*3
53static double rRes2; // 3*3
54static double g1;
55static double g2; //K*0(1430)
56static double GS1;
57static double GS2;
58static double GS3; // 1/(2*math_2pi)
59static double GS4; // mass_Pion2/math_pi
60static int G[4][4];
61static int E[4][4][4][4];
62
63void Com_Multi(double a1[2], double a2[2], double res[2]){
64 res[0] = a1[0]*a2[0]-a1[1]*a2[1];
65 res[1] = a1[1]*a2[0]+a1[0]*a2[1];
66}
67void Com_Divide(double a1[2], double a2[2], double res[2]){
68 double tmp = a2[0]*a2[0]+a2[1]*a2[1];
69 res[0] = (a1[0]*a2[0]+a1[1]*a2[1])/tmp;
70 res[1] = (a1[1]*a2[0]-a1[0]*a2[1])/tmp;
71}
72double SCADot(double a1[4], double a2[4]){
73 double _cal = a1[0]*a2[0]-a1[1]*a2[1]-a1[2]*a2[2]-a1[3]*a2[3];
74 return _cal;
75}
76double barrier(int l, double sa, double sb, double sc, double r, double mass){
77 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
78 if(q < 0) q = 1e-16;
79 if(q<0) q=-q;
80 double z;
81 z = q*r;
82 double sa0;
83 sa0 = mass*mass;
84 double q0 = (sa0+sb-sc)*(sa0+sb-sc)/(4*sa0)-sb;
85 //if(q0 < 0) q0 = 1e-16;
86 if(q0 < 0) q0 = -q0;
87 double z0 = q0*r;
88 double F = 0.0;
89 if(l == 0) F = 1;
90 if(l == 1) F = sqrt((1+z0)/(1+z));
91 if(l == 2) F = sqrt((9+3*z0+z0*z0)/(9+3*z+z*z));
92 //if(l == 1) F = sqrt(1./(1+z));
93 //if(l == 2) F = sqrt(1./(9+3*z+z*z));
94 //if(l == 1) F = sqrt((2.0*r)/(1+z));
95 //if(l == 2) F = sqrt((13.0*r*r)/(9+3*z+z*z));
96 return F;
97}
98void calt1(double daug1[4], double daug2[4], double t1[4]){
99 double p, pq, tmp;
100 double pa[4], qa[4];
101 for(int i=0; i<4; i++) {
102 pa[i] = daug1[i] + daug2[i];
103 qa[i] = daug1[i] - daug2[i];
104 }
105 p = SCADot(pa,pa);
106 pq = SCADot(pa,qa);
107 tmp = pq/p;
108 for(int i=0; i<4; i++) {
109 t1[i] = qa[i] - tmp*pa[i];
110 }
111}
112void calt2(double daug1[4], double daug2[4], double t2[4][4]){
113 double p, r;
114 double pa[4], t1[4];
115 calt1(daug1,daug2,t1);
116 r = SCADot(t1,t1)/3.0;
117 for(int i=0; i<4; i++) {
118 pa[i] = daug1[i] + daug2[i];
119 }
120 p = SCADot(pa,pa);
121 for(int i=0; i<4; i++) {
122 for(int j=0; j<4; j++) {
123 t2[i][j] = t1[i]*t1[j] - r*(G[i][j]-pa[i]*pa[j]/p);
124 }
125 }
126}
127double projector1(double p4[4], int i, int j){
128 double result=0.;
129 result+=-G[i][j];
130 result+=p4[i]*p4[j]/(p4[0]*p4[0]-p4[1]*p4[1]-p4[2]*p4[2]-p4[3]*p4[3]);
131 return result;
132}
133double projector2(double p4[4], int i, int j, int k, int l){
134 double result=0.;
135 result+=0.5*projector1(p4,i,k)*projector1(p4,j,l);
136 result+=0.5*projector1(p4,i,l)*projector1(p4,j,k);
137 result+=(-1./3.)*projector1(p4,i,j)*projector1(p4,k,l);
138 return result;
139}
140double wid(double mass2, double mass, double sa, double sb, double sc, double r2, int l){
141 double widm = 0.;
142 double m = sqrt(sa);
143 double tmp = sb-sc;
144 double tmp1 = sa+tmp;
145 double q = 0.25*tmp1*tmp1/sa-sb;
146 if(q<0) q = 1e-16;
147 if(q<0) q = -q;
148 double tmp2 = mass2+tmp;
149 double q0 = 0.25*tmp2*tmp2/mass2-sb;
150 //if(q0<0) q0 = 1e-16;
151 if(q0<0) q0 = -q0;
152 double z = q*r2;
153 double z0 = q0*r2;
154 double t = q/q0;
155 if(l == 0) {widm = sqrt(t)*mass/m;}
156 else if(l == 1) {widm = t*sqrt(t)*mass/m*(1+z0)/(1+z);}
157 else if(l == 2) {widm = t*t*sqrt(t)*mass/m*(9+3*z0+z0*z0)/(9+3*z+z*z);}
158 return widm;
159}
160double widl1(double mass2, double mass, double sa, double sb, double sc, double r2){
161 double widm = 0.;
162 double m = sqrt(sa);
163 double tmp = sb-sc;
164 double tmp1 = sa+tmp;
165 double q = 0.25*tmp1*tmp1/sa-sb;
166 //if(q<0) q = 1e-16;
167 if(q<0) q = -q;
168 double tmp2 = mass2+tmp;
169 double q0 = 0.25*tmp2*tmp2/mass2-sb;
170 //if(q0<0) q0 = 1e-16;
171 if(q0<0) q0 = -q0;
172 double z = q*r2;
173 double z0 = q0*r2;
174 double F = (1+z0)/(1+z);
175 double t = q/q0;
176 widm = t*sqrt(t)*mass/m*F;
177 return widm;
178}
179void propagatorRBW(double mass2, double mass, double width, double sa, double sb, double sc, double r2, int l, double prop[2])
180{
181 double a[2], b[2];
182 a[0] = 1;
183 a[1] = 0;
184 b[0] = mass2-sa;
185 b[1] = -mass*width*wid(mass2,mass,sa,sb,sc,r2,l);
186 Com_Divide(a,b,prop);
187}
188void propagatorMW(double mass, double sa, int mode, double prop[2])
189{
190 double a[2], b[2];
191 a[0] = 1;
192 a[1] = 0;
193 b[0] = mass*mass-sa;
194 if(mode==0){
195 b[1] = -mass*a10gam_arr[int(sqrt(sa)*1000)];
196 }else if(mode==1){
197 b[1] = -mass*a1pgam_arr[int(sqrt(sa)*1000)];
198 }
199 Com_Divide(a,b,prop);
200}
201void Flatte_rhoab(double sa, double sb, double sc, double rho[2])
202{
203 double q = (sa+sb-sc)*(sa+sb-sc)/(4*sa)-sb;
204 if(q>0) {
205 rho[0]=2* sqrt(q/sa);
206 rho[1]=0;
207 }
208 else if(q<0){
209 rho[0]=0;
210 rho[1]=2*sqrt(-q/sa);
211 }
212}
213
214void rhoab(double sa, double sb, double sc, double res[2]) {
215 double tmp = sa+sb-sc;
216 double q = 0.25*tmp*tmp/sa-sb;
217 if(q>=0) {
218 res[0]=2.0*sqrt(q/sa);
219 res[1]=0.0;
220 } else {
221 res[0]=0.0;
222 res[1]=2.0*sqrt(-q/sa);
223 }
224}
225void propagatorGS(double mass2, double mass, double width, double sa, double sb, double sc, double r2, double prop[2]){
226 double a[2], b[2];
227 double tmp = sb-sc;
228 double tmp1 = sa+tmp;
229 double q2 = 0.25*tmp1*tmp1/sa-sb;
230 if(q2<0) q2 = 1e-16;
231 if(q2<0) q2 = -q2;
232
233 double tmp2 = mass2+tmp;
234 double q02 = 0.25*tmp2*tmp2/mass2-sb;
235 //if(q02<0) q02 = 1e-16;
236 if(q02<0) q02 = -q02;
237
238 double q = sqrt(q2);
239 double q0 = sqrt(q02);
240 double m = sqrt(sa);
241 double q03 = q0*q02;
242 double tmp3 = log(mass+2*q0)+1.2760418309; // log(mass_2Pion) = 1.2760418309;
243
244 double h = GS1*q/m*(log(m+2*q)+1.2760418309);
245 double h0 = GS1*q0/mass*tmp3;
246 double dh = h0*(0.125/q02-0.5/mass2)+GS3/mass2;
247 double d = GS2/q02*tmp3+GS3*mass/q0-GS4*mass/q03;
248 double f = mass2/q03*(q2*(h-h0)+(mass2-sa)*q02*dh);
249
250 a[0] = 1.0+d*width/mass;
251 a[1] = 0.0;
252 b[0] = mass2-sa+width*f;
253 b[1] = -mass*width*widl1(mass2,mass,sa,sb,sc,r2);
254 Com_Divide(a,b,prop);
255}
256void propagator980(double mass, double sx, double *sb, double *sc, double prop[2]){
257 double unit[2]={1.0};
258 double ci[2]={0,1};
259 double rho1[2];
260 Flatte_rhoab(sx,sb[0],sc[0],rho1);
261 double rho2[2];
262 Flatte_rhoab(sx,sb[1],sc[1],rho2);
263
264 double gK_f980=0.69466, gPi_f980=0.165;
265 double tmp1[2]={gK_f980,0};
266 double tmp11[2];
267 double tmp2[2]={gPi_f980,0};
268 double tmp22[2];
269 Com_Multi(tmp1,rho1,tmp11);
270 Com_Multi(tmp2,rho2,tmp22);
271 double tmp3[2]={tmp11[0]+tmp22[0],tmp11[1]+tmp22[1]};
272 double tmp31[2];
273 Com_Multi(tmp3, ci,tmp31);
274 double tmp4[2]={mass*mass-sx-tmp31[0], -1.0*tmp31[1]};
275 Com_Divide( unit,tmp4, prop);
276}
277double spinf1(double& p1t,double& p1x,double& p1y,double& p1z,
278 double& p2t,double& p2x,double& p2y,double& p2z,
279 double& p3t,double& p3x,double& p3y,double& p3z,
280 double& p4t,double& p4x,double& p4y,double& p4z){
281
282 double p1[4]={p1t,p1x,p1y,p1z};
283 double p2[4]={p2t,p2x,p2y,p2z};
284 double p3[4]={p3t,p3x,p3y,p3z};
285 double p4[4]={p4t,p4x,p4y,p4z};
286 double p14[4]={p1t+p4t,p1x+p4x,p1y+p4y,p1z+p4z};
287 double p23[4]={p2t+p3t,p2x+p3x,p2y+p3y,p2z+p3z};
288
289 double t1_14_23[4];
290 double t1_14[4];
291 double t1_23[4];
292
293 calt1(p14,p23,t1_14_23);
294 calt1(p1,p4,t1_14);
295 calt1(p2,p3,t1_23);
296
297 double temp_PDF=0.;
298 for(int a=0; a<4; a++){
299 for(int b=0; b<4; b++){
300 if(a==b) continue;
301 for(int c=0; c<4; c++){
302 if(a==c) continue;
303 if(b==c) continue;
304 for(int d=0; d<4; d++){
305 if(a==d) continue;
306 if(b==d) continue;
307 if(c==d) continue;
308 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*E[a][b][c][d]*t1_14_23[a]*t1_14[b]*t1_23[c]*(p1[d]+p2[d]+p3[d]+p4[d]);
309 }
310 }
311 }
312 }
313 return temp_PDF;
314}
315
316double spinf2(double& p1t,double& p1x,double& p1y,double& p1z,
317 double& p2t,double& p2x,double& p2y,double& p2z,
318 double& p3t,double& p3x,double& p3y,double& p3z,
319 double& p4t,double& p4x,double& p4y,double& p4z){
320
321 double p1[4]={p1t,p1x,p1y,p1z};
322 double p2[4]={p2t,p2x,p2y,p2z};
323 double p3[4]={p3t,p3x,p3y,p3z};
324 double p4[4]={p4t,p4x,p4y,p4z};
325 double p13[4]={p1t+p3t,p1x+p3x,p1y+p3y,p1z+p3z};
326 double p24[4]={p2t+p4t,p2x+p4x,p2y+p4y,p2z+p4z};
327
328 double t1_13_24[4];
329 double t1_13[4];
330 double t1_24[4];
331
332 calt1(p13,p24,t1_13_24);
333 calt1(p1,p3,t1_13);
334 calt1(p2,p4,t1_24);
335
336 double temp_PDF=0.;
337 for(int a=0; a<4; a++){
338 for(int b=0; b<4; b++){
339 if(a==b) continue;
340 for(int c=0; c<4; c++){
341 if(a==c) continue;
342 if(b==c) continue;
343 for(int d=0; d<4; d++){
344 if(a==d) continue;
345 if(b==d) continue;
346 if(c==d) continue;
347 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*E[a][b][c][d]*t1_13_24[a]*t1_13[b]*t1_24[c]*(p1[d]+p2[d]+p3[d]+p4[d]);
348 }
349 }
350 }
351 }
352 return temp_PDF;
353}
354
355double spinf3(double& p1t,double& p1x,double& p1y,double& p1z,
356 double& p2t,double& p2x,double& p2y,double& p2z,
357 double& p3t,double& p3x,double& p3y,double& p3z,
358 double& p4t,double& p4x,double& p4y,double& p4z){
359
360 double p1[4]={p1t,p1x,p1y,p1z};
361 double p2[4]={p2t,p2x,p2y,p2z};
362 double p3[4]={p3t,p3x,p3y,p3z};
363 double p4[4]={p4t,p4x,p4y,p4z};
364 double p134[4]={p1t+p3t+p4t,p1x+p3x+p4x,p1y+p3y+p4y,p1z+p3z+p4z};
365 double p14[4]={p1t+p4t,p1x+p4x,p1y+p4y,p1z+p4z};
366
367 double s134=p134[0]*p134[0]-p134[1]*p134[1]-p134[2]*p134[2]-p134[3]*p134[3];
368 double t1_134_2[4];
369 double t1_14_3[4];
370 double t1_14[4];
371
372 calt1(p134,p2,t1_134_2);
373 calt1(p14,p3,t1_14_3);
374 calt1(p1,p4,t1_14);
375
376 double temp_PDF=0.;
377 for(int a=0; a<4; a++){
378 for(int b=0; b<4; b++){
379 for(int c=0; c<4; c++){
380 if(b==c) continue;
381 for(int d=0; d<4; d++){
382 if(b==d) continue;
383 if(c==d) continue;
384 for(int e=0; e<4; e++){
385 if(b==e) continue;
386 if(c==e) continue;
387 if(d==e) continue;
388 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_134_2[a]*(-G[a][b]+p134[a]*p134[b]/s134)*E[b][c][d][e]*t1_14_3[c]*p134[d]*t1_14[e];
389 }
390 }
391 }
392 }
393 }
394 return temp_PDF;
395}
396
397double spinf4(double& p1t,double& p1x,double& p1y,double& p1z,
398 double& p2t,double& p2x,double& p2y,double& p2z,
399 double& p3t,double& p3x,double& p3y,double& p3z,
400 double& p4t,double& p4x,double& p4y,double& p4z){
401
402 double p1[4]={p1t,p1x,p1y,p1z};
403 double p2[4]={p2t,p2x,p2y,p2z};
404 double p3[4]={p3t,p3x,p3y,p3z};
405 double p4[4]={p4t,p4x,p4y,p4z};
406 double p234[4]={p2t+p3t+p4t,p2x+p3x+p4x,p2y+p3y+p4y,p2z+p3z+p4z};
407 double p24[4]={p2t+p4t,p2x+p4x,p2y+p4y,p2z+p4z};
408
409 double s234=p234[0]*p234[0]-p234[1]*p234[1]-p234[2]*p234[2]-p234[3]*p234[3];
410 double t1_234_1[4];
411 double t1_24_3[4];
412 double t1_24[4];
413
414 calt1(p234,p1,t1_234_1);
415 calt1(p24,p3,t1_24_3);
416 calt1(p2,p4,t1_24);
417
418 double temp_PDF=0.;
419 for(int a=0; a<4; a++){
420 for(int b=0; b<4; b++){
421 for(int c=0; c<4; c++){
422 if(b==c) continue;
423 for(int d=0; d<4; d++){
424 if(b==d) continue;
425 if(c==d) continue;
426 for(int e=0; e<4; e++){
427 if(b==e) continue;
428 if(c==e) continue;
429 if(d==e) continue;
430 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_234_1[a]*(-G[a][b]+p234[a]*p234[b]/s234)*E[b][c][d][e]*t1_24_3[c]*p234[d]*t1_24[e];
431 }
432 }
433 }
434 }
435 }
436 return temp_PDF;
437}
438
439double spinf5(double& p1t,double& p1x,double& p1y,double& p1z,
440 double& p2t,double& p2x,double& p2y,double& p2z,
441 double& p3t,double& p3x,double& p3y,double& p3z,
442 double& p4t,double& p4x,double& p4y,double& p4z){
443
444 double p1[4]={p1t,p1x,p1y,p1z};
445 double p2[4]={p2t,p2x,p2y,p2z};
446 double p3[4]={p3t,p3x,p3y,p3z};
447 double p4[4]={p4t,p4x,p4y,p4z};
448 double p134[4]={p1t+p3t+p4t,p1x+p3x+p4x,p1y+p3y+p4y,p1z+p3z+p4z};
449 double p13[4]={p1t+p3t,p1x+p3x,p1y+p3y,p1z+p3z};
450
451 double s134=p134[0]*p134[0]-p134[1]*p134[1]-p134[2]*p134[2]-p134[3]*p134[3];
452 double t1_134_2[4];
453 double t1_13_4[4];
454 double t1_13[4];
455
456 calt1(p134,p2,t1_134_2);
457 calt1(p13,p4,t1_13_4);
458 calt1(p1,p3,t1_13);
459
460 double temp_PDF=0.;
461 for(int a=0; a<4; a++){
462 for(int b=0; b<4; b++){
463 for(int c=0; c<4; c++){
464 if(b==c) continue;
465 for(int d=0; d<4; d++){
466 if(b==d) continue;
467 if(c==d) continue;
468 for(int e=0; e<4; e++){
469 if(b==e) continue;
470 if(c==e) continue;
471 if(d==e) continue;
472 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_134_2[a]*(-G[a][b]+p134[a]*p134[b]/s134)*E[b][c][d][e]*t1_13_4[c]*p134[d]*t1_13[e];
473 }
474 }
475 }
476 }
477 }
478 return temp_PDF;
479}
480
481double spinf6(double& p1t,double& p1x,double& p1y,double& p1z,
482 double& p2t,double& p2x,double& p2y,double& p2z,
483 double& p3t,double& p3x,double& p3y,double& p3z,
484 double& p4t,double& p4x,double& p4y,double& p4z){
485
486 double p1[4]={p1t,p1x,p1y,p1z};
487 double p2[4]={p2t,p2x,p2y,p2z};
488 double p3[4]={p3t,p3x,p3y,p3z};
489 double p4[4]={p4t,p4x,p4y,p4z};
490 double p234[4]={p2t+p3t+p4t,p2x+p3x+p4x,p2y+p3y+p4y,p2z+p3z+p4z};
491 double p23[4]={p2t+p3t,p2x+p3x,p2y+p3y,p2z+p3z};
492
493 double s234=p234[0]*p234[0]-p234[1]*p234[1]-p234[2]*p234[2]-p234[3]*p234[3];
494 double t1_234_1[4];
495 double t1_23_4[4];
496 double t1_23[4];
497
498 calt1(p234,p1,t1_234_1);
499 calt1(p23,p4,t1_23_4);
500 calt1(p2,p3,t1_23);
501
502 double temp_PDF=0.;
503 for(int a=0; a<4; a++){
504 for(int b=0; b<4; b++){
505 for(int c=0; c<4; c++){
506 if(b==c) continue;
507 for(int d=0; d<4; d++){
508 if(b==d) continue;
509 if(c==d) continue;
510 for(int e=0; e<4; e++){
511 if(b==e) continue;
512 if(c==e) continue;
513 if(d==e) continue;
514 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_234_1[a]*(-G[a][b]+p234[a]*p234[b]/s234)*E[b][c][d][e]*t1_23_4[c]*p234[d]*t1_23[e];
515 }
516 }
517 }
518 }
519 }
520 return temp_PDF;
521}
522
523double spinf7(double& p1t,double& p1x,double& p1y,double& p1z,
524 double& p2t,double& p2x,double& p2y,double& p2z,
525 double& p3t,double& p3x,double& p3y,double& p3z,
526 double& p4t,double& p4x,double& p4y,double& p4z){
527
528 double p1[4]={p1t,p1x,p1y,p1z};
529 double p2[4]={p2t,p2x,p2y,p2z};
530 double p3[4]={p3t,p3x,p3y,p3z};
531 double p4[4]={p4t,p4x,p4y,p4z};
532 double p134[4]={p1t+p3t+p4t,p1x+p3x+p4x,p1y+p3y+p4y,p1z+p3z+p4z};
533 double p34[4]={p3t+p4t,p3x+p4x,p3y+p4y,p3z+p4z};
534
535 double s134=p134[0]*p134[0]-p134[1]*p134[1]-p134[2]*p134[2]-p134[3]*p134[3];
536 double t1_134_2[4];
537 double t1_34_1[4];
538 double t1_34[4];
539
540 calt1(p134,p2,t1_134_2);
541 calt1(p34,p1,t1_34_1);
542 calt1(p3,p4,t1_34);
543
544 double temp_PDF=0.;
545 for(int a=0; a<4; a++){
546 for(int b=0; b<4; b++){
547 for(int c=0; c<4; c++){
548 if(b==c) continue;
549 for(int d=0; d<4; d++){
550 if(b==d) continue;
551 if(c==d) continue;
552 for(int e=0; e<4; e++){
553 if(b==e) continue;
554 if(c==e) continue;
555 if(d==e) continue;
556 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_134_2[a]*(-G[a][b]+p134[a]*p134[b]/s134)*E[b][c][d][e]*t1_34_1[c]*p134[d]*t1_34[e];
557 }
558 }
559 }
560 }
561 }
562 return temp_PDF;
563}
564
565double spinf8(double& p1t,double& p1x,double& p1y,double& p1z,
566 double& p2t,double& p2x,double& p2y,double& p2z,
567 double& p3t,double& p3x,double& p3y,double& p3z,
568 double& p4t,double& p4x,double& p4y,double& p4z){
569
570 double p1[4]={p1t,p1x,p1y,p1z};
571 double p2[4]={p2t,p2x,p2y,p2z};
572 double p3[4]={p3t,p3x,p3y,p3z};
573 double p4[4]={p4t,p4x,p4y,p4z};
574 double p234[4]={p2t+p3t+p4t,p2x+p3x+p4x,p2y+p3y+p4y,p2z+p3z+p4z};
575 double p34[4]={p3t+p4t,p3x+p4x,p3y+p4y,p3z+p4z};
576
577 double s234=p234[0]*p234[0]-p234[1]*p234[1]-p234[2]*p234[2]-p234[3]*p234[3];
578 double t1_234_1[4];
579 double t1_34_2[4];
580 double t1_34[4];
581
582 calt1(p234,p1,t1_234_1);
583 calt1(p34,p2,t1_34_2);
584 calt1(p3,p4,t1_34);
585
586 double temp_PDF=0.;
587 for(int a=0; a<4; a++){
588 for(int b=0; b<4; b++){
589 for(int c=0; c<4; c++){
590 if(b==c) continue;
591 for(int d=0; d<4; d++){
592 if(b==d) continue;
593 if(c==d) continue;
594 for(int e=0; e<4; e++){
595 if(b==e) continue;
596 if(c==e) continue;
597 if(d==e) continue;
598 temp_PDF += G[a][a]*G[b][b]*G[c][c]*G[d][d]*G[e][e]*t1_234_1[a]*(-G[a][b]+p234[a]*p234[b]/s234)*E[b][c][d][e]*t1_34_2[c]*p234[d]*t1_34[e];
599 }
600 }
601 }
602 }
603 }
604 return temp_PDF;
605}
606
607};
608
609#endif
double p1[4]
double p2[4]
double mass
TFile f("ana_bhabha660a_dqa_mcPat_zy_old.root")
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per saves r n generator level $ !Flag for chat level in !Latex Output unit
Definition FoamA.h:90
****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
TTree * t
Definition binning.cxx:23
void getName(std::string &name)
void decay(EvtParticle *p)
double double double * p4
Definition qcdloop1.h:77
double double * p3
Definition qcdloop1.h:76
const double b
Definition slope.cxx:9