00001 #ifndef RecoLocalMuon_RPCRecHitProducer_h 00002 #define RecoLocalMuon_RPCRecHitProducer_h 00003 00013 #include <memory> 00014 #include <fstream> 00015 #include <iostream> 00016 #include <stdint.h> 00017 #include <cstdlib> 00018 #include <bitset> 00019 #include <map> 00020 00021 #include "FWCore/Framework/interface/EDProducer.h" 00022 #include "FWCore/Utilities/interface/InputTag.h" 00023 #include "DataFormats/MuonDetId/interface/RPCDetId.h" 00024 00025 #include "CondFormats/RPCObjects/interface/RPCMaskedStrips.h" 00026 #include "CondFormats/DataRecord/interface/RPCMaskedStripsRcd.h" 00027 #include "CondFormats/RPCObjects/interface/RPCDeadStrips.h" 00028 #include "CondFormats/DataRecord/interface/RPCDeadStripsRcd.h" 00029 00030 #include "RPCRollMask.h" 00031 00032 00033 namespace edm { 00034 class ParameterSet; 00035 class Event; 00036 class EventSetup; 00037 } 00038 00039 class RPCRecHitBaseAlgo; 00040 00041 class RPCRecHitProducer : public edm::EDProducer { 00042 00043 public: 00045 RPCRecHitProducer(const edm::ParameterSet& config); 00046 00048 virtual ~RPCRecHitProducer(); 00049 00050 // Method that access the EventSetup for each run 00051 virtual void beginRun( edm::Run&, const edm::EventSetup& ); 00052 virtual void endRun( edm::Run&, const edm::EventSetup& ) {;} 00053 00055 virtual void produce(edm::Event& event, const edm::EventSetup& setup); 00056 00057 private: 00058 00059 // The label to be used to retrieve RPC digis from the event 00060 edm::InputTag theRPCDigiLabel; 00061 00062 // The reconstruction algorithm 00063 RPCRecHitBaseAlgo *theAlgo; 00064 // static std::string theAlgoName; 00065 00066 RPCMaskedStrips* RPCMaskedStripsObj; 00067 // Object with mask-strips-vector for all the RPC Detectors 00068 00069 RPCDeadStrips* RPCDeadStripsObj; 00070 // Object with dead-strips-vector for all the RPC Detectors 00071 00072 std::string maskSource; 00073 std::string deadSource; 00074 00075 std::vector<RPCMaskedStrips::MaskItem> MaskVec; 00076 std::vector<RPCDeadStrips::DeadItem> DeadVec; 00077 00078 }; 00079 00080 #endif 00081