CMS 3D CMS Logo

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

#include <EDAnalyzerBase.h>

Inheritance diagram for edm::limited::EDAnalyzerBase:
edm::EDConsumerBase edm::limited::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)
 
unsigned int concurrencyLimit () const
 
 EDAnalyzerBase (ParameterSet const &pset)
 
ModuleDescription const & moduleDescription () const
 
LimitedTaskQueuequeue ()
 
virtual bool wantsGlobalLuminosityBlocks () const =0
 
virtual bool wantsGlobalRuns () const =0
 
virtual bool wantsInputProcessBlocks () const =0
 
virtual bool wantsProcessBlocks () const =0
 
virtual bool wantsStreamLuminosityBlocks () const =0
 
virtual bool wantsStreamRuns () const =0
 
 ~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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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 (StreamID, Event const &, EventSetup const &) const =0
 
virtual void beginJob ()
 
virtual void clearInputProcessBlockCaches ()
 
void doAccessInputProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void doAccessInputProcessBlock_ (ProcessBlock const &)
 
void doBeginJob ()
 
void doBeginLuminosityBlock (LumiTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doBeginLuminosityBlock_ (LuminosityBlock const &lbp, EventSetup const &c)
 
virtual void doBeginLuminosityBlockSummary_ (LuminosityBlock const &rp, EventSetup const &c)
 
void doBeginProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void doBeginProcessBlock_ (ProcessBlock const &)
 
void doBeginRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doBeginRun_ (Run const &rp, EventSetup const &c)
 
virtual void doBeginRunSummary_ (Run const &rp, EventSetup const &c)
 
void doBeginStream (StreamID id)
 
virtual void doBeginStream_ (StreamID id)
 
void doEndJob ()
 
void doEndLuminosityBlock (LumiTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doEndLuminosityBlock_ (LuminosityBlock const &lb, EventSetup const &c)
 
virtual void doEndLuminosityBlockSummary_ (LuminosityBlock const &lb, EventSetup const &c)
 
void doEndProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void doEndProcessBlock_ (ProcessBlock const &)
 
void doEndRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doEndRun_ (Run const &rp, EventSetup const &c)
 
virtual void doEndRunSummary_ (Run const &rp, EventSetup const &c)
 
void doEndStream (StreamID id)
 
virtual void doEndStream_ (StreamID id)
 
bool doEvent (EventTransitionInfo const &, ActivityRegistry *, ModuleCallingContext const *)
 
void doPreallocate (PreallocationConfiguration const &)
 
void doRegisterThinnedAssociations (ProductRegistry const &, ThinnedAssociationsHelper &)
 
void doRespondToCloseInputFile (FileBlock const &)
 
void doRespondToCloseOutputFile ()
 
void doRespondToOpenInputFile (FileBlock const &)
 
void doStreamBeginLuminosityBlock (StreamID, LumiTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doStreamBeginLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
void doStreamBeginRun (StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doStreamBeginRun_ (StreamID id, Run const &rp, EventSetup const &c)
 
void doStreamEndLuminosityBlock (StreamID, LumiTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doStreamEndLuminosityBlock_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
virtual void doStreamEndLuminosityBlockSummary_ (StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
 
void doStreamEndRun (StreamID, RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doStreamEndRun_ (StreamID id, Run const &rp, EventSetup const &c)
 
virtual void doStreamEndRunSummary_ (StreamID id, Run const &rp, EventSetup const &c)
 
virtual void endJob ()
 
bool hasAccumulator () const
 
bool hasAcquire () const
 
void preActionBeforeRunEventAsync (WaitingTaskHolder iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
 
virtual void preallocate (PreallocationConfiguration const &)
 
virtual void preallocLumis (unsigned int)
 
virtual void preallocLumisSummary (unsigned int)
 
virtual void preallocRuns (unsigned int)
 
virtual void preallocRunsSummary (unsigned int)
 
virtual void preallocStreams (unsigned int)
 
void registerProductsAndCallbacks (EDAnalyzerBase *module, ProductRegistry *reg)
 
void setModuleDescription (ModuleDescription const &md)
 
std::string workerType () const
 

Private Attributes

std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
 
ModuleDescription moduleDescription_
 
LimitedTaskQueue queue_
 

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

Definition at line 47 of file EDAnalyzerBase.h.

Member Typedef Documentation

◆ ModuleType

Definition at line 53 of file EDAnalyzerBase.h.

Constructor & Destructor Documentation

◆ EDAnalyzerBase()

EDAnalyzerBase::EDAnalyzerBase ( ParameterSet const &  pset)

Definition at line 48 of file EDAnalyzerBase.cc.

49  : moduleDescription_(), queue_(pset.getUntrackedParameter<unsigned int>("concurrencyLimit")) {}
ModuleDescription moduleDescription_

◆ ~EDAnalyzerBase()

EDAnalyzerBase::~EDAnalyzerBase ( )
override

Definition at line 51 of file EDAnalyzerBase.cc.

51 {}

Member Function Documentation

◆ analyze()

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

Referenced by doEvent().

◆ baseType()

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

Definition at line 244 of file EDAnalyzerBase.cc.

References edm::limited::kBaseType().

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

◆ beginJob()

virtual void edm::limited::EDAnalyzerBase::beginJob ( void  )
inlineprivatevirtual

Definition at line 115 of file EDAnalyzerBase.h.

Referenced by doBeginJob().

115 {}

◆ callWhenNewProductsRegistered()

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

Definition at line 72 of file EDAnalyzerBase.h.

References callWhenNewProductsRegistered_, and EcalMonitorTask_cff::func.

72  {
74  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_

◆ clearInputProcessBlockCaches()

void EDAnalyzerBase::clearInputProcessBlockCaches ( )
privatevirtual

Definition at line 224 of file EDAnalyzerBase.cc.

Referenced by doRespondToCloseOutputFile().

224 {}

◆ concurrencyLimit()

unsigned int edm::limited::EDAnalyzerBase::concurrencyLimit ( ) const
inline

Definition at line 76 of file EDAnalyzerBase.h.

References edm::LimitedTaskQueue::concurrencyLimit(), and queue_.

76 { return queue_.concurrencyLimit(); }
unsigned int concurrencyLimit() const

◆ doAccessInputProcessBlock()

void EDAnalyzerBase::doAccessInputProcessBlock ( ProcessBlockPrincipal const &  pbp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 86 of file EDAnalyzerBase.cc.

References doAccessInputProcessBlock_(), moduleDescription_, and edm::ProcessBlock::setConsumer().

86  {
87  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
88  processBlock.setConsumer(this);
89  ProcessBlock const& constProcessBlock = processBlock;
90  this->doAccessInputProcessBlock_(constProcessBlock);
91  }
ModuleDescription moduleDescription_
virtual void doAccessInputProcessBlock_(ProcessBlock const &)

◆ doAccessInputProcessBlock_()

void EDAnalyzerBase::doAccessInputProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 212 of file EDAnalyzerBase.cc.

Referenced by doAccessInputProcessBlock().

212 {}

◆ doBeginJob()

void EDAnalyzerBase::doBeginJob ( )
private

Definition at line 75 of file EDAnalyzerBase.cc.

References beginJob().

75 { this->beginJob(); }

◆ doBeginLuminosityBlock()

void EDAnalyzerBase::doBeginLuminosityBlock ( LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 122 of file EDAnalyzerBase.cc.

References edm::BeginLuminosityBlock, HltBtagPostValidation_cff::c, doBeginLuminosityBlock_(), doBeginLuminosityBlockSummary_(), edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

122  {
123  LuminosityBlock lb(info, moduleDescription_, mcc, false);
124  lb.setConsumer(this);
125  LuminosityBlock const& cnstLb = lb;
126  ESParentContext parentC(mcc);
127  const EventSetup c{info,
128  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
130  parentC};
131  this->doBeginLuminosityBlock_(cnstLb, c);
132  this->doBeginLuminosityBlockSummary_(cnstLb, c);
133  }
static const TGPicture * info(bool iBackgroundIsBlack)
virtual void doBeginLuminosityBlockSummary_(LuminosityBlock const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const

◆ doBeginLuminosityBlock_()

void EDAnalyzerBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 219 of file EDAnalyzerBase.cc.

Referenced by doBeginLuminosityBlock().

219 {}

◆ doBeginLuminosityBlockSummary_()

void EDAnalyzerBase::doBeginLuminosityBlockSummary_ ( LuminosityBlock const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 221 of file EDAnalyzerBase.cc.

Referenced by doBeginLuminosityBlock().

221 {}

◆ doBeginProcessBlock()

void EDAnalyzerBase::doBeginProcessBlock ( ProcessBlockPrincipal const &  pbp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 79 of file EDAnalyzerBase.cc.

References doBeginProcessBlock_(), moduleDescription_, and edm::ProcessBlock::setConsumer().

79  {
80  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
81  processBlock.setConsumer(this);
82  ProcessBlock const& constProcessBlock = processBlock;
83  this->doBeginProcessBlock_(constProcessBlock);
84  }
ModuleDescription moduleDescription_
virtual void doBeginProcessBlock_(ProcessBlock const &)

◆ doBeginProcessBlock_()

void EDAnalyzerBase::doBeginProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 211 of file EDAnalyzerBase.cc.

Referenced by doBeginProcessBlock().

211 {}

◆ doBeginRun()

void EDAnalyzerBase::doBeginRun ( RunTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 100 of file EDAnalyzerBase.cc.

References edm::BeginRun, HltBtagPostValidation_cff::c, doBeginRun_(), doBeginRunSummary_(), edm::EDConsumerBase::esGetTokenIndices(), info(), and moduleDescription_.

100  {
101  Run r(info, moduleDescription_, mcc, false);
102  r.setConsumer(this);
103  Run const& cnstR = r;
104  ESParentContext parentC(mcc);
105  const EventSetup c{
106  info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), parentC};
107  this->doBeginRun_(cnstR, c);
108  this->doBeginRunSummary_(cnstR, c);
109  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void doBeginRunSummary_(Run const &rp, EventSetup const &c)

◆ doBeginRun_()

void EDAnalyzerBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 214 of file EDAnalyzerBase.cc.

Referenced by doBeginRun().

214 {}

◆ doBeginRunSummary_()

void EDAnalyzerBase::doBeginRunSummary_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 216 of file EDAnalyzerBase.cc.

Referenced by doBeginRun().

216 {}

◆ doBeginStream()

void EDAnalyzerBase::doBeginStream ( StreamID  id)
private

Definition at line 148 of file EDAnalyzerBase.cc.

References doBeginStream_().

148 { doBeginStream_(id); }
virtual void doBeginStream_(StreamID id)

◆ doBeginStream_()

void EDAnalyzerBase::doBeginStream_ ( StreamID  id)
privatevirtual

Definition at line 200 of file EDAnalyzerBase.cc.

Referenced by doBeginStream().

200 {}

◆ doEndJob()

void EDAnalyzerBase::doEndJob ( )
private

Definition at line 77 of file EDAnalyzerBase.cc.

References endJob().

77 { this->endJob(); }

◆ doEndLuminosityBlock()

void EDAnalyzerBase::doEndLuminosityBlock ( LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 135 of file EDAnalyzerBase.cc.

References HltBtagPostValidation_cff::c, doEndLuminosityBlock_(), doEndLuminosityBlockSummary_(), edm::EndLuminosityBlock, edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

135  {
136  LuminosityBlock lb(info, moduleDescription_, mcc, true);
137  lb.setConsumer(this);
138  LuminosityBlock const& cnstLb = lb;
139  ESParentContext parentC(mcc);
140  const EventSetup c{info,
141  static_cast<unsigned int>(Transition::EndLuminosityBlock),
143  parentC};
144  this->doEndLuminosityBlockSummary_(cnstLb, c);
145  this->doEndLuminosityBlock_(cnstLb, c);
146  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c)
virtual void doEndLuminosityBlock_(LuminosityBlock const &lb, EventSetup const &c)

◆ doEndLuminosityBlock_()

void EDAnalyzerBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lb,
EventSetup const &  c 
)
privatevirtual

Definition at line 220 of file EDAnalyzerBase.cc.

Referenced by doEndLuminosityBlock().

220 {}

◆ doEndLuminosityBlockSummary_()

void EDAnalyzerBase::doEndLuminosityBlockSummary_ ( LuminosityBlock const &  lb,
EventSetup const &  c 
)
privatevirtual

Definition at line 222 of file EDAnalyzerBase.cc.

Referenced by doEndLuminosityBlock().

222 {}

◆ doEndProcessBlock()

void EDAnalyzerBase::doEndProcessBlock ( ProcessBlockPrincipal const &  pbp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 93 of file EDAnalyzerBase.cc.

References doEndProcessBlock_(), moduleDescription_, and edm::ProcessBlock::setConsumer().

93  {
94  ProcessBlock processBlock(pbp, moduleDescription_, mcc, true);
95  processBlock.setConsumer(this);
96  ProcessBlock const& constProcessBlock = processBlock;
97  this->doEndProcessBlock_(constProcessBlock);
98  }
ModuleDescription moduleDescription_
virtual void doEndProcessBlock_(ProcessBlock const &)

◆ doEndProcessBlock_()

void EDAnalyzerBase::doEndProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 213 of file EDAnalyzerBase.cc.

Referenced by doEndProcessBlock().

213 {}

◆ doEndRun()

void EDAnalyzerBase::doEndRun ( RunTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 111 of file EDAnalyzerBase.cc.

References HltBtagPostValidation_cff::c, doEndRun_(), doEndRunSummary_(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), info(), and moduleDescription_.

111  {
112  Run r(info, moduleDescription_, mcc, true);
113  r.setConsumer(this);
114  Run const& cnstR = r;
115  ESParentContext parentC(mcc);
116  const EventSetup c{
117  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), parentC};
118  this->doEndRunSummary_(r, c);
119  this->doEndRun_(cnstR, c);
120  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void doEndRunSummary_(Run const &rp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void doEndRun_(Run const &rp, EventSetup const &c)

◆ doEndRun_()

void EDAnalyzerBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 215 of file EDAnalyzerBase.cc.

Referenced by doEndRun().

215 {}

◆ doEndRunSummary_()

void EDAnalyzerBase::doEndRunSummary_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 217 of file EDAnalyzerBase.cc.

Referenced by doEndRun().

217 {}

◆ doEndStream()

void EDAnalyzerBase::doEndStream ( StreamID  id)
private

Definition at line 149 of file EDAnalyzerBase.cc.

References doEndStream_().

149 { doEndStream_(id); }
virtual void doEndStream_(StreamID id)

◆ doEndStream_()

void EDAnalyzerBase::doEndStream_ ( StreamID  id)
privatevirtual

Definition at line 201 of file EDAnalyzerBase.cc.

Referenced by doEndStream().

201 {}

◆ doEvent()

bool EDAnalyzerBase::doEvent ( EventTransitionInfo const &  info,
ActivityRegistry act,
ModuleCallingContext const *  mcc 
)
private

Definition at line 53 of file EDAnalyzerBase.cc.

References analyze(), HltBtagPostValidation_cff::c, MillePedeFileConverter_cfg::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, info(), moduleDescription_, and edm::Event::streamID().

55  {
57  e.setConsumer(this);
58  EventSignalsSentry sentry(act, mcc);
59  ESParentContext parentC(mcc);
60  const EventSetup c{
61  info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), parentC};
62  this->analyze(e.streamID(), e, c);
63  return true;
64  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void analyze(StreamID, Event const &, EventSetup const &) const =0
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const

◆ doPreallocate()

void EDAnalyzerBase::doPreallocate ( PreallocationConfiguration const &  iPrealloc)
private

Definition at line 66 of file EDAnalyzerBase.cc.

References edm::PreallocationConfiguration::numberOfLuminosityBlocks(), edm::PreallocationConfiguration::numberOfRuns(), edm::PreallocationConfiguration::numberOfStreams(), preallocate(), preallocLumis(), preallocLumisSummary(), preallocRuns(), preallocRunsSummary(), and preallocStreams().

66  {
67  preallocStreams(iPrealloc.numberOfStreams());
68  preallocRuns(iPrealloc.numberOfRuns());
69  preallocRunsSummary(iPrealloc.numberOfRuns());
70  preallocLumis(iPrealloc.numberOfLuminosityBlocks());
71  preallocLumisSummary(iPrealloc.numberOfLuminosityBlocks());
72  preallocate(iPrealloc);
73  }
virtual void preallocLumisSummary(unsigned int)
virtual void preallocStreams(unsigned int)
virtual void preallocRunsSummary(unsigned int)
virtual void preallocate(PreallocationConfiguration const &)
virtual void preallocRuns(unsigned int)
virtual void preallocLumis(unsigned int)

◆ doRegisterThinnedAssociations()

void edm::limited::EDAnalyzerBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 109 of file EDAnalyzerBase.h.

109 {}

◆ doRespondToCloseInputFile()

void edm::limited::EDAnalyzerBase::doRespondToCloseInputFile ( FileBlock const &  )
inlineprivate

Definition at line 107 of file EDAnalyzerBase.h.

107 {}

◆ doRespondToCloseOutputFile()

void edm::limited::EDAnalyzerBase::doRespondToCloseOutputFile ( )
inlineprivate

Definition at line 108 of file EDAnalyzerBase.h.

References clearInputProcessBlockCaches().

◆ doRespondToOpenInputFile()

void edm::limited::EDAnalyzerBase::doRespondToOpenInputFile ( FileBlock const &  )
inlineprivate

Definition at line 106 of file EDAnalyzerBase.h.

106 {}

◆ doStreamBeginLuminosityBlock()

void EDAnalyzerBase::doStreamBeginLuminosityBlock ( StreamID  id,
LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 167 of file EDAnalyzerBase.cc.

References edm::BeginLuminosityBlock, HltBtagPostValidation_cff::c, doStreamBeginLuminosityBlock_(), edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

169  {
170  LuminosityBlock lb(info, moduleDescription_, mcc, false);
171  lb.setConsumer(this);
172  ESParentContext parentC(mcc);
173  const EventSetup c{info,
174  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
176  parentC};
177  this->doStreamBeginLuminosityBlock_(id, lb, c);
178  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const

◆ doStreamBeginLuminosityBlock_()

void EDAnalyzerBase::doStreamBeginLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 205 of file EDAnalyzerBase.cc.

Referenced by doStreamBeginLuminosityBlock().

205 {}

◆ doStreamBeginRun()

void EDAnalyzerBase::doStreamBeginRun ( StreamID  id,
RunTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 150 of file EDAnalyzerBase.cc.

References edm::BeginRun, HltBtagPostValidation_cff::c, doStreamBeginRun_(), edm::EDConsumerBase::esGetTokenIndices(), info(), and moduleDescription_.

150  {
151  Run r(info, moduleDescription_, mcc, false);
152  r.setConsumer(this);
153  ESParentContext parentC(mcc);
154  const EventSetup c{
155  info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), parentC};
156  this->doStreamBeginRun_(id, r, c);
157  }
static const TGPicture * info(bool iBackgroundIsBlack)
virtual void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const

◆ doStreamBeginRun_()

void EDAnalyzerBase::doStreamBeginRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 202 of file EDAnalyzerBase.cc.

Referenced by doStreamBeginRun().

202 {}

◆ doStreamEndLuminosityBlock()

void EDAnalyzerBase::doStreamEndLuminosityBlock ( StreamID  id,
LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 180 of file EDAnalyzerBase.cc.

References HltBtagPostValidation_cff::c, doStreamEndLuminosityBlock_(), doStreamEndLuminosityBlockSummary_(), edm::EndLuminosityBlock, edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and edm::LuminosityBlock::setConsumer().

182  {
183  LuminosityBlock lb(info, moduleDescription_, mcc, true);
184  lb.setConsumer(this);
185  ESParentContext parentC(mcc);
186  const EventSetup c{info,
187  static_cast<unsigned int>(Transition::EndLuminosityBlock),
189  parentC};
190  this->doStreamEndLuminosityBlock_(id, lb, c);
191  this->doStreamEndLuminosityBlockSummary_(id, lb, c);
192  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)

◆ doStreamEndLuminosityBlock_()

void EDAnalyzerBase::doStreamEndLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 206 of file EDAnalyzerBase.cc.

Referenced by doStreamEndLuminosityBlock().

206 {}

◆ doStreamEndLuminosityBlockSummary_()

void EDAnalyzerBase::doStreamEndLuminosityBlockSummary_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 207 of file EDAnalyzerBase.cc.

Referenced by doStreamEndLuminosityBlock().

209  {}

◆ doStreamEndRun()

void EDAnalyzerBase::doStreamEndRun ( StreamID  id,
RunTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 158 of file EDAnalyzerBase.cc.

References HltBtagPostValidation_cff::c, doStreamEndRun_(), doStreamEndRunSummary_(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), info(), and moduleDescription_.

158  {
159  Run r(info, moduleDescription_, mcc, true);
160  r.setConsumer(this);
161  ESParentContext parentC(mcc);
162  const EventSetup c{
163  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), parentC};
164  this->doStreamEndRun_(id, r, c);
165  this->doStreamEndRunSummary_(id, r, c);
166  }
static const TGPicture * info(bool iBackgroundIsBlack)
ModuleDescription moduleDescription_
virtual void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c)
ESResolverIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c)

◆ doStreamEndRun_()

void EDAnalyzerBase::doStreamEndRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 203 of file EDAnalyzerBase.cc.

Referenced by doStreamEndRun().

203 {}

◆ doStreamEndRunSummary_()

void EDAnalyzerBase::doStreamEndRunSummary_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 204 of file EDAnalyzerBase.cc.

Referenced by doStreamEndRun().

204 {}

◆ endJob()

virtual void edm::limited::EDAnalyzerBase::endJob ( void  )
inlineprivatevirtual

Definition at line 116 of file EDAnalyzerBase.h.

Referenced by doEndJob().

116 {}

◆ fillDescriptions()

void EDAnalyzerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 226 of file EDAnalyzerBase.cc.

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

226  {
228  desc.setUnknown();
229  descriptions.addDefault(desc);
230  }

◆ hasAccumulator()

bool edm::limited::EDAnalyzerBase::hasAccumulator ( ) const
inlineprivate

Definition at line 148 of file EDAnalyzerBase.h.

148 { return false; }

◆ hasAcquire()

bool edm::limited::EDAnalyzerBase::hasAcquire ( ) const
inlineprivate

Definition at line 147 of file EDAnalyzerBase.h.

147 { return false; }

◆ moduleDescription()

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

Definition at line 63 of file EDAnalyzerBase.h.

References moduleDescription_.

63 { return moduleDescription_; }
ModuleDescription moduleDescription_

◆ preActionBeforeRunEventAsync()

void edm::limited::EDAnalyzerBase::preActionBeforeRunEventAsync ( WaitingTaskHolder  iTask,
ModuleCallingContext const &  iModuleCallingContext,
Principal const &  iPrincipal 
) const
inlineprivate

Definition at line 83 of file EDAnalyzerBase.h.

85  {}

◆ preallocate()

void EDAnalyzerBase::preallocate ( PreallocationConfiguration const &  )
privatevirtual

Definition at line 199 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

199 {}

◆ preallocLumis()

void EDAnalyzerBase::preallocLumis ( unsigned  int)
privatevirtual

Definition at line 197 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

197 {}

◆ preallocLumisSummary()

void EDAnalyzerBase::preallocLumisSummary ( unsigned  int)
privatevirtual

Definition at line 198 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

198 {}

◆ preallocRuns()

void EDAnalyzerBase::preallocRuns ( unsigned  int)
privatevirtual

Definition at line 195 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

195 {}

◆ preallocRunsSummary()

void EDAnalyzerBase::preallocRunsSummary ( unsigned  int)
privatevirtual

Definition at line 196 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

196 {}

◆ preallocStreams()

void EDAnalyzerBase::preallocStreams ( unsigned  int)
privatevirtual

Definition at line 194 of file EDAnalyzerBase.cc.

Referenced by doPreallocate().

194 {}

◆ prevalidate()

void EDAnalyzerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 232 of file EDAnalyzerBase.cc.

References edm::edmodule_mightGet_config().

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

◆ queue()

LimitedTaskQueue& edm::limited::EDAnalyzerBase::queue ( )
inline

Definition at line 78 of file EDAnalyzerBase.h.

References queue_.

78 { return queue_; }

◆ registerProductsAndCallbacks()

void EDAnalyzerBase::registerProductsAndCallbacks ( EDAnalyzerBase module,
ProductRegistry reg 
)
private

Definition at line 234 of file EDAnalyzerBase.cc.

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

234  {
236  reg->callForEachBranch(callWhenNewProductsRegistered_);
237 
239  regService->watchProductAdditions(callWhenNewProductsRegistered_);
240  }
241  }
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_

◆ setModuleDescription()

void edm::limited::EDAnalyzerBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 150 of file EDAnalyzerBase.h.

References moduleDescription_.

150 { moduleDescription_ = md; }
ModuleDescription moduleDescription_

◆ wantsGlobalLuminosityBlocks()

virtual bool edm::limited::EDAnalyzerBase::wantsGlobalLuminosityBlocks ( ) const
pure virtual

◆ wantsGlobalRuns()

virtual bool edm::limited::EDAnalyzerBase::wantsGlobalRuns ( ) const
pure virtual

◆ wantsInputProcessBlocks()

virtual bool edm::limited::EDAnalyzerBase::wantsInputProcessBlocks ( ) const
pure virtual

◆ wantsProcessBlocks()

virtual bool edm::limited::EDAnalyzerBase::wantsProcessBlocks ( ) const
pure virtual

◆ wantsStreamLuminosityBlocks()

virtual bool edm::limited::EDAnalyzerBase::wantsStreamLuminosityBlocks ( ) const
pure virtual

◆ wantsStreamRuns()

virtual bool edm::limited::EDAnalyzerBase::wantsStreamRuns ( ) const
pure virtual

◆ workerType()

std::string edm::limited::EDAnalyzerBase::workerType ( ) const
inlineprivate

Definition at line 112 of file EDAnalyzerBase.h.

112 { return "WorkerT<EDAnalyzer>"; }

Friends And Related Function Documentation

◆ edm::maker::ModuleHolderT

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

Definition at line 52 of file EDAnalyzerBase.h.

◆ edm::WorkerT

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

Definition at line 50 of file EDAnalyzerBase.h.

Member Data Documentation

◆ callWhenNewProductsRegistered_

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

◆ moduleDescription_

ModuleDescription edm::limited::EDAnalyzerBase::moduleDescription_
private

◆ queue_

LimitedTaskQueue edm::limited::EDAnalyzerBase::queue_
private

Definition at line 155 of file EDAnalyzerBase.h.

Referenced by concurrencyLimit(), and queue().