CMS 3D CMS Logo

HLTHcalMETNoiseCleaner.h
Go to the documentation of this file.
1 #ifndef HLTHcalMETNoiseCleaner_h
2 #define HLTHcalMETNoiseCleaner_h
3 
15 
16 namespace edm {
18 }
19 
21 public:
23  ~HLTHcalMETNoiseCleaner() override;
24  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
25  bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
26 
27 private:
30  // parameters
33  const double CaloMetCut_;
34  const int severity_;
35  const int maxNumRBXs_;
36  const int numRBXsToConsider_;
38  const bool needEMFCoincidence_;
39  const double minRBXEnergy_;
40  const double minRatio_;
41  const double maxRatio_;
42  const int minHPDHits_;
43  const int minRBXHits_;
44  const int minHPDNoOtherHits_;
45  const int minZeros_;
46  const double minHighEHitTime_;
47  const double maxHighEHitTime_;
48  const double maxRBXEMF_;
49 
50  // imported from the RecoMET/METProducers/python/hcalnoiseinfoproducer_cfi
51  const double minRecHitE_;
52  const double minLowHitE_;
53  const double minHighHitE_;
54  const double minR45HitE_;
55 
56  const double TS4TS5EnergyThreshold_;
57  std::vector<std::pair<double, double> > TS4TS5UpperCut_;
58  std::vector<std::pair<double, double> > TS4TS5LowerCut_;
59 
60  reco::CaloMET BuildCaloMet(float sumet, float pt, float phi) const;
61 
62  // helper function to compare noise data energies
63  struct noisedatacomp {
64  inline bool operator()(const CommonHcalNoiseRBXData& t1, const CommonHcalNoiseRBXData& t2) const {
65  return t1.energy() > t2.energy();
66  }
67  };
68  typedef std::set<CommonHcalNoiseRBXData, noisedatacomp> noisedataset_t;
69 };
70 
71 #endif //HLTHcalMETNoiseCleaner_h
bool filter(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
bool operator()(const CommonHcalNoiseRBXData &t1, const CommonHcalNoiseRBXData &t2) const
const edm::InputTag HcalNoiseRBXCollectionTag_
~HLTHcalMETNoiseCleaner() override
std::vector< std::pair< double, double > > TS4TS5UpperCut_
edm::EDGetTokenT< reco::CaloMETCollection > m_theCaloMetToken
std::set< CommonHcalNoiseRBXData, noisedatacomp > noisedataset_t
HLTHcalMETNoiseCleaner(const edm::ParameterSet &)
reco::CaloMET BuildCaloMet(float sumet, float pt, float phi) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< reco::HcalNoiseRBXCollection > m_theHcalNoiseToken
HLT enums.
const edm::InputTag CaloMetCollectionTag_
std::vector< std::pair< double, double > > TS4TS5LowerCut_