00001 #ifndef RazorVarProducer_h 00002 #define RazorVarProducer_h 00003 00004 #include "FWCore/Framework/interface/Frameworkfwd.h" 00005 #include "FWCore/Framework/interface/Event.h" 00006 #include "FWCore/Framework/interface/EDProducer.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "FWCore/Utilities/interface/InputTag.h" 00009 00010 #include "TLorentzVector.h" 00011 #include "DataFormats/METReco/interface/CaloMETFwd.h" 00012 00013 class RazorVarProducer : public edm::EDProducer { 00014 public: 00015 explicit RazorVarProducer(const edm::ParameterSet&); 00016 ~RazorVarProducer(); 00017 virtual void produce(edm::Event&, const edm::EventSetup&); 00018 00019 double CalcMR(TLorentzVector ja,TLorentzVector jb); 00020 double CalcR(double MR, TLorentzVector ja,TLorentzVector jb, edm::Handle<reco::CaloMETCollection> met, std::vector<math::XYZTLorentzVector> muons); 00021 00022 private: 00023 00024 edm::InputTag inputTag_; // input tag identifying product 00025 edm::InputTag inputMetTag_; // input tag identifying MET product 00026 }; 00027 00028 #endif //RazorVarProducer_h