![]() |
![]() |
00001 #ifndef QualityTester_H 00002 #define QualityTester_H 00003 00004 /* 00005 * \file QualityTester.h 00006 * 00007 * Helping EDAnalyzer running the quality tests for clients when: 00008 * - they receive ME data from the SM 00009 * - they are run together with the producers (standalone mode) 00010 * 00011 * $Date: 2008/11/24 20:07:27 $ 00012 * $Revision: 1.9 $ 00013 * \author M. Zanetti - CERN PH 00014 * 00015 */ 00016 00017 #include "FWCore/Framework/interface/Frameworkfwd.h" 00018 #include <FWCore/Framework/interface/EDAnalyzer.h> 00019 #include <FWCore/Framework/interface/ESHandle.h> 00020 #include <FWCore/Framework/interface/Event.h> 00021 #include <FWCore/Framework/interface/MakerMacros.h> 00022 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00023 #include <FWCore/Framework/interface/LuminosityBlock.h> 00024 00025 #include <memory> 00026 #include <iostream> 00027 #include <string> 00028 00029 class DQMStore; 00030 class QTestHandle; 00031 00032 00033 class QualityTester: public edm::EDAnalyzer{ 00034 00035 public: 00036 00038 QualityTester(const edm::ParameterSet& ps); 00039 00041 virtual ~QualityTester(); 00042 00043 protected: 00044 00046 void analyze(const edm::Event& e, const edm::EventSetup& c) ; 00047 00049 void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& c); 00050 00051 void endRun(const edm::Run& r, const edm::EventSetup& c); 00052 void endJob(); 00053 00054 private: 00055 00056 00057 void performTests(void); 00058 00059 int nEvents; 00060 int prescaleFactor; 00061 bool getQualityTestsFromFile; 00062 bool testInEventloop; 00063 bool qtestOnEndRun; 00064 bool qtestOnEndJob; 00065 bool qtestOnEndLumi; 00066 std::string reportThreshold; 00067 bool verboseQT; 00068 00069 DQMStore * bei; 00070 00071 QTestHandle * qtHandler; 00072 00073 }; 00074 00075 #endif