Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTJetCollectionsForElePlusJets_h
0002 #define HLTJetCollectionsForElePlusJets_h
0003 
0004 /** \class HLTJetCollectionsForElePlusJets
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 HLTJetCollectionsForElePlusJets : public edm::stream::EDProducer<> {
0041 public:
0042   explicit HLTJetCollectionsForElePlusJets(const edm::ParameterSet&);
0043   ~HLTJetCollectionsForElePlusJets() 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  //HLTJetCollectionsForElePlusJets_h