CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
edm::stream::EDAnalyzerBase Class Referenceabstract

#include "FWCore/Framework/interface/stream/EDAnalyzerBase.h"

Inheritance diagram for edm::stream::EDAnalyzerBase:
edm::EDConsumerBase edm::stream::EDAnalyzer< edm::GlobalCache< pathelpers::RecordCache > > edm::stream::EDAnalyzer<> edm::stream::EDAnalyzer< T > pat::CandidateSummaryTable CPUSpender CSCTruthTest EcalDumpRaw evf::ExceptionGenerator HLTEventAnalyzerAOD HLTEventAnalyzerRAW PFCandidateChecker PPSModifySingularModes TestPythiaDecays gen::DataCardFileWriter

Public Types

typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 

Public Member Functions

void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
 EDAnalyzerBase (const EDAnalyzerBase &)=delete
 
ModuleDescription const & moduleDescription () const
 
const EDAnalyzerBaseoperator= (const EDAnalyzerBase &)=delete
 
 ~EDAnalyzerBase () 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
 
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
 
EDConsumerBaseoperator= (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)
 

Static Public Member Functions

static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

virtual void analyze (Event const &, EventSetup const &)=0
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void beginRun (edm::Run const &, edm::EventSetup const &)
 
virtual void beginStream (StreamID)
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void endRun (edm::Run const &, edm::EventSetup const &)
 
virtual void endStream ()
 
void registerProductsAndCallbacks (EDAnalyzerBase const *, ProductRegistry *reg)
 
void setModuleDescriptionPtr (ModuleDescription const *iDesc)
 

Private Attributes

std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
 
ModuleDescription const * moduleDescriptionPtr_
 

Friends

class EDAnalyzerAdaptorBase
 

Additional Inherited Members

- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (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)
 

Detailed Description

Description: [one line class summary]

Usage: <usage>

Definition at line 35 of file EDAnalyzerBase.h.

Member Typedef Documentation

◆ ModuleType

Definition at line 40 of file EDAnalyzerBase.h.

Constructor & Destructor Documentation

◆ EDAnalyzerBase() [1/2]

EDAnalyzerBase::EDAnalyzerBase ( )

Definition at line 37 of file EDAnalyzerBase.cc.

37 : moduleDescriptionPtr_(nullptr) {}
ModuleDescription const * moduleDescriptionPtr_

◆ EDAnalyzerBase() [2/2]

edm::stream::EDAnalyzerBase::EDAnalyzerBase ( const EDAnalyzerBase )
delete

◆ ~EDAnalyzerBase()

EDAnalyzerBase::~EDAnalyzerBase ( )
override

Definition at line 44 of file EDAnalyzerBase.cc.

44 {}

Member Function Documentation

◆ analyze()

virtual void edm::stream::EDAnalyzerBase::analyze ( Event const &  ,
EventSetup const &   
)
privatepure virtual

◆ baseType()

const std::string & EDAnalyzerBase::baseType ( )
static

Definition at line 91 of file EDAnalyzerBase.cc.

References edm::kBaseType().

91 { return kBaseType; }
static const std::string kBaseType("EDAnalyzer")

◆ beginLuminosityBlock()

virtual void edm::stream::EDAnalyzerBase::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 61 of file EDAnalyzerBase.h.

61 {}

◆ beginRun()

virtual void edm::stream::EDAnalyzerBase::beginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

◆ beginStream()

virtual void edm::stream::EDAnalyzerBase::beginStream ( StreamID  )
inlineprivatevirtual

Definition at line 59 of file EDAnalyzerBase.h.

59 {}

◆ callWhenNewProductsRegistered()

void EDAnalyzerBase::callWhenNewProductsRegistered ( std::function< void(BranchDescription const &)> const &  func)

Definition at line 61 of file EDAnalyzerBase.cc.

61  {
63 }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_

◆ endLuminosityBlock()

virtual void edm::stream::EDAnalyzerBase::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Reimplemented in evf::ExceptionGenerator.

Definition at line 63 of file EDAnalyzerBase.h.

63 {}

◆ endRun()

virtual void edm::stream::EDAnalyzerBase::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Reimplemented in HLTEventAnalyzerAOD, and HLTEventAnalyzerRAW.

Definition at line 64 of file EDAnalyzerBase.h.

64 {}

◆ endStream()

virtual void edm::stream::EDAnalyzerBase::endStream ( )
inlineprivatevirtual

Definition at line 65 of file EDAnalyzerBase.h.

65 {}

◆ fillDescriptions()

void EDAnalyzerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 81 of file EDAnalyzerBase.cc.

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

81  {
83  desc.setUnknown();
84  descriptions.addDefault(desc);
85 }

◆ moduleDescription()

ModuleDescription const& edm::stream::EDAnalyzerBase::moduleDescription ( ) const
inline

Definition at line 52 of file EDAnalyzerBase.h.

References moduleDescriptionPtr_.

52 { return *moduleDescriptionPtr_; }
ModuleDescription const * moduleDescriptionPtr_

◆ operator=()

const EDAnalyzerBase& edm::stream::EDAnalyzerBase::operator= ( const EDAnalyzerBase )
delete

◆ prevalidate()

void EDAnalyzerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 87 of file EDAnalyzerBase.cc.

References edm::edmodule_mightGet_config().

87 { edmodule_mightGet_config(iConfig); }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)

◆ registerProductsAndCallbacks()

void EDAnalyzerBase::registerProductsAndCallbacks ( EDAnalyzerBase const *  ,
ProductRegistry reg 
)
private

Definition at line 65 of file EDAnalyzerBase.cc.

References edm::ProductRegistry::callForEachBranch(), and callWhenNewProductsRegistered_.

65  {
67  reg->callForEachBranch(callWhenNewProductsRegistered_);
68 
69  Service<ConstProductRegistry> regService;
70  regService->watchProductAdditions(callWhenNewProductsRegistered_);
71  }
72 }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_

◆ setModuleDescriptionPtr()

void edm::stream::EDAnalyzerBase::setModuleDescriptionPtr ( ModuleDescription const *  iDesc)
inlineprivate

Definition at line 67 of file EDAnalyzerBase.h.

References moduleDescriptionPtr_.

67 { moduleDescriptionPtr_ = iDesc; }
ModuleDescription const * moduleDescriptionPtr_

Friends And Related Function Documentation

◆ EDAnalyzerAdaptorBase

friend class EDAnalyzerAdaptorBase
friend

Definition at line 37 of file EDAnalyzerBase.h.

Member Data Documentation

◆ callWhenNewProductsRegistered_

std::function<void(BranchDescription const&)> edm::stream::EDAnalyzerBase::callWhenNewProductsRegistered_
private

◆ moduleDescriptionPtr_

ModuleDescription const* edm::stream::EDAnalyzerBase::moduleDescriptionPtr_
private

Definition at line 70 of file EDAnalyzerBase.h.

Referenced by moduleDescription(), and setModuleDescriptionPtr().