40 verbose_ =
pset.getUntrackedParameter<
bool>(
"DebugOn",
false);
41 AndOr_ =
pset.getParameter<
bool>(
"AndOr");
42 applyfilter_ =
pset.getParameter<
bool>(
"ApplyFilter");
43 DetNames_ =
pset.getParameter<std::vector<std::string>>(
"DetectorType");
48 for (
unsigned int detreq = 0; detreq < DetNames_.size(); detreq++) {
54 requestedPartitions_.set(detlist,
true);
66 scalersToken_ = consumes<DcsStatusCollection>(
edm::InputTag(
"scalersRawToDigi"));
67 dcsRecordToken_ = consumes<DCSRecord>(
edm::InputTag(
"onlineMetaDataDigis"));
80 edm::LogInfo(
"DetStatus") <<
"Using FED#735 for reading DCS bits" << std::endl;
83 bool accepted =
false;
84 unsigned int curr_dcs = (dcsStatus)[0].ready();
90 accepted = ((DetMap_ & curr_dcs) == DetMap_);
92 accepted = ((DetMap_ & curr_dcs) != 0);
95 edm::LogInfo(
"DetStatus") <<
"DCSStatus filter: requested map: " << DetMap_ <<
" dcs in event: " << curr_dcs
96 <<
" filter: " << accepted <<
"( AndOr: " << AndOr_ <<
")" << std::endl;
112 bool accepted =
false;
115 edm::LogInfo(
"DetStatus") <<
"Using softFED#1022 for reading DCS bits" << std::endl;
119 if (requestedPartitions_.test(detlist)) {
121 accepted = (accepted &
dcsRecord.highVoltageReady(detlist));
123 accepted = (accepted ||
dcsRecord.highVoltageReady(detlist));
129 edm::LogInfo(
"DetStatus") <<
"DCSStatus filter: " << accepted <<
"( AndOr: " << AndOr_ <<
")" << std::endl;
132 if ((
dcsRecord.highVoltageReady(detlist))) {
146 bool accepted =
false;
157 if (dcsStatus.
isValid() && !dcsStatus->empty()) {
158 accepted = checkForDCSStatus(*dcsStatus);
162 accepted = checkForDCSRecord(*
dcsRecord);
169 <<
"Error! can't get the product, neither DCSRecord, nor scalersRawToDigi: accept in any case!";
183 desc.addUntracked<
bool>(
"DebugOn",
false);
184 desc.add<
bool>(
"AndOr",
true);
185 desc.add<
bool>(
"ApplyFilter",
true);
186 desc.add<std::vector<std::string>>(
"DetectorType", {});
187 descriptions.
add(
"detStatus",
desc);