diff --git a/benchmarks/b0_tracker/scripts/gen_forward_protons.cxx b/benchmarks/b0_tracker/scripts/gen_forward_protons.cxx index ef69220f9db9933f9ab08598033bb0f841574c5f..cb1705f952d399b8e9dbb9dacbafee7d37868ac5 100644 --- a/benchmarks/b0_tracker/scripts/gen_forward_protons.cxx +++ b/benchmarks/b0_tracker/scripts/gen_forward_protons.cxx @@ -21,11 +21,13 @@ void gen_forward_protons(int n_events = 1000, const char* out_fname = "forward_protons.hepmc") { + double crossingAngle = -0.025; //radiansc + // generate protons in B0 acceptance - roughly 5 - 20 mrad double cos_theta_min = 0.005; //std::cos(0.005*(M_PI/180.0)); double cos_theta_max = 0.020; //std::cos(0.020*(M_PI/180.0)); - + double partEnergyMin = 270.0; // xL 0.98 double partEnergyMax = 275.0; // top beam energy @@ -62,6 +64,10 @@ void gen_forward_protons(int n_events = 1000, // sphere of given radius, in this case momentum. // r1->Sphere(px, py, pz, p); + //rotate vector by crossing angle + pz = pz*std::cos(crossingAngle) - px*std::sin(crossingAngle); + px = pz*std::sin(crossingAngle) + px*std::cos(crossingAngle); + //std::cout << std::sqrt(px*px + py*py + pz*pz) - p << " is zero? \n"; // type 1 is final state