CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | Static Private Attributes
L1TGlobalPrescaler Class Reference
Inheritance diagram for L1TGlobalPrescaler:
edm::one::EDFilter<> edm::one::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

bool filter (edm::Event &event, edm::EventSetup const &setup) override
 
 L1TGlobalPrescaler (edm::ParameterSet const &config)
 
- Public Member Functions inherited from edm::one::EDFilter<>
 EDFilter ()=default
 
 EDFilter (const EDFilter &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () 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 EDFilteroperator= (const EDFilter &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDFilterBase () override
 
- Public Member Functions inherited from edm::ProducerBase
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
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () 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
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

enum  Mode {
  Mode::ApplyPrescaleValues, Mode::ApplyPrescaleRatios, Mode::ApplyColumnValues, Mode::ApplyColumnRatios,
  Mode::ForcePrescaleValues, Mode::ForceColumnValues, Mode::Invalid = -1
}
 

Private Attributes

std::array< unsigned int, GlobalAlgBlk::maxPhysicsTriggersm_counters
 
edm::ESGetToken< L1TGlobalPrescalesVetos, L1TGlobalPrescalesVetosRcdm_l1tGtPrescalesVetosToken
 
const int m_l1tPrescaleColumn
 
const std::array< double, GlobalAlgBlk::maxPhysicsTriggersm_l1tPrescales
 
const edm::EDGetTokenT< GlobalAlgBlkBxCollectionm_l1tResultsToken
 
const Mode m_mode
 
int m_oldIndex
 
std::array< double, GlobalAlgBlk::maxPhysicsTriggersm_prescales
 

Static Private Attributes

static const constexpr Entry< Modes_modes []
 

Additional Inherited Members

- Public Types inherited from edm::one::EDFilterBase
typedef EDFilterBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
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)
 
template<Transition B>
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 (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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...
 
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)
 

Detailed Description

Definition at line 125 of file L1TGlobalPrescaler.cc.

Member Enumeration Documentation

◆ Mode

enum L1TGlobalPrescaler::Mode
strongprivate
Enumerator
ApplyPrescaleValues 
ApplyPrescaleRatios 
ApplyColumnValues 
ApplyColumnRatios 
ForcePrescaleValues 
ForceColumnValues 
Invalid 

Definition at line 134 of file L1TGlobalPrescaler.cc.

134  {
135  ApplyPrescaleValues, // apply the given prescale values
136  ApplyPrescaleRatios, // apply prescales equal to ratio between the given values and the ones read from the EventSetup
137  ApplyColumnValues, // apply the prescale values from the EventSetup corresponding to the given column index
138  ApplyColumnRatios, // apply prescales equal to ratio between the values corresponsing to the given column index, and the ones read from the EventSetup
139  ForcePrescaleValues, // apply the given prescale values, ignoring the prescales and masks already applied
140  ForceColumnValues, // apply the prescale values from the EventSetup corresponding to the given column index, ignoring the prescales and masks already applied
141  Invalid = -1
142  };

Constructor & Destructor Documentation

◆ L1TGlobalPrescaler()

L1TGlobalPrescaler::L1TGlobalPrescaler ( edm::ParameterSet const &  config)

Definition at line 177 of file L1TGlobalPrescaler.cc.

178  : m_mode(get_enum_value(s_modes, config.getParameter<std::string>("mode").c_str(), Mode::Invalid)),
179  m_l1tResultsToken(consumes<GlobalAlgBlkBxCollection>(config.getParameter<edm::InputTag>("l1tResults"))),
182  ? getParameterArray<double, GlobalAlgBlk::maxPhysicsTriggers>(config, "l1tPrescales")
183  : std::array<double, GlobalAlgBlk::maxPhysicsTriggers>()),
186  ? config.getParameter<uint32_t>("l1tPrescaleColumn")
187  : 0),
188  m_oldIndex(-1) {
189  switch (m_mode) {
190  // if the mode is "applyPrescaleValues", use the given values
194  break;
195 
196  // otherwise we need to read the prescale values from the EventSetup
201  m_l1tGtPrescalesVetosToken = esConsumes<L1TGlobalPrescalesVetos, L1TGlobalPrescalesVetosRcd>();
202  break;
203 
204  // this should never happen
205  case Mode::Invalid:
207  << "invalid mode \"" << config.getParameter<std::string>("mode") << "\"";
208  }
209 
210  m_counters.fill(0);
211  produces<GlobalAlgBlkBxCollection>();
212 }

References ApplyColumnRatios, ApplyColumnValues, ApplyPrescaleRatios, ApplyPrescaleValues, edm::errors::Configuration, Exception, ForceColumnValues, ForcePrescaleValues, Invalid, m_counters, m_l1tGtPrescalesVetosToken, m_l1tPrescales, m_mode, m_prescales, and AlCaHLTBitMon_QueryRunRegistry::string.

Member Function Documentation

◆ fillDescriptions()

void L1TGlobalPrescaler::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 370 of file L1TGlobalPrescaler.cc.

370  {
371  // collection with the original uGT results
372  edm::ParameterDescription<edm::InputTag> l1tResults("l1tResults", edm::InputTag("gtStage2Digis"), true);
373  l1tResults.setComment("Collection with the original uGT results");
374 
375  // define how to apply the prescale values
376  edm::ParameterDescription<std::string> mode("mode", "applyPrescaleValues", true);
377  mode.setComment(build_comment_from_entries("Define how to apply the prescale values:", s_modes));
378 
379  // target prescale values (for modes "applyPrescaleValues" or "applyPrescaleRatios")
381  "l1tPrescales", std::vector<double>(GlobalAlgBlk::maxPhysicsTriggers, 1.), true);
382  l1tPrescales.setComment(
383  "Target prescale values (for modes \"applyPrescaleValues\", \"applyPrescaleRatios\" or \"forcePrescaleValues\")");
384 
385  // target prescale column (for modes "applyColumnValues" or "applyColumnRatios")
386  edm::ParameterDescription<uint32_t> l1tPrescaleColumn("l1tPrescaleColumn", 0, true);
387  l1tPrescaleColumn.setComment(
388  "Target prescale column (for modes \"applyColumnValues\", \"applyColumnRatios\" or \"forceColumnValues\")");
389 
390  // validaton of all possible configurations and applyPrescaleValues example
391  {
393  desc.addNode(l1tResults);
394  desc.ifValue(
395  mode,
396  // if mode is "applyPrescaleValues", "applyPrescaleRatios" or "forcePrescaleValues", read the target prescales
397  "applyPrescaleValues" >> l1tPrescales or "applyPrescaleRatios" >> l1tPrescales or
398  "forcePrescaleValues" >> l1tPrescales or
399  // if mode is "applyColumnValues", "applyColumnRatios" or "forceColumnValues", read the target column
400  "applyColumnValues" >> l1tPrescaleColumn or "applyColumnRatios" >> l1tPrescaleColumn or
401  "forceColumnValues" >> l1tPrescaleColumn);
402  descriptions.add("l1tGlobalPrescaler", desc);
403  }
404 
405  // applyColumnRatios example
406  {
408  desc.addNode(l1tResults);
409  desc.add<std::string>("mode", "applyColumnRatios")
410  ->setComment(
411  "apply prescales equal to ratio between the values corresponsing to the given column index, and the ones "
412  "read from the EventSetup");
413  desc.addNode(l1tPrescaleColumn);
414  descriptions.add("l1tGlobalPrescalerTargetColumn", desc);
415  }
416 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, PDWG_DiJetAODSkim_cff::l1tResults, GlobalAlgBlk::maxPhysicsTriggers, ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, or, s_modes, edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ filter()

bool L1TGlobalPrescaler::filter ( edm::Event event,
edm::EventSetup const &  setup 
)
overridevirtual

Implements edm::one::EDFilterBase.

Definition at line 214 of file L1TGlobalPrescaler.cc.

214  {
216  event.getByToken(m_l1tResultsToken, handle);
217 
218  // if the input collection does not have any information for bx 0,
219  // produce an empty collection, and fail
220  if (handle->isEmpty(0)) {
221  std::unique_ptr<GlobalAlgBlkBxCollection> result(new GlobalAlgBlkBxCollection());
222  event.put(std::move(result));
223  return false;
224  }
225 
226  // read the prescale index
227  int index = handle->at(0, 0).getPreScColumn();
228  assert(index >= 0);
229 
230  // Mode::ApplyPrescaleRatios
231  // apply prescales equal to ratio between the given values and the ones read from the EventSetup
235  auto const& prescaleTable = h->prescale_table_;
236  if (index >= (int)prescaleTable.size())
238  << fmt::sprintf("The prescale index %d is invalid, it should be smaller than the prescale table size %d.",
239  index,
240  prescaleTable.size());
241  auto const& prescales = prescaleTable[index];
242  unsigned long i = 0;
243  for (; i < std::min(prescales.size(), (unsigned long)GlobalAlgBlk::maxPhysicsTriggers); ++i)
244  if (m_l1tPrescales[i] == 0) {
245  // if the trigger is requested to be disabled, just do it
246  m_prescales[i] = 0.;
247  } else if (prescales[i] == 0) {
248  // othersie, if the trigger was originally disabled, warn the user and keep it that way
249  m_prescales[i] = 0.;
250  edm::LogWarning("L1TGlobalPrescaler")
251  << "Request to enable the trigger " << i << " which was originally disabled\nIt will be kept disabled.";
252  } else if (m_l1tPrescales[i] < prescales[i]) {
253  // if the target prescale is lower than the original prescale, keep the trigger unprescaled
254  m_prescales[i] = 1.;
255  edm::LogWarning("L1TGlobalPrescaler")
256  << "Request to prescale the trigger " << i
257  << " less than it was originally prescaled\nNo further prescale will be applied.";
258  } else {
259  // apply the ratio of the new and old prescales
260  m_prescales[i] = (double)m_l1tPrescales[i] / prescales[i];
261  }
262  for (; i < (unsigned long)GlobalAlgBlk::maxPhysicsTriggers; ++i)
263  // disable the triggers not included in the prescale table
264  m_prescales[i] = 0.;
265  // reset the prescales
266  m_counters.fill(0);
267  m_oldIndex = index;
268  }
269 
270  // Mode::ApplyColumnValues and Mode::ForceColumnValues
271  // apply the prescale values from the EventSetup corresponding to the given column index
274  auto const& prescaleTable = h->prescale_table_;
275  if (m_l1tPrescaleColumn >= (int)prescaleTable.size())
277  << fmt::sprintf("The prescale index %d is invalid, it should be smaller than the prescale table size %d.",
279  prescaleTable.size());
281  unsigned long i = 0;
282  for (; i < std::min(targets.size(), (unsigned long)GlobalAlgBlk::maxPhysicsTriggers); ++i)
283  // read the prescales from the EventSetup
284  m_prescales[i] = targets[i];
285  for (; i < (unsigned long)GlobalAlgBlk::maxPhysicsTriggers; ++i)
286  // disable the triggers not included in the prescale table
287  m_prescales[i] = 0.;
288  // reset the prescales
289  m_counters.fill(0);
291  }
292 
293  // Mode::ApplyColumnRatios
294  // apply prescales equal to ratio between the values corresponsing to the given column index, and the ones read from the EventSetup
297  auto const& prescaleTable = h->prescale_table_;
298  if (index >= (int)prescaleTable.size())
300  << fmt::sprintf("The prescale index %d is invalid, it should be smaller than the prescale table size %d.",
301  index,
302  prescaleTable.size());
303  if (m_l1tPrescaleColumn >= (int)prescaleTable.size())
305  << fmt::sprintf("The prescale index %d is invalid, it should be smaller than the prescale table size %d.",
307  prescaleTable.size());
308  auto const& prescales = prescaleTable[index];
310  unsigned long i = 0;
311  for (; i < std::min({prescales.size(), targets.size(), (unsigned long)GlobalAlgBlk::maxPhysicsTriggers}); ++i)
312  if (prescales[i] == 0)
313  // if the trigger was disabled, keep it disabled
314  m_prescales[i] = 0.;
315  else
316  // if the target prescale is lower than the original prescale, keep the trigger unprescaled
317  m_prescales[i] = targets[i] < prescales[i] ? 1. : (double)targets[i] / prescales[i];
318  for (; i < (unsigned long)GlobalAlgBlk::maxPhysicsTriggers; ++i)
319  // disable the triggers not included in the prescale table
320  m_prescales[i] = 0.;
321  // reset the prescales
322  m_counters.fill(0);
323  m_oldIndex = index;
324  }
325 
326  // make a copy of the GlobalAlgBlk for bx 0
327  GlobalAlgBlk algoBlock = handle->at(0, 0);
328 
329  bool finalOr = false;
330  std::vector<bool> const& decision = (m_mode == Mode::ForceColumnValues or m_mode == Mode::ForcePrescaleValues)
331  ? algoBlock.getAlgoDecisionInitial()
332  : algoBlock.getAlgoDecisionFinal();
333 
334  for (unsigned int i = 0; i < GlobalAlgBlk::maxPhysicsTriggers; ++i) {
335  if (m_prescales[i] == 0) {
336  // mask this trigger: reset the bit
337  algoBlock.setAlgoDecisionFinal(i, false);
338  } else if (decision[i]) {
339  // prescale this trigger
340  ++m_counters[i];
341  if (std::fmod(m_counters[i], m_prescales[i]) < 1) {
342  // the prescale is successful, set the bit
343  algoBlock.setAlgoDecisionFinal(i, true);
344  finalOr = true;
345  } else {
346  // the prescale failed, reset the bit
347  algoBlock.setAlgoDecisionFinal(i, false);
348  }
349  }
350  }
351 
352  // set the final OR
353  algoBlock.setFinalORPreVeto(finalOr);
354  if (algoBlock.getFinalORVeto())
355  finalOr = false;
356  algoBlock.setFinalOR(finalOr);
357 
358  // set the new prescale column
361 
362  // create a new GlobalAlgBlkBxCollection, and set the new prescaled decisions for bx 0
363  std::unique_ptr<GlobalAlgBlkBxCollection> result(new GlobalAlgBlkBxCollection());
364  result->push_back(0, algoBlock);
365  event.put(std::move(result));
366 
367  return finalOr;
368 }

References ApplyColumnRatios, ApplyColumnValues, ApplyPrescaleRatios, cms::cuda::assert(), edm::errors::Configuration, ForceColumnValues, ForcePrescaleValues, get, GlobalAlgBlk::getAlgoDecisionFinal(), GlobalAlgBlk::getAlgoDecisionInitial(), GlobalAlgBlk::getFinalORVeto(), patZpeak::handle, mps_fire::i, edm::errors::LogicError, m_counters, m_l1tGtPrescalesVetosToken, m_l1tPrescaleColumn, m_l1tPrescales, m_l1tResultsToken, m_mode, m_oldIndex, m_prescales, GlobalAlgBlk::maxPhysicsTriggers, min(), eostools::move(), or, hltrates_dqm_sourceclient-live_cfg::prescales, hltrates_dqm_sourceclient-live_cfg::prescaleTable, mps_fire::result, GlobalAlgBlk::setAlgoDecisionFinal(), GlobalAlgBlk::setFinalOR(), GlobalAlgBlk::setFinalORPreVeto(), GlobalAlgBlk::setPreScColumn(), singleTopDQM_cfi::setup, and dqmd_manager::targets.

Member Data Documentation

◆ m_counters

std::array<unsigned int, GlobalAlgBlk::maxPhysicsTriggers> L1TGlobalPrescaler::m_counters
private

Definition at line 169 of file L1TGlobalPrescaler.cc.

Referenced by filter(), and L1TGlobalPrescaler().

◆ m_l1tGtPrescalesVetosToken

edm::ESGetToken<L1TGlobalPrescalesVetos, L1TGlobalPrescalesVetosRcd> L1TGlobalPrescaler::m_l1tGtPrescalesVetosToken
private

Definition at line 172 of file L1TGlobalPrescaler.cc.

Referenced by filter(), and L1TGlobalPrescaler().

◆ m_l1tPrescaleColumn

const int L1TGlobalPrescaler::m_l1tPrescaleColumn
private

Definition at line 170 of file L1TGlobalPrescaler.cc.

Referenced by filter().

◆ m_l1tPrescales

const std::array<double, GlobalAlgBlk::maxPhysicsTriggers> L1TGlobalPrescaler::m_l1tPrescales
private

Definition at line 167 of file L1TGlobalPrescaler.cc.

Referenced by filter(), and L1TGlobalPrescaler().

◆ m_l1tResultsToken

const edm::EDGetTokenT<GlobalAlgBlkBxCollection> L1TGlobalPrescaler::m_l1tResultsToken
private

Definition at line 166 of file L1TGlobalPrescaler.cc.

Referenced by filter().

◆ m_mode

const Mode L1TGlobalPrescaler::m_mode
private

Definition at line 165 of file L1TGlobalPrescaler.cc.

Referenced by filter(), and L1TGlobalPrescaler().

◆ m_oldIndex

int L1TGlobalPrescaler::m_oldIndex
private

Definition at line 171 of file L1TGlobalPrescaler.cc.

Referenced by filter().

◆ m_prescales

std::array<double, GlobalAlgBlk::maxPhysicsTriggers> L1TGlobalPrescaler::m_prescales
private

Definition at line 168 of file L1TGlobalPrescaler.cc.

Referenced by filter(), and L1TGlobalPrescaler().

◆ s_modes

const constexpr Entry< L1TGlobalPrescaler::Mode > L1TGlobalPrescaler::s_modes
staticconstexprprivate
Initial value:
{
{Mode::ApplyPrescaleValues, "applyPrescaleValues", "apply the given prescale values"},
"applyPrescaleRatios",
"apply prescales equal to ratio between the given values and the ones read from the EventSetup"},
"applyColumnValues",
"apply the prescale values from the EventSetup corresponding to the given column index"},
"applyColumnRatios",
"apply prescales equal to ratio between the values corresponsing to the given column index, and the ones read "
"from the EventSetup"},
"forcePrescaleValues",
"apply the given prescale values, ignoring the prescales and masks already applied"},
"forceColumnValues",
"apply the prescale values from the EventSetup corresponding to the given column index, ignoring the prescales "
"and masks already applied"},
{Mode::Invalid, nullptr, nullptr}}

Definition at line 144 of file L1TGlobalPrescaler.cc.

Referenced by fillDescriptions().

L1TGlobalPrescalesVetosRcd
Definition: L1TGlobalPrescalesVetosRcd.h:11
L1TGlobalPrescaler::m_l1tGtPrescalesVetosToken
edm::ESGetToken< L1TGlobalPrescalesVetos, L1TGlobalPrescalesVetosRcd > m_l1tGtPrescalesVetosToken
Definition: L1TGlobalPrescaler.cc:172
GlobalAlgBlk::getFinalORVeto
const bool getFinalORVeto() const
Definition: GlobalAlgBlk.h:69
mps_fire.i
i
Definition: mps_fire.py:428
L1TGlobalPrescaler::m_prescales
std::array< double, GlobalAlgBlk::maxPhysicsTriggers > m_prescales
Definition: L1TGlobalPrescaler.cc:168
L1TGlobalPrescaler::m_l1tPrescaleColumn
const int m_l1tPrescaleColumn
Definition: L1TGlobalPrescaler.cc:170
L1TGlobalPrescaler::Mode::ApplyColumnValues
edm::errors::LogicError
Definition: EDMException.h:37
L1TGlobalPrescaler::Mode::ApplyPrescaleValues
hltrates_dqm_sourceclient-live_cfg.prescaleTable
prescaleTable
Definition: hltrates_dqm_sourceclient-live_cfg.py:88
patZpeak.handle
handle
Definition: patZpeak.py:23
min
T min(T a, T b)
Definition: MathUtil.h:58
L1TGlobalPrescaler::s_modes
static const constexpr Entry< Mode > s_modes[]
Definition: L1TGlobalPrescaler.cc:144
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
L1TGlobalPrescaler::Mode::ApplyPrescaleRatios
cms::cuda::assert
assert(be >=bs)
L1TGlobalPrescaler::m_l1tResultsToken
const edm::EDGetTokenT< GlobalAlgBlkBxCollection > m_l1tResultsToken
Definition: L1TGlobalPrescaler.cc:166
GlobalAlgBlkBxCollection
BXVector< GlobalAlgBlk > GlobalAlgBlkBxCollection
Definition: GlobalAlgBlk.h:31
L1TGlobalPrescaler::m_counters
std::array< unsigned int, GlobalAlgBlk::maxPhysicsTriggers > m_counters
Definition: L1TGlobalPrescaler.cc:169
edm::Handle
Definition: AssociativeIterator.h:50
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
edm::Exception
Definition: EDMException.h:77
config
Definition: config.py:1
GlobalAlgBlk::setPreScColumn
void setPreScColumn(int psC)
Definition: GlobalAlgBlk.h:61
h
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::ESHandle
Definition: DTSurvey.h:22
GlobalAlgBlk::setFinalOR
void setFinalOR(bool fOR)
Definition: GlobalAlgBlk.h:60
GlobalAlgBlk::setAlgoDecisionFinal
void setAlgoDecisionFinal(unsigned int bit, bool val)
Definition: GlobalAlgBlk.cc:94
L1TGlobalPrescaler::m_mode
const Mode m_mode
Definition: L1TGlobalPrescaler.cc:165
L1TGlobalPrescaler::Mode::Invalid
hltrates_dqm_sourceclient-live_cfg.prescales
prescales
Definition: hltrates_dqm_sourceclient-live_cfg.py:90
Invalid
Definition: hltDiff.cc:247
GlobalAlgBlk::getAlgoDecisionInitial
std::vector< bool > const & getAlgoDecisionInitial() const
Get decision bits.
Definition: GlobalAlgBlk.h:82
get
#define get
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
GlobalAlgBlk::setFinalORPreVeto
void setFinalORPreVeto(bool fOR)
Definition: GlobalAlgBlk.h:59
L1TGlobalPrescaler::Mode::ApplyColumnRatios
PDWG_DiJetAODSkim_cff.l1tResults
l1tResults
Definition: PDWG_DiJetAODSkim_cff.py:8
dqmd_manager.targets
targets
Definition: dqmd_manager.py:88
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
GlobalAlgBlk::getAlgoDecisionFinal
std::vector< bool > const & getAlgoDecisionFinal() const
Definition: GlobalAlgBlk.h:84
Exception
Definition: hltDiff.cc:245
L1TGlobalPrescaler::m_l1tPrescales
const std::array< double, GlobalAlgBlk::maxPhysicsTriggers > m_l1tPrescales
Definition: L1TGlobalPrescaler.cc:167
or
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
Definition: Activities.doc:12
L1TGlobalPrescaler::Mode::ForceColumnValues
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
L1TGlobalPrescaler::m_oldIndex
int m_oldIndex
Definition: L1TGlobalPrescaler.cc:171
mps_fire.result
result
Definition: mps_fire.py:311
GlobalAlgBlk::maxPhysicsTriggers
static constexpr unsigned int maxPhysicsTriggers
Definition: GlobalAlgBlk.h:52
GlobalAlgBlk
Definition: GlobalAlgBlk.h:41
edm::ParameterDescription
Definition: ParameterDescription.h:110
edm::errors::Configuration
Definition: EDMException.h:36
edm::InputTag
Definition: InputTag.h:15
L1TGlobalPrescaler::Mode::ForcePrescaleValues