Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTrigger_JetMET_HLTJetCollectionsForLeptonPlusJets_h
0002 #define HLTrigger_JetMET_HLTJetCollectionsForLeptonPlusJets_h
0003 
0004 /** \class HLTJetCollectionsForLeptonPlusJets
0005  *
0006  *
0007  *  This class is an EDProducer implementing an HLT
0008  *  trigger for lepton and jet objects, cutting on
0009  *  variables relating to the jet 4-momentum representation.
0010  *  The producer checks for overlaps between leptons and jets and if a
0011  *  combination of one lepton + jets cleaned against this leptons satisfy the cuts.
0012  *  These jets are then added to a cleaned jet collection which is put into the event.
0013  *
0014  *
0015  *  \author Lukasz Kreczko
0016  *
0017  */
0018 
0019 // user include files
0020 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0021 #include "FWCore/Framework/interface/Event.h"
0022 #include "FWCore/Framework/interface/Frameworkfwd.h"
0023 #include "FWCore/Framework/interface/stream/EDProducer.h"
0024 
0025 namespace edm {
0026   class ConfigurationDescriptions;
0027 }
0028 
0029 //
0030 // class declaration
0031 //
0032 
0033 template <typename jetType>
0034 class HLTJetCollectionsForLeptonPlusJets : public edm::stream::EDProducer<> {
0035 public:
0036   explicit HLTJetCollectionsForLeptonPlusJets(const edm::ParameterSet&);
0037   ~HLTJetCollectionsForLeptonPlusJets() override = default;
0038   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0039 
0040 private:
0041   void produce(edm::Event&, const edm::EventSetup&) override;
0042 
0043   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> m_theLeptonToken;
0044   edm::EDGetTokenT<std::vector<jetType>> m_theJetToken;
0045   edm::InputTag hltLeptonTag;
0046   edm::InputTag sourceJetTag;
0047 
0048   double minDeltaR2_;  // min dR^2 (with sign) for jets and leptons not to match
0049 };
0050 
0051 #endif