CMS 3D CMS Logo

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

#include <EDAnalyzerBase.h>

Inheritance diagram for edm::one::EDAnalyzerBase:
edm::EDConsumerBase edm::one::EDAnalyzer< edm::one::SharedResources > edm::one::EDAnalyzer< edm::one::WatchLuminosityBlocks > edm::one::EDAnalyzer< edm::one::WatchRuns > edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks > edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::WatchLuminosityBlocks, edm::one::SharedResources > edm::one::EDAnalyzer< one::WatchRuns, one::WatchLuminosityBlocks > edm::one::EDAnalyzer<> edm::one::EDAnalyzer< T >

Public Types

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

Public Member Functions

void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
virtual SerialTaskQueueglobalLuminosityBlocksQueue ()
 
virtual SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
virtual bool wantsGlobalLuminosityBlocks () const =0
 
virtual bool wantsGlobalRuns () const =0
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~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
 
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)
 
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 beginJob ()
 
virtual SharedResourcesAcquirer createAcquirer ()
 
void doBeginJob ()
 
void doBeginLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doBeginLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
void doBeginRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doBeginRun_ (Run const &rp, EventSetup const &c)
 
void doEndJob ()
 
void doEndLuminosityBlock (LuminosityBlockPrincipal const &lbp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doEndLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
void doEndRun (RunPrincipal const &rp, EventSetup const &c, ModuleCallingContext const *)
 
virtual void doEndRun_ (Run const &rp, EventSetup const &c)
 
bool doEvent (EventPrincipal const &ep, EventSetup const &c, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
virtual void endJob ()
 
bool hasAccumulator () const
 
bool hasAcquire () const
 
void preActionBeforeRunEventAsync (WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
 
void registerProductsAndCallbacks (EDAnalyzerBase const *module, ProductRegistry *reg)
 
void setModuleDescription (ModuleDescription const &md)
 
SharedResourcesAcquirersharedResourcesAcquirer ()
 
std::string workerType () const
 

Private Attributes

std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
 
ModuleDescription moduleDescription_
 
SharedResourcesAcquirer resourcesAcquirer_
 

Friends

template<typename T >
class edm::maker::ModuleHolderT
 
template<typename T >
class edm::WorkerT
 

Additional Inherited Members

- 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)
 

Detailed Description

Definition at line 46 of file EDAnalyzerBase.h.

Member Typedef Documentation

Definition at line 53 of file EDAnalyzerBase.h.

Constructor & Destructor Documentation

EDAnalyzerBase::EDAnalyzerBase ( )

Definition at line 42 of file EDAnalyzerBase.cc.

42  :
43  moduleDescription_() { }
ModuleDescription moduleDescription_
EDAnalyzerBase::~EDAnalyzerBase ( )
override

Definition at line 45 of file EDAnalyzerBase.cc.

46  {
47  }

Member Function Documentation

virtual void edm::one::EDAnalyzerBase::analyze ( Event const &  ,
EventSetup const &   
)
privatepure virtual
const std::string & EDAnalyzerBase::baseType ( )
static

Definition at line 152 of file EDAnalyzerBase.cc.

References edm::one::kBaseType().

152  {
153  return kBaseType;
154  }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::one::EDAnalyzerBase::beginJob ( void  )
inlineprivatevirtual
void EDAnalyzerBase::callWhenNewProductsRegistered ( std::function< void(BranchDescription const &)> const &  func)

Definition at line 50 of file EDAnalyzerBase.cc.

References callWhenNewProductsRegistered_, and RecoEcal_EventContent_cff::func.

50  {
52  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
SharedResourcesAcquirer EDAnalyzerBase::createAcquirer ( )
privatevirtual

Definition at line 66 of file EDAnalyzerBase.cc.

Referenced by doBeginJob().

66  {
68  std::vector<std::shared_ptr<SerialTaskQueue>>(1, std::make_shared<SerialTaskQueue>())};
69  }
void EDAnalyzerBase::doBeginJob ( )
private

Definition at line 75 of file EDAnalyzerBase.cc.

References beginJob(), createAcquirer(), and resourcesAcquirer_.

75  {
77 
78  this->beginJob();
79  }
virtual SharedResourcesAcquirer createAcquirer()
SharedResourcesAcquirer resourcesAcquirer_
void EDAnalyzerBase::doBeginLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 105 of file EDAnalyzerBase.cc.

References doBeginLuminosityBlock_(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

106  {
107  LuminosityBlock lb(lbp, moduleDescription_, mcc, false);
108  lb.setConsumer(this);
109  LuminosityBlock const& cnstLb = lb;
110  this->doBeginLuminosityBlock_(cnstLb, c);
111  }
ModuleDescription moduleDescription_
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
void EDAnalyzerBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 134 of file EDAnalyzerBase.cc.

Referenced by doBeginLuminosityBlock().

134 {}
void EDAnalyzerBase::doBeginRun ( RunPrincipal const &  rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 87 of file EDAnalyzerBase.cc.

References doBeginRun_(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

88  {
89  Run r(rp, moduleDescription_, mcc, false);
90  r.setConsumer(this);
91  Run const& cnstR = r;
92  this->doBeginRun_(cnstR, c);
93  }
ModuleDescription moduleDescription_
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
void EDAnalyzerBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 132 of file EDAnalyzerBase.cc.

Referenced by doBeginRun().

132 {}
void EDAnalyzerBase::doEndJob ( )
private

Definition at line 82 of file EDAnalyzerBase.cc.

References endJob().

82  {
83  this->endJob();
84  }
void EDAnalyzerBase::doEndLuminosityBlock ( LuminosityBlockPrincipal const &  lbp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 114 of file EDAnalyzerBase.cc.

References doEndLuminosityBlock_(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

115  {
116  LuminosityBlock lb(lbp, moduleDescription_, mcc, true);
117  lb.setConsumer(this);
118  LuminosityBlock const& cnstLb = lb;
119  this->doEndLuminosityBlock_(cnstLb, c);
120  }
virtual void doEndLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 135 of file EDAnalyzerBase.cc.

Referenced by doEndLuminosityBlock().

135 {}
void EDAnalyzerBase::doEndRun ( RunPrincipal const &  rp,
EventSetup const &  c,
ModuleCallingContext const *  mcc 
)
private

Definition at line 96 of file EDAnalyzerBase.cc.

References doEndRun_(), moduleDescription_, alignCSCRings::r, and edm::Run::setConsumer().

97  {
98  Run r(rp, moduleDescription_, mcc, true);
99  r.setConsumer(this);
100  Run const& cnstR = r;
101  this->doEndRun_(cnstR, c);
102  }
virtual void doEndRun_(Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
void EDAnalyzerBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 133 of file EDAnalyzerBase.cc.

Referenced by doEndRun().

133 {}
bool EDAnalyzerBase::doEvent ( EventPrincipal const &  ep,
EventSetup const &  c,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
private

Definition at line 55 of file EDAnalyzerBase.cc.

References analyze(), MillePedeFileConverter_cfg::e, moduleDescription_, resourcesAcquirer_, edm::Event::setConsumer(), and edm::Event::setSharedResourcesAcquirer().

57  {
58  Event e(ep, moduleDescription_, mcc);
59  e.setConsumer(this);
60  e.setSharedResourcesAcquirer(&resourcesAcquirer_);
61  EventSignalsSentry sentry(act,mcc);
62  this->analyze(e, c);
63  return true;
64  }
virtual void analyze(Event const &, EventSetup const &)=0
SharedResourcesAcquirer resourcesAcquirer_
ModuleDescription moduleDescription_
void edm::one::EDAnalyzerBase::doPreallocate ( PreallocationConfiguration const &  )
inlineprivate

Definition at line 82 of file EDAnalyzerBase.h.

References benchmark_cfg::fb.

82 {}
void edm::one::EDAnalyzerBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate
void EDAnalyzerBase::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 128 of file EDAnalyzerBase.cc.

128  {
129  //respondToCloseInputFile(fb);
130  }
void EDAnalyzerBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 123 of file EDAnalyzerBase.cc.

123  {
124  //respondToOpenInputFile(fb);
125  }
virtual void edm::one::EDAnalyzerBase::endJob ( void  )
inlineprivatevirtual
void EDAnalyzerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 138 of file EDAnalyzerBase.cc.

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

138  {
140  desc.setUnknown();
141  descriptions.addDefault(desc);
142  }
SerialTaskQueue * EDAnalyzerBase::globalLuminosityBlocksQueue ( )
virtual
SerialTaskQueue * EDAnalyzerBase::globalRunsQueue ( )
virtual
bool edm::one::EDAnalyzerBase::hasAccumulator ( ) const
inlineprivate

Definition at line 118 of file EDAnalyzerBase.h.

118 { return false; }
bool edm::one::EDAnalyzerBase::hasAcquire ( ) const
inlineprivate

Definition at line 117 of file EDAnalyzerBase.h.

117 { return false; }
ModuleDescription const& edm::one::EDAnalyzerBase::moduleDescription ( ) const
inline

Definition at line 64 of file EDAnalyzerBase.h.

Referenced by edm::SecSourceAnalyzer::getBranches().

64 { return moduleDescription_; }
ModuleDescription moduleDescription_
void edm::one::EDAnalyzerBase::preActionBeforeRunEventAsync ( WaitingTask iTask,
ModuleCallingContext const &  iModuleCallingContext,
Principal const &  iPrincipal 
) const
inlineprivate

Definition at line 80 of file EDAnalyzerBase.h.

80 {}
void EDAnalyzerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 145 of file EDAnalyzerBase.cc.

References edm::edmodule_mightGet_config(), edm::one::kBaseType(), and AlCaHLTBitMon_QueryRunRegistry::string.

145  {
146  edmodule_mightGet_config(iConfig);
147  }
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
void EDAnalyzerBase::registerProductsAndCallbacks ( EDAnalyzerBase const *  module,
ProductRegistry reg 
)
private

Definition at line 157 of file EDAnalyzerBase.cc.

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

157  {
158 
160 
161  reg->callForEachBranch(callWhenNewProductsRegistered_);
162 
164  regService->watchProductAdditions(callWhenNewProductsRegistered_);
165  }
166  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
void edm::one::EDAnalyzerBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 122 of file EDAnalyzerBase.h.

122  {
123  moduleDescription_ = md;
124  }
ModuleDescription moduleDescription_
SharedResourcesAcquirer& edm::one::EDAnalyzerBase::sharedResourcesAcquirer ( )
inlineprivate

Definition at line 104 of file EDAnalyzerBase.h.

References analyze().

104  {
105  return resourcesAcquirer_;
106  }
SharedResourcesAcquirer resourcesAcquirer_
virtual bool edm::one::EDAnalyzerBase::wantsGlobalLuminosityBlocks ( ) const
pure virtual
virtual bool edm::one::EDAnalyzerBase::wantsGlobalRuns ( ) const
pure virtual
bool edm::one::EDAnalyzerBase::wantsStreamLuminosityBlocks ( ) const
inline

Definition at line 69 of file EDAnalyzerBase.h.

References EnergyCorrector::c, RecoEcal_EventContent_cff::func, and RecoTauPiZeroBuilderPlugins_cfi::function.

69 {return false;};
bool edm::one::EDAnalyzerBase::wantsStreamRuns ( ) const
inline

Definition at line 68 of file EDAnalyzerBase.h.

68 {return false;}
std::string edm::one::EDAnalyzerBase::workerType ( ) const
inlineprivate

Definition at line 102 of file EDAnalyzerBase.h.

102 {return "WorkerT<EDAnalyzer>";}

Friends And Related Function Documentation

template<typename T >
friend class edm::maker::ModuleHolderT
friend

Definition at line 51 of file EDAnalyzerBase.h.

template<typename T >
friend class edm::WorkerT
friend

Definition at line 50 of file EDAnalyzerBase.h.

Member Data Documentation

std::function<void(BranchDescription const&)> edm::one::EDAnalyzerBase::callWhenNewProductsRegistered_
private
ModuleDescription edm::one::EDAnalyzerBase::moduleDescription_
private
SharedResourcesAcquirer edm::one::EDAnalyzerBase::resourcesAcquirer_
private

Definition at line 128 of file EDAnalyzerBase.h.

Referenced by doBeginJob(), and doEvent().