|
void | analyze (edm::StreamID, edm::Event const &, edm::EventSetup const &) const override |
|
std::unique_ptr< L1TriggerJSONMonitoringData::stream > | beginStream (edm::StreamID) const override |
|
std::shared_ptr< L1TriggerJSONMonitoringData::lumisection > | globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &) const override |
|
std::shared_ptr< L1TriggerJSONMonitoringData::run > | globalBeginRun (edm::Run const &, edm::EventSetup const &) const override |
|
void | globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, L1TriggerJSONMonitoringData::lumisection *) const override |
|
void | globalEndRun (edm::Run const &, edm::EventSetup const &) const override |
|
| L1TriggerJSONMonitoring (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 &, L1TriggerJSONMonitoringData::lumisection *) const override |
|
| ~L1TriggerJSONMonitoring () override=default |
|
| EDAnalyzer ()=default |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () 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 &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
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 |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (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) |
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
Description: This class outputs JSON files with TCDS and L1T monitoring information.
Definition at line 71 of file L1TriggerJSONMonitoring.cc.
Implements edm::global::EDAnalyzerBase.
Definition at line 221 of file L1TriggerJSONMonitoring.cc.
222 auto&
stream = *streamCache(sid);
225 unsigned int eventType =
event.experimentType();
243 auto const& decision =
results.getAlgoDecisionFinal();
247 for (
unsigned int i = 0;
i < decision.size(); ++
i) {
255 ++
stream.l1tAcceptCalibration[
i];
267 int prescaleIndex =
results.getPreScColumn();
269 stream.prescaleIndex = prescaleIndex;
272 }
else if (
stream.prescaleIndex != prescaleIndex) {
273 edm::LogWarning(
"L1TriggerJSONMonitoring") <<
"Prescale index changed from " <<
stream.prescaleIndex <<
" to "
274 << prescaleIndex <<
" inside lumisection " <<
event.luminosityBlock();
References cms::cuda::assert(), edm::EventAuxiliary::CalibrationTrigger, edm::InputTag::encode(), hcalcalib_dqm_sourceclient-live_cfg::eventType, patZpeak::handle, mps_fire::i, L1TriggerJSONMonitoringData::kPrescaleConflict, L1TriggerJSONMonitoringData::kPrescaleUndefined, level1Results_, level1ResultsToken_, GlobalAlgBlk::maxPhysicsTriggers, or, edm::EventAuxiliary::PhysicsTrigger, edm::EventAuxiliary::RandomTrigger, bookConverter::results, cms::cuda::stream, and tcdsTriggerTypes_.
Definition at line 350 of file L1TriggerJSONMonitoring.cc.
353 unsigned int ls =
lumi.luminosityBlock();
356 bool writeFiles =
true;
367 auto const& rundata = *runCache(
lumi.getRun().index());
372 gethostname(hostname, 32);
376 std::stringstream sOutDef;
377 sOutDef << rundata.baseRunDir <<
"/"
378 <<
"output_" << getpid() <<
".jsd";
381 unsigned int jsndataSize = 0;
382 unsigned int jsndataAdler32 = 1;
406 auto jsndataFileName =
boost::format(
"run%06d_ls%04d_streamL1Rates_pid%05d.jsndata") %
run %
ls % getpid();
409 std::ofstream jsndataFile(rundata.baseRunDir +
"/" + jsndataFileName.str());
413 jsndataFileList = jsndataFileName.str();
414 jsndataSize =
result.size();
419 unsigned int jsnProcessed = processed;
420 unsigned int jsnAccepted = processed;
421 unsigned int jsnErrorEvents = 0;
422 unsigned int jsnRetCodeMask = 0;
424 unsigned int jsnHLTErrorEvents = 0;
441 auto jsnFileName =
boost::format(
"run%06d_ls%04d_streamL1Rates_pid%05d.jsn") %
run %
ls % getpid();
442 std::ofstream jsnFile(rundata.baseRunDir +
"/" + jsnFileName.str());
443 jsnFile <<
writer.write(jsn);
References cms::Adler32(), Json::Value::append(), edm::EventAuxiliary::CalibrationTrigger, jsoncollector::DataPoint::DATA, jsoncollector::DataPoint::DEFINITION, dqm-mbProfile::format, L1TriggerJSONMonitoringData::lumisection::l1tAccept, L1TriggerJSONMonitoringData::lumisection::l1tAcceptCalibration, L1TriggerJSONMonitoringData::lumisection::l1tAcceptPhysics, L1TriggerJSONMonitoringData::lumisection::l1tAcceptRandom, eostools::ls(), edm::EventAuxiliary::PhysicsTrigger, L1TriggerJSONMonitoringData::lumisection::prescaleIndex, L1TriggerJSONMonitoringData::lumisection::processed, edm::EventAuxiliary::RandomTrigger, mps_fire::result, writedatasetfile::run, evf::FastMonitoringService::shouldWriteFiles(), jsoncollector::DataPoint::SOURCE, AlCaHLTBitMon_QueryRunRegistry::string, L1TriggerJSONMonitoringData::lumisection::tcdsAccept, jsoncollector::HistoJ< T >::toJsonValue(), jsoncollector::HistoJ< T >::update(), jsoncollector::HistoJ< T >::value(), and cscNeutronWriter_cfi::writer.