![]() |
![]() |
00001 #ifndef DTTestPulsesTask_H 00002 #define DTTestPulsesTask_H 00003 00004 /* 00005 * \file DTTestPulsesTask.h 00006 * 00007 * $Date: 2008/03/01 00:39:53 $ 00008 * $Revision: 1.7 $ 00009 * \author M. Zanetti - INFN Padova 00010 * 00011 */ 00012 00013 #include "FWCore/Framework/interface/Frameworkfwd.h" 00014 #include <FWCore/Framework/interface/EDAnalyzer.h> 00015 #include <DataFormats/Common/interface/Handle.h> 00016 #include <FWCore/Framework/interface/ESHandle.h> 00017 #include <FWCore/Framework/interface/Event.h> 00018 #include <FWCore/Framework/interface/MakerMacros.h> 00019 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00020 00021 #include "DQMServices/Core/interface/DQMStore.h" 00022 #include "DQMServices/Core/interface/MonitorElement.h" 00023 #include "FWCore/ServiceRegistry/interface/Service.h" 00024 00025 #include <iostream> 00026 #include <stdio.h> 00027 #include <string> 00028 #include <sstream> 00029 #include <fstream> 00030 #include <vector> 00031 #include <map> 00032 00033 class DTGeometry; 00034 class DTLayerId; 00035 class DTRangeT0; 00036 00037 class DTTestPulsesTask: public edm::EDAnalyzer{ 00038 00039 public: 00040 00042 DTTestPulsesTask(const edm::ParameterSet& ps); 00043 00045 virtual ~DTTestPulsesTask(); 00046 00047 protected: 00048 00050 void beginJob(const edm::EventSetup& c); 00051 00053 void bookHistos(const DTLayerId& dtLayer, std::string folder, std::string histoTag); 00054 00056 void analyze(const edm::Event& e, const edm::EventSetup& c); 00057 00058 00059 private: 00060 00061 int nevents; 00062 00063 DQMStore* dbe; 00064 00065 edm::ParameterSet parameters; 00066 00067 edm::ESHandle<DTGeometry> muonGeom; 00068 00069 edm::ESHandle<DTRangeT0> t0RangeMap; 00070 00071 std::pair <int, int> t0sPeakRange; 00072 00073 // My monitor elements 00074 std::map<int, MonitorElement*> testPulsesProfiles; 00075 std::map<int, MonitorElement*> testPulsesOccupancies; 00076 std::map<int, MonitorElement*> testPulsesTimeBoxes; 00077 00078 00079 }; 00080 00081 #endif