Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTHtMhtFilter_h_
0002 #define HLTHtMhtFilter_h_
0003 
0004 /** \class HLTHtMhtFilter
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 pair of HT and MHT. An event is kept
0011  *  if at least one pair satisfies:
0012  *    - HT > `minHt_[i]` ; and
0013  *    - MHT > `minMht_[i]` ; and
0014  *    - sqrt(MHT + `meffSlope_[i]` * HT) > `minMeff_[i]`
0015  *
0016  */
0017 
0018 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0019 
0020 #include "DataFormats/METReco/interface/MET.h"
0021 #include "DataFormats/METReco/interface/METFwd.h"
0022 
0023 namespace edm {
0024   class ConfigurationDescriptions;
0025 }
0026 
0027 // Class declaration
0028 class HLTHtMhtFilter : public HLTFilter {
0029 public:
0030   explicit HLTHtMhtFilter(const edm::ParameterSet& iConfig);
0031   ~HLTHtMhtFilter() override;
0032   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0033   bool hltFilter(edm::Event& iEvent,
0034                  const edm::EventSetup& iSetup,
0035                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0036 
0037 private:
0038   /// Minimum HT requirements
0039   std::vector<double> minHt_;
0040 
0041   /// Minimum MHT requirements
0042   std::vector<double> minMht_;
0043 
0044   /// Minimum Meff requirements
0045   std::vector<double> minMeff_;
0046 
0047   /// Meff slope requirements
0048   std::vector<double> meffSlope_;
0049 
0050   /// Input reco::MET collections to retrieve HT and MHT
0051   std::vector<edm::InputTag> htLabels_;
0052   std::vector<edm::InputTag> mhtLabels_;
0053 
0054   unsigned int nOrs_;  /// number of pairs of HT and MHT
0055 
0056   std::vector<edm::EDGetTokenT<reco::METCollection> > m_theHtToken;
0057   std::vector<edm::EDGetTokenT<reco::METCollection> > m_theMhtToken;
0058 };
0059 
0060 #endif  // HLTHtMhtFilter_h_