00001 #ifndef MonitorTrackResiduals_H 00002 #define MonitorTrackResiduals_H 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: TrackerMonitorTrack 00007 // Class: MonitorTrackResiduals 00008 // 00012 // Original Author: Israel Goitom 00013 // Created: Fri May 26 14:12:01 CEST 2006 00014 // $Id: MonitorTrackResiduals.h,v 1.15 2008/07/09 18:40:10 ebutz Exp $ 00015 #include <memory> 00016 #include <fstream> 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include "FWCore/Framework/interface/EDAnalyzer.h" 00019 #include "FWCore/Framework/interface/MakerMacros.h" 00020 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00021 #include "FWCore/Framework/interface/Run.h" 00022 00023 00024 class MonitorElement; 00025 class DQMStore; 00026 namespace edm { class Event; } 00027 00028 typedef std::map<int32_t, MonitorElement *> HistoClass; 00029 00030 class MonitorTrackResiduals : public edm::EDAnalyzer { 00031 public: 00032 // constructors and EDAnalyzer Methods 00033 explicit MonitorTrackResiduals(const edm::ParameterSet&); 00034 ~MonitorTrackResiduals(); 00035 virtual void beginRun(edm::Run const& run, edm::EventSetup const& iSetup); 00036 virtual void endRun(const edm::Run&, const edm::EventSetup&); 00037 virtual void beginJob(const edm::EventSetup& es); 00038 virtual void endJob(void); 00039 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00040 // Own methods 00041 void createMEs(const edm::EventSetup&); 00042 void resetModuleMEs(int32_t modid); 00043 void resetLayerMEs(const std::pair<std::string, int32_t>&); 00044 private: 00045 00046 DQMStore * dqmStore_; 00047 edm::ParameterSet conf_; 00048 edm::ParameterSet Parameters; 00049 std::map< std::pair<std::string,int32_t>, MonitorElement* > m_SubdetLayerResiduals; 00050 std::map< std::pair<std::string,int32_t>, MonitorElement* > m_SubdetLayerNormedResiduals; 00051 HistoClass HitResidual; 00052 HistoClass NormedHitResiduals; 00053 SiStripFolderOrganizer *folder_organizer; 00054 unsigned long long m_cacheID_; 00055 bool reset_me_after_each_run; 00056 bool ModOn; 00057 }; 00058 #endif