Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:01:01

0001 // -*- C++ -*-
0002 //
0003 // Package:    METProducers
0004 // Class:      METSignificanceProducer
0005 //
0006 /**\class METSignificanceProducer
0007 
0008  Description: An EDProducer for CaloMET
0009 
0010  Implementation:
0011 
0012 */
0013 //
0014 //
0015 //
0016 
0017 //____________________________________________________________________________||
0018 #ifndef METSignificanceProducer_h
0019 #define METSignificanceProducer_h
0020 
0021 //____________________________________________________________________________||
0022 #include "FWCore/Framework/interface/Frameworkfwd.h"
0023 #include "FWCore/Framework/interface/stream/EDProducer.h"
0024 #include "FWCore/Framework/interface/ConsumesCollector.h"
0025 #include "FWCore/Framework/interface/Event.h"
0026 #include "FWCore/Framework/interface/MakerMacros.h"
0027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0028 #include "DataFormats/Common/interface/ValueMap.h"
0029 
0030 #include "DataFormats/Candidate/interface/Candidate.h"
0031 #include "DataFormats/Common/interface/View.h"
0032 #include "DataFormats/Common/interface/Handle.h"
0033 #include "DataFormats/JetReco/interface/PFJet.h"
0034 #include "DataFormats/METReco/interface/MET.h"
0035 #include "DataFormats/METReco/interface/METFwd.h"
0036 #include "DataFormats/METReco/interface/PFMET.h"
0037 #include "DataFormats/METReco/interface/PFMETFwd.h"
0038 #include "DataFormats/METReco/interface/CommonMETData.h"
0039 
0040 #include "RecoMET/METAlgorithms/interface/METSignificance.h"
0041 
0042 #include <string>
0043 
0044 //____________________________________________________________________________||
0045 namespace cms {
0046   class METSignificanceProducer : public edm::stream::EDProducer<> {
0047   public:
0048     explicit METSignificanceProducer(const edm::ParameterSet&);
0049     ~METSignificanceProducer() override;
0050     void produce(edm::Event&, const edm::EventSetup&) override;
0051 
0052   private:
0053     // ----------member data ---------------------------
0054 
0055     edm::EDGetTokenT<edm::View<reco::Jet>> pfjetsToken_;
0056     edm::EDGetTokenT<edm::View<reco::MET>> metToken_;
0057     edm::EDGetTokenT<edm::View<reco::Candidate>> pfCandidatesToken_;
0058     std::vector<edm::EDGetTokenT<edm::View<reco::Candidate>>> lepTokens_;
0059     edm::EDGetTokenT<double> rhoToken_;
0060     std::string jetSFType_;
0061     std::string jetResPtType_;
0062     std::string jetResPhiType_;
0063     JME::JetResolutionScaleFactor::Token jetSFTypeToken_;
0064     JME::JetResolution::Token jetResPtTypeToken_;
0065     JME::JetResolution::Token jetResPhiTypeToken_;
0066     edm::EDGetTokenT<edm::ValueMap<float>> weightsToken_;
0067 
0068     metsig::METSignificance* metSigAlgo_;
0069   };
0070 }  // namespace cms
0071 
0072 //____________________________________________________________________________||
0073 #endif  // METSignificanceProducer_h