00001 #ifndef _ReducedESRecHitCollectionProducer_H 00002 #define _ReducedESRecHitCollectionProducer_H 00003 00004 #include "FWCore/Framework/interface/MakerMacros.h" 00005 #include "FWCore/Framework/interface/EDProducer.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "FWCore/Framework/interface/EDProducer.h" 00008 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00009 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00010 #include "DataFormats/Common/interface/Handle.h" 00011 #include "DataFormats/DetId/interface/DetId.h" 00012 #include "DataFormats/EcalDetId/interface/ESDetId.h" 00013 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00014 00015 #include <iostream> 00016 #include <vector> 00017 #include <string> 00018 #include <map> 00019 #include <set> 00020 00021 using namespace edm; 00022 using namespace std; 00023 using namespace reco; 00024 00025 class EcalPreshowerGeometry; 00026 class CaloSubdetectorTopology; 00027 class ReducedESRecHitCollectionProducer : public edm::EDProducer { 00028 00029 public : 00030 00031 ReducedESRecHitCollectionProducer(const edm::ParameterSet& pset); 00032 virtual ~ReducedESRecHitCollectionProducer(); 00033 void beginRun (edm::Run &, const edm::EventSetup&); 00034 void produce(edm::Event & e, const edm::EventSetup& c); 00035 void collectIds(const ESDetId strip1, const ESDetId strip2, const int & row=0); 00036 00037 private : 00038 00039 const EcalPreshowerGeometry *geometry_p; 00040 CaloSubdetectorTopology *topology_p; 00041 00042 double scEtThresh_; 00043 00044 edm::InputTag InputRecHitES_; 00045 edm::InputTag InputSpuerClusterEE_; 00046 std::string OutputLabelES_; 00047 std::vector<edm::InputTag> interestingDetIdCollections_; 00048 00049 std::set<DetId> collectedIds_; 00050 00051 }; 00052 00053 #endif 00054 00055