00001 #ifndef TtFullLepHypGenMatch_h 00002 #define TtFullLepHypGenMatch_h 00003 00004 #include "TopQuarkAnalysis/TopJetCombination/interface/TtFullLepHypothesis.h" 00005 #include "DataFormats/Candidate/interface/LeafCandidate.h" 00006 00007 class TtFullLepHypGenMatch : public TtFullLepHypothesis { 00008 00009 public: 00010 00011 explicit TtFullLepHypGenMatch(const edm::ParameterSet&); 00012 ~TtFullLepHypGenMatch(); 00013 00014 private: 00015 00017 virtual void buildKey() { key_= TtFullLeptonicEvent::kGenMatch; }; 00019 virtual void buildHypo(edm::Event& evt, 00020 const edm::Handle<std::vector<pat::Electron > >& elecs, 00021 const edm::Handle<std::vector<pat::Muon> >& mus, 00022 const edm::Handle<std::vector<pat::Jet> >& jets, 00023 const edm::Handle<std::vector<pat::MET> >& mets, 00024 std::vector<int>& match, 00025 const unsigned int iComb); 00026 00027 template <typename O> 00028 int findMatchingLepton(const reco::GenParticle*, 00029 const edm::Handle<std::vector<O> >&); 00030 void buildMatchingNeutrinos(edm::Event&, 00031 const edm::Handle<std::vector<pat::MET> >&); 00032 }; 00033 00034 #endif