CMS 3D CMS Logo

EDProducer.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 
3 
4 ----------------------------------------------------------------------*/
5 
13 
16 
18 
19 namespace edm {
20  EDProducer::EDProducer() : ProducerBase(), moduleDescription_(), previousParentage_(), previousParentageId_() {
22  }
23 
25 
27  EventSetupImpl const& ci,
28  ActivityRegistry* act,
29  ModuleCallingContext const* mcc) {
30  Event e(ep, moduleDescription_, mcc);
31  e.setConsumer(this);
34  EventSignalsSentry sentry(act, mcc);
35  const EventSetup c{ci, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event)};
36  this->produce(e, c);
38  return true;
39  }
40 
42  std::vector<std::string> res = {SharedResourcesRegistry::kLegacyModuleResourceName};
44  this->beginJob();
45  }
46 
47  void EDProducer::doEndJob() { this->endJob(); }
48 
50  Run r(rp, moduleDescription_, mcc, false);
51  r.setConsumer(this);
52  Run const& cnstR = r;
53  const EventSetup c{ci, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun)};
54  this->beginRun(cnstR, c);
55  commit_(r);
56  }
57 
58  void EDProducer::doEndRun(RunPrincipal const& rp, EventSetupImpl const& ci, ModuleCallingContext const* mcc) {
59  Run r(rp, moduleDescription_, mcc, true);
60  r.setConsumer(this);
61  Run const& cnstR = r;
62  const EventSetup c{ci, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun)};
63  this->endRun(cnstR, c);
64  commit_(r);
65  }
66 
68  EventSetupImpl const& ci,
69  ModuleCallingContext const* mcc) {
70  LuminosityBlock lb(lbp, moduleDescription_, mcc, false);
71  lb.setConsumer(this);
72  LuminosityBlock const& cnstLb = lb;
73  const EventSetup c{ci,
74  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
76  this->beginLuminosityBlock(cnstLb, c);
77  commit_(lb);
78  }
79 
81  EventSetupImpl const& ci,
82  ModuleCallingContext const* mcc) {
83  LuminosityBlock lb(lbp, moduleDescription_, mcc, true);
84  lb.setConsumer(this);
85  const EventSetup c{ci,
86  static_cast<unsigned int>(Transition::EndLuminosityBlock),
88  LuminosityBlock const& cnstLb = lb;
89  this->endLuminosityBlock(cnstLb, c);
90  commit_(lb);
91  }
92 
94 
96 
99  desc.setUnknown();
100  descriptions.addDefault(desc);
101  }
102 
104 
105  static const std::string kBaseType("EDProducer");
106 
108 } // namespace edm
virtual void endJob()
Definition: EDProducer.h:96
virtual void beginRun(Run const &, EventSetup const &)
Definition: EDProducer.h:98
void setConsumer(EDConsumerBase const *iConsumer)
void doEndRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:58
void doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:67
static const std::string & baseType()
Definition: EDProducer.cc:107
SharedResourcesAcquirer createAcquirer(std::vector< std::string > const &) const
virtual void respondToCloseInputFile(FileBlock const &)
Definition: EDProducer.h:103
~EDProducer() override
Definition: EDProducer.cc:24
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Event.cc:37
virtual void beginJob()
Definition: EDProducer.h:95
ParentageID previousParentageId_
Definition: EDProducer.h:114
Definition: Electron.h:6
std::vector< BranchID > previousParentage_
Definition: EDProducer.h:110
void addDefault(ParameterSetDescription const &psetDescription)
void doBeginJob()
Definition: EDProducer.cc:41
static SharedResourcesRegistry * instance()
void doBeginRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:49
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDProducer.h:101
static void prevalidate(ConfigurationDescriptions &descriptions)
Definition: EDProducer.cc:103
void doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:80
ModuleDescription moduleDescription_
Definition: EDProducer.h:109
bool doEvent(EventPrincipal const &ep, EventSetupImpl const &c, ActivityRegistry *act, ModuleCallingContext const *mcc)
Definition: EDProducer.cc:26
void registerSharedResource(const std::string &)
A resource name must be registered before it can be used in the createAcquirer call.
void setProducer(ProducerBase const *iProd, std::vector< BranchID > *previousParentage, std::vector< BranchID > *gotBranchIDsFromAcquire=0)
Definition: Event.cc:55
static const std::string kLegacyModuleResourceName
All legacy modules share this resource.
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDProducer.cc:97
virtual void endRun(Run const &, EventSetup const &)
Definition: EDProducer.h:99
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDProducer.h:100
static const std::string kBaseType("EDAnalyzer")
void setSharedResourcesAcquirer(SharedResourcesAcquirer *iResourceAcquirer)
Definition: Event.cc:43
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: EDProducer.cc:93
HLT enums.
SharedResourcesAcquirer resourceAcquirer_
Definition: EDProducer.h:111
void commit_(P &iPrincipal)
Definition: ProducerBase.h:111
virtual void respondToOpenInputFile(FileBlock const &)
Definition: EDProducer.h:102
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Run.h:51
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: EDProducer.cc:95
Definition: Run.h:45
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const
virtual void produce(Event &, EventSetup const &)=0