Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTMhtProducer_h_
0002 #define HLTMhtProducer_h_
0003 
0004 /** \class HLTMhtProducer
0005  *
0006  *  \brief  This produces a reco::MET object that stores MHT (or MET)
0007  *  \author Steven Lowette
0008  *  \author Michele de Gruttola, Jia Fu Low (Nov 2013)
0009  *
0010  *  MHT (or MET) is calculated using input CaloJet or PFJet collection.
0011  *  MHT can include or exclude the contribution from muons.
0012  *
0013  */
0014 
0015 #include "FWCore/Framework/interface/stream/EDProducer.h"
0016 #include "FWCore/Framework/interface/Event.h"
0017 #include "FWCore/Framework/interface/EventSetup.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 
0020 #include "DataFormats/Common/interface/View.h"
0021 #include "DataFormats/Candidate/interface/CandidateFwd.h"
0022 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
0023 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h"
0024 
0025 namespace edm {
0026   class ConfigurationDescriptions;
0027 }
0028 
0029 // Class declaration
0030 class HLTMhtProducer : public edm::stream::EDProducer<> {
0031 public:
0032   explicit HLTMhtProducer(const edm::ParameterSet& iConfig);
0033   ~HLTMhtProducer() override;
0034   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0035   void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0036 
0037 private:
0038   /// Use pt; otherwise, use et.
0039   bool usePt_;
0040 
0041   /// Exclude PF muons in the MHT calculation (but not HT)
0042   /// Ignored if pfCandidatesLabel_ is empty.
0043   bool excludePFMuons_;
0044 
0045   /// Minimum number of jets passing pt and eta requirements
0046   int minNJet_;
0047 
0048   /// Minimum pt requirement for jets
0049   double minPtJet_;
0050 
0051   /// Maximum (abs) eta requirement for jets
0052   double maxEtaJet_;
0053 
0054   /// Input jet, PFCandidate collections
0055   edm::InputTag jetsLabel_;
0056   edm::InputTag pfCandidatesLabel_;
0057 
0058   edm::EDGetTokenT<reco::CandidateView> m_theJetToken;
0059   edm::EDGetTokenT<reco::PFCandidateCollection> m_thePFCandidateToken;
0060 };
0061 
0062 #endif  // HLTMhtProducer_h_