50 : actionExecutor_{pSet},
52 createSummary_{pSet.getUntrackedParameter<
bool>(
"CreateSummary",
false)},
53 createTkMap_{pSet.getUntrackedParameter<
bool>(
"CreateTkMap",
false)},
54 createTkInfoFile_{pSet.getUntrackedParameter<
bool>(
"CreateTkInfoFile",
false)},
55 inputFileName_{pSet.getUntrackedParameter<
std::string>(
"InputFileName",
"")},
56 outputFileName_{pSet.getUntrackedParameter<
std::string>(
"OutputFileName",
"")},
57 globalStatusFilling_{pSet.getUntrackedParameter<
int>(
"GlobalStatusFilling", 1)},
58 printFaultyModuleList_{pSet.getUntrackedParameter<
bool>(
"PrintFaultyModuleList",
false)},
59 detCablingToken_{globalStatusFilling_ > 0 || createTkMap_
60 ? decltype(detCablingToken_){esConsumes<edm::Transition::EndRun>()}
61 : decltype(detCablingToken_){}},
62 tTopoToken_{globalStatusFilling_ > 0 || createTkMap_
63 ? decltype(tTopoToken_){esConsumes<edm::Transition::EndRun>()}
64 : decltype(tTopoToken_){}},
65 tkDetMapToken_{globalStatusFilling_ > 0 || createTkMap_
66 ? decltype(tkDetMapToken_){esConsumes<edm::Transition::EndRun>()}
67 : decltype(tkDetMapToken_){}},
68 geomDetToken_{createTkMap_ && createTkInfoFile_ ? decltype(geomDetToken_){esConsumes<edm::Transition::EndRun>()}
69 : decltype(geomDetToken_){}},
70 runInfoToken_{esConsumes<edm::Transition::BeginRun>()} {
73 for (
const auto& ps : pSet.getUntrackedParameter<std::vector<edm::ParameterSet>>(
"TkMapOptions")) {
78 auto token = useSSQ ? QualityToken{esConsumes<edm::Transition::EndRun>(
85 if (createTkInfoFile_) {
90 consumes<DQMToken, edm::InRun>(
edm::InputTag(
"siStripQTester",
"DQMGenerationQTestRun"));
91 consumes<DQMToken, edm::InLumi>(
edm::InputTag(
"siStripQTester",
"DQMGenerationQTestLumi"));
92 usesResource(
"DQMStore");
93 produces<DQMToken, edm::Transition::EndRun>(
"DQMGenerationSiStripAnalyserRun");
94 produces<DQMToken, edm::Transition::EndLuminosityBlock>(
"DQMGenerationSiStripAnalyserLumi");
102 edm::LogInfo(
"ReadConfigurationProblem") <<
"SiStripOfflineDQM:: Error to read configuration file!! Summary " 103 "will not be produced!!!";
107 edm::LogInfo(
"BeginJobDone") <<
"SiStripOfflineDQM::beginJob done";
111 edm::LogInfo(
"BeginRun") <<
"SiStripOfflineDQM:: Begining of Run";
119 for (
auto const fedID : sumFED->m_fed_in) {
120 if (fedID >= siStripFedIdMin && fedID <= siStripFedIdMax)
139 edm::LogInfo(
"EndLumiBlock") <<
"SiStripOfflineDQM::endLuminosityBlock";
149 edm::LogInfo(
"EndOfRun") <<
"SiStripOfflineDQM::endRun";
174 std::vector<std::string> mapNames;
179 mapOptions.pset, dqm_store, map_type, mapOptions.useSSQ ? &eSetup.
getData(mapOptions.token) :
nullptr);
180 mapNames.push_back(map_type);
190 edm::LogInfo(
"EndOfJob") <<
"SiStripOfflineDQM::endJob";
195 std::ostringstream str_val;
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
std::string const inputFileName_
SiStripOfflineDQM(edm::ParameterSet const &ps)
void fillStatusAtLumi(DQMStore &dqm_store)
void endRun(edm::Run const &run, edm::EventSetup const &eSetup) override
std::vector< MapOptions > tkMapOptions_
std::optional< T > tryToGet() const
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
bool printFaultyModuleList_
void augment(ParameterSet const &from)
T getUntrackedParameter(std::string const &, T const &) const
bool open(std::string const &filename, std::string const &path="", uint32_t const run=0)
bool openInputFile(DQMStore &dqm_store)
bool const createTkInfoFile_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
#define DEFINE_FWK_MODULE(type)
void fillStatus(DQMStore &dqm_store, const SiStripDetCabling *cabling, const TkDetMap *tkDetMap, const TrackerTopology *tTopo)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
edm::ESGetToken< RunInfo, RunInfoRcd > runInfoToken_
Log< level::Info, false > LogInfo
void printFaultyModuleList(DQMStore &dqm_store, std::ostringstream &str_val)
bool usedWithEDMtoMEConverter_
void produce(edm::Event &e, edm::EventSetup const &eSetup) override
void endLuminosityBlock(edm::LuminosityBlock const &lumiSeg, edm::EventSetup const &iSetup) override
void createStatus(DQMStore &dqm_store)
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup) override
void createOfflineTkMap(const edm::ParameterSet &tkmapPset, DQMStore &dqm_store, std::string &map_type, const SiStripQuality *stripQuality)
void createTkInfoFile(std::vector< std::string > tkhmap_names, TTree *tkinfo_tree, DQMStore &dqm_store, const GeometricDet *geomDet)
void createSummaryOffline(DQMStore &dqm_store)
SiStripActionExecutor actionExecutor_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
bool readTkMapConfiguration(const SiStripDetCabling *detCabling, const TkDetMap *tkDetMap, const TrackerTopology *tTopo)
edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_