00001 // -*- C++ -*- 00002 // 00003 // Package: EcalPulseShapeGrapher 00004 // Class: EcalPulseShapeGrapher 00005 // 00013 // 00014 // Original Author: Seth Cooper 00015 // Created: Tue Feb 5 11:35:45 CST 2008 00016 // $Id: EcalPulseShapeGrapher.h,v 1.2 2010/01/04 15:07:40 ferriff Exp $ 00017 // 00018 // 00019 00020 // system include files 00021 #include <memory> 00022 00023 // user include files 00024 #include "FWCore/Framework/interface/Frameworkfwd.h" 00025 #include "FWCore/Framework/interface/EDAnalyzer.h" 00026 00027 #include "FWCore/Framework/interface/Event.h" 00028 #include "FWCore/Framework/interface/MakerMacros.h" 00029 00030 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00031 #include "TFile.h" 00032 #include "TGraph.h" 00033 #include "TH2F.h" 00034 #include "TProfile.h" 00035 #include "TH1F.h" 00036 #include <vector> 00037 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00038 #include "DataFormats/EcalDetId/interface/EBDetId.h" 00039 #include "DataFormats/EcalDigi/interface/EcalDigiCollections.h" 00040 #include "CaloOnlineTools/EcalTools/interface/EcalFedMap.h" 00041 #include "Geometry/EcalMapping/interface/EcalElectronicsMapping.h" 00042 00043 // 00044 // class decleration 00045 // 00046 00047 class EcalPulseShapeGrapher : public edm::EDAnalyzer { 00048 public: 00049 explicit EcalPulseShapeGrapher(const edm::ParameterSet&); 00050 ~EcalPulseShapeGrapher(); 00051 00052 00053 private: 00054 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00055 virtual void endJob() ; 00056 00057 std::string intToString(int); 00058 00059 edm::InputTag EBUncalibratedRecHitCollection_; 00060 edm::InputTag EBDigis_; 00061 edm::InputTag EEUncalibratedRecHitCollection_; 00062 edm::InputTag EEDigis_; 00063 00064 int abscissa[10]; 00065 int ordinate[10]; 00066 std::vector<int> listChannels_; 00067 std::map<int,TH1F*> ampHistMap_; 00068 std::map<int,TH2F*> pulseShapeHistMap_; 00069 std::map<int,TH1F*> firstSampleHistMap_; 00070 std::map<int,TH2F*> rawPulseShapeHistMap_; 00071 std::map<int,TH1F*> cutAmpHistMap_; 00072 00073 int ampCut_; 00074 std::string rootFilename_; 00075 00076 TFile* file_; 00077 00078 EcalFedMap* fedMap_; 00079 // ----------member data --------------------------- 00080 };