Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:09:31

0001 #ifndef HLTMinDPhiMETFilter_h_
0002 #define HLTMinDPhiMETFilter_h_
0003 
0004 /** \class  HLTMinDPhiMETFilter
0005  *
0006  *  \brief  This rejects events using the minimum delta phi between a jet and MET.
0007  *  \author Jia Fu Low (Nov 2013)
0008  *
0009  *  This code rejects events when a jet is too close to MET. The angle between
0010  *  the closest jet and MET in the transverse plane is called the min delta phi.
0011  *
0012  */
0013 
0014 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0015 
0016 #include "DataFormats/METReco/interface/CaloMET.h"
0017 #include "DataFormats/METReco/interface/CaloMETFwd.h"
0018 #include "DataFormats/METReco/interface/MET.h"
0019 #include "DataFormats/METReco/interface/METFwd.h"
0020 #include "DataFormats/JetReco/interface/Jet.h"
0021 #include "DataFormats/JetReco/interface/JetCollection.h"
0022 
0023 namespace edm {
0024   class ConfigurationDescriptions;
0025 }
0026 
0027 // Class declaration
0028 class HLTMinDPhiMETFilter : public HLTFilter {
0029 public:
0030   explicit HLTMinDPhiMETFilter(const edm::ParameterSet& iConfig);
0031   ~HLTMinDPhiMETFilter() 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   /// Use pt; otherwise, use et.
0039   bool usePt_;
0040 
0041   //bool excludePFMuons_;  // currently unused
0042 
0043   /// Output trigger type
0044   int triggerType_;
0045 
0046   /// Consider only n leading-pt (or et) jets, n = maxNJets_
0047   int maxNJets_;
0048 
0049   /// Minimum pt requirement for jets
0050   double minPt_;
0051 
0052   /// Maximum (abs) eta requirement for jets
0053   double maxEta_;
0054 
0055   /// Minium delta phi between a jet and MET
0056   double minDPhi_;
0057 
0058   /// Input jet, MET collections
0059   edm::InputTag metLabel_;
0060   edm::InputTag calometLabel_;  // only used if metLabel_ is empty
0061   edm::InputTag jetsLabel_;
0062 
0063   edm::EDGetTokenT<reco::METCollection> m_theMETToken;
0064   edm::EDGetTokenT<reco::CaloMETCollection> m_theCaloMETToken;
0065   edm::EDGetTokenT<reco::JetView> m_theJetToken;
0066 };
0067 
0068 #endif  // HLTMinDPhiMETFilter_h_