2548 double Gamma=0, mZ=0, a0=0, a1=0, a2=0, a3=0, Gamma0=0, m0=0,
f=0, f0=0;
2549 double a0_bkgd=0, a1_bkgd=0, a2_bkgd=0, a3_bkgd=0, a4_bkgd=0, a5_bkgd=0, a6_bkgd=0, a7_bkgd=0;
2550 double a8_bkgd=0, a9_bkgd=0;
2555 Gamma0 = 24.3063 + -0.169814*
mZZ + 0.00274393*(
mZZ - 108.86)*(
mZZ - 108.86);
2556 m0 = -273.264 + 6.81815*
mZZ + -0.0520652*TMath::Power(
mZZ,2) + 0.000129716*TMath::Power(
mZZ,3);
2557 a0 = 0.00205023 + 1.49685e-05*
mZZ + 2.45743e-07*(
mZZ - 110.553)*(
mZZ - 110.553);
2558 a1 = -34.7502 + 1.15173*
mZZ +-0.0152287*TMath::Power(
mZZ,2) + 0.000100538*TMath::Power(
mZZ,3)+ -3.317e-07*TMath::Power(
mZZ,4)+ 4.37829e-10*TMath::Power(
mZZ,5);
2559 a2 = 0.0710702 + -0.00232026*
mZZ + 3.00042e-05*TMath::Power(
mZZ,2) + -1.92831e-07*TMath::Power(
mZZ,3)+ 6.18009e-10*TMath::Power(
mZZ,4)+ -7.92751e-13*TMath::Power(
mZZ,5);
2560 f = 4.81681e-01*(TMath::Erf( (
mZZ-1.47620
e+02)/8.12397
e-01 ) + 1.);
2561 Gamma = 252.406 + -5.11437*
mZZ + 0.0345238*TMath::Power(
mZZ,2) + -7.44284e-05*TMath::Power(
mZZ,3);
2562 f0 = 3.68735e-01*(TMath::Erf( (
mZZ-1.17687
e+02)/2.61381
e-01 ) + 1.);
2567 a3_bkgd = 0.0416272;
2573 a9_bkgd = 0.0277349;
2577 Gamma0 = 64.5791 + -0.465027*
mZZ + 0.00680112*(
mZZ - 109.083)*(
mZZ - 109.083);
2578 m0 = -4528.09 + 98.4925*
mZZ + -0.70193*TMath::Power(
mZZ,2) + 0.00164952*TMath::Power(
mZZ,3);
2579 a0 = 0.00205023 + 1.49685e-05*
mZZ + 2.45743e-07*(
mZZ - 110.553)*(
mZZ - 110.553);
2580 a1 = 0.0549555 + -0.000367875*
mZZ + 6.16188e-10*(
mZZ - 106.028)*(
mZZ - 106.028)*(
mZZ - 106.028)*(
mZZ - 106.028);
2581 a2 = -0.000222052 + 1.51606e-06*
mZZ + -9.57278e-08*(
mZZ - 144.667)*(
mZZ - 144.667);
2582 f = 4.82988e-01*(TMath::Erf( (
mZZ-1.47620
e+02)/8.12397
e-01 ) + 1.);
2583 Gamma = 252.406 + -5.11437*
mZZ + 0.0345238*TMath::Power(
mZZ,2) + -7.44284e-05*TMath::Power(
mZZ,3);
2584 f0 = 3.68735e-01*(TMath::Erf( (
mZZ-1.17687
e+02)/2.61381
e-01 ) + 1.);
2589 a3_bkgd = 0.0416272;
2595 a9_bkgd = 0.0277349;
2599 Gamma0 = 36.9986 + -0.250136*
mZZ + 0.00474031*(
mZZ - 108.732)*(
mZZ - 108.732);
2600 m0 = -3266.9 + 73.5969*
mZZ + -0.544448*TMath::Power(
mZZ,2) + 0.00133127*TMath::Power(
mZZ,3);
2601 a0 = 0.00205023 + 1.49685e-05*
mZZ + 2.45743e-07*(
mZZ - 110.553)*(
mZZ - 110.553);
2602 a1 = 0.0206819 + -0.000168968*
mZZ + 4.26934e-11*(
mZZ - 40.4456)*(
mZZ - 40.4456)*(
mZZ - 40.4456)*(
mZZ - 40.4456);
2603 a2 = -1.271e-05 + 8.742e-08*
mZZ + -6.34276e-08*(
mZZ - 144.032)*(
mZZ - 144.032);
2604 f = 4.82988e-01*(TMath::Erf( (
mZZ-1.47620
e+02)/8.12397
e-01 ) + 1.);
2605 Gamma = 252.406 + -5.11437*
mZZ + 0.0345238*TMath::Power(
mZZ,2) + -7.44284e-05*TMath::Power(
mZZ,3);
2606 f0 = 3.68735e-01*(TMath::Erf( (
mZZ-1.17687
e+02)/2.61381
e-01 ) + 1.);
2611 a3_bkgd = 0.0416272;
2617 a9_bkgd = 0.0277349;
2620 std::cout <<
"Invalid paramters for this PDF!" << std::endl;
2625 double ZZshape = (.5+.5*TMath::Erf((
mZZ-a0_bkgd)/a1_bkgd))*(a3_bkgd/(1+
exp((
mZZ-a0_bkgd)/a2_bkgd)))+(.5+.5*TMath::Erf((
mZZ-a4_bkgd)/a5_bkgd))*(a7_bkgd/(1+
exp((
mZZ-a4_bkgd)/a6_bkgd))+a9_bkgd/(1+
exp((
mZZ-a4_bkgd)/a8_bkgd)));
2628 double mZDistribution, acceptance;
2632 if(beta<0)
return 0.0000001;
2633 else mZDistribution =
beta;
2640 double onShellZ =
exp(-(
mZstar-mZ)*(
mZstar-mZ)/(2*Gamma*Gamma))/
sqrt(2*3.1415*Gamma*Gamma);
2642 double errorFunc =
exp(-(
mZstar-m0)*(
mZstar-m0)/(2*Gamma0*Gamma0))/
sqrt(2*3.1415*Gamma0*Gamma0);
2645 double final = mZDistribution*((1-
f)*(f0*acceptance+(1-f0)*errorFunc)+
f*onShellZ);
2646 if (
final <= 0)
final = 1
e-12;
2650 double E = 2.71828183;
2655 double mZstarFix=12.;
2656 double integralT1Lo=((1 -
f)*f0*((a1*Power(mZstarFix,6))/6. + (2*a2*Power(mZstarFix,7))/7. + (a0 - a2)*mZstarFix*Power(Power(mZ,2) - Power(
mZZ,2),2) + (a1*Power(mZstarFix,2)*Power(Power(mZ,2) - Power(
mZZ,2),2))/2. - (a1*Power(mZstarFix,4)*(Power(mZ,2) + Power(
mZZ,2)))/2. + (Power(mZstarFix,5)*(a0 - a2*(1 + 4*Power(mZ,2) + 4*Power(
mZZ,2))))/5. + (2*Power(mZstarFix,3)*(-(a0*(Power(mZ,2) + Power(
mZZ,2))) + a2*(Power(mZ,4) + Power(
mZZ,2) + Power(
mZZ,4) + Power(mZ,2)*(1 - 2*Power(
mZZ,2)))))/3.))/Power(
mZZ,4);
2658 double integralT1Hi=((1 -
f)*f0*((a1*Power(mZstarFix,6))/6. + (2*a2*Power(mZstarFix,7))/7. + (a0 - a2)*mZstarFix*Power(Power(mZ,2) - Power(
mZZ,2),2) + (a1*Power(mZstarFix,2)*Power(Power(mZ,2) - Power(
mZZ,2),2))/2. - (a1*Power(mZstarFix,4)*(Power(mZ,2) + Power(
mZZ,2)))/2. + (Power(mZstarFix,5)*(a0 - a2*(1 + 4*Power(mZ,2) + 4*Power(
mZZ,2))))/5. + (2*Power(mZstarFix,3)*(-(a0*(Power(mZ,2) + Power(
mZZ,2))) + a2*(Power(mZ,4) + Power(
mZZ,2) + Power(
mZZ,4) + Power(mZ,2)*(1 - 2*Power(
mZZ,2)))))/3.))/Power(
mZZ,4);
2663 double t2loA = (3*Power(Gamma0,4) + Power(m0,4) + Power(mZ,4) - 2*Power(Gamma0,2)*Power(
mZZ,2) + Power(
mZZ,4) + Power(m0,2)*(6*Power(Gamma0,2) - 2*Power(mZ,2) - 2*Power(
mZZ,2)) - 2*Power(mZ,2)*(Power(Gamma0,2) + Power(
mZZ,2)));
2664 double integralT2Lo=((-1 +
f)*(-1 + f0)*(-1.*((Power(Gamma0,2)*(Power(m0,3) + Power(m0,2)*mZstarFix + mZstarFix*(3*Power(Gamma0,2) - 2*Power(mZ,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2)) + m0*(5*Power(Gamma0,2) - 2*Power(mZ,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2))))/Power(E,Power(m0 - mZstarFix,2)/(2.*Power(Gamma0,2)))) - Gamma0*t2loA*
sqrt(
TMath::Pi()/2.)*TMath::Erf((m0 - mZstarFix)/(
sqrt(2)*Gamma0))))/Power(
mZZ,4);
2667 double t2hiA = (3*Power(Gamma0,4) + Power(m0,4) + Power(mZ,4) - 2*Power(Gamma0,2)*Power(
mZZ,2) + Power(
mZZ,4) + Power(m0,2)*(6*Power(Gamma0,2) - 2*Power(mZ,2) - 2*Power(
mZZ,2)) - 2*Power(mZ,2)*(Power(Gamma0,2) + Power(
mZZ,2)));
2668 double integralT2Hi=((-1 +
f)*(-1 + f0)*(-1.*((Power(Gamma0,2)*(Power(m0,3) + Power(m0,2)*mZstarFix + mZstarFix*(3*Power(Gamma0,2) - 2*Power(mZ,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2)) + m0*(5*Power(Gamma0,2) - 2*Power(mZ,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2))))/Power(E,Power(m0 - mZstarFix,2)/(2.*Power(Gamma0,2)))) - Gamma0*t2hiA*
sqrt(
TMath::Pi()/2.)*TMath::Erf((m0 - mZstarFix)/(
sqrt(2)*Gamma0))))/Power(
mZZ,4);
2672 double t3loA = (3*Power(Gamma,4) + 4*Power(Gamma,2)*Power(mZ,2) - 2*(Power(Gamma,2) + 2*Power(mZ,2))*Power(
mZZ,2) + Power(
mZZ,4));
2673 double integralT3Lo=(
f*((Power(Gamma,2)*(Power(mZ,3) + Power(mZ,2)*mZstarFix - mZstarFix*(3*Power(Gamma,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2)) - mZ*(5*Power(Gamma,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2))))/Power(E,Power(mZ - mZstarFix,2)/(2.*Power(Gamma,2))) - Gamma*t3loA*
sqrt(
TMath::Pi()/2.)*TMath::Erf((mZ - mZstarFix)/(
sqrt(2)*Gamma))))/Power(
mZZ,4);
2676 double t3hiA = (3*Power(Gamma,4) + 4*Power(Gamma,2)*Power(mZ,2) - 2*(Power(Gamma,2) + 2*Power(mZ,2))*Power(
mZZ,2) + Power(
mZZ,4));
2677 double integralT3Hi=(
f*((Power(Gamma,2)*(Power(mZ,3) + Power(mZ,2)*mZstarFix - mZstarFix*(3*Power(Gamma,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2)) - mZ*(5*Power(Gamma,2) + Power(mZstarFix,2) - 2*Power(
mZZ,2))))/Power(E,Power(mZ - mZstarFix,2)/(2.*Power(Gamma,2))) - Gamma*t3hiA*
sqrt(
TMath::Pi()/2.)*TMath::Erf((mZ - mZstarFix)/(
sqrt(2)*Gamma))))/Power(
mZZ,4);
2680 integral = integralT1Hi + integralT2Hi + integralT3Hi - integralT1Lo - integralT2Lo - integralT3Lo;
2682 if (integral <= 0.) {
2683 std::cout <<
"integral is less than zero...." << std::endl;
2687 return (
final/integral)*ZZshape;
Integral< F, X >::type integral(const F &f)