00001 #ifndef DTtTrigCalibrationTest_H 00002 #define DTtTrigCalibrationTest_H 00003 00015 #include "FWCore/Framework/interface/Frameworkfwd.h" 00016 #include <FWCore/Framework/interface/EDAnalyzer.h> 00017 #include "DataFormats/Common/interface/Handle.h" 00018 #include <FWCore/Framework/interface/ESHandle.h> 00019 #include <FWCore/Framework/interface/Event.h> 00020 #include <FWCore/Framework/interface/MakerMacros.h> 00021 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00022 #include <FWCore/Framework/interface/LuminosityBlock.h> 00023 00024 #include "DQMServices/Core/interface/DQMStore.h" 00025 #include "DQMServices/Core/interface/MonitorElement.h" 00026 #include "FWCore/ServiceRegistry/interface/Service.h" 00027 00028 #include <memory> 00029 #include <iostream> 00030 #include <fstream> 00031 #include <string> 00032 #include <vector> 00033 #include <map> 00034 00035 class DTGeometry; 00036 class DTChamberId; 00037 class DTSuperLayerId; 00038 class DTTtrig; 00039 class DTTimeBoxFitter; 00040 00041 class DTtTrigCalibrationTest: public edm::EDAnalyzer{ 00042 00043 public: 00044 00046 DTtTrigCalibrationTest(const edm::ParameterSet& ps); 00047 00049 virtual ~DTtTrigCalibrationTest(); 00050 00051 protected: 00052 00054 void beginJob(); 00055 00057 void beginRun(const edm::Run& r, const edm::EventSetup& c); 00058 00060 void analyze(const edm::Event& e, const edm::EventSetup& c); 00061 00063 void endJob(); 00064 00066 void bookHistos(const DTChamberId & ch); 00067 00069 void bookHistos(const DTChamberId & ch, int wh); 00070 00072 std::string getMEName(const DTSuperLayerId & slID); 00073 00074 void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ; 00075 00077 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c); 00078 00079 00080 00081 00082 private: 00083 00084 int nevents; 00085 unsigned int nLumiSegs; 00086 int prescaleFactor; 00087 int run; 00088 int percentual; 00089 00090 DQMStore* dbe; 00091 00092 edm::ParameterSet parameters; 00093 edm::ESHandle<DTGeometry> muonGeom; 00094 edm::ESHandle<DTTtrig> tTrigMap; 00095 00096 DTTimeBoxFitter *theFitter; 00097 00098 // histograms: < detRawID, Histogram > 00099 std::map< uint32_t , MonitorElement* > histos; 00100 00101 // wheel summary histograms 00102 std::map< int, MonitorElement* > wheelHistos; 00103 00104 }; 00105 00106 #endif