Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTrigger_JetMET_HLTJetCollectionsForBoostedLeptonPlusJets_h
0002 #define HLTrigger_JetMET_HLTJetCollectionsForBoostedLeptonPlusJets_h
0003 
0004 /** \class HLTJetCollectionsForBoostedLeptonPlusJets
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 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0020 #include "FWCore/Framework/interface/Event.h"
0021 #include "FWCore/Framework/interface/Frameworkfwd.h"
0022 #include "FWCore/Framework/interface/stream/EDProducer.h"
0023 
0024 namespace edm {
0025   class ConfigurationDescriptions;
0026 }
0027 
0028 template <typename jetType>
0029 class HLTJetCollectionsForBoostedLeptonPlusJets : public edm::stream::EDProducer<> {
0030 public:
0031   explicit HLTJetCollectionsForBoostedLeptonPlusJets(const edm::ParameterSet&);
0032   ~HLTJetCollectionsForBoostedLeptonPlusJets() override;
0033   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0034 
0035 private:
0036   void produce(edm::Event&, const edm::EventSetup&) override;
0037 
0038   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> m_theLeptonToken;
0039   edm::EDGetTokenT<std::vector<jetType>> m_theJetToken;
0040   edm::InputTag hltLeptonTag;
0041   edm::InputTag sourceJetTag;
0042 
0043   double minDeltaR2_;  // min dR^2 (with sign) to consider cleaning
0044 };
0045 
0046 #endif