CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/HLTrigger/JetMET/interface/HLTHcalMETNoiseCleaner.h

Go to the documentation of this file.
00001 #ifndef HLTHcalMETNoiseCleaner_h
00002 #define HLTHcalMETNoiseCleaner_h
00003 
00010 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
00011 #include "RecoMET/METAlgorithms/interface/HcalNoiseAlgo.h"
00012 
00013 namespace edm {
00014    class ConfigurationDescriptions;
00015 }
00016 
00017 class HLTHcalMETNoiseCleaner : public edm::EDFilter {
00018   
00019  public:
00020   explicit HLTHcalMETNoiseCleaner(const edm::ParameterSet&);
00021   ~HLTHcalMETNoiseCleaner();
00022   static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
00023   virtual bool filter(edm::Event&, const edm::EventSetup&);
00024   
00025  private:
00026   // parameters
00027   edm::InputTag HcalNoiseRBXCollectionTag_;
00028   edm::InputTag CaloMetCollectionTag_;
00029   double CaloMetCut_;
00030   int severity_;
00031   int maxNumRBXs_;
00032   int numRBXsToConsider_;
00033   bool accept2NoiseRBXEvents_;
00034   bool needEMFCoincidence_;
00035   double minRBXEnergy_;
00036   double minRatio_;
00037   double maxRatio_;
00038   int minHPDHits_;
00039   int minRBXHits_;
00040   int minHPDNoOtherHits_;
00041   int minZeros_;
00042   double minHighEHitTime_;
00043   double maxHighEHitTime_;
00044   double maxRBXEMF_;
00045 
00046   // imported from the RecoMET/METProducers/python/hcalnoiseinfoproducer_cfi
00047   double minRecHitE_, minLowHitE_, minHighHitE_;
00048 
00049   double TS4TS5EnergyThreshold_;
00050   std::vector<std::pair<double, double> > TS4TS5UpperCut_;
00051   std::vector<std::pair<double, double> > TS4TS5LowerCut_;  
00052 
00053   reco::CaloMET BuildCaloMet(float sumet,float pt,float phi);
00054 
00055   // helper function to compare noise data energies
00056   struct noisedatacomp {
00057     inline bool operator() ( const CommonHcalNoiseRBXData& t1, const CommonHcalNoiseRBXData& t2) {
00058       return t1.energy()>t2.energy();
00059     }
00060   };
00061   typedef std::set<CommonHcalNoiseRBXData, noisedatacomp> noisedataset_t;
00062 };
00063 
00064 #endif //HLTHcalMETNoiseCleaner_h