26 minEventsPerLs_(
pset.getUntrackedParameter<
int>(
"minEventsPerLumi")),
27 flagSkipFirstLumis_(
pset.getUntrackedParameter<
bool>(
"skipFirstLumis")),
28 flagEndOfRunKills_(
pset.getUntrackedParameter<
bool>(
"endOfRunKills")),
29 flagDeleteDatFiles_(
pset.getUntrackedParameter<
bool>(
"deleteDatFiles")),
31 unitTest_(
pset.getUntrackedParameter<
bool>(
"unitTest",
false)) {
114 std::vector<std::string> tnames;
115 header->hltTriggerNames(tnames);
128 unlink(
path.c_str());
166 if (std::filesystem::exists(
p)) {
173 <<
std::string(
"Can't deserialize registry data (in open file): ") +
e.what()
174 <<
"\n error: data file corrupted";
197 <<
"received wrong message type: expected INIT, got " <<
header->code() <<
"\n";
306 if (eview ==
nullptr) {
323 if (eview ==
nullptr) {
347 if (eview ==
nullptr) {
402 edm::LogWarning(
"DQMStreamerReader") <<
"Trigger selection does not match any trigger path!!!";
417 std::vector<unsigned char> hltTriggerBits_;
418 int hltTriggerCount_ = evtmsg->
hltCount();
419 if (hltTriggerCount_ > 0) {
420 hltTriggerBits_.resize(1 + (hltTriggerCount_ - 1) / 4);
429 for (
int i = 0;
i != toSkip; ++
i) {
432 if (evMsg ==
nullptr) {
445 desc.setComment(
"Reads events from streamer files.");
447 desc.addUntracked<std::vector<std::string>>(
"SelectEvents")->setComment(
"HLT path to select events");
449 desc.addUntracked<
int>(
"minEventsPerLumi", 1)
451 "Minimum number of events to process per lumisection, " 452 "before switching to a new input file. If the next file " 453 "does not yet exist, " 454 "the number of processed events will be bigger.");
456 desc.addUntracked<
bool>(
"skipFirstLumis",
false)
458 "Skip (and ignore the minEventsPerLumi parameter) for the files " 459 "which have been available at the begining of the processing. " 460 "If set to true, the reader will open last available file for " 463 desc.addUntracked<
bool>(
"deleteDatFiles",
false)
465 "Delete data files after they have been closed, in order to " 468 desc.addUntracked<
bool>(
"endOfRunKills",
false)
470 "Kill the processing as soon as the end-of-run file appears, even if " 471 "there are/will be unprocessed lumisections.");
473 desc.addUntracked<
bool>(
"unitTest",
false)
474 ->setComment(
"Kill the processing if the input data cannot be deserialized");
482 desc.addUntracked<
bool>(
"inputFileTransitionsEachEvent",
false);
488 descriptions.
add(
"source",
desc);
DQMFileIterator::LumiEntry lumi_
unsigned int const minEventsPerLs_
bool const flagEndOfRunKills_
unsigned int lastLumiFound()
std::vector< std::string > const hltSel_
void logLumiState(const LumiEntry &lumi, const std::string &msg)
bool acceptEvent(const edm::streamer::EventMsgView *)
volatile std::atomic< bool > shutdown_flag
void genuineCloseFile() override
edm::streamer::InitMsgView const * getHeaderMsg()
bool isEventMetaData() const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
dqmservices::DQMStreamerReader DQMStreamerReader
std::shared_ptr< TriggerSelector > triggerSelector_
void hltTriggerBits(uint8 *put_here) const
bool setMatchTriggerSel(std::vector< std::string > const &tnames)
edm::streamer::EventMsgView const * getEventMsg()
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
void genuineReadFile() override
void setupMetaData(edm::streamer::InitMsgView const &msg, bool subsequent)
unsigned int processedEventPerLs_
std::string get_data_path() const
void openFileImp_(const DQMFileIterator::LumiEntry &entry)
DQMStreamerReader(edm::ParameterSet const &pset, edm::InputSourceDescription const &desc)
bool artificialFileBoundary_
bool const flagSkipFirstLumis_
void logFileAction(const std::string &msg, const std::string &fileName="") const
DQMFileIterator fiterator_
edm::streamer::EventMsgView const * prepareNextEvent()
std::unique_ptr< edm::streamer::StreamerInputFile > streamFile_
~DQMStreamerReader() override
bool const flagDeleteDatFiles_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< std::vector< std::string >::const_iterator > regexMatch(std::vector< std::string > const &strings, std::regex const ®exp)
static void fillDescription(ParameterSetDescription &desc)
void closeFileImp_(const std::string &reason)
Next checkNext() override
Log< level::Warning, false > LogWarning
void advanceToLumi(unsigned int lumi, std::string reason)
static void fillDescription(edm::ParameterSetDescription &d)
struct dqmservices::DQMStreamerReader::OpenFile file_
void skip(int toSkip) override