CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
L1Filter Class Reference
Inheritance diagram for L1Filter:
edm::EDFilter edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void endJob () override
 
bool filter (edm::Event &e, edm::EventSetup const &c) override
 
 L1Filter (edm::ParameterSet const &)
 
 ~L1Filter () override
 
- Public Member Functions inherited from edm::EDFilter
 EDFilter ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDFilter () 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
 
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)
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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 const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
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)
 

Private Attributes

std::vector< std::string > algos_
 
edm::InputTag inputTag_
 
bool useAODRecord_
 
bool useFinalDecision_
 

Additional Inherited Members

- Public Types inherited from edm::EDFilter
typedef EDFilter 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
 
- Static Public Member Functions inherited from edm::EDFilter
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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)
 

Detailed Description

Definition at line 23 of file L1Filter.cc.

Constructor & Destructor Documentation

L1Filter::L1Filter ( edm::ParameterSet const &  )
explicit

Definition at line 39 of file L1Filter.cc.

40  : inputTag_(ps.getParameter<edm::InputTag>("inputTag")),
41  useAODRecord_(ps.getParameter<bool>("useAODRecord")),
42  useFinalDecision_(ps.getParameter<bool>("useFinalDecision")),
43  algos_(ps.getParameter<std::vector<std::string>>("algorithms")) {}
bool useFinalDecision_
Definition: L1Filter.cc:35
bool useAODRecord_
Definition: L1Filter.cc:34
edm::InputTag inputTag_
Definition: L1Filter.cc:33
std::vector< std::string > algos_
Definition: L1Filter.cc:36
L1Filter::~L1Filter ( )
override

Definition at line 45 of file L1Filter.cc.

45 {}

Member Function Documentation

void L1Filter::endJob ( void  )
overridevirtual

Reimplemented from edm::EDFilter.

Definition at line 86 of file L1Filter.cc.

References DEFINE_FWK_MODULE.

86 {}
bool L1Filter::filter ( edm::Event e,
edm::EventSetup const &  c 
)
overridevirtual

Implements edm::EDFilter.

Definition at line 47 of file L1Filter.cc.

References patPFMETCorrections_cff::algo, algos_, L1GlobalTriggerRecord::decision(), L1GlobalTriggerReadoutRecord::decision(), L1GlobalTriggerRecord::decisionWord(), L1GlobalTriggerReadoutRecord::decisionWord(), edm::EventSetup::get(), edm::Event::getByLabel(), L1GtTriggerMenu::gtAlgorithmResult(), inputTag_, TriggerAnalyzer::passed, edm::ESHandle< T >::product(), useAODRecord_, and useFinalDecision_.

47  {
48 
49  // get menu
51  evSetup.get<L1GtTriggerMenuRcd>().get(menuRcd);
52  const L1GtTriggerMenu *menu = menuRcd.product();
53 
54  bool passed = false;
55  std::vector<std::string>::const_iterator algo;
56 
57  if (useAODRecord_) {
59  iEvent.getByLabel(inputTag_, gtRecord);
60  const DecisionWord dWord = gtRecord->decisionWord();
61 
63  passed = gtRecord->decision();
64  else {
65  for (algo = algos_.begin(); algo != algos_.end(); ++algo) {
66  passed |= menu->gtAlgorithmResult((*algo), dWord);
67  }
68  }
69  } else {
71  iEvent.getByLabel(inputTag_, gtRecord);
72  const DecisionWord dWord = gtRecord->decisionWord();
73 
75  passed = gtRecord->decision();
76  else {
77  for (algo = algos_.begin(); algo != algos_.end(); ++algo) {
78  passed |= menu->gtAlgorithmResult((*algo), dWord);
79  }
80  }
81  }
82 
83  return passed;
84 }
bool useFinalDecision_
Definition: L1Filter.cc:35
int iEvent
Definition: GenABIO.cc:224
const bool decision() const
std::vector< bool > DecisionWord
typedefs
const bool decision(int bxInEventValue) const
const bool gtAlgorithmResult(const std::string &algName, const std::vector< bool > &decWord) const
bool useAODRecord_
Definition: L1Filter.cc:34
const DecisionWord decisionWord() const
const DecisionWord & decisionWord(int bxInEventValue) const
edm::InputTag inputTag_
Definition: L1Filter.cc:33
T const * product() const
Definition: ESHandle.h:86
std::vector< std::string > algos_
Definition: L1Filter.cc:36

Member Data Documentation

std::vector<std::string> L1Filter::algos_
private

Definition at line 36 of file L1Filter.cc.

Referenced by filter().

edm::InputTag L1Filter::inputTag_
private

Definition at line 33 of file L1Filter.cc.

Referenced by filter().

bool L1Filter::useAODRecord_
private

Definition at line 34 of file L1Filter.cc.

Referenced by filter().

bool L1Filter::useFinalDecision_
private

Definition at line 35 of file L1Filter.cc.

Referenced by filter().