00001 #ifndef TrackerHitAnalyzer_H 00002 #define TrackerHitAnalyzer_H 00003 00004 /* 00005 * \file TrackerHitAnalyzer.h 00006 * 00007 * $Date: 2010/02/20 21:02:53 $ 00008 * $Revision: 1.6 $ 00009 * \author F. Cossutti 00010 * 00011 */ 00012 // framework & common header files 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 #include "FWCore/Framework/interface/Frameworkfwd.h" 00015 #include "FWCore/Framework/interface/EDAnalyzer.h" 00016 00017 #include "FWCore/Framework/interface/Event.h" 00018 #include "FWCore/Framework/interface/EventSetup.h" 00019 #include "FWCore/Framework/interface/ESHandle.h" 00020 #include "FWCore/Framework/interface/MakerMacros.h" 00021 #include "DataFormats/Common/interface/Handle.h" 00022 00023 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00024 #include "FWCore/Utilities/interface/InputTag.h" 00025 00026 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h" 00027 #include "DataFormats/DetId/interface/DetId.h" 00028 00029 #include "FWCore/ServiceRegistry/interface/Service.h" 00030 #include "DQMServices/Core/interface/DQMStore.h" 00031 00032 #include "DQMServices/Core/interface/MonitorElement.h" 00033 00034 #include <fstream> 00035 #include <map> 00036 #include <iostream> 00037 #include <stdlib.h> 00038 #include <string> 00039 #include <memory> 00040 #include <vector> 00041 00042 00043 class TrackerHitAnalyzer: public edm::EDAnalyzer { 00044 00045 public: 00046 00048 TrackerHitAnalyzer(const edm::ParameterSet& ps); 00049 00051 ~TrackerHitAnalyzer(); 00052 00053 protected: 00054 00056 void analyze(const edm::Event& e, const edm::EventSetup& c); 00057 00058 00059 00060 // EndJob 00061 void endJob(void); 00062 00063 //void BookTestHistos(Char_t sname, int nbin, float *xmin, float *xmax); 00064 00065 private: 00066 00067 edm::InputTag SiTIBLowSrc_; 00068 edm::InputTag SiTIBHighSrc_; 00069 edm::InputTag SiTOBLowSrc_; 00070 edm::InputTag SiTOBHighSrc_; 00071 edm::InputTag SiTIDLowSrc_; 00072 edm::InputTag SiTIDHighSrc_; 00073 edm::InputTag SiTECLowSrc_; 00074 edm::InputTag SiTECHighSrc_; 00075 edm::InputTag PxlBrlLowSrc_; 00076 edm::InputTag PxlBrlHighSrc_; 00077 edm::InputTag PxlFwdLowSrc_; 00078 edm::InputTag PxlFwdHighSrc_; 00079 00080 // edm::ParameterSet config_; 00081 00082 00083 bool verbose_; 00084 00085 DQMStore* fDBE; 00086 00087 std::string fOutputFile; 00088 00089 MonitorElement* htofeta; 00090 MonitorElement* htofphi; 00091 MonitorElement* htofr; 00092 MonitorElement* htofz; 00093 MonitorElement* htofeta_profile; 00094 MonitorElement* htofphi_profile; 00095 MonitorElement* htofr_profile; 00096 MonitorElement* htofz_profile; 00097 MonitorElement* h1e[12]; 00098 MonitorElement* h2e[12]; 00099 MonitorElement* h3e[12]; 00100 MonitorElement* h4e[12]; 00101 MonitorElement* h5e[12]; 00102 MonitorElement* h6e[12]; 00103 00104 MonitorElement* h1ex[12]; 00105 MonitorElement* h2ex[12]; 00106 MonitorElement* h3ex[12]; 00107 MonitorElement* h4ex[12]; 00108 MonitorElement* h5ex[12]; 00109 MonitorElement* h6ex[12]; 00110 00111 MonitorElement* h1ey[12]; 00112 MonitorElement* h2ey[12]; 00113 MonitorElement* h3ey[12]; 00114 MonitorElement* h4ey[12]; 00115 MonitorElement* h5ey[12]; 00116 MonitorElement* h6ey[12]; 00117 00118 MonitorElement* h1ez[12]; 00119 MonitorElement* h2ez[12]; 00120 MonitorElement* h3ez[12]; 00121 MonitorElement* h4ez[12]; 00122 MonitorElement* h5ez[12]; 00123 MonitorElement* h6ez[12]; 00124 00125 MonitorElement* h1lx[12]; 00126 MonitorElement* h2lx[12]; 00127 MonitorElement* h3lx[12]; 00128 MonitorElement* h4lx[12]; 00129 MonitorElement* h5lx[12]; 00130 MonitorElement* h6lx[12]; 00131 00132 MonitorElement* h1ly[12]; 00133 MonitorElement* h2ly[12]; 00134 MonitorElement* h3ly[12]; 00135 MonitorElement* h4ly[12]; 00136 MonitorElement* h5ly[12]; 00137 MonitorElement* h6ly[12]; 00138 }; 00139 00140 #endif