Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTCaloJetIDProducer_h_
0002 #define HLTCaloJetIDProducer_h_
0003 
0004 /** \class HLTCaloJetIDProducer
0005  *
0006  *  \brief  This applies CaloJet ID and produces a jet collection with jets that pass the ID.
0007  *  \author a Jet/MET person
0008  *  \author Michele de Gruttola, Jia Fu Low (Nov 2013)
0009  *
0010  *  This receives a CaloJet collection, selects jets that pass CaloJet ID,
0011  *  and makes an output CaloJet collection with only jets that pass.
0012  *
0013  */
0014 
0015 #include "FWCore/Framework/interface/stream/EDProducer.h"
0016 #include "FWCore/Framework/interface/ConsumesCollector.h"
0017 #include "FWCore/Framework/interface/Event.h"
0018 #include "FWCore/Framework/interface/EventSetup.h"
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 #include "DataFormats/JetReco/interface/CaloJet.h"
0021 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0022 #include "RecoJets/JetProducers/interface/JetIDHelper.h"
0023 
0024 namespace edm {
0025   class ConfigurationDescriptions;
0026 }
0027 
0028 namespace reco {
0029   namespace helper {
0030     class JetIDHelper;
0031   }
0032 }  // namespace reco
0033 
0034 // Class declaration
0035 class HLTCaloJetIDProducer : public edm::stream::EDProducer<> {
0036 public:
0037   explicit HLTCaloJetIDProducer(const edm::ParameterSet& iConfig);
0038   ~HLTCaloJetIDProducer() override;
0039   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0040   void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
0041 
0042 private:
0043   int min_N90_;                    ///< mininum N90
0044   int min_N90hits_;                ///< mininum N90hits
0045   double min_EMF_;                 ///< minimum EMF
0046   double max_EMF_;                 ///< maximum EMF
0047   edm::InputTag inputTag_;         ///< input CaloJet collection
0048   edm::ParameterSet jetIDParams_;  ///< CaloJet ID parameters
0049 
0050   /// A helper to calculates calo jet ID variables.
0051   reco::helper::JetIDHelper jetIDHelper_;
0052 
0053   edm::EDGetTokenT<reco::CaloJetCollection> m_theCaloJetToken;
0054 };
0055 
0056 #endif  // HLTCaloJetIDProducer_h_