CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/DQM/DTMonitorModule/interface/DTTestPulsesTask.h

Go to the documentation of this file.
00001 #ifndef DTTestPulsesTask_H
00002 #define DTTestPulsesTask_H
00003 
00004 /*
00005  * \file DTTestPulsesTask.h
00006  *
00007  * $Date: 2010/01/05 10:14:39 $
00008  * $Revision: 1.8 $
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();
00051 
00053   void beginRun(const edm::Run& , const edm::EventSetup&);
00054 
00056   void bookHistos(const DTLayerId& dtLayer, std::string folder, std::string histoTag);
00057   
00059   void analyze(const edm::Event& e, const edm::EventSetup& c);
00060 
00061   
00062 private:
00063   
00064   int nevents;
00065 
00066   DQMStore* dbe;
00067 
00068   edm::ParameterSet parameters;
00069 
00070   edm::ESHandle<DTGeometry> muonGeom;
00071 
00072   edm::ESHandle<DTRangeT0> t0RangeMap;
00073 
00074   std::pair <int, int> t0sPeakRange;
00075   
00076   // My monitor elements
00077   std::map<int, MonitorElement*> testPulsesProfiles;
00078   std::map<int, MonitorElement*> testPulsesOccupancies;
00079   std::map<int, MonitorElement*> testPulsesTimeBoxes;
00080 
00081   
00082 };
00083 
00084 #endif