CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/HLTrigger/JetMET/interface/HLTHcalTowerNoiseCleaner.h

Go to the documentation of this file.
00001 #ifndef HLTHcalTowerNoiseCleaner_h
00002 #define HLTHcalTowerNoiseCleaner_h
00003 
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/EventSetup.h"   
00013 #include "RecoMET/METAlgorithms/interface/HcalNoiseAlgo.h"
00014 
00015 namespace edm {
00016    class ConfigurationDescriptions;
00017 }
00018 
00019 class HLTHcalTowerNoiseCleaner : public edm::EDProducer {
00020   
00021  public:
00022   explicit HLTHcalTowerNoiseCleaner(const edm::ParameterSet&);
00023   ~HLTHcalTowerNoiseCleaner();
00024   static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
00025   virtual void produce(edm::Event&, const edm::EventSetup&);
00026 
00027  private:
00028   // parameters
00029   edm::InputTag HcalNoiseRBXCollectionTag_;
00030   edm::InputTag TowerCollectionTag_;
00031   int severity_;
00032   int maxNumRBXs_;
00033   int numRBXsToConsider_;
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   // helper function to compare noise data energies
00054   struct noisedatacomp {
00055     inline bool operator() ( const CommonHcalNoiseRBXData& t1, const CommonHcalNoiseRBXData& t2) {
00056       return t1.energy()>t2.energy();
00057     }
00058   };
00059   typedef std::set<CommonHcalNoiseRBXData, noisedatacomp> noisedataset_t;
00060 };
00061 
00062 #endif //HLTHcalTowerNoiseCleaner_h