37 class SiStripWebInterface;
44 :
public edm::one::EDAnalyzer<edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks> {
96 staticUpdateFrequency_{ps.getUntrackedParameter<
int>(
"StaticUpdateFrequency", 1)},
97 globalStatusFilling_{ps.getUntrackedParameter<
int>(
"GlobalStatusFilling", 1)},
98 shiftReportFrequency_{ps.getUntrackedParameter<
int>(
"ShiftReportFrequency", 1)},
99 rawDataToken_{consumes<FEDRawDataCollection>(ps.getUntrackedParameter<
edm::InputTag>(
"RawDataTag"))},
100 detCablingToken_(esConsumes<edm::Transition::BeginRun>()),
102 tTopoTokenELB_(esConsumes<edm::Transition::EndLuminosityBlock>()),
103 tTopoTokenBR_(esConsumes<edm::Transition::BeginRun>()),
105 tkDetMapTokenELB_(esConsumes<edm::Transition::EndLuminosityBlock>()),
106 tkDetMapTokenBR_(esConsumes<edm::Transition::BeginRun>()),
107 printFaultyModuleList_{ps.getUntrackedParameter<
bool>(
"PrintFaultyModuleList",
true)} {
108 usesResource(
"DQMStore");
109 std::string const localPath{
"DQM/SiStripMonitorClient/test/loader.html"};
113 <<
" could not be opened!" << std::endl;
116 edm::LogInfo(
"SiStripAnalyser") <<
" SiStripAnalyser::Creating SiStripAnalyser ";
124 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: Error to read configuration file!! Summary will " 125 "not be produced!!!";
130 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: Begining of Run";
134 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser::beginRun: " 135 <<
" Change in Cabling, recrated TrackerMap";
139 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: Error to read configuration file!! TrackerMap " 140 "will not be produced!!!";
151 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: Begin of LS transition";
171 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: End of LS transition, " 172 "performing the DQM client operation";
181 std::cout <<
"====================================================== " << std::endl;
183 std::cout <<
"====================================================== " << std::endl;
193 std::cout <<
" Creating Summary " << std::endl;
200 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: End of Run";
204 edm::LogInfo(
"SiStripAnalyser") <<
"SiStripAnalyser:: endjob called!";
206 std::ostringstream str_val;
219 auto const& rawDataCollection = *rawDataHandle;
223 for (
int i = siStripFedIdMin;
i <= siStripFedIdMax; ++
i) {
224 auto const& fedData = rawDataCollection.FEDData(
i);
225 if (fedData.size() && fedData.data()) {
std::string outputFileName_
SiStripClassToMonitorCondData condDataMon_
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
void beginRun(edm::RunNumber_t iRun, edm::EventSetup const &eSetup)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoTokenBR_
std::string fullPath() const
dqm::harvesting::DQMStore DQMStore
std::string outputFilePath_
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override
void createSummary(DQMStore &dqm_store)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoTokenELB_
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
~SiStripAnalyser() override
dqm::harvesting::MonitorElement MonitorElement
void createDummyShiftReport()
T getUntrackedParameter(std::string const &, T const &) const
SiStripActionExecutor actionExecutor_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > stripQualityToken_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapTokenBR_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
bool printFaultyModuleList_
int staticUpdateFrequency_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapTokenELB_
#define DEFINE_FWK_MODULE(type)
void fillStatus(DQMStore &dqm_store, const SiStripDetCabling *cabling, const TkDetMap *tkDetMap, const TrackerTopology *tTopo)
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
edm::ParameterSet tkMapPSet_
Log< level::Info, false > LogInfo
void printFaultyModuleList(DQMStore &dqm_store, std::ostringstream &str_val)
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup) override
const SiStripDetCabling * detCabling_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
void createStatus(DQMStore &dqm_store)
void beginLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup) override
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
bool check(const edm::EventSetup &iSetup)
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &eSetup) override
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
int shiftReportFrequency_
SiStripAnalyser(const edm::ParameterSet &ps)
bool readTkMapConfiguration(const SiStripDetCabling *detCabling, const TkDetMap *tkDetMap, const TrackerTopology *tTopo)
void createShiftReport(DQMStore &dqm_store)
LuminosityBlockNumber_t luminosityBlock() const
void checkTrackerFEDs(edm::Event const &e)