ROOT::RVecD v1{1., 2., 3.}; ROOT::RVecD v2{3., 2., 1.}; auto v1_gr_v2 = v1 > v2; std::cout << v1 << " > " << v2 << " = " << v1_gr_v2 << std::endl; auto v1_noteq_v2 = v1 != v2; std::cout << v1 << " != " << v2 << " = " << v1_noteq_v2 << std::endl; auto all_true = v1 > .5 * v2; std::cout << std::boolalpha; std::cout << "All( " << v1 << " > .5 * " << v2 << " ) = " << All(all_true) << std::endl; std::cout << "Any( " << v1 << " > " << v2 << " ) = " << Any(v1_noteq_v2) << std::endl; ROOT::RVecD v{1., 2., 3., 4., 5.}; auto v_filtered = v[v > 3.]; std::cout << "v = " << v << ". v[ v > 3. ] = " << v_filtered << std::endl; ROOT::RVecD mu_pt{15., 12., 10.6, 2.3, 4., 3.}; ROOT::RVecD mu_eta{1.2, -0.2, 4.2, -5.3, 0.4, -2.}; auto good_mu_pt = mu_pt[mu_pt > 10 && abs(mu_eta) < 2.1]; std::cout << "mu_pt = " << mu_pt << " mu_pt[ mu_pt > 10 && abs(mu_eta) < 2.1] = " << good_mu_pt << std::endl; auto masked_mu_pt = Where(abs(mu_eta) < 2., mu_pt, -999.); std::cout << "mu_pt if abs(mu_eta) < 2 else -999 = " << masked_mu_pt << std::endl;