|
| L1TSync (const edm::ParameterSet &ps) |
|
| ~L1TSync () override |
|
void | accumulate (edm::Event const &event, edm::EventSetup const &setup) override |
|
void | beginRun (edm::Run const &run, edm::EventSetup const &setup) final |
|
| DQMOneEDAnalyzer () |
|
void | endRun (edm::Run const &, edm::EventSetup const &) final |
|
void | endRunProduce (edm::Run &run, edm::EventSetup const &setup) final |
|
virtual bool | getCanSaveByLumi () |
|
| EDProducer ()=default |
|
| EDProducer (const EDProducer &)=delete |
|
SerialTaskQueue * | globalLuminosityBlocksQueue () final |
|
SerialTaskQueue * | globalRunsQueue () final |
|
bool | hasAbilityToProduceInBeginLumis () const final |
|
bool | hasAbilityToProduceInBeginProcessBlocks () const final |
|
bool | hasAbilityToProduceInBeginRuns () const final |
|
bool | hasAbilityToProduceInEndLumis () const final |
|
bool | hasAbilityToProduceInEndProcessBlocks () const final |
|
bool | hasAbilityToProduceInEndRuns () const final |
|
const EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
bool | wantsStreamLuminosityBlocks () const |
|
bool | wantsStreamRuns () const |
|
| ~EDProducerBase () override |
|
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
|
std::vector< edm::ProductResolverIndex > const & | indiciesForPutProducts (BranchType iBranchType) const |
|
| ProducerBase () |
|
std::vector< edm::ProductResolverIndex > const & | putTokenIndexToProductResolverIndex () const |
|
std::vector< bool > const & | recordProvenanceList () const |
|
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
|
std::function< void(BranchDescription const &)> | registrationCallback () const |
| used by the fwk to register list of products More...
|
|
void | resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel) |
|
TypeLabelList const & | typeLabelList () const |
| used by the fwk to register the list of products of this module More...
|
|
| ~ProducerBase () noexcept(false) 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) |
|
|
void | analyze (const edm::Event &e, const edm::EventSetup &c) override |
|
void | beginLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c) override |
|
void | bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override |
|
void | dqmBeginRun (edm::Run const &, edm::EventSetup const &) override |
| BeginRun. More...
|
|
void | endLuminosityBlock (edm::LuminosityBlock const &lumiBlock, edm::EventSetup const &c) override |
|
virtual void | dqmEndRun (edm::Run const &, edm::EventSetup const &) |
|
template<Transition Tr = Transition::Event> |
auto | produces (std::string instanceName) noexcept |
| declare what type of product will make and with which optional label More...
|
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<Transition Tr = Transition::Event> |
auto | produces () noexcept |
|
ProducesCollector | producesCollector () |
|
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 () |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) |
|
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) |
|
Definition at line 44 of file L1TSync.h.
Reimplemented from DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.
Definition at line 480 of file L1TSync.cc.
References a, funct::abs(), BeamConfiguration::beam1, BeamConfiguration::beam2, L1GtfeExtWord::beamMode(), BeamConfiguration::bxConfig(), gather_cfg::cout, ERROR_UNABLE_RETRIVE_PRODUCT, getBeamConfOMDS(), dqm::impl::MonitorElement::getTH1(), L1GlobalTriggerReadoutRecord::gtFdlVector(), L1GlobalTriggerEvmReadoutRecord::gtfeWord(), mps_fire::i, iEvent, BeamConfiguration::isValid(), edm::HandleBase::isValid(), L1GtfeExtWord::lhcFillNumber(), m_algoBit, m_algoVsBunchStructure, m_beamConfig, m_currentLS, m_currentLSValid, m_ErrorMonitor, m_l1GtDataDaqInputTag, m_l1GtEvmSource, m_lhcFill, m_selectedTriggers, m_verbose, and STABLE.
482 cout <<
"[L1TSync] Called analyze." << endl;
496 if (gtEvmReadoutRecord.
isValid()) {
498 unsigned int lhcBeamMode = gtfeEvmWord.
beamMode();
505 if (lhcBeamMode !=
STABLE) {
528 if (gtReadoutRecordData.
isValid()) {
529 const vector<L1GtFdlWord>& gtFdlVectorData = gtReadoutRecordData->
gtFdlVector();
533 string tTrigger = (*i).second;
536 if (tTrigger !=
"Undefined" && tTrigger !=
"Undefined (Wrong Name)") {
537 bool beamSingleConfig =
false;
538 bool firedAlgo =
false;
542 for (
unsigned int a = 0;
a < gtFdlVectorData.size();
a++) {
544 if (gtFdlVectorData[
a].bxInEvent() == 0) {
545 eventBx = gtFdlVectorData[
a].localBxNr();
546 if (gtFdlVectorData[
a].gtDecisionWord()[
m_algoBit[tTrigger]]) {
554 beamSingleConfig =
true;
557 beamSingleConfig =
true;
564 if (firedAlgo && !beamSingleConfig) {
565 int DifAlgoVsBunchStructure = 9999;
567 for (
unsigned int a = 0;
a < gtFdlVectorData.size();
a++) {
568 int bxFDL = gtFdlVectorData[
a].localBxNr();
569 int bxInEvent = gtFdlVectorData[
a].bxInEvent();
572 DifAlgoVsBunchStructure = -1 * bxInEvent;
const cms_uint16_t beamMode() const
std::map< TString, int > m_algoBit
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
BeamConfiguration m_beamConfig
std::map< TString, MonitorElement * > m_algoVsBunchStructure
const std::vector< L1GtFdlWord > gtFdlVector() const
get the vector of L1GtFdlWord
const cms_uint32_t lhcFillNumber() const
Abs< T >::type abs(const T &t)
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_l1GtDataDaqInputTag
std::vector< bool > beam2
MonitorElement * m_ErrorMonitor
edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > m_l1GtEvmSource
std::vector< bool > beam1
std::map< std::string, std::string > m_selectedTriggers
Implements DQMOneEDAnalyzer< edm::one::WatchLuminosityBlocks >.
Definition at line 311 of file L1TSync.cc.
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), ERROR_LSBLOCK_NOTVALID, ERROR_TRIGGERALIAS_NOTVALID, ERROR_UNABLE_RETRIVE_PRODUCT, edm::EventSetup::getData(), L1TMenuHelper::getLUSOTrigger(), mps_fire::i, m_algoAutoSelect, m_algoBit, m_algoCertification, m_algoVsBunchStructure, m_certFirstLS, m_certLastLS, m_currentLS, m_ErrorMonitor, m_helperTokens, m_l1GtUtils, m_lhcFill, m_menuToken, m_refPrescaleSet, m_selectedTriggers, optionsL1T::menu, L1GtUtils::retrieveL1EventSetup(), dqm::impl::MonitorElement::setBinLabel(), dqm::implementation::NavigatorBase::setCurrentFolder(), L1TMenuHelper::testAlgos(), UNKNOWN, WARNING_DB_CONN_FAILED, WARNING_DB_INCORRECT_NBUNCHES, and WARNING_DB_QUERY_FAILED.
325 for (
const auto&
algo :
menu.gtAlgorithmAliasMap()) {
353 "WARNING_DB_INCORRECT_NBUNCHES");
360 string tCategory = (*i).first;
361 string tTrigger = (*i).second;
370 tCategory,
"min #Delta(" + tTrigger +
",Bunch)", maxNbins, -0.5,
double(maxNbins) - 0.5, 5, -2.5, 2.5);
375 ibooker.
book1D(tCategory,
"fraction of in sync: " + tTrigger, maxNbins, -0.5,
double(maxNbins) - 0.5);
void retrieveL1EventSetup(const edm::EventSetup &, bool isRun=true)
retrieve all the relevant L1 trigger event setup records and cache them to improve the speed ...
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
std::map< TString, int > m_algoBit
virtual void setCurrentFolder(std::string const &fullpath)
L1TMenuHelper::Tokens m_helperTokens
std::map< TString, MonitorElement * > m_algoVsBunchStructure
std::map< TString, unsigned int > m_certFirstLS
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::map< std::string, bool > m_algoAutoSelect
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
std::map< TString, MonitorElement * > m_algoCertification
std::map< TString, unsigned int > m_certLastLS
MonitorElement * m_ErrorMonitor
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
std::map< std::string, std::string > m_selectedTriggers
const edm::ESGetToken< L1GtTriggerMenu, L1GtTriggerMenuRcd > m_menuToken
void L1TSync::doFractionInSync |
( |
bool |
iForce = false , |
|
|
bool |
iBad = false |
|
) |
| |
|
private |
Definition at line 673 of file L1TSync.cc.
References a, certifyLSBlock(), gather_cfg::cout, ERROR_LSBLOCK_NOTVALID, ERROR_TRIGGERALIAS_NOTVALID, hcaldqm::quantity::fLS, HLT_2023v12_cff::fraction, edm::ParameterSet::getParameter(), dqm::impl::MonitorElement::getTH1(), mps_fire::i, eostools::ls(), m_algoVsBunchStructure, m_certFirstLS, m_certLastLS, m_ErrorMonitor, m_parameters, m_selectedTriggers, and m_verbose.
Referenced by beginLuminosityBlock(), and endLuminosityBlock().
675 string theCategory = (*i).first;
676 string theTriggerAlias = (*i).second;
683 bool triggerAlias_isValid = theTriggerAlias !=
"Undefined" && theTriggerAlias !=
"Undefined (Wrong Name)";
684 bool lsBlock_exists = !(
fLS == 0 && lLS == 0);
685 bool lsBlock_isValid = fLS <= lLS && fLS > 0 && lLS > 0;
687 if (triggerAlias_isValid && lsBlock_exists && lsBlock_isValid) {
689 if (iForce && iBad) {
698 double CountSync = 0;
702 for (
unsigned int ls =
fLS;
ls <= lLS;
ls++) {
704 for (
int a = 1;
a < 6;
a++) {
710 cout <<
"Alias = " << theTriggerAlias <<
" InitLS=" <<
fLS <<
" EndLS=" << lLS <<
" Events=" << CountAll;
717 cout <<
" <--------------- Enough Statistics: ";
746 if (!triggerAlias_isValid) {
756 if (lsBlock_exists && !lsBlock_isValid) {
T getParameter(std::string const &) const
std::map< TString, MonitorElement * > m_algoVsBunchStructure
void certifyLSBlock(std::string iTrigger, int iInitLs, int iEndLs, float iValue)
std::map< TString, unsigned int > m_certFirstLS
edm::ParameterSet m_parameters
std::map< TString, unsigned int > m_certLastLS
MonitorElement * m_ErrorMonitor
std::map< std::string, std::string > m_selectedTriggers