Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:01

0001 #ifndef RazorVarProducer_h
0002 #define RazorVarProducer_h
0003 
0004 #include "FWCore/Framework/interface/global/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/Frameworkfwd.h"
0007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0008 #include "FWCore/Utilities/interface/InputTag.h"
0009 
0010 #include "DataFormats/METReco/interface/CaloMETFwd.h"
0011 #include "DataFormats/Math/interface/LorentzVectorFwd.h"
0012 #include "TLorentzVector.h"
0013 #include <vector>
0014 
0015 class RazorVarProducer : public edm::global::EDProducer<> {
0016 public:
0017   explicit RazorVarProducer(const edm::ParameterSet &);
0018   void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override;
0019 
0020   double CalcMR(TLorentzVector ja, TLorentzVector jb) const;
0021   double CalcR(double MR,
0022                const TLorentzVector &ja,
0023                const TLorentzVector &jb,
0024                edm::Handle<reco::CaloMETCollection> met,
0025                const std::vector<math::XYZTLorentzVector> &muons) const;
0026 
0027 private:
0028   edm::InputTag inputTag_;     // input tag identifying product
0029   edm::InputTag inputMetTag_;  // input tag identifying MET product
0030 
0031   // define Token(-s)
0032   edm::EDGetTokenT<std::vector<math::XYZTLorentzVector>> inputTagToken_;
0033   edm::EDGetTokenT<reco::CaloMETCollection> inputMetTagToken_;
0034 };
0035 
0036 #endif  // RazorVarProducer_h