File indexing completed on 2024-04-06 12:09:09
0001 #ifndef TrackingAnalyser_H
0002 #define TrackingAnalyser_H
0003
0004 #include "FWCore/Utilities/interface/EDGetToken.h"
0005 #include "DQMServices/Core/interface/DQMEDHarvester.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include "FWCore/Framework/interface/ESHandle.h"
0008 #include "FWCore/Framework/interface/LuminosityBlock.h"
0009 #include "FWCore/Framework/interface/Run.h"
0010 #include "FWCore/Framework/interface/EventSetup.h"
0011 #include "FWCore/Framework/interface/ESWatcher.h"
0012 #include "DQMServices/Core/interface/DQMStore.h"
0013
0014 #include <iostream>
0015 #include <fstream>
0016 #include <string>
0017 #include <vector>
0018 #include <map>
0019
0020 class SiStripFedCabling;
0021 class SiStripDetCabling;
0022 class TrackingActionExecutor;
0023 class FEDRawDataCollection;
0024 class SiStripFedCablingRcd;
0025 class SiStripDetCablingRcd;
0026
0027 class TrackingAnalyser : public DQMEDHarvester {
0028 public:
0029
0030 TrackingAnalyser(const edm::ParameterSet& ps);
0031
0032
0033 ~TrackingAnalyser() override;
0034
0035 private:
0036
0037 void beginJob() override;
0038
0039
0040 void beginRun(edm::Run const& run, edm::EventSetup const& eSetup) override;
0041
0042
0043 void dqmBeginLuminosityBlock(DQMStore::IBooker& ibooker_,
0044 DQMStore::IGetter& igetter_,
0045 edm::LuminosityBlock const& lumiSeg,
0046 edm::EventSetup const& eSetup);
0047
0048
0049 void dqmEndLuminosityBlock(DQMStore::IBooker& ibooker_,
0050 DQMStore::IGetter& igetter_,
0051 edm::LuminosityBlock const& lumiSeg,
0052 edm::EventSetup const& eSetup) override;
0053
0054
0055 void dqmEndJob(DQMStore::IBooker& ibooker_, DQMStore::IGetter& igetter_) override;
0056
0057 private:
0058 bool verbose_;
0059
0060 void checkTrackerFEDsInLS(DQMStore::IGetter& igetter, double iLS);
0061 void checkTrackerFEDsWdataInLS(DQMStore::IGetter& igetter, double iLS);
0062
0063 int fileSaveFrequency_;
0064 int staticUpdateFrequency_;
0065 int globalStatusFilling_;
0066 int shiftReportFrequency_;
0067
0068 edm::EDGetTokenT<FEDRawDataCollection> rawDataToken_;
0069
0070 std::string outputFilePath_;
0071 std::string outputFileName_;
0072
0073 edm::ParameterSet tkMapPSet_;
0074 edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> fedCablingToken_;
0075 edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> detCablingToken_;
0076 edm::ESWatcher<SiStripFedCablingRcd> fedCablingWatcher_;
0077 const SiStripFedCabling* fedCabling_;
0078 const SiStripDetCabling* detCabling_;
0079 TrackingActionExecutor* actionExecutor_;
0080
0081 unsigned long long m_cacheID_;
0082 int nLumiSecs_;
0083 bool trackerFEDsFound_;
0084 bool trackerFEDsWdataFound_;
0085 std::ostringstream html_out_;
0086
0087 std::string nFEDinfoDir_;
0088 std::string nFEDinVsLSname_;
0089 std::string nFEDinWdataVsLSname_;
0090 };
0091
0092 #endif