#include #include #include #include #include using namespace std; int main(){ const double stot = 10.; const double btot = 100.; // const double sigb_over_b = 5.; const double tau = 1.; double xCutMin = 0.; double xCutMax = 1.; int numPoints = 201; double dxCut = (xCutMax - xCutMin)/static_cast(numPoints-1); for (int i=1; i(i); double eff_sig = 1 - pow(1.-xCut, 3.); double eff_bkg = pow(xCut, 3.); double s = stot * eff_sig; double b = btot * eff_bkg; // double sigb = sigb_over_b * b; // double sigb = sqrt(b/tau); double sigb = 1.; double sOverRootb = s / sqrt(b); double sOverSigb = s / sqrt(b + sigb*sigb); double ZA = sqrt( 2.*((s+b)*log(1. + s/b) - s)); double u = (s+b)*(b + sigb*sigb) / (b*b + (s+b)*sigb*sigb); double v = b/sigb; double w = 1. + sigb*sigb*s/(b*(b + sigb*sigb)); double ZA_uncb = sqrt( 2.*((s+b)*log(u) - v*v*log(w))); cout << xCut << " " << s << " " << b << " " << sOverRootb << " " << ZA << " " << sOverSigb << " " << ZA_uncb << endl; } return 0; }