14 using namespace ROOT::VecOps;
16 void vo007_PhysicsHelpers()
25 RVec<float> phis = {0.0, 1.0, -0.5, M_PI + 1.0};
26 auto idx = Combinations(phis, 2);
28 auto phi1 = Take(phis, idx[0]);
29 auto phi2 = Take(phis, idx[1]);
30 auto dphi = DeltaPhi(phi1, phi2);
32 std::cout <<
"DeltaPhi(phi1 = " << phi1 <<
",\n"
33 <<
" phi2 = " << phi2 <<
")\n"
34 <<
" = " << dphi <<
"\n";
38 RVec<float> etas = {2.4, -1.5, 1.0, 0.0};
40 auto eta1 = Take(etas, idx[0]);
41 auto eta2 = Take(etas, idx[1]);
42 auto dr = DeltaR(eta1, eta2, phi1, phi2);
44 std::cout <<
"\nDeltaR(eta1 = " << eta1 <<
",\n"
45 <<
" eta2 = " << eta2 <<
",\n"
46 <<
" phi1 = " << phi1 <<
",\n"
47 <<
" phi2 = " << phi2 <<
")\n"
48 <<
" = " << dr <<
"\n";
53 RVec<float> pt3 = {40, 20, 30};
54 RVec<float> eta3 = {2.5, 0.5, -1.0};
55 RVec<float> phi3 = {-0.5, 0.0, 1.0};
56 RVec<float> mass3 = {10, 10, 10};
58 RVec<float> pt4 = {20, 10, 40};
59 RVec<float> eta4 = {0.5, -0.5, 1.0};
60 RVec<float> phi4 = {0.0, 1.0, -1.0};
61 RVec<float> mass4 = {2, 2, 2};
63 auto invMass = InvariantMasses(pt3, eta3, phi3, mass3, pt4, eta4, phi4, mass4);
65 std::cout <<
"\nInvariantMass(pt1 = " << pt3 <<
",\n"
66 <<
" eta1 = " << eta3 <<
",\n"
67 <<
" phi1 = " << phi3 <<
",\n"
68 <<
" mass1 = " << mass3 <<
",\n"
69 <<
" pt2 = " << pt4 <<
",\n"
70 <<
" eta2 = " << eta4 <<
",\n"
71 <<
" phi2 = " << phi4 <<
",\n"
72 <<
" mass2 = " << mass4 <<
")\n"
73 <<
" = " << invMass <<
"\n";
78 auto invMass2 = InvariantMass(pt3, eta3, phi3, mass3);
80 std::cout <<
"\nInvariantMass(pt = " << pt3 <<
",\n"
81 <<
" eta = " << eta3 <<
",\n"
82 <<
" phi = " << phi3 <<
",\n"
83 <<
" mass = " << mass3 <<
")\n"
84 <<
" = " << invMass2 <<
"\n";