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
00058 int nupdates;
00059
00060
00061
00062
00063 int nTimeBin;
00064
00065 bool doTimeHisto;
00066
00067 bool writeHisto;
00068
00069 std::string outputFile;
00070
00071 int prescaleFactor;
00072
00073
00074
00075 int counter;
00076
00077 int nevents;
00078 unsigned int nLumiSegs;
00079
00080 int run;
00081
00082
00083 DQMStore* dbe;
00084
00085
00086
00087 std::map<std::string, std::map<int, MonitorElement*> > dduHistos;
00088
00089 std::map<std::string, std::map<int, std::vector <MonitorElement*> > > dduVectorHistos;
00090
00091 MonitorElement *summaryHisto;
00092
00093 };
00094
00095 #endif