CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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 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 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 &)
 
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 ()
 
virtual 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 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
ProducesCollector producesCollector ()
 
- 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< B > consumes (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 () noexcept
 
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...
 
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 50 of file EDProducerBase.h.

Member Typedef Documentation

Definition at line 56 of file EDProducerBase.h.

Constructor & Destructor Documentation

EDProducerBase::EDProducerBase ( ParameterSet const &  pset)

Definition at line 45 of file EDProducerBase.cc.

46  : ProducerBase(),
50  queue_(pset.getUntrackedParameter<unsigned int>("concurrencyLimit")) {}
ModuleDescription moduleDescription_
std::unique_ptr< ParentageID[]> previousParentageIds_
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
EDProducerBase::~EDProducerBase ( )
override

Definition at line 52 of file EDProducerBase.cc.

52 {}

Member Function Documentation

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

Definition at line 274 of file EDProducerBase.cc.

References edm::limited::kBaseType().

274 { return kBaseType; }
static const std::string kBaseType("EDAnalyzer")
virtual void edm::limited::EDProducerBase::beginJob ( void  )
inlineprivatevirtual

Definition at line 119 of file EDProducerBase.h.

Referenced by doBeginJob().

119 {}
void EDProducerBase::clearInputProcessBlockCaches ( )
privatevirtual

Definition at line 262 of file EDProducerBase.cc.

Referenced by doRespondToCloseOutputFile().

262 {}
unsigned int edm::limited::EDProducerBase::concurrencyLimit ( ) const
inline

Definition at line 77 of file EDProducerBase.h.

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

77 { return queue_.concurrencyLimit(); }
unsigned int concurrencyLimit() const
void EDProducerBase::doAccessInputProcessBlock ( ProcessBlockPrincipal const &  pbp,
ModuleCallingContext const *  mcc 
)
private

Definition at line 94 of file EDProducerBase.cc.

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

94  {
95  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
96  processBlock.setConsumer(this);
97  ProcessBlock const& constProcessBlock = processBlock;
98  this->doAccessInputProcessBlock_(constProcessBlock);
99  }
ModuleDescription moduleDescription_
virtual void doAccessInputProcessBlock_(ProcessBlock const &)
void EDProducerBase::doAccessInputProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 243 of file EDProducerBase.cc.

Referenced by doAccessInputProcessBlock().

243 {}
void EDProducerBase::doBeginJob ( )
private

Definition at line 80 of file EDProducerBase.cc.

References beginJob().

80 { this->beginJob(); }
void EDProducerBase::doBeginLuminosityBlock ( LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 142 of file EDProducerBase.cc.

References edm::BeginLuminosityBlock, c, edm::ProducerBase::commit_(), doBeginLuminosityBlock_(), doBeginLuminosityBlockProduce_(), doBeginLuminosityBlockSummary_(), edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, edm::LuminosityBlock::setConsumer(), and edm::LuminosityBlock::setProducer().

142  {
143  LuminosityBlock lb(info, moduleDescription_, mcc, false);
144  lb.setConsumer(this);
145  LuminosityBlock const& cnstLb = lb;
146  ESParentContext parentC(mcc);
147  const EventSetup c{info,
148  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
150  parentC,
151  false};
152  this->doBeginLuminosityBlock_(cnstLb, c);
153  this->doBeginLuminosityBlockSummary_(cnstLb, c);
154  lb.setProducer(this);
156  commit_(lb);
157  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
ModuleDescription moduleDescription_
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 commit_(P &iPrincipal)
Definition: ProducerBase.h:121
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doBeginLuminosityBlock_ ( LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 250 of file EDProducerBase.cc.

Referenced by doBeginLuminosityBlock().

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

Definition at line 259 of file EDProducerBase.cc.

Referenced by doBeginLuminosityBlock().

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

Definition at line 252 of file EDProducerBase.cc.

Referenced by doBeginLuminosityBlock().

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

Definition at line 84 of file EDProducerBase.cc.

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

84  {
85  ProcessBlock processBlock(pbp, moduleDescription_, mcc, false);
86  processBlock.setConsumer(this);
87  ProcessBlock const& constProcessBlock = processBlock;
88  this->doBeginProcessBlock_(constProcessBlock);
89  processBlock.setProducer(this);
90  this->doBeginProcessBlockProduce_(processBlock);
91  commit_(processBlock);
92  }
ModuleDescription moduleDescription_
virtual void doBeginProcessBlockProduce_(ProcessBlock &)
virtual void doBeginProcessBlock_(ProcessBlock const &)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
void EDProducerBase::doBeginProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 242 of file EDProducerBase.cc.

Referenced by doBeginProcessBlock().

242 {}
void EDProducerBase::doBeginProcessBlockProduce_ ( ProcessBlock )
privatevirtual

Definition at line 255 of file EDProducerBase.cc.

Referenced by doBeginProcessBlock().

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

Definition at line 111 of file EDProducerBase.cc.

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

111  {
112  Run r(info, moduleDescription_, mcc, false);
113  r.setConsumer(this);
114  Run const& cnstR = r;
115  ESParentContext parentC(mcc);
116  const EventSetup c{info,
117  static_cast<unsigned int>(Transition::BeginRun),
119  parentC,
120  false};
121  this->doBeginRun_(cnstR, c);
122  this->doBeginRunSummary_(cnstR, c);
123  r.setProducer(this);
124  this->doBeginRunProduce_(r, c);
125  commit_(r);
126  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doBeginRun_(Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
virtual void doBeginRunSummary_(Run const &rp, EventSetup const &c)
virtual void doBeginRunProduce_(Run &rp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doBeginRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 245 of file EDProducerBase.cc.

Referenced by doBeginRun().

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

Definition at line 257 of file EDProducerBase.cc.

Referenced by doBeginRun().

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

Definition at line 247 of file EDProducerBase.cc.

Referenced by doBeginRun().

247 {}
void EDProducerBase::doBeginStream ( StreamID  id)
private

Definition at line 176 of file EDProducerBase.cc.

References doBeginStream_().

176 { doBeginStream_(id); }
virtual void doBeginStream_(StreamID id)
void EDProducerBase::doBeginStream_ ( StreamID  id)
privatevirtual

Definition at line 231 of file EDProducerBase.cc.

Referenced by doBeginStream().

231 {}
void EDProducerBase::doEndJob ( )
private

Definition at line 82 of file EDProducerBase.cc.

References endJob().

82 { this->endJob(); }
void EDProducerBase::doEndLuminosityBlock ( LumiTransitionInfo const &  info,
ModuleCallingContext const *  mcc 
)
private

Definition at line 159 of file EDProducerBase.cc.

References c, edm::ProducerBase::commit_(), doEndLuminosityBlock_(), doEndLuminosityBlockProduce_(), doEndLuminosityBlockSummary_(), edm::EndLuminosityBlock, edm::EDConsumerBase::esGetTokenIndices(), info(), moduleDescription_, edm::LuminosityBlock::setConsumer(), and edm::LuminosityBlock::setProducer().

159  {
160  LuminosityBlock lb(info, moduleDescription_, mcc, true);
161  lb.setConsumer(this);
162  lb.setProducer(this);
163  LuminosityBlock const& cnstLb = lb;
164  ESParentContext parentC(mcc);
165  const EventSetup c{info,
166  static_cast<unsigned int>(Transition::EndLuminosityBlock),
168  parentC,
169  false};
170  this->doEndLuminosityBlockSummary_(cnstLb, c);
171  this->doEndLuminosityBlockProduce_(lb, c);
172  this->doEndLuminosityBlock_(cnstLb, c);
173  commit_(lb);
174  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doEndLuminosityBlock_(LuminosityBlock const &lb, EventSetup const &c)
ModuleDescription moduleDescription_
virtual void doEndLuminosityBlockSummary_(LuminosityBlock const &lb, EventSetup const &c)
virtual void doEndLuminosityBlockProduce_(LuminosityBlock &lbp, EventSetup const &c)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doEndLuminosityBlock_ ( LuminosityBlock const &  lb,
EventSetup const &  c 
)
privatevirtual

Definition at line 251 of file EDProducerBase.cc.

Referenced by doEndLuminosityBlock().

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

Definition at line 260 of file EDProducerBase.cc.

Referenced by doEndLuminosityBlock().

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

Definition at line 253 of file EDProducerBase.cc.

Referenced by doEndLuminosityBlock().

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

Definition at line 101 of file EDProducerBase.cc.

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

101  {
102  ProcessBlock processBlock(pbp, moduleDescription_, mcc, true);
103  processBlock.setConsumer(this);
104  ProcessBlock const& constProcessBlock = processBlock;
105  this->doEndProcessBlock_(constProcessBlock);
106  processBlock.setProducer(this);
107  this->doEndProcessBlockProduce_(processBlock);
108  commit_(processBlock);
109  }
ModuleDescription moduleDescription_
virtual void doEndProcessBlockProduce_(ProcessBlock &)
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
virtual void doEndProcessBlock_(ProcessBlock const &)
void EDProducerBase::doEndProcessBlock_ ( ProcessBlock const &  )
privatevirtual

Definition at line 244 of file EDProducerBase.cc.

Referenced by doEndProcessBlock().

244 {}
void EDProducerBase::doEndProcessBlockProduce_ ( ProcessBlock )
privatevirtual

Definition at line 256 of file EDProducerBase.cc.

Referenced by doEndProcessBlock().

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

Definition at line 128 of file EDProducerBase.cc.

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

128  {
129  Run r(info, moduleDescription_, mcc, true);
130  r.setConsumer(this);
131  r.setProducer(this);
132  Run const& cnstR = r;
133  ESParentContext parentC(mcc);
134  const EventSetup c{
135  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), parentC, false};
136  this->doEndRunSummary_(r, c);
137  this->doEndRunProduce_(r, c);
138  this->doEndRun_(cnstR, c);
139  commit_(r);
140  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doEndRunSummary_(Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
virtual void doEndRunProduce_(Run &rp, EventSetup const &c)
virtual void doEndRun_(Run const &rp, EventSetup const &c)
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doEndRun_ ( Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 246 of file EDProducerBase.cc.

Referenced by doEndRun().

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

Definition at line 258 of file EDProducerBase.cc.

Referenced by doEndRun().

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

Definition at line 248 of file EDProducerBase.cc.

Referenced by doEndRun().

248 {}
void EDProducerBase::doEndStream ( StreamID  id)
private

Definition at line 177 of file EDProducerBase.cc.

References doEndStream_().

177 { doEndStream_(id); }
virtual void doEndStream_(StreamID id)
void EDProducerBase::doEndStream_ ( StreamID  id)
privatevirtual

Definition at line 232 of file EDProducerBase.cc.

Referenced by doEndStream().

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

Definition at line 54 of file EDProducerBase.cc.

References c, edm::ProducerBase::commit_(), alignCSCRings::e, edm::EDConsumerBase::esGetTokenIndices(), edm::Event, info(), moduleDescription_, previousParentageIds_, previousParentages_, produce(), edm::Event::setConsumer(), edm::Event::setProducer(), edm::Event::streamID(), and edm::StreamID::value().

56  {
58  e.setConsumer(this);
59  const auto streamIndex = e.streamID().value();
60  e.setProducer(this, &previousParentages_[streamIndex]);
61  EventSignalsSentry sentry(act, mcc);
62  ESParentContext parentC(mcc);
63  const EventSetup c{
64  info, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event), parentC, false};
65  this->produce(e.streamID(), e, c);
66  commit_(e, &previousParentageIds_[streamIndex]);
67  return true;
68  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
ModuleDescription moduleDescription_
std::unique_ptr< ParentageID[]> previousParentageIds_
virtual void produce(StreamID, Event &, EventSetup const &) const =0
void commit_(P &iPrincipal)
Definition: ProducerBase.h:121
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doPreallocate ( PreallocationConfiguration const &  iPrealloc)
private

Definition at line 70 of file EDProducerBase.cc.

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

70  {
71  auto const nStreams = iPrealloc.numberOfStreams();
72  previousParentages_ = std::make_unique<std::vector<BranchID>[]>(nStreams);
73  previousParentageIds_ = std::make_unique<ParentageID[]>(nStreams);
74  preallocStreams(nStreams);
75  preallocLumis(iPrealloc.numberOfLuminosityBlocks());
76  preallocLumisSummary(iPrealloc.numberOfLuminosityBlocks());
77  preallocate(iPrealloc);
78  }
virtual void preallocLumis(unsigned int)
std::unique_ptr< ParentageID[]> previousParentageIds_
virtual void preallocate(PreallocationConfiguration const &)
virtual void preallocStreams(unsigned int)
std::unique_ptr< std::vector< BranchID >[]> previousParentages_
virtual void preallocLumisSummary(unsigned int)
void edm::limited::EDProducerBase::doRegisterThinnedAssociations ( ProductRegistry const &  ,
ThinnedAssociationsHelper  
)
inlineprivate

Definition at line 106 of file EDProducerBase.h.

106 {}
void edm::limited::EDProducerBase::doRespondToCloseInputFile ( FileBlock const &  )
inlineprivate

Definition at line 104 of file EDProducerBase.h.

104 {}
void edm::limited::EDProducerBase::doRespondToCloseOutputFile ( )
inlineprivate

Definition at line 105 of file EDProducerBase.h.

References clearInputProcessBlockCaches().

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

Definition at line 103 of file EDProducerBase.h.

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

Definition at line 198 of file EDProducerBase.cc.

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

200  {
201  LuminosityBlock lb(info, moduleDescription_, mcc, false);
202  lb.setConsumer(this);
203  ESParentContext parentC(mcc);
204  const EventSetup c{info,
205  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
207  parentC,
208  false};
209  this->doStreamBeginLuminosityBlock_(id, lb, c);
210  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doStreamBeginLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ModuleDescription moduleDescription_
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doStreamBeginLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 236 of file EDProducerBase.cc.

Referenced by doStreamBeginLuminosityBlock().

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

Definition at line 178 of file EDProducerBase.cc.

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

178  {
179  Run r(info, moduleDescription_, mcc, false);
180  r.setConsumer(this);
181  ESParentContext parentC(mcc);
182  const EventSetup c{info,
183  static_cast<unsigned int>(Transition::BeginRun),
185  parentC,
186  false};
187  this->doStreamBeginRun_(id, r, c);
188  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doStreamBeginRun_(StreamID id, Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doStreamBeginRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 233 of file EDProducerBase.cc.

Referenced by doStreamBeginRun().

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

Definition at line 212 of file EDProducerBase.cc.

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

214  {
215  LuminosityBlock lb(info, moduleDescription_, mcc, true);
216  lb.setConsumer(this);
217  ESParentContext parentC(mcc);
218  const EventSetup c{info,
219  static_cast<unsigned int>(Transition::EndLuminosityBlock),
221  parentC,
222  false};
223  this->doStreamEndLuminosityBlock_(id, lb, c);
224  this->doStreamEndLuminosityBlockSummary_(id, lb, c);
225  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
ModuleDescription moduleDescription_
virtual void doStreamEndLuminosityBlockSummary_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
virtual void doStreamEndLuminosityBlock_(StreamID id, LuminosityBlock const &lbp, EventSetup const &c)
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doStreamEndLuminosityBlock_ ( StreamID  id,
LuminosityBlock const &  lbp,
EventSetup const &  c 
)
privatevirtual

Definition at line 237 of file EDProducerBase.cc.

Referenced by doStreamEndLuminosityBlock().

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

Definition at line 238 of file EDProducerBase.cc.

Referenced by doStreamEndLuminosityBlock().

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

Definition at line 189 of file EDProducerBase.cc.

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

189  {
190  Run r(info, moduleDescription_, mcc, true);
191  r.setConsumer(this);
192  ESParentContext parentC(mcc);
193  const EventSetup c{
194  info, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun), parentC, false};
195  this->doStreamEndRun_(id, r, c);
196  this->doStreamEndRunSummary_(id, r, c);
197  }
static const TGPicture * info(bool iBackgroundIsBlack)
const edm::EventSetup & c
virtual void doStreamEndRunSummary_(StreamID id, Run const &rp, EventSetup const &c)
virtual void doStreamEndRun_(StreamID id, Run const &rp, EventSetup const &c)
ModuleDescription moduleDescription_
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
void EDProducerBase::doStreamEndRun_ ( StreamID  id,
Run const &  rp,
EventSetup const &  c 
)
privatevirtual

Definition at line 234 of file EDProducerBase.cc.

Referenced by doStreamEndRun().

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

Definition at line 235 of file EDProducerBase.cc.

Referenced by doStreamEndRun().

235 {}
virtual void edm::limited::EDProducerBase::endJob ( void  )
inlineprivatevirtual

Definition at line 120 of file EDProducerBase.h.

Referenced by doEndJob().

120 {}
void EDProducerBase::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 264 of file EDProducerBase.cc.

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

264  {
266  desc.setUnknown();
267  descriptions.addDefault(desc);
268  }
virtual bool edm::limited::EDProducerBase::hasAccumulator ( ) const
inlineprivatevirtual

Definition at line 155 of file EDProducerBase.h.

155 { return false; }
bool edm::limited::EDProducerBase::hasAcquire ( ) const
inlineprivate

Definition at line 157 of file EDProducerBase.h.

157 { return false; }
ModuleDescription const& edm::limited::EDProducerBase::moduleDescription ( ) const
inline

Definition at line 68 of file EDProducerBase.h.

References moduleDescription_.

68 { return moduleDescription_; }
ModuleDescription moduleDescription_
void edm::limited::EDProducerBase::preActionBeforeRunEventAsync ( WaitingTaskHolder  iTask,
ModuleCallingContext const &  iModuleCallingContext,
Principal const &  iPrincipal 
) const
inlineprivate

Definition at line 115 of file EDProducerBase.h.

117  {}
void EDProducerBase::preallocate ( PreallocationConfiguration const &  )
privatevirtual

Definition at line 230 of file EDProducerBase.cc.

Referenced by doPreallocate().

230 {}
void EDProducerBase::preallocLumis ( unsigned  int)
privatevirtual

Definition at line 228 of file EDProducerBase.cc.

Referenced by doPreallocate().

228 {}
void EDProducerBase::preallocLumisSummary ( unsigned  int)
privatevirtual

Definition at line 229 of file EDProducerBase.cc.

Referenced by doPreallocate().

229 {}
void EDProducerBase::preallocStreams ( unsigned  int)
privatevirtual

Definition at line 227 of file EDProducerBase.cc.

Referenced by doPreallocate().

227 {}
void EDProducerBase::prevalidate ( ConfigurationDescriptions descriptions)
static

Definition at line 270 of file EDProducerBase.cc.

References edm::edmodule_mightGet_config().

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

Referenced by doEvent().

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

Definition at line 79 of file EDProducerBase.h.

References queue_.

79 { return queue_; }
void edm::limited::EDProducerBase::registerProductsAndCallbacks ( EDProducerBase module,
ProductRegistry reg 
)
inlineprivate

Definition at line 108 of file EDProducerBase.h.

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

108  {
109  registerProducts(module, reg, moduleDescription_);
110  }
void registerProducts(ProducerBase *, ProductRegistry *, ModuleDescription const &)
Definition: ProducerBase.cc:57
ModuleDescription moduleDescription_
void edm::limited::EDProducerBase::setModuleDescription ( ModuleDescription const &  md)
inlineprivate

Definition at line 159 of file EDProducerBase.h.

References moduleDescription_.

159 { moduleDescription_ = md; }
ModuleDescription moduleDescription_
virtual bool edm::limited::EDProducerBase::wantsGlobalLuminosityBlocks ( ) const
pure virtual
virtual bool edm::limited::EDProducerBase::wantsGlobalRuns ( ) const
pure virtual
virtual bool edm::limited::EDProducerBase::wantsInputProcessBlocks ( ) const
pure virtual
virtual bool edm::limited::EDProducerBase::wantsProcessBlocks ( ) const
pure virtual
virtual bool edm::limited::EDProducerBase::wantsStreamLuminosityBlocks ( ) const
pure virtual
virtual bool edm::limited::EDProducerBase::wantsStreamRuns ( ) const
pure virtual
std::string edm::limited::EDProducerBase::workerType ( ) const
inlineprivate

Definition at line 111 of file EDProducerBase.h.

111 { return "WorkerT<EDProducer>"; }

Friends And Related Function Documentation

friend class edm::GlobalSchedule
friend

Definition at line 58 of file EDProducerBase.h.

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

Definition at line 53 of file EDProducerBase.h.

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

Definition at line 55 of file EDProducerBase.h.

Member Data Documentation

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

Definition at line 162 of file EDProducerBase.h.

Referenced by doEvent(), and doPreallocate().

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

Definition at line 161 of file EDProducerBase.h.

Referenced by doEvent(), and doPreallocate().

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

Definition at line 163 of file EDProducerBase.h.

Referenced by concurrencyLimit(), and queue().