Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:30

0001 #ifndef HLTMETCleanerUsingJetID_h_
0002 #define HLTMETCleanerUsingJetID_h_
0003 
0004 /** \class  HLTMETCleanerUsingJetID
0005  *
0006  *  \brief  This creates a MET object from the difference in MET between two
0007  *          input jet collections.
0008  *  \author Jia Fu Low (Nov 2013)
0009  *
0010  *  This code creates a new MET vector defined as:
0011  *
0012  *    output MET = input MET + MET from 'good jets' - MET from 'all jets'
0013  *
0014  *
0015  */
0016 
0017 #include "FWCore/Framework/interface/stream/EDProducer.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/EventSetup.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021 
0022 #include "DataFormats/METReco/interface/CaloMET.h"
0023 #include "DataFormats/METReco/interface/CaloMETFwd.h"
0024 #include "DataFormats/JetReco/interface/CaloJet.h"
0025 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0026 
0027 namespace edm {
0028   class ConfigurationDescriptions;
0029 }
0030 
0031 // Class declaration
0032 class HLTMETCleanerUsingJetID : public edm::stream::EDProducer<> {
0033 public:
0034   explicit HLTMETCleanerUsingJetID(const edm::ParameterSet& iConfig);
0035   ~HLTMETCleanerUsingJetID() override;
0036 
0037   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0038   void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0039 
0040 private:
0041   /// Minimum pt requirement for jets
0042   double minPt_;
0043 
0044   /// Maximum (abs) eta requirement for jets
0045   double maxEta_;
0046 
0047   /// Input tag for the MET collection
0048   edm::InputTag metLabel_;
0049 
0050   /// Input tag for the 'all jets' collection
0051   edm::InputTag jetsLabel_;
0052 
0053   /// Input tag for the 'good jets' collection
0054   edm::InputTag goodJetsLabel_;
0055 
0056   edm::EDGetTokenT<reco::CaloMETCollection> m_theMETToken;
0057   edm::EDGetTokenT<reco::CaloJetCollection> m_theJetToken;
0058   edm::EDGetTokenT<reco::CaloJetCollection> m_theGoodJetToken;
0059 };
0060 
0061 #endif  // HLTMETCleanerUsingJetID_h_