563 {
564
566
567
568 const std::vector<double> &ptbins =
m_ptbins;
569
570 double P_ineff = 1;
571 for (
size_t i = 0;
i < missed_truthBhs.size(); ++
i) {
572
573 double pt = missed_truthBhs[
i]->pt();
574 double eta = std::abs(missed_truthBhs[i]->
eta());
575 std::string pt_bin_of_truthBh = "";
576
577 for (size_t j = 0; j < ptbins.size() - 1; ++j) {
578 if (
pt >= ptbins[j] &&
pt < ptbins[j+1]) {
579
580 pt_bin_of_truthBh = "pt_bin_" + std::to_string((int)ptbins[j]) + "_" + std::to_string((int)ptbins[j+1]);
581 }
583 pt_bin_of_truthBh =
"pt_bin_" + std::to_string(
m_upperboundpT) +
"plus";
584 }
585 }
586 if (pt_bin_of_truthBh == ""){
587
588 continue;
589 }
590
593
595
596
597 for (
size_t k = 0;
k < eta_bins.size() - 1; ++
k) {
598 double eta_low = eta_bins[
k];
599 double eta_up = eta_bins[
k+1];
600 if (
eta >= eta_low &&
eta < eta_up) {
601
603 }
604 }
605
607 }
608 return P_ineff;
609 }
Scalar eta() const
pseudorapidity method
TEfficiency * efficiency(const std::string &effName, const std::string &tDir="", const std::string &stream="")
Simplify the retrieval of registered TEfficiency.
static const std::vector< const xAOD::TruthParticle * > construct_not_matched_vectors(const std::vector< const xAOD::TruthParticle * > &truthBhs, const std::vector< bool > &matched_vector)
list efficiencies
translate the station name indices into the string staiton name
setRcore setEtHad setFside pt