std::vector<Quintet> NewPartnerLeptonic::Multiplets(boca::Event const& event, boca::PreCuts const&, TMVA::Reader const& reader) { return Quintets(event, [&](Quintet & quintet) { quintet.SetBdt(Bdt(quintet, reader)); return quintet; }); }
std::vector<EventMultiplet<Decuplet532>> EventSingleLeptonicTagger::Multiplets(boca::Event const& event, boca::PreCuts const&, TMVA::Reader const& reader) { INFO0; return ReduceResult(Events(event, [&](EventMultiplet<Decuplet532>& multiplet_event) { multiplet_event.SetBdt(Bdt(multiplet_event, reader)); return multiplet_event; }), 1); }
boost::optional<Doublet> Higgs::Multiplet(Doublet& doublet, std::vector<Lepton>& leptons, PreCuts const& pre_cuts, TMVA::Reader const& reader) { INFO0; doublet = PrepareDoublet(doublet, leptons); if (Problematic(doublet, pre_cuts)) return boost::none; doublet.SetBdt(Bdt(doublet, reader)); return doublet; }
std::vector<Quattuordecuplet554> SignatureEffectiveTagger::Multiplets(Event const& event, boca::PreCuts const&, TMVA::Reader const& reader) { INFO0; return ReduceResult(Quattuordecuplets(event, [&](Quattuordecuplet554 & quattuordecuplet) { quattuordecuplet.SetBdt(Bdt(quattuordecuplet, reader)); return quattuordecuplet; }), 1); }
std::vector<Doublet> WLeptonic::Multiplets(boca::Event const &event, PreCuts const &pre_cuts, TMVA::Reader const &reader) { INFO0; return Doublets(event, [&](Doublet & doublet) -> boost::optional<Doublet> { if (Problematic(doublet, pre_cuts)) return boost::none; doublet.SetBdt(Bdt(doublet, reader)); return doublet; }); }
std::vector<EventMultiplet<Octet332>> EventT::Multiplets(boca::Event const& event, PreCuts const&, TMVA::Reader const& reader) { INFO0; auto jets = bottom_reader_.Jets(event); auto octets = signature_reader_.Multiplets(event); std::vector<EventMultiplet<Octet332>> multiplet_events; for (auto const & octet : octets) { EventMultiplet<Octet332> multiplet_event(octet.Multiplet(), event, jets); multiplet_event.SetBdt(Bdt(multiplet_event, reader)); //FIXME reanble this multiplet_events.emplace_back(multiplet_event); } return ReduceResult(multiplet_events,1); //FIXME reanble this }
std::vector<MultipletSignature<Quartet211>> SignatureLeptonTagger::Multiplets(Event const& event, PreCuts const&, TMVA::Reader const& reader) { INFO0; std::vector<Lepton> leptons = event.Leptons().leptons(); if (leptons.size() < 2) return {}; std::vector<Doublet> doublets = higgs_reader_.Multiplets(event); INFO(doublets.size()); std::vector<MultipletSignature<Quartet211>> quartets = Triples(leptons, doublets, [&](Singlet const& singlet_1, Singlet const& singlet_2, Doublet const& doublet) { MultipletSignature<Quartet211> quartet = Signature(doublet, singlet_1, singlet_2); quartet.SetBdt(Bdt(quartet, reader)); return quartet; }); return ReduceResult(quartets); }
std::vector<MultipletSignature<Octet332>> SignatureT::Multiplets(boca::Event const& event, PreCuts const&, TMVA::Reader const& reader) { INFO0; auto doublets = higgs_reader_.Multiplets(event); INFO(doublets.size()); auto triplets = top_reader_.Multiplets(event); INFO(triplets.size()); auto octets = Triples(triplets, doublets, [&](Triplet const & triplet_1, Triplet const & triplet_2, Doublet const & doublet) { auto octet = Signature(triplet_1, triplet_2, doublet); octet.SetBdt(Bdt(octet, reader)); return octet; }); DEBUG(octets.size()); return octets; }
std::vector<Octet62> SignatureNeutral::Multiplets(boca::Event const& event, PreCuts const&, TMVA::Reader const& reader) { INFO0; auto doublets = jet_pair_reader_.Multiplets(event); auto sextets = heavy_higgs_semi_reader_.Multiplets(event); std::vector<Octet62> octets; for (auto const & doublet : doublets) { for (auto const & sextet : sextets) { Octet62 octet(sextet, doublet); if (octet.Overlap()) continue; octet.SetBdt(Bdt(octet, reader)); octets.emplace_back(octet); } } // if(octets.size()==0)ERROR(octets.size(), doublets.size(), sextets.size()); return octets; }
std::vector<Doublet> HeavyHiggsTauTagger::Multiplets(Event const& event, PreCuts const&, TMVA::Reader const& reader) { INFO0; std::vector<Jet> jets;// = tau_reader_.Multiplets(event); INFO(jets.size()); auto missing_et = event.Hadrons().MissingEt(); std::vector<Doublet> doublets; for (auto const & jet : jets) { Doublet pre_doublet(jet, missing_et); // std::vector<Doublet> Postdoublets = GetNeutrinos(Predoublet); // for (auto & Postdoublet : Postdoublets) { // if (Postdoublet.Mass() < 10) continue; pre_doublet.SetBdt(Bdt(pre_doublet, reader)); doublets.emplace_back(pre_doublet); // } } return doublets; }
std::vector<Sextet33> TopLeptonicPair::Multiplets(boca::Event const& event, boca::PreCuts const&, TMVA::Reader const& reader) { auto triplets = top_leptonic_reader_.Multiplets(event); INFO(triplets.size()); auto sextets = UnorderedPairs(triplets, [&](Triplet const & triplet_1, Triplet const & triplet_2) { Quartet22 quartet(Doublet(triplet_1.Singlet(), triplet_1.Doublet().Jet()), Doublet(triplet_2.Singlet(), triplet_2.Doublet().Jet())); if (quartet.Overlap()) throw Overlap(); quartet.Doublet1().SetBdt(triplet_1.Bdt()); quartet.Doublet2().SetBdt(triplet_2.Bdt()); WimpMass wimp_mass; // for (auto sextet : wimp_mass.Sextets(quartet, event.MissingEt())) { Sextet33 sextet = wimp_mass.Fake(quartet); sextet.SetBdt(Bdt(sextet, reader)); return sextet; // } }); INFO(sextets.size()); return sextets; }