File indexing completed on 2023-03-17 10:54:06
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_;
0029 edm::InputTag inputMetTag_;
0030
0031
0032 edm::EDGetTokenT<std::vector<math::XYZTLorentzVector>> inputTagToken_;
0033 edm::EDGetTokenT<reco::CaloMETCollection> inputMetTagToken_;
0034 };
0035
0036 #endif