File indexing completed on 2024-04-06 12:08:52
0001 #ifndef SiStripMonitorQuality_SiStripMonitorQuality_h
0002 #define SiStripMonitorQuality_SiStripMonitorQuality_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #include <memory>
0023 #include <iostream>
0024 #include <string>
0025 #include <vector>
0026 #include <cstdint>
0027
0028
0029 #include "FWCore/Framework/interface/ESWatcher.h"
0030 #include "FWCore/Framework/interface/Frameworkfwd.h"
0031 #include "FWCore/Framework/interface/Event.h"
0032 #include "FWCore/Framework/interface/MakerMacros.h"
0033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0034 #include "DQMServices/Core/interface/DQMOneEDAnalyzer.h"
0035 #include "DQMServices/Core/interface/DQMStore.h"
0036
0037 class SiStripDetCabling;
0038 class SiStripQuality;
0039 class TrackerTopology;
0040
0041 class SiStripMonitorQuality : public DQMOneEDAnalyzer<> {
0042 public:
0043 explicit SiStripMonitorQuality(const edm::ParameterSet &);
0044 ~SiStripMonitorQuality() override;
0045
0046 void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0047 void analyze(const edm::Event &, const edm::EventSetup &) override;
0048 void dqmEndRun(edm::Run const &run, edm::EventSetup const &eSetup) override;
0049 void endJob() override;
0050
0051 private:
0052 MonitorElement *getQualityME(uint32_t idet, const TrackerTopology *tTopo);
0053
0054 DQMStore *dqmStore_;
0055 edm::ParameterSet conf_;
0056 const SiStripDetCabling *detCabling_;
0057 const SiStripQuality *stripQuality_;
0058
0059 std::map<uint32_t, MonitorElement *> QualityMEs;
0060 std::string dataLabel_;
0061
0062 edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
0063 edm::ESGetToken<SiStripDetCabling, SiStripDetCablingRcd> detCablingToken_;
0064 edm::ESGetToken<SiStripQuality, SiStripQualityRcd> qualityToken_;
0065 edm::ESWatcher<SiStripQualityRcd> qualityWatcher_;
0066
0067 unsigned long long m_cacheID_;
0068 };
0069
0070 #endif