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::EDProducerBase Class Referenceabstract

#include <EDProducerBase.h>

Inheritance diagram for edm::limited::EDProducerBase:
edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper edm::limited::EDProducer< T >

Public Types

typedef EDProducerBase 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
 

Public Member Functions

unsigned int concurrencyLimit () const
 
 EDProducerBase (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
 
 ~EDProducerBase () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Static Public Member Functions

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

Private Member Functions

virtual void beginJob ()
 
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 doBeginLuminosityBlockProduce_ (LuminosityBlock &lbp, EventSetup const &c)
 
virtual void doBeginLuminosityBlockSummary_ (LuminosityBlock const &rp, EventSetup const &c)
 
void doBeginProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void doBeginProcessBlock_ (ProcessBlock const &)
 
virtual void doBeginProcessBlockProduce_ (ProcessBlock &)
 
void doBeginRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doBeginRun_ (Run const &rp, EventSetup const &c)
 
virtual void doBeginRunProduce_ (Run &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 doEndLuminosityBlockProduce_ (LuminosityBlock &lbp, EventSetup const &c)
 
virtual void doEndLuminosityBlockSummary_ (LuminosityBlock const &lb, EventSetup const &c)
 
void doEndProcessBlock (ProcessBlockPrincipal const &, ModuleCallingContext const *)
 
virtual void doEndProcessBlock_ (ProcessBlock const &)
 
virtual void doEndProcessBlockProduce_ (ProcessBlock &)
 
void doEndRun (RunTransitionInfo const &, ModuleCallingContext const *)
 
virtual void doEndRun_ (Run const &rp, EventSetup const &c)
 
virtual void doEndRunProduce_ (Run &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 &fb)
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
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 ()
 
virtual bool hasAccumulator () const
 
bool hasAcquire () const
 
void preActionBeforeRunEventAsync (WaitingTask *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 preallocStreams (unsigned int)
 
virtual void produce (StreamID, Event &, EventSetup const &) const =0
 
void registerProductsAndCallbacks (EDProducerBase *module, ProductRegistry *reg)
 
void setModuleDescription (ModuleDescription const &md)
 
std::string workerType () const
 

Private Attributes

ModuleDescription moduleDescription_
 
std::unique_ptr< ParentageID[]> previousParentageIds_
 
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
 
LimitedTaskQueue queue_
 

Friends

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

Additional Inherited Members

- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 50 of file EDProducerBase.h.

Member Typedef Documentation

◆ ModuleType

Definition at line 56 of file EDProducerBase.h.

Constructor & Destructor Documentation

◆ EDProducerBase()

EDProducerBase::EDProducerBase ( ParameterSet const &  pset)

Definition at line 44 of file EDProducerBase.cc.

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

◆ ~EDProducerBase()

EDProducerBase::~EDProducerBase ( )
override

Definition at line 51 of file EDProducerBase.cc.

51 {}

Member Function Documentation

◆ baseType()

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

Definition at line 260 of file EDProducerBase.cc.

260 { return kBaseType; }

References edm::limited::kBaseType().

◆ beginJob()

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

Definition at line 118 of file EDProducerBase.h.

118 {}

Referenced by doBeginJob().

◆ concurrencyLimit()

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

Definition at line 77 of file EDProducerBase.h.

77 { return queue_.concurrencyLimit(); }

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

◆ doAccessInputProcessBlock()

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

Definition at line 92 of file EDProducerBase.cc.

92  {
93  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
94  processBlock.setConsumer(this);
95  ProcessBlock const& constProcessBlock = processBlock;
96  this->doAccessInputProcessBlock_(constProcessBlock);
97  }

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

◆ doAccessInputProcessBlock_()

void EDProducerBase::doAccessInputProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 231 of file EDProducerBase.cc.

231 {}

Referenced by doAccessInputProcessBlock().

◆ doBeginJob()

void EDProducerBase::doBeginJob ( )
private

Definition at line 78 of file EDProducerBase.cc.

78 { this->beginJob(); }

References beginJob().

◆ doBeginLuminosityBlock()

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

◆ doBeginLuminosityBlock_()

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

Definition at line 238 of file EDProducerBase.cc.

238 {}

Referenced by doBeginLuminosityBlock().

◆ doBeginLuminosityBlockProduce_()

void EDProducerBase::doBeginLuminosityBlockProduce_ ( LuminosityBlock lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 247 of file EDProducerBase.cc.

247 {}

Referenced by doBeginLuminosityBlock().

◆ doBeginLuminosityBlockSummary_()

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

Definition at line 240 of file EDProducerBase.cc.

240 {}

Referenced by doBeginLuminosityBlock().

◆ doBeginProcessBlock()

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

Definition at line 82 of file EDProducerBase.cc.

82  {
83  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
84  processBlock.setConsumer(this);
85  ProcessBlock const& constProcessBlock = processBlock;
86  this->doBeginProcessBlock_(constProcessBlock);
87  processBlock.setProducer(this);
88  this->doBeginProcessBlockProduce_(processBlock);
89  commit_(processBlock);
90  }

References edm::ProducerBase::commit_(), doBeginProcessBlock_(), doBeginProcessBlockProduce_(), moduleDescription_, edm::ProcessBlock::setConsumer(), and edm::ProcessBlock::setProducer().

◆ doBeginProcessBlock_()

void EDProducerBase::doBeginProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 230 of file EDProducerBase.cc.

230 {}

Referenced by doBeginProcessBlock().

◆ doBeginProcessBlockProduce_()

void EDProducerBase::doBeginProcessBlockProduce_ ( ProcessBlock )
privatevirtual

Definition at line 243 of file EDProducerBase.cc.

243 {}

Referenced by doBeginProcessBlock().

◆ doBeginRun()

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

Definition at line 109 of file EDProducerBase.cc.

109  {
110  Run r(info, moduleDescription_, mcc, false);
111  r.setConsumer(this);
112  Run const& cnstR = r;
113  const EventSetup c{
114  info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
115  this->doBeginRun_(cnstR, c);
116  this->doBeginRunSummary_(cnstR, c);
117  r.setProducer(this);
118  this->doBeginRunProduce_(r, c);
119  commit_(r);
120  }

References edm::BeginRun, HltBtagPostValidation_cff::c, edm::ProducerBase::commit_(), doBeginRun_(), doBeginRunProduce_(), doBeginRunSummary_(), edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and alignCSCRings::r.

◆ doBeginRun_()

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

Definition at line 233 of file EDProducerBase.cc.

233 {}

Referenced by doBeginRun().

◆ doBeginRunProduce_()

void EDProducerBase::doBeginRunProduce_ ( Run rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 245 of file EDProducerBase.cc.

245 {}

Referenced by doBeginRun().

◆ doBeginRunSummary_()

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

Definition at line 235 of file EDProducerBase.cc.

235 {}

Referenced by doBeginRun().

◆ doBeginStream()

void EDProducerBase::doBeginStream ( StreamID  id)
private

Definition at line 165 of file EDProducerBase.cc.

165 { doBeginStream_(id); }

References doBeginStream_().

◆ doBeginStream_()

void EDProducerBase::doBeginStream_ ( StreamID  id)
privatevirtual

Definition at line 219 of file EDProducerBase.cc.

219 {}

Referenced by doBeginStream().

◆ doEndJob()

void EDProducerBase::doEndJob ( )
private

Definition at line 80 of file EDProducerBase.cc.

80 { this->endJob(); }

References endJob().

◆ doEndLuminosityBlock()

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

◆ doEndLuminosityBlock_()

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

Definition at line 239 of file EDProducerBase.cc.

239 {}

Referenced by doEndLuminosityBlock().

◆ doEndLuminosityBlockProduce_()

void EDProducerBase::doEndLuminosityBlockProduce_ ( LuminosityBlock lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 248 of file EDProducerBase.cc.

248 {}

Referenced by doEndLuminosityBlock().

◆ doEndLuminosityBlockSummary_()

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

Definition at line 241 of file EDProducerBase.cc.

241 {}

Referenced by doEndLuminosityBlock().

◆ doEndProcessBlock()

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

Definition at line 99 of file EDProducerBase.cc.

99  {
100  ProcessBlock processBlock(pbp, moduleDescription_, mcc, true);
101  processBlock.setConsumer(this);
102  ProcessBlock const& constProcessBlock = processBlock;
103  this->doEndProcessBlock_(constProcessBlock);
104  processBlock.setProducer(this);
105  this->doEndProcessBlockProduce_(processBlock);
106  commit_(processBlock);
107  }

References edm::ProducerBase::commit_(), doEndProcessBlock_(), doEndProcessBlockProduce_(), moduleDescription_, edm::ProcessBlock::setConsumer(), and edm::ProcessBlock::setProducer().

◆ doEndProcessBlock_()

void EDProducerBase::doEndProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 232 of file EDProducerBase.cc.

232 {}

Referenced by doEndProcessBlock().

◆ doEndProcessBlockProduce_()

void EDProducerBase::doEndProcessBlockProduce_ ( ProcessBlock )
privatevirtual

Definition at line 244 of file EDProducerBase.cc.

244 {}

Referenced by doEndProcessBlock().

◆ doEndRun()

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

Definition at line 122 of file EDProducerBase.cc.

122  {
123  Run r(info, moduleDescription_, mcc, true);
124  r.setConsumer(this);
125  r.setProducer(this);
126  Run const& cnstR = r;
127  const EventSetup c{
128  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
129  this->doEndRunSummary_(r, c);
130  this->doEndRunProduce_(r, c);
131  this->doEndRun_(cnstR, c);
132  commit_(r);
133  }

References HltBtagPostValidation_cff::c, edm::ProducerBase::commit_(), doEndRun_(), doEndRunProduce_(), doEndRunSummary_(), edm::EndRun, edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, and alignCSCRings::r.

◆ doEndRun_()

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

Definition at line 234 of file EDProducerBase.cc.

234 {}

Referenced by doEndRun().

◆ doEndRunProduce_()

void EDProducerBase::doEndRunProduce_ ( Run rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 246 of file EDProducerBase.cc.

246 {}

Referenced by doEndRun().

◆ doEndRunSummary_()

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

Definition at line 236 of file EDProducerBase.cc.

236 {}

Referenced by doEndRun().

◆ doEndStream()

void EDProducerBase::doEndStream ( StreamID  id)
private

Definition at line 166 of file EDProducerBase.cc.

166 { doEndStream_(id); }

References doEndStream_().

◆ doEndStream_()

void EDProducerBase::doEndStream_ ( StreamID  id)
privatevirtual

Definition at line 220 of file EDProducerBase.cc.

220 {}

Referenced by doEndStream().

◆ doEvent()

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

Definition at line 53 of file EDProducerBase.cc.

55  {
57  e.setConsumer(this);
58  const auto streamIndex = e.streamID().value();
59  e.setProducer(this, &previousParentages_[streamIndex]);
60  EventSignalsSentry sentry(act, mcc);
61  const EventSetup c{
62  info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), false};
63  this->produce(e.streamID(), e, c);
64  commit_(e, &previousParentageIds_[streamIndex]);
65  return true;
66  }

References HltBtagPostValidation_cff::c, edm::ProducerBase::commit_(), MillePedeFileConverter_cfg::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, info(), moduleDescription_, previousParentageIds_, previousParentages_, produce(), and edm::Event::streamID().

◆ doPreallocate()

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

Definition at line 68 of file EDProducerBase.cc.

68  {
69  auto const nStreams = iPrealloc.numberOfStreams();
70  previousParentages_ = std::make_unique<std::vector<BranchID>[]>(nStreams);
71  previousParentageIds_ = std::make_unique<ParentageID[]>(nStreams);
73  preallocLumis(iPrealloc.numberOfLuminosityBlocks());
74  preallocLumisSummary(iPrealloc.numberOfLuminosityBlocks());
75  preallocate(iPrealloc);
76  }

References runTheMatrix::nStreams, edm::PreallocationConfiguration::numberOfLuminosityBlocks(), edm::PreallocationConfiguration::numberOfStreams(), preallocate(), preallocLumis(), preallocLumisSummary(), preallocStreams(), previousParentageIds_, and previousParentages_.

◆ doRegisterThinnedAssociations()

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

Definition at line 105 of file EDProducerBase.h.

105 {}

◆ doRespondToCloseInputFile()

void EDProducerBase::doRespondToCloseInputFile ( FileBlock const &  fb)
private

Definition at line 211 of file EDProducerBase.cc.

211  {
212  //respondToCloseInputFile(fb);
213  }

◆ doRespondToOpenInputFile()

void EDProducerBase::doRespondToOpenInputFile ( FileBlock const &  fb)
private

Definition at line 207 of file EDProducerBase.cc.

207  {
208  //respondToOpenInputFile(fb);
209  }

◆ doStreamBeginLuminosityBlock()

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

◆ doStreamBeginLuminosityBlock_()

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

Definition at line 224 of file EDProducerBase.cc.

224 {}

Referenced by doStreamBeginLuminosityBlock().

◆ doStreamBeginRun()

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

Definition at line 167 of file EDProducerBase.cc.

167  {
168  Run r(info, moduleDescription_, mcc, false);
169  r.setConsumer(this);
170  const EventSetup c{
171  info, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun), false};
172  this->doStreamBeginRun_(id, r, c);
173  }

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

◆ doStreamBeginRun_()

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

Definition at line 221 of file EDProducerBase.cc.

221 {}

Referenced by doStreamBeginRun().

◆ doStreamEndLuminosityBlock()

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

◆ doStreamEndLuminosityBlock_()

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

Definition at line 225 of file EDProducerBase.cc.

225 {}

Referenced by doStreamEndLuminosityBlock().

◆ doStreamEndLuminosityBlockSummary_()

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

Definition at line 226 of file EDProducerBase.cc.

228  {}

Referenced by doStreamEndLuminosityBlock().

◆ doStreamEndRun()

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

Definition at line 174 of file EDProducerBase.cc.

174  {
175  Run r(info, moduleDescription_, mcc, true);
176  r.setConsumer(this);
177  const EventSetup c{
178  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), false};
179  this->doStreamEndRun_(id, r, c);
180  this->doStreamEndRunSummary_(id, r, c);
181  }

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

◆ doStreamEndRun_()

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

Definition at line 222 of file EDProducerBase.cc.

222 {}

Referenced by doStreamEndRun().

◆ doStreamEndRunSummary_()

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

Definition at line 223 of file EDProducerBase.cc.

223 {}

Referenced by doStreamEndRun().

◆ endJob()

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

Definition at line 119 of file EDProducerBase.h.

119 {}

Referenced by doEndJob().

◆ fillDescriptions()

void EDProducerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 250 of file EDProducerBase.cc.

250  {
252  desc.setUnknown();
253  descriptions.addDefault(desc);
254  }

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

◆ hasAccumulator()

virtual bool edm::limited::EDProducerBase::hasAccumulator ( ) const
inlineprivatevirtual

Definition at line 153 of file EDProducerBase.h.

153 { return false; }

◆ hasAcquire()

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

Definition at line 155 of file EDProducerBase.h.

155 { return false; }

◆ moduleDescription()

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

Definition at line 68 of file EDProducerBase.h.

68 { return moduleDescription_; }

References moduleDescription_.

◆ preActionBeforeRunEventAsync()

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

Definition at line 114 of file EDProducerBase.h.

116  {}

◆ preallocate()

void EDProducerBase::preallocate ( PreallocationConfiguration const &  )
privatevirtual

Definition at line 218 of file EDProducerBase.cc.

218 {}

Referenced by doPreallocate().

◆ preallocLumis()

void EDProducerBase::preallocLumis ( unsigned int  )
privatevirtual

Definition at line 216 of file EDProducerBase.cc.

216 {}

Referenced by doPreallocate().

◆ preallocLumisSummary()

void EDProducerBase::preallocLumisSummary ( unsigned int  )
privatevirtual

Definition at line 217 of file EDProducerBase.cc.

217 {}

Referenced by doPreallocate().

◆ preallocStreams()

void EDProducerBase::preallocStreams ( unsigned int  )
privatevirtual

Definition at line 215 of file EDProducerBase.cc.

215 {}

Referenced by doPreallocate().

◆ prevalidate()

void EDProducerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 256 of file EDProducerBase.cc.

256 { edmodule_mightGet_config(iConfig); }

References edm::edmodule_mightGet_config().

◆ produce()

virtual void edm::limited::EDProducerBase::produce ( StreamID  ,
Event ,
EventSetup const &   
) const
privatepure virtual

Referenced by doEvent().

◆ queue()

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

Definition at line 79 of file EDProducerBase.h.

79 { return queue_; }

References queue_.

◆ registerProductsAndCallbacks()

void edm::limited::EDProducerBase::registerProductsAndCallbacks ( EDProducerBase module,
ProductRegistry reg 
)
inlineprivate

Definition at line 107 of file EDProducerBase.h.

107  {
108  registerProducts(module, reg, moduleDescription_);
109  }

References moduleDescription_, and edm::ProducerBase::registerProducts().

◆ setModuleDescription()

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

Definition at line 157 of file EDProducerBase.h.

157 { moduleDescription_ = md; }

References moduleDescription_.

◆ wantsGlobalLuminosityBlocks()

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

◆ wantsGlobalRuns()

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

◆ wantsInputProcessBlocks()

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

◆ wantsProcessBlocks()

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

◆ wantsStreamLuminosityBlocks()

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

◆ wantsStreamRuns()

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

◆ workerType()

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

Definition at line 110 of file EDProducerBase.h.

110 { return "WorkerT<EDProducer>"; }

Friends And Related Function Documentation

◆ edm::GlobalSchedule

friend class edm::GlobalSchedule
friend

Definition at line 58 of file EDProducerBase.h.

◆ edm::maker::ModuleHolderT

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

Definition at line 53 of file EDProducerBase.h.

◆ edm::WorkerT

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

Definition at line 55 of file EDProducerBase.h.

Member Data Documentation

◆ moduleDescription_

ModuleDescription edm::limited::EDProducerBase::moduleDescription_
private

◆ previousParentageIds_

std::unique_ptr<ParentageID[]> edm::limited::EDProducerBase::previousParentageIds_
private

Definition at line 160 of file EDProducerBase.h.

Referenced by doEvent(), and doPreallocate().

◆ previousParentages_

std::unique_ptr<std::vector<BranchID>[]> edm::limited::EDProducerBase::previousParentages_
private

Definition at line 159 of file EDProducerBase.h.

Referenced by doEvent(), and doPreallocate().

◆ queue_

LimitedTaskQueue edm::limited::EDProducerBase::queue_
private

Definition at line 161 of file EDProducerBase.h.

Referenced by concurrencyLimit(), and queue().

edm::limited::EDProducerBase::doStreamEndLuminosityBlock_
virtual void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:225
edm::limited::EDProducerBase::doStreamEndRunSummary_
virtual void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:223
edm::limited::EDProducerBase::endJob
virtual void endJob()
Definition: EDProducerBase.h:119
edm::limited::EDProducerBase::doEndRunSummary_
virtual void doEndRunSummary_(Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:236
edm::ProducerBase::ProducerBase
ProducerBase()
Definition: ProducerBase.cc:16
edm::Transition::Event
edm::ProducerBase::commit_
void commit_(P &iPrincipal)
Definition: ProducerBase.h:120
edm::limited::EDProducerBase::doAccessInputProcessBlock_
virtual void doAccessInputProcessBlock_(ProcessBlock const &)
Definition: EDProducerBase.cc:231
info
static const TGPicture * info(bool iBackgroundIsBlack)
Definition: FWCollectionSummaryWidget.cc:153
edm::limited::EDProducerBase::doEndProcessBlockProduce_
virtual void doEndProcessBlockProduce_(ProcessBlock &)
Definition: EDProducerBase.cc:244
edm::limited::EDProducerBase::previousParentageIds_
std::unique_ptr< ParentageID[]> previousParentageIds_
Definition: EDProducerBase.h:160
edm::limited::EDProducerBase::preallocLumisSummary
virtual void preallocLumisSummary(unsigned int)
Definition: EDProducerBase.cc:217
edm::limited::EDProducerBase::preallocLumis
virtual void preallocLumis(unsigned int)
Definition: EDProducerBase.cc:216
edm::limited::EDProducerBase::doEndLuminosityBlockSummary_
virtual void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c)
Definition: EDProducerBase.cc:241
runTheMatrix.nStreams
nStreams
Definition: runTheMatrix.py:356
edm::limited::EDProducerBase::produce
virtual void produce(StreamID, Event &, EventSetup const &) const =0
edm::limited::EDProducerBase::doBeginLuminosityBlock_
virtual void doBeginLuminosityBlock_(LuminosityBlock const &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:238
edm::limited::EDProducerBase::queue_
LimitedTaskQueue queue_
Definition: EDProducerBase.h:161
edm::limited::EDProducerBase::doEndLuminosityBlock_
virtual void doEndLuminosityBlock_(LuminosityBlock const &lb, EventSetup const &c)
Definition: EDProducerBase.cc:239
LuminosityBlock
edm::limited::EDProducerBase::moduleDescription_
ModuleDescription moduleDescription_
Definition: EDProducerBase.h:158
Event
edm::Transition::BeginLuminosityBlock
edm::limited::EDProducerBase::doBeginProcessBlockProduce_
virtual void doBeginProcessBlockProduce_(ProcessBlock &)
Definition: EDProducerBase.cc:243
edm::limited::EDProducerBase::beginJob
virtual void beginJob()
Definition: EDProducerBase.h:118
edm::LimitedTaskQueue::concurrencyLimit
unsigned int concurrencyLimit() const
Definition: LimitedTaskQueue.h:118
edm::limited::EDProducerBase::doBeginRunProduce_
virtual void doBeginRunProduce_(Run &rp, EventSetup const &c)
Definition: EDProducerBase.cc:245
edm::limited::EDProducerBase::doStreamEndLuminosityBlockSummary_
virtual void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:226
edm::limited::EDProducerBase::doEndStream_
virtual void doEndStream_(StreamID id)
Definition: EDProducerBase.cc:220
edm::limited::EDProducerBase::preallocStreams
virtual void preallocStreams(unsigned int)
Definition: EDProducerBase.cc:215
edm::limited::kBaseType
static const std::string kBaseType("EDAnalyzer")
edm::limited::EDProducerBase::doEndRunProduce_
virtual void doEndRunProduce_(Run &rp, EventSetup const &c)
Definition: EDProducerBase.cc:246
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::limited::EDProducerBase::previousParentages_
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
Definition: EDProducerBase.h:159
edm::limited::EDProducerBase::preallocate
virtual void preallocate(PreallocationConfiguration const &)
Definition: EDProducerBase.cc:218
edm::limited::EDProducerBase::doBeginRun_
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:233
edm::limited::EDProducerBase::doBeginLuminosityBlockProduce_
virtual void doBeginLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:247
edm::limited::EDProducerBase::doEndProcessBlock_
virtual void doEndProcessBlock_(ProcessBlock const &)
Definition: EDProducerBase.cc:232
alignCSCRings.r
r
Definition: alignCSCRings.py:93
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::Transition::EndLuminosityBlock
edm::limited::EDProducerBase::doBeginRunSummary_
virtual void doBeginRunSummary_(Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:235
edm::EDConsumerBase::esGetTokenIndices
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
Definition: EDConsumerBase.h:118
edm::Transition::BeginRun
ParameterSetDescription
edm::limited::EDProducerBase::doStreamEndRun_
virtual void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:222
edm::edmodule_mightGet_config
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
Definition: edmodule_mightGet_config.cc:36
edm::limited::EDProducerBase::doEndRun_
virtual void doEndRun_(Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:234
EventSetup
edm::limited::EDProducerBase::doBeginLuminosityBlockSummary_
virtual void doBeginLuminosityBlockSummary_(LuminosityBlock const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:240
edm::limited::EDProducerBase::doEndLuminosityBlockProduce_
virtual void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:248
edm::ProducerBase::registerProducts
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
Definition: ProducerBase.cc:57
edm::limited::EDProducerBase::doBeginProcessBlock_
virtual void doBeginProcessBlock_(ProcessBlock const &)
Definition: EDProducerBase.cc:230
edm::Transition::EndRun
edm::limited::EDProducerBase::doBeginStream_
virtual void doBeginStream_(StreamID id)
Definition: EDProducerBase.cc:219
edm::limited::EDProducerBase::doStreamBeginLuminosityBlock_
virtual void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
Definition: EDProducerBase.cc:224
edm::limited::EDProducerBase::doStreamBeginRun_
virtual void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c)
Definition: EDProducerBase.cc:221
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
Run