|
void | analyze (edm::StreamID, edm::Event const &, edm::EventSetup const &) const override |
|
std::unique_ptr
< HLTriggerJSONMonitoringData::stream > | beginStream (edm::StreamID) const override |
|
std::shared_ptr
< HLTriggerJSONMonitoringData::lumisection > | globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &) const override |
|
std::shared_ptr
< HLTriggerJSONMonitoringData::run > | globalBeginRun (edm::Run const &, edm::EventSetup const &) const override |
|
void | globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, HLTriggerJSONMonitoringData::lumisection *) const override |
|
void | globalEndRun (edm::Run const &, edm::EventSetup const &) const override |
|
| HLTriggerJSONMonitoring (const edm::ParameterSet &) |
|
void | streamBeginLuminosityBlock (edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &) const override |
|
void | streamEndLuminosityBlockSummary (edm::StreamID, edm::LuminosityBlock const &, edm::EventSetup const &, HLTriggerJSONMonitoringData::lumisection *) const override |
|
| ~HLTriggerJSONMonitoring () override=default |
|
| EDAnalyzer ()=default |
|
| EDAnalyzer (const EDAnalyzer &)=delete |
|
const EDAnalyzer & | operator= (const EDAnalyzer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
bool | wantsStreamLuminosityBlocks () const final |
|
bool | wantsStreamRuns () const final |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
| EDAnalyzerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDAnalyzerBase () override |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex >
const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector
< ProductResolverIndexAndSkipBit >
const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
void | selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase) |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef EDAnalyzerBase | ModuleType |
|
typedef ProductLabels | Labels |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
void | resetItemsToGetFrom (BranchType iType) |
|
Description: This class outputs JSON files with HLT monitoring information.
Definition at line 70 of file HLTriggerJSONMonitoring.cc.
Implements edm::global::EDAnalyzerBase.
Definition at line 227 of file HLTriggerJSONMonitoring.cc.
References edm::HLTGlobalStatus::accept(), cms::cuda::assert(), edm::HLTGlobalStatus::at(), edm::InputTag::encode(), edm::Event::getByToken(), edm::Event::getRun(), patZpeak::handle, mps_fire::i, edm::Run::index(), edm::HandleBase::isValid(), or, fed_dqm_sourceclient-live_cfg::path, bookConverter::results, edm::HLTGlobalStatus::size(), mps_update::status, cms::cuda::stream, triggerResults_, and triggerResultsToken_.
228 auto&
stream = *streamCache(sid);
229 auto const& rundata = *runCache(
event.getRun().index());
234 if (not rundata.hltConfig.inited())
248 for (
unsigned int i = 0;
i < results.
size(); ++
i) {
258 if (index > rundata.posL1s[
i])
260 if (index > rundata.posPre[
i])
272 for (
unsigned int i = 0;
i < rundata.datasets.size(); ++
i)
273 if (std::any_of(rundata.datasets[
i].begin(), rundata.datasets[
i].end(), [&](
unsigned int path) {
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::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
bool accept() const
Has at least one path accepted the event?
Log< level::Error, false > LogError
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t stream
const edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken_
unsigned int size() const
Get number of paths stored.
const HLTPathStatus & at(const unsigned int i) const
const edm::InputTag triggerResults_
Definition at line 153 of file HLTriggerJSONMonitoring.cc.
References writedatasetfile::dataset, makeLayoutFileForGui::datasetNames, contentValuesFiles::datasets, mps_fire::i, edm::Service< T >::isAvailable(), dqmiolumiharvest::j, label, evf::MergeTypeJSNDATA, AlCaHLTBitMon_ParallelJobs::p, mergeAndRegister::paths, edm::InputTag::process(), edm::RunBase::run(), streamName_, AlCaHLTBitMon_QueryRunRegistry::string, L1TMuonDQMOffline_cfi::triggerNames, triggerResults_, writeIniFile(), and writeJsdFile().
155 auto rundata = std::make_shared<HLTriggerJSONMonitoringData::run>();
160 rundata->streamMergeType =
164 rundata->streamDestination =
"";
165 rundata->streamMergeType =
"";
166 rundata->baseRunDir =
".";
172 edm::LogError(
"HLTriggerJSONMonitoring") <<
"HLTConfigProvider initialization failed!" << std::endl;
173 }
else if (changed) {
175 auto const&
triggerNames = rundata->hltConfig.triggerNames();
176 auto const&
datasetNames = rundata->hltConfig.datasetNames();
177 auto const&
datasets = rundata->hltConfig.datasetContents();
183 rundata->datasets.resize(datasetsSize);
184 for (
unsigned int ds = 0; ds < datasetsSize; ++ds) {
185 auto&
dataset = rundata->datasets[ds];
188 for (
unsigned int p = 0;
p <
paths;
p++) {
189 unsigned int index = rundata->hltConfig.triggerIndex(
datasets[ds][
p]);
190 if (index < triggersSize)
196 rundata->posL1s.resize(triggersSize);
197 rundata->posPre.resize(triggersSize);
198 for (
unsigned int i = 0;
i < triggersSize; ++
i) {
199 rundata->posL1s[
i] = -1;
200 rundata->posPre[
i] = -1;
201 std::vector<std::string>
const& moduleLabels = rundata->hltConfig.moduleLabels(
i);
202 for (
unsigned int j = 0;
j < moduleLabels.size(); ++
j) {
204 if (label ==
"HLTL1TSeed")
205 rundata->posL1s[
i] =
j;
206 else if (label ==
"HLTPrescaler")
207 rundata->posPre[
i] =
j;
213 rundata->jsdFileName = fmt::sprintf(
"run%06d_ls0000_streamHLTRates_pid%05d.jsd",
run.run(), getpid());
static constexpr const char * streamName_
static void writeIniFile(HLTriggerJSONMonitoringData::run const &, unsigned int)
Log< level::Error, false > LogError
static void writeJsdFile(HLTriggerJSONMonitoringData::run const &)
const edm::InputTag triggerResults_
Definition at line 375 of file HLTriggerJSONMonitoring.cc.
References cms::Adler32(), Json::Value::append(), jsoncollector::DataPoint::DATA, HLTriggerJSONMonitoringData::lumisection::datasets, jsoncollector::DataPoint::DEFINITION, edm::LuminosityBlock::getRun(), HLTriggerJSONMonitoringData::lumisection::hltAccept, HLTriggerJSONMonitoringData::lumisection::hltErrors, HLTriggerJSONMonitoringData::lumisection::hltL1s, HLTriggerJSONMonitoringData::lumisection::hltPre, HLTriggerJSONMonitoringData::lumisection::hltReject, HLTriggerJSONMonitoringData::lumisection::hltWasRun, edm::Run::index(), eostools::ls(), edm::LuminosityBlockBase::luminosityBlock(), HLTriggerJSONMonitoringData::lumisection::processed, mps_fire::result, edm::LuminosityBlockBase::run(), submitPVValidationJobs::run, evf::FastMonitoringService::shouldWriteFiles(), jsoncollector::DataPoint::SOURCE, AlCaHLTBitMon_QueryRunRegistry::string, jsoncollector::HistoJ< T >::toJsonValue(), and jsoncollector::HistoJ< T >::value().
378 unsigned int ls =
lumi.luminosityBlock();
381 bool writeFiles =
true;
392 auto const& rundata = *runCache(
lumi.getRun().index());
397 gethostname(hostname, 32);
401 std::stringstream sOutDef;
402 sOutDef << rundata.baseRunDir <<
"/"
403 <<
"output_" << getpid() <<
".jsd";
406 unsigned int jsndataSize = 0;
407 unsigned int jsndataAdler32 = 1;
423 auto jsndataFileName = fmt::sprintf(
"run%06d_ls%04d_streamHLTRates_pid%05d.jsndata", run, ls, getpid());
426 std::ofstream jsndataFile(rundata.baseRunDir +
"/" + jsndataFileName);
430 jsndataFileList = jsndataFileName;
431 jsndataSize = result.size();
432 jsndataAdler32 =
cms::Adler32(result.c_str(), result.size());
436 unsigned int jsnProcessed = processed;
437 unsigned int jsnAccepted = processed;
438 unsigned int jsnErrorEvents = 0;
439 unsigned int jsnRetCodeMask = 0;
441 unsigned int jsnHLTErrorEvents = 0;
458 auto jsnFileName = fmt::sprintf(
"run%06d_ls%04d_streamHLTRates_pid%05d.jsn", run, ls, getpid());
459 std::ofstream jsnFile(rundata.baseRunDir +
"/" + jsnFileName);
460 jsnFile << writer.write(jsn);
static const std::string SOURCE
Value & append(const Value &value)
Append value to array at the end.
jsoncollector::HistoJ< unsigned int > hltReject
virtual Json::Value toJsonValue() const
jsoncollector::HistoJ< unsigned int > hltErrors
std::vector< T > & value()
static const std::string DATA
jsoncollector::HistoJ< unsigned int > hltPre
void Adler32(char const *data, size_t len, uint32_t &a, uint32_t &b)
jsoncollector::HistoJ< unsigned int > hltWasRun
jsoncollector::HistoJ< unsigned int > hltL1s
jsoncollector::HistoJ< unsigned int > processed
Writes a Value in JSON format in a human friendly way.
bool shouldWriteFiles(unsigned int lumi, unsigned int *proc=nullptr)
static const std::string DEFINITION
jsoncollector::HistoJ< unsigned int > datasets
jsoncollector::HistoJ< unsigned int > hltAccept