Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:49:39

0001 #ifndef HLTrigger_btau_HLTJetTagWithMatching_h
0002 #define HLTrigger_btau_HLTJetTagWithMatching_h
0003 
0004 /** \class HLTJetTagWithMatching
0005  *
0006  *  This class is an HLTFilter (a spcialized EDFilter) implementing
0007  *  tagged multi-jet trigger for b and tau.
0008  *  It should be run after the normal multi-jet trigger.
0009  *  It is like HLTJetTag, but it loop on jets collection instead of jetTag collection.
0010  *
0011  */
0012 
0013 #include <string>
0014 
0015 #include "FWCore/Framework/interface/Frameworkfwd.h"
0016 #include "FWCore/Utilities/interface/InputTag.h"
0017 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0018 #include "DataFormats/BTauReco/interface/JetTag.h"
0019 
0020 namespace edm {
0021   class ConfigurationDescriptions;
0022 }
0023 
0024 //
0025 // class declaration
0026 //
0027 
0028 template <typename T>
0029 class HLTJetTagWithMatching : public HLTFilter {
0030 public:
0031   explicit HLTJetTagWithMatching(const edm::ParameterSet& config);
0032   ~HLTJetTagWithMatching() override;
0033   static float findCSV(const typename std::vector<T>::const_iterator& jet,
0034                        const reco::JetTagCollection& jetTags,
0035                        float minDr = 0.1);
0036   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0037   bool hltFilter(edm::Event& event,
0038                  const edm::EventSetup& setup,
0039                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0040 
0041 private:
0042   edm::InputTag m_Jets;  // module label of input JetCollection
0043   edm::EDGetTokenT<std::vector<T> > m_JetsToken;
0044   edm::InputTag m_JetTags;  // module label of input JetTagCollection
0045   edm::EDGetTokenT<reco::JetTagCollection> m_JetTagsToken;
0046   double m_MinTag, m_MaxTag;  // tag descriminator cuts applied to each jet
0047   int m_MinJets;              // min. number of jets required to be tagged
0048   int m_TriggerType;
0049   double m_deltaR;  // deltaR used to match jet with jetTags
0050 };
0051 
0052 #endif  // HLTrigger_btau_HLTJetTagWithMatching_h