Public Member Functions | |
EcalSelectiveReadoutProducer (const edm::ParameterSet ¶ms, esrp::Cache const *) | |
void | produce (edm::Event &event, const edm::EventSetup &eventSetup) override |
~EcalSelectiveReadoutProducer () override | |
Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< esrp::Cache > > | |
EDProducer ()=default | |
EDProducer (const EDProducer &)=delete | |
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 |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &iDesc) |
static void | globalEndJob (esrp::Cache *) |
static std::unique_ptr< esrp::Cache > | initializeGlobalCache (const edm::ParameterSet &) |
static void | printSrFlags (std::ostream &os, const EBSrFlagCollection &ebSrFlags, const EESrFlagCollection &eeSrFlags, int iEvent=-1, bool withHeader=true) |
Private Member Functions | |
void | checkWeights (const edm::Event &evt, const edm::ProductID &noZSDigiId) const |
bool | getBinOfMax (const edm::Event &evt, const edm::ProductID &noZsDigiId, int &binOfMax) const |
const EBDigiCollection * | getEBDigis (edm::Event &event) |
const EEDigiCollection * | getEEDigis (edm::Event &event) |
const EcalTrigPrimDigiCollection * | getTrigPrims (edm::Event &event) const |
void | printTTFlags (const EcalTrigPrimDigiCollection &tp, std::ostream &os) const |
void | checkGeometry (const edm::EventSetup &eventSetup) |
void | checkTriggerMap (const edm::EventSetup &eventSetup) |
void | checkElecMap (const edm::EventSetup &eventSetup) |
Static Private Member Functions | |
static void | checkValidity (const EcalSRSettings &settings) |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< esrp::Cache > > | |
using | CacheTypes = CacheContexts< T... > |
using | GlobalCache = typename CacheTypes::GlobalCache |
using | HasAbility = AbilityChecker< T... > |
using | InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache |
using | LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache |
using | LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache > |
using | LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache |
using | RunCache = typename CacheTypes::RunCache |
using | RunContext = RunContextT< RunCache, GlobalCache > |
using | RunSummaryCache = typename CacheTypes::RunSummaryCache |
Definition at line 43 of file EcalSelectiveReadoutProducer.cc.
|
explicit |
Constructor
params | seletive readout parameters |
Definition at line 195 of file EcalSelectiveReadoutProducer.cc.
References digiProducer_, dumpFlags_, EB_token, ebdigiCollection_, ebSrFlagCollection_, ebSRPdigiCollection_, EcTP_token, EE_token, eedigiCollection_, eElecmap_token_, eeSrFlagCollection_, eeSRPdigiCollection_, eTTmap_token_, geom_token_, hSr_token_, ecalsrcondtools::importParameterSet(), ProducerED_cfi::InputTag, submitPVValidationJobs::params, produceDigis_, settings_, settingsFromFile_, AlCaHLTBitMon_QueryRunRegistry::string, theElecMap, theGeometry, theTriggerTowerMap, trigPrimBypass_, trigPrimBypassMode_, trigPrimCollection_, trigPrimProducer_, useCondDb_, useFullReadout_, and writeSrFlags_.
|
override |
|
private |
Definition at line 449 of file EcalSelectiveReadoutProducer.cc.
References eElecmap_token_, options_cfi::eventSetup, EcalSelectiveReadoutSuppressor::setElecMap(), suppressor_, and theElecMap.
Referenced by produce().
|
private |
call these once an event, to make sure everything is up-to-date
Definition at line 425 of file EcalSelectiveReadoutProducer.cc.
References options_cfi::eventSetup, geom_token_, EcalSelectiveReadoutSuppressor::setGeometry(), suppressor_, and theGeometry.
Referenced by produce().
|
private |
Definition at line 437 of file EcalSelectiveReadoutProducer.cc.
References eTTmap_token_, options_cfi::eventSetup, EcalSelectiveReadoutSuppressor::setTriggerMap(), suppressor_, and theTriggerTowerMap.
Referenced by produce().
|
staticprivate |
Checks validity of selective setting object is valid to be used for MC, especially checks the number of elements in the vectors
forEmulator | if true check the restriction that applies for EcalSelectiveReadoutProducer |
cms::Exception | if the setting is not valid. |
Definition at line 710 of file EcalSelectiveReadoutProducer.cc.
References EcalSRSettings::dccNormalizedWeights_, EcalSRSettings::ecalDccZs1stSample_, and Exception.
Referenced by produce().
|
private |
Sanity check on the DCC FIR filter weights. Log warning or error message if an unexpected weight set is found. In principle it is checked that the maximum weight is applied to the expected maximum sample.
Definition at line 506 of file EcalSelectiveReadoutProducer.cc.
References EcalSRSettings::dccNormalizedWeights_, EcalSRSettings::ecalDccZs1stSample_, getBinOfMax(), EcalSelectiveReadoutSuppressor::getFIRTapCount(), mps_fire::i, settings_, and hltDeepSecondaryVertexTagInfosPFPuppi_cfi::weights.
Referenced by getEBDigis(), and getEEDigis().
|
static |
Definition at line 253 of file EcalSelectiveReadoutProducer.cc.
References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::addDefault(), edm::ParameterSetDescription::addOptional(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
Gets the value of the digitizer binOfMaximum parameter.
noZsDigiId | product ID of the non-suppressed digis |
binOfMax | [out] set the parameter value if found |
Definition at line 553 of file EcalSelectiveReadoutProducer.cc.
References spr::find(), edm::Event::getStableProvenance(), AlCaHLTBitMon_ParallelJobs::p, edm::parameterSet(), edm::Event::processHistory(), and mps_fire::result.
Referenced by checkWeights().
|
private |
Definition at line 393 of file EcalSelectiveReadoutProducer.cc.
References checkWeights(), EB_token, firstCallEB_, edm::HandleBase::id(), edm::Handle< T >::product(), and mps_fire::result.
Referenced by produce().
|
private |
Definition at line 406 of file EcalSelectiveReadoutProducer.cc.
References checkWeights(), EE_token, firstCallEE_, edm::HandleBase::id(), edm::Handle< T >::product(), and mps_fire::result.
Referenced by produce().
|
private |
Definition at line 419 of file EcalSelectiveReadoutProducer.cc.
References EcTP_token, and edm::Handle< T >::product().
Referenced by produce().
|
inlinestatic |
Definition at line 76 of file EcalSelectiveReadoutProducer.cc.
|
static |
Definition at line 191 of file EcalSelectiveReadoutProducer.cc.
|
static |
Help function to print SR flags.
ebSrFlags | the action flags of EB |
eeSrFlag | the action flags of EE |
iEvent | event number. Ignored if <0. |
withHeader,if | true an output description is written out as header. |
Definition at line 570 of file EcalSelectiveReadoutProducer.cc.
References cms::cuda::assert(), edm::SortedCollection< T, SORT >::begin(), edm::SortedCollection< T, SORT >::end(), RemoveAddSevLevel::flag, mps_fire::i, l1tPhase2CaloJetEmulator_cfi::iEta, iEvent, ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, nEndcaps, srpFlagMarker, submitPVValidationJobs::t, and hcalRecHitTable_cff::time.
Referenced by produce().
|
private |
Definition at line 461 of file EcalSelectiveReadoutProducer.cc.
References EcalTriggerPrimitiveDigi::id(), l1tPhase2CaloJetEmulator_cfi::iEta, EcalTrigTowerDetId::ieta(), EcalTrigTowerDetId::iphi(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, HLT_2023v12_cff::nEta, HLT_2023v12_cff::nPhi, EcalSelectiveReadout::nTriggerTowersInEta, EcalSelectiveReadout::nTriggerTowersInPhi, EcalTriggerPrimitiveDigi::size(), tccFlagMarker, cmsswSequenceInfo::tp, and EcalTriggerPrimitiveDigi::ttFlag().
|
override |
Produces the EDM products
CMS | event |
eventSetup | event conditions |
Definition at line 297 of file EcalSelectiveReadoutProducer.cc.
References utilities::cache(), checkElecMap(), checkGeometry(), checkTriggerMap(), checkValidity(), dumpFlags_, ebSrFlagCollection_, ebSRPdigiCollection_, SimL1EmulatorDM_cff::eeDigis, eeSrFlagCollection_, eeSRPdigiCollection_, options_cfi::eventSetup, getEBDigis(), EcalSelectiveReadoutSuppressor::getEcalSelectiveReadout(), getEEDigis(), getTrigPrims(), hSr_token_, eostools::move(), EcalSelectiveReadout::print(), EcalSelectiveReadout::printHeader(), printSrFlags(), EcalSelectiveReadoutSuppressor::printTTFlags(), produceDigis_, edm::ESHandle< T >::product(), EcalSelectiveReadoutSuppressor::run(), EcalSelectiveReadoutSuppressor::setSettings(), settings_, suppressor_, suppressorSettingsSet_, trigPrimBypass_, trigPrimBypassMode_, pileupReCalc_HLTpaths::trunc, useCondDb_, and writeSrFlags_.
|
private |
Definition at line 119 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Number of event whose TT and SR flags must be dumped into a file.
Definition at line 142 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 179 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and getEBDigis().
|
private |
Definition at line 120 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Definition at line 124 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 122 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 181 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and getTrigPrims().
|
private |
Definition at line 180 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and getEEDigis().
|
private |
Definition at line 121 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Definition at line 185 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkElecMap(), and EcalSelectiveReadoutProducer().
|
private |
Definition at line 125 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 123 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 184 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkTriggerMap(), and EcalSelectiveReadoutProducer().
|
private |
|
private |
Definition at line 170 of file EcalSelectiveReadoutProducer.cc.
Referenced by getEEDigis().
|
private |
Definition at line 183 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkGeometry(), and EcalSelectiveReadoutProducer().
|
private |
Definition at line 182 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Switch for suppressed digi production If false SR flags are produced but selective readout is not applied on the crystal channel digis.
Definition at line 151 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
SR settings
Definition at line 155 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkWeights(), EcalSelectiveReadoutProducer(), and produce().
|
private |
Used when settings_ is imported from configuration file. Just used for memory management. Used settings_ to access to the object
Definition at line 175 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Definition at line 118 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkElecMap(), checkGeometry(), checkTriggerMap(), and produce().
|
private |
Definition at line 134 of file EcalSelectiveReadoutProducer.cc.
Referenced by produce().
|
private |
Definition at line 132 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkElecMap(), and EcalSelectiveReadoutProducer().
|
private |
Definition at line 130 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkGeometry(), and EcalSelectiveReadoutProducer().
|
private |
Definition at line 131 of file EcalSelectiveReadoutProducer.cc.
Referenced by checkTriggerMap(), and EcalSelectiveReadoutProducer().
|
private |
Definition at line 136 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 138 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Definition at line 127 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Definition at line 126 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
Switch for retrieving SR settings from condition database instead of CMSSW python configuration file.
Definition at line 160 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().
|
private |
Special switch to turn off SR entirely using special DB entries
Definition at line 165 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer().
|
private |
switch to write out the SrFlags collections in the event
Definition at line 146 of file EcalSelectiveReadoutProducer.cc.
Referenced by EcalSelectiveReadoutProducer(), and produce().