00001 /*HLTTauRefCombiner 00002 Producer that Combines LV collection to common denominator objects 00003 for matching in the Tau HLT 00004 00005 */ 00006 00007 #ifndef HLTTauRefCombiner_h 00008 #define HLTTauRefCombiner_h 00009 00010 #include "FWCore/Framework/interface/Frameworkfwd.h" 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 #include "FWCore/Framework/interface/Event.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "FWCore/Utilities/interface/InputTag.h" 00015 #include "DataFormats/Common/interface/Handle.h" 00016 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00017 #include "DataFormats/Math/interface/LorentzVector.h" 00018 #include <vector> 00019 #include <string> 00020 00021 class HLTTauRefCombiner : public edm::EDProducer { 00022 00023 public: 00024 explicit HLTTauRefCombiner(const edm::ParameterSet&); 00025 ~HLTTauRefCombiner(); 00026 00027 virtual void produce(edm::Event&, const edm::EventSetup&); 00028 00029 private: 00030 typedef math::XYZTLorentzVectorD LorentzVector; 00031 typedef std::vector<LorentzVector> LorentzVectorCollection; 00032 00033 std::vector<edm::InputTag> inputColl_; //Input LV Collections 00034 double matchDeltaR_; //Delta R for matching 00035 std::string outName_; //outputObjectName 00036 00037 bool match(const LorentzVector&,const LorentzVectorCollection&);//See if this Jet Is Matched 00038 00039 00040 }; 00041 00042 #endif