562 {
563
565
566
567 const std::vector<double> &ptbins =
m_ptbins;
568
569 double P_ineff = 1;
570 for (
size_t i = 0;
i < missed_truthBhs.size(); ++
i) {
571
572 double pt = missed_truthBhs[
i]->pt();
573 double eta = std::abs(missed_truthBhs[i]->
eta());
574 std::string pt_bin_of_truthBh = "";
575
576 for (
size_t j = 0;
j < ptbins.size() - 1; ++
j) {
577 if (
pt >= ptbins[j] &&
pt < ptbins[j+1]) {
578
579 pt_bin_of_truthBh = "pt_bin_" + std::to_string((int)ptbins[j]) + "_" + std::to_string((int)ptbins[j+1]);
580 }
582 pt_bin_of_truthBh =
"pt_bin_" + std::to_string(
m_upperboundpT) +
"plus";
583 }
584 }
585 if (pt_bin_of_truthBh == ""){
586
587 continue;
588 }
589
592
594
595
596 for (
size_t k = 0;
k < eta_bins.size() - 1; ++
k) {
597 double eta_low = eta_bins[
k];
598 double eta_up = eta_bins[
k+1];
599 if (
eta >= eta_low &&
eta < eta_up) {
600
602 }
603 }
604
606 }
607 return P_ineff;
608 }
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)
float j(const xAOD::IParticle &, const xAOD::TrackMeasurementValidation &hit, const Eigen::Matrix3d &jab_inv)
list efficiencies
translate the station name indices into the string staiton name
setRcore setEtHad setFside pt