00001 #ifndef TtSemiLepJetCombGeom_h 00002 #define TtSemiLepJetCombGeom_h 00003 00004 #include "FWCore/Framework/interface/Event.h" 00005 #include "FWCore/Framework/interface/EDProducer.h" 00006 00007 #include "DataFormats/Math/interface/LorentzVector.h" 00008 #include "DataFormats/PatCandidates/interface/Jet.h" 00009 00010 class TtSemiLepJetCombGeom : public edm::EDProducer { 00011 00012 public: 00013 00014 explicit TtSemiLepJetCombGeom(const edm::ParameterSet&); 00015 ~TtSemiLepJetCombGeom(); 00016 00017 private: 00018 00019 virtual void beginJob() {}; 00020 virtual void produce(edm::Event& evt, const edm::EventSetup& setup); 00021 virtual void endJob() {}; 00022 00023 bool isValid(const int& idx, const edm::Handle<std::vector<pat::Jet> >& jets){ return (0<=idx && idx<(int)jets->size()); }; 00024 double distance(const math::XYZTLorentzVector&, const math::XYZTLorentzVector&); 00025 00026 edm::InputTag jets_; 00027 edm::InputTag leps_; 00028 int maxNJets_; 00029 bool useDeltaR_; 00030 bool useBTagging_; 00031 std::string bTagAlgorithm_; 00032 double minBDiscBJets_; 00033 double maxBDiscLightJets_; 00034 }; 00035 00036 #endif