Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:20:28

0001 #ifndef HLTJetCollForElePlusJets_h
0002 #define HLTJetCollForElePlusJets_h
0003 
0004 /** \class HLTJetCollForElePlusJets
0005  *
0006  *
0007  *  This class is an EDProducer implementing an HLT
0008  *  trigger for electron and jet objects, cutting on
0009  *  variables relating to the jet 4-momentum representation.
0010  *  The producer checks for overlaps between electrons and jets and if a
0011  *  combination of one electron + jets cleaned against this electrons 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 "FWCore/Framework/interface/Frameworkfwd.h"
0021 #include "FWCore/Framework/interface/stream/EDProducer.h"
0022 
0023 #include "FWCore/Framework/interface/Event.h"
0024 
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 
0027 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0028 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0029 #include "DataFormats/JetReco/interface/PFJetCollection.h"
0030 
0031 namespace edm {
0032   class ConfigurationDescriptions;
0033 }
0034 
0035 //
0036 // class declaration
0037 //
0038 
0039 template <typename T>
0040 class HLTJetCollForElePlusJets : public edm::stream::EDProducer<> {
0041 public:
0042   explicit HLTJetCollForElePlusJets(const edm::ParameterSet&);
0043   ~HLTJetCollForElePlusJets() override;
0044   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0045 
0046 private:
0047   void produce(edm::Event&, const edm::EventSetup&) override;
0048 
0049   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> m_theElectronToken;
0050   edm::EDGetTokenT<std::vector<T>> m_theJetToken;
0051   edm::InputTag hltElectronTag;
0052   edm::InputTag sourceJetTag;
0053 
0054   double minJetPt_;        // jet pt threshold in GeV
0055   double maxAbsJetEta_;    // jet |eta| range
0056   unsigned int minNJets_;  // number of required jets passing cuts after cleaning
0057 
0058   double minDeltaR_;  //min dR for jets and electrons not to match
0059 
0060   double minSoftJetPt_;  // jet pt threshold for the soft jet in the VBF pair
0061   double minDeltaEta_;   // pseudorapidity separation for the VBF pair
0062 
0063   // ----------member data ---------------------------
0064 };
0065 #endif  //HLTJetCollForElePlusJets_h