#include <Alignment/CommonAlignment/plugins/APVModeFilter.cc>
Public Member Functions | |
APVModeFilter (const edm::ParameterSet &) | |
~APVModeFilter ()=default | |
Public Member Functions inherited from edm::stream::EDFilter<> | |
EDFilter ()=default | |
Public Member Functions inherited from edm::stream::EDFilterBase | |
EDFilterBase () | |
ModuleDescription const & | moduleDescription () const |
virtual | ~EDFilterBase () |
Public Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
ProducerBase () | |
void | registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &) |
std::function< void(BranchDescription const &)> | registrationCallback () const |
used by the fwk to register list of products More... | |
virtual | ~ProducerBase () |
Public Member Functions inherited from edm::EDConsumerBase | |
std::vector< ConsumesInfo > | consumesInfo () const |
EDConsumerBase () | |
ProductHolderIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
void | itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
void | itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const |
std::vector < ProductHolderIndexAndSkipBit > const & | itemsToGetFromEvent () const |
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
void | modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const |
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
bool | registeredToConsume (ProductHolderIndex, bool, BranchType) const |
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
void | updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &) |
virtual | ~EDConsumerBase () |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &) |
Static Public Member Functions inherited from edm::stream::EDFilterBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Private Types | |
using | BitMask = std::bitset< 16 > |
Private Member Functions | |
virtual void | beginRun (const edm::Run &, const edm::EventSetup &) override |
BitMask | convertMode (const std::string &mode) const |
APV mode is encoded in uin16_t. More... | |
BitMask | convertMode (const uint16_t &mode) const |
converts latency record content into type used for APV mode filtering More... | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) override |
Private Attributes | |
const BitMask | mode_ |
multi mode bit mask (1000) More... | |
BitMask | modeCurrentRun_ |
APV mode that is filtered. More... | |
Static Private Attributes | |
static std::array< size_t, 2 > | bits_ = {{1, 3}} |
bits of interest for the APV mode More... | |
static BitMask | deco_ = BitMask(0) |
static BitMask | multi_ = BitMask(8) |
peak mode bit mask (1010) More... | |
static BitMask | peak_ = BitMask(10) |
deco mode bit mask (0000) More... | |
Additional Inherited Members | |
Public Types inherited from edm::stream::EDFilter<> | |
typedef CacheContexts< T...> | CacheTypes |
typedef CacheTypes::GlobalCache | GlobalCache |
typedef AbilityChecker< T...> | HasAbility |
typedef CacheTypes::LuminosityBlockCache | LuminosityBlockCache |
typedef LuminosityBlockContextT < LuminosityBlockCache, RunCache, GlobalCache > | LuminosityBlockContext |
typedef CacheTypes::LuminosityBlockSummaryCache | LuminosityBlockSummaryCache |
typedef CacheTypes::RunCache | RunCache |
typedef RunContextT< RunCache, GlobalCache > | RunContext |
typedef CacheTypes::RunSummaryCache | RunSummaryCache |
Public Types inherited from edm::stream::EDFilterBase | |
typedef EDFilterAdaptorBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
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 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) |
Description: Plugin to filter events based on the APV mode
Implementation: The filter checks the bit configuration used for a given run and selects only events according to the configured APV mode.
General reference: https://twiki.cern.ch/twiki/bin/view/CMS/SiStripConditionObjects#SiStripLatency
Document describing the bit configuration (section 5.5): https://cds.cern.ch/record/1069892/files/cer-002725643.pdf
Summary given here: https://hypernews.cern.ch/HyperNews/CMS/get/recoTracking/1590/1/1/1.html
bit 1: 0 = 3-sample, 1 = 1-sample bit 3: 0 = deconvolution, 1 = peak
if both bits are zero: deco if both bits are one: peak if 1 is zero and bit 3 is one: multi (not used in actual data taking)
Definition at line 56 of file APVModeFilter.cc.
|
private |
Definition at line 67 of file APVModeFilter.cc.
|
explicit |
Definition at line 101 of file APVModeFilter.cc.
|
default |
|
overrideprivatevirtual |
Reimplemented from edm::stream::EDFilterBase.
Definition at line 118 of file APVModeFilter.cc.
References convertMode(), edm::EventSetup::get(), modeCurrentRun_, and edm::ESHandle< class >::product().
|
private |
APV mode is encoded in uin16_t.
converts configuration parameter into type used for APV mode filtering
Definition at line 126 of file APVModeFilter.cc.
References deco_, Exception, multi_, and peak_.
Referenced by beginRun().
|
private |
converts latency record content into type used for APV mode filtering
Definition at line 141 of file APVModeFilter.cc.
References bits_, input, and query::result.
|
static |
Definition at line 150 of file APVModeFilter.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), edm::ParameterSetDescription::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
overrideprivatevirtual |
Implements edm::stream::EDFilterBase.
Definition at line 112 of file APVModeFilter.cc.
References mode_, and modeCurrentRun_.
Referenced by Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::filter(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::find(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::setDataAccessor(), and Vispa.Plugins.Browser.BrowserTabController.BrowserTabController::switchCenterView().
|
staticprivate |
bits of interest for the APV mode
Definition at line 79 of file APVModeFilter.cc.
Referenced by convertMode().
|
staticprivate |
Definition at line 80 of file APVModeFilter.cc.
Referenced by convertMode().
|
private |
|
private |
APV mode that is filtered.
Definition at line 85 of file APVModeFilter.cc.
Referenced by beginRun(), and filter().
|
staticprivate |
peak mode bit mask (1010)
Definition at line 82 of file APVModeFilter.cc.
Referenced by convertMode().
|
staticprivate |
deco mode bit mask (0000)
Definition at line 81 of file APVModeFilter.cc.
Referenced by convertMode().