CMS 3D CMS Logo

DTDataIntegrityTest.h

Go to the documentation of this file.
00001 #ifndef DTDataIntegrity_Test_H
00002 #define DTDataIntegrity_Test_H
00003 
00013 #include <FWCore/Framework/interface/EDAnalyzer.h>
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include <FWCore/Framework/interface/Event.h>
00016 #include <FWCore/Framework/interface/EventSetup.h>
00017 #include <FWCore/Framework/interface/LuminosityBlock.h>
00018 
00019 class DQMStore;
00020 class MonitorElement;
00021 
00022 class DTDataIntegrityTest: public edm::EDAnalyzer{
00023 
00024 public:
00025 
00027   DTDataIntegrityTest(const edm::ParameterSet& ps);
00028 
00030  ~DTDataIntegrityTest();
00031 
00032 protected:
00033 
00035   void beginJob(const edm::EventSetup& c);
00036  
00038   void analyze(const edm::Event& e, const edm::EventSetup& c);
00039 
00041   void endJob();
00042 
00044   std::string getMEName(std::string histoType, int FEDId);
00046   void bookHistos(std::string histoType, int dduId);
00047   void bookTimeHistos(std::string histoType, int dduId, int evNumber);
00048 
00049   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& context) ;
00050 
00052   void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c);
00053 
00054 
00055 private:
00056 
00057   //Number of onUpdates
00058   int nupdates;
00059   //int nSTAEvents;
00060 
00061 
00062   //Number of bin in time histo
00063   int nTimeBin;
00064   //If you want info VS time histos
00065   bool doTimeHisto;
00066   // switch to write histos to file
00067   bool writeHisto;
00068   // prefix of the name of the root file (lumi# and run# will be appended)
00069   std::string outputFile;
00070   // prescale on the # of LS to update the test
00071   int prescaleFactor;
00072 
00073 
00074   //Counter between 0 and nTimeBin
00075   int counter;
00076 
00077   int nevents;
00078   unsigned int nLumiSegs;
00079 
00080   int run;
00081 
00082 
00083   DQMStore* dbe;
00084 
00085   // Monitor Elements
00086   // <histoType, <DDU index , histo> >    
00087   std::map<std::string, std::map<int, MonitorElement*> > dduHistos;
00088   // <histoType, <DDU index , vector of histos> >    
00089   std::map<std::string, std::map<int, std::vector <MonitorElement*> > > dduVectorHistos;
00090 
00091   MonitorElement *summaryHisto;
00092 
00093  };
00094 
00095 #endif

Generated on Tue Jun 9 17:32:34 2009 for CMSSW by  doxygen 1.5.4