Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTMhtFilter_h_
0002 #define HLTMhtFilter_h_
0003 
0004 /** \class HLTMhtFilter
0005  *
0006  *  \brief  This filters events based on HT and MHT produced by HLTHtMhtProducer2
0007  *  \author Steven Lowette
0008  *  \author Michele de Gruttola, Jia Fu Low (Nov 2013)
0009  *
0010  *  This filter can accept more than one variant of MHT. An event is kept
0011  *  if at least one satisfies MHT > `minHht_[i]`.
0012  *
0013  */
0014 
0015 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0016 
0017 #include "DataFormats/METReco/interface/MET.h"
0018 #include "DataFormats/METReco/interface/METFwd.h"
0019 
0020 namespace edm {
0021   class ConfigurationDescriptions;
0022 }
0023 
0024 // Class declaration
0025 class HLTMhtFilter : public HLTFilter {
0026 public:
0027   explicit HLTMhtFilter(const edm::ParameterSet& iConfig);
0028   ~HLTMhtFilter() override;
0029   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0030   bool hltFilter(edm::Event& iEvent,
0031                  const edm::EventSetup& iSetup,
0032                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0033 
0034 private:
0035   /// Minimum MHT requirements
0036   std::vector<double> minMht_;
0037 
0038   /// Input reco::MET collections to retrieve MHT
0039   std::vector<edm::InputTag> mhtLabels_;
0040 
0041   unsigned int nOrs_;  /// number of pairs of MHT
0042 
0043   std::vector<edm::EDGetTokenT<reco::METCollection> > m_theMhtToken;
0044 };
0045 
0046 #endif  // HLTMhtFilter_h_