00001 #ifndef _INTERESTINGDETIDCOLLECTIONPRODUCER_H 00002 #define _INTERESTINGDETIDCOLLECTIONPRODUCER_H 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: InterestingDetIdCollectionProducer 00007 // Class: InterestingDetIdCollectionProducer 00008 // 00029 // system include files 00030 #include <memory> 00031 00032 // user include files 00033 #include "FWCore/Framework/interface/Frameworkfwd.h" 00034 #include "FWCore/Framework/interface/EDProducer.h" 00035 00036 #include "FWCore/Framework/interface/Event.h" 00037 #include "FWCore/Framework/interface/MakerMacros.h" 00038 #include "FWCore/Utilities/interface/InputTag.h" 00039 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00040 00041 00042 class CaloTopology; 00043 class EcalSeverityLevelAlgo; 00044 00045 class InterestingDetIdCollectionProducer : public edm::EDProducer { 00046 public: 00048 explicit InterestingDetIdCollectionProducer(const edm::ParameterSet&); 00049 ~InterestingDetIdCollectionProducer(); 00050 void beginRun (edm::Run &, const edm::EventSetup&); 00052 virtual void produce(edm::Event &, const edm::EventSetup&); 00053 00054 private: 00055 // ----------member data --------------------------- 00056 edm::InputTag recHitsLabel_; 00057 edm::InputTag basicClusters_; 00058 std::string interestingDetIdCollection_; 00059 int minimalEtaSize_; 00060 int minimalPhiSize_; 00061 const CaloTopology* caloTopology_; 00062 00063 int severityLevel_; 00064 const EcalSeverityLevelAlgo * severity_; 00065 bool keepNextToDead_; 00066 bool keepNextToBoundary_; 00067 00068 }; 00069 00070 #endif