Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:09:31

0001 #ifndef HLTJetSortedVBFFilter_h
0002 #define HLTJetSortedVBFFilter_h
0003 
0004 /** \class HLTJetSortedVBFFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a
0008  *  single jet requirement with an Energy threshold (not Et!)
0009  *  Based on HLTSinglet
0010  *
0011  *
0012  *  \author Jacopo Bernardini
0013  *
0014  */
0015 
0016 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0017 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0018 #include "DataFormats/BTauReco/interface/JetTag.h"
0019 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0020 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0021 #include <string>
0022 #include <vector>
0023 #include "DataFormats/Common/interface/RefToBase.h"
0024 #include "DataFormats/Common/interface/Handle.h"
0025 namespace edm {
0026   class ConfigurationDescriptions;
0027 }
0028 
0029 //
0030 // class declaration
0031 //
0032 template <typename T>
0033 class HLTJetSortedVBFFilter : public HLTFilter {
0034 public:
0035   typedef std::pair<double, unsigned int> Jpair;
0036   static bool comparator(const Jpair& l, const Jpair& r) { return l.first < r.first; }
0037 
0038   explicit HLTJetSortedVBFFilter(const edm::ParameterSet&);
0039   ~HLTJetSortedVBFFilter() override;
0040   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0041   static float findCSV(const typename std::vector<T>::const_iterator& jet, const reco::JetTagCollection& jetTags);
0042   bool hltFilter(edm::Event&,
0043                  const edm::EventSetup&,
0044                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0045 
0046 private:
0047   edm::EDGetTokenT<std::vector<T>> m_theJetsToken;
0048   edm::EDGetTokenT<reco::JetTagCollection> m_theJetTagsToken;
0049   edm::InputTag inputJets_;
0050   edm::InputTag inputJetTags_;
0051   double mqq_;
0052   double detaqq_;
0053   double detabb_;
0054   double dphibb_;
0055   double ptsqq_;
0056   double ptsbb_;
0057   double seta_;
0058   double njets_;
0059   std::string value_;
0060   int triggerType_;
0061 };
0062 
0063 #endif