00001 #ifndef ECALRAWTODIGI_ECALDIGIDISPLAY_h 00002 #define ECALRAWTODIGI_ECALDIGIDISPLAY_h 00003 00004 #include <memory> 00005 #include <vector> 00006 #include <string> 00007 00008 #include <FWCore/Framework/interface/EDAnalyzer.h> 00009 #include <FWCore/Framework/interface/Event.h> 00010 #include <FWCore/Framework/interface/EventSetup.h> 00011 #include <FWCore/Framework/interface/ESHandle.h> 00012 #include <FWCore/Framework/interface/MakerMacros.h> 00013 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00014 #include "CaloOnlineTools/EcalTools/interface/EcalFedMap.h" 00015 #include "Geometry/EcalMapping/interface/EcalMappingRcd.h" 00016 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h" 00017 00018 // class declaration 00019 00020 class EcalDigiDisplay : public edm::EDAnalyzer { 00021 public: 00022 //Constractor 00023 EcalDigiDisplay(const edm::ParameterSet& ps); 00024 //Distractor 00025 ~EcalDigiDisplay(); 00026 00027 private: 00028 virtual void analyze( edm::Event const & e, edm::EventSetup const & c); 00029 virtual void beginRun(edm::Run const &, edm::EventSetup const & c); 00030 virtual void endJob(); 00031 00032 protected: 00033 void readEBDigis (edm::Handle<EBDigiCollection> digis, int Mode); 00034 void readEEDigis (edm::Handle<EEDigiCollection> digis, int Mode); 00035 void readPNDigis (edm::Handle<EcalPnDiodeDigiCollection> PNs, int Mode); 00036 00037 EcalFedMap* fedMap; 00038 00039 std::string ebDigiCollection_; 00040 std::string eeDigiCollection_; 00041 std::string digiProducer_; 00042 00043 std::vector<int> requestedFeds_; 00044 std::vector<std::string> requestedEbs_; 00045 00046 bool inputIsOk; 00047 bool cryDigi; 00048 bool ttDigi; 00049 bool pnDigi; 00050 00051 int mode; 00052 00053 std::vector<int> listChannels; 00054 std::vector<int> listTowers; 00055 std::vector<int> listPns; 00056 00057 const EcalElectronicsMapping* ecalElectronicsMap_; 00058 }; 00059 #endif