Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTJetHbbFilter_h
0002 #define HLTJetHbbFilter_h
0003 
0004 /** \class HLTJetHbbFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) 
0008  *  implementing a two b-jet invariant mass requirement 
0009  *  Based on HLTJetSortedVBFFilter
0010  *
0011  *
0012  *  \author Ann Wang, Javier Duarte
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 
0026 #include "DataFormats/METReco/interface/MET.h"
0027 #include "DataFormats/METReco/interface/METCollection.h"
0028 #include "TVector3.h"
0029 #include "TLorentzVector.h"
0030 
0031 namespace edm {
0032   class ConfigurationDescriptions;
0033 }
0034 
0035 //
0036 // class declaration
0037 //
0038 template <typename T>
0039 class HLTJetHbbFilter : public HLTFilter {
0040 public:
0041   typedef std::pair<double, unsigned int> Jpair;
0042   static bool comparator(const Jpair& l, const Jpair& r) { return l.first < r.first; }
0043 
0044   explicit HLTJetHbbFilter(const edm::ParameterSet&);
0045   ~HLTJetHbbFilter() override;
0046   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0047   static float findCSV(const typename std::vector<T>::const_iterator& jet, const reco::JetTagCollection& jetTags);
0048   bool hltFilter(edm::Event&,
0049                  const edm::EventSetup&,
0050                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0051 
0052 private:
0053   edm::EDGetTokenT<std::vector<T>> m_theJetsToken;
0054   edm::EDGetTokenT<reco::JetTagCollection> m_theJetTagsToken;
0055   edm::InputTag inputJets_;
0056   edm::InputTag inputJetTags_;
0057   double minmbb_;
0058   double maxmbb_;
0059   double minptb1_;
0060   double minptb2_;
0061   double maxetab_;
0062   double minptbb_;
0063   double maxptbb_;
0064   double mintag1_;
0065   double mintag2_;
0066   double maxtag_;
0067   int triggerType_;
0068 };
0069 
0070 #endif