File indexing completed on 2023-03-17 11:09:31
0001 #ifndef HLTJetSortedVBFFilter_h
0002 #define HLTJetSortedVBFFilter_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
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
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