Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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 = default;
0040 
0041   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0042 
0043   static float findCSV(const typename std::vector<T>::const_iterator& jet, const reco::JetTagCollection& jetTags);
0044 
0045   bool hltFilter(edm::Event&,
0046                  const edm::EventSetup&,
0047                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0048 
0049 private:
0050   edm::EDGetTokenT<std::vector<T>> m_theJetsToken;
0051   edm::EDGetTokenT<reco::JetTagCollection> m_theJetTagsToken;
0052   edm::InputTag inputJets_;
0053   edm::InputTag inputJetTags_;
0054   double mqq_;
0055   double detaqq_;
0056   double detabb_;
0057   double dphibb_;
0058   double ptsqq_;
0059   double ptsbb_;
0060   double seta_;
0061   double njets_;
0062   std::string value_;
0063   int triggerType_;
0064 };
0065 
0066 #endif