Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 13:11:44

0001 #ifndef SiStripAnalyser_H
0002 #define SiStripAnalyser_H
0003 
0004 /** \class SiStripAnalyser
0005  * *
0006  *  SiStrip SiStripAnalyser
0007  *  \author  S. Dutta INFN-Pisa
0008  *
0009  */
0010 
0011 #include "DQM/SiStripMonitorClient/interface/SiStripActionExecutor.h"
0012 #include "DQM/SiStripMonitorSummary/interface/SiStripClassToMonitorCondData.h"
0013 #include "FWCore/Framework/interface/EDAnalyzer.h"
0014 #include "FWCore/Framework/interface/ESWatcher.h"
0015 #include "FWCore/Framework/interface/EventSetup.h"
0016 #include "FWCore/Framework/interface/LuminosityBlock.h"
0017 #include "FWCore/Framework/interface/Run.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0019 #include "FWCore/Utilities/interface/EDGetToken.h"
0020 
0021 #include "CalibFormats/SiStripObjects/interface/SiStripDetCabling.h"
0022 #include "CalibTracker/Records/interface/SiStripDetCablingRcd.h"
0023 #include "CondFormats/DataRecord/interface/SiStripCondDataRecords.h"
0024 
0025 #include <map>
0026 #include <string>
0027 #include <vector>
0028 
0029 class SiStripWebInterface;
0030 class SiStripFedCabling;
0031 class SiStripDetCabling;
0032 class SiStripClassToMonitorCondData;
0033 class FEDRawDataCollection;
0034 
0035 class SiStripAnalyser : public edm::EDAnalyzer {
0036 public:
0037   typedef dqm::harvesting::MonitorElement MonitorElement;
0038   typedef dqm::harvesting::DQMStore DQMStore;
0039 
0040   SiStripAnalyser(const edm::ParameterSet& ps);
0041   ~SiStripAnalyser() override;
0042 
0043 private:
0044   void beginJob() override;
0045   void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
0046   void analyze(edm::Event const& e, edm::EventSetup const& eSetup) override;
0047   void beginLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup) override;
0048   void endLuminosityBlock(edm::LuminosityBlock const& lumiSeg, edm::EventSetup const& eSetup) override;
0049   void endRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
0050   void endJob() override;
0051 
0052   void checkTrackerFEDs(edm::Event const& e);
0053 
0054   SiStripClassToMonitorCondData condDataMon_;
0055   SiStripActionExecutor actionExecutor_;
0056   edm::ParameterSet tkMapPSet_;
0057 
0058   int summaryFrequency_{-1};
0059   int staticUpdateFrequency_;
0060   int globalStatusFilling_;
0061   int shiftReportFrequency_;
0062 
0063   edm::EDGetTokenT<FEDRawDataCollection> rawDataToken_;
0064 
0065   std::string outputFilePath_;
0066   std::string outputFileName_;
0067 
0068   const SiStripDetCabling* detCabling_;
0069   edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> detCablingToken_;
0070   edm::ESWatcher<SiStripFedCablingRcd> fedCablingWatcher_;
0071   edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_, tTopoTokenELB_, tTopoTokenBR_;
0072   edm::ESGetToken<TkDetMap, TrackerTopologyRcd> tkDetMapToken_, tkDetMapTokenELB_, tkDetMapTokenBR_;
0073   edm::ESGetToken<SiStripQuality, SiStripQualityRcd> stripQualityToken_;
0074 
0075   int nLumiSecs_{};
0076   int nEvents_{};
0077   bool trackerFEDsFound_{false};
0078   bool printFaultyModuleList_;
0079   bool endLumiAnalysisOn_{false};
0080 };
0081 
0082 #endif