CMS 3D CMS Logo

EDAnalyzer.cc
Go to the documentation of this file.
1 /*----------------------------------------------------------------------
2 
3 
4 ----------------------------------------------------------------------*/
5 
14 
16 
19 
21 
23 
24 namespace edm {
28  }
29 
31  EventSetupImpl const& ci,
32  ActivityRegistry* act,
33  ModuleCallingContext const* mcc) {
34  Event e(ep, moduleDescription_, mcc);
35  e.setConsumer(this);
37  EventSignalsSentry sentry(act, mcc);
38  const EventSetup c{ci, static_cast<unsigned int>(Transition::Event), esGetTokenIndices(Transition::Event)};
39  this->analyze(e, c);
40  return true;
41  }
42 
44  std::vector<std::string> res = {SharedResourcesRegistry::kLegacyModuleResourceName};
46 
47  this->beginJob();
48  }
49 
50  void EDAnalyzer::doEndJob() { this->endJob(); }
51 
53  Run r(rp, moduleDescription_, mcc, false);
54  r.setConsumer(this);
55  const EventSetup c{ci, static_cast<unsigned int>(Transition::BeginRun), esGetTokenIndices(Transition::BeginRun)};
56  this->beginRun(r, c);
57  return true;
58  }
59 
60  bool EDAnalyzer::doEndRun(RunPrincipal const& rp, EventSetupImpl const& ci, ModuleCallingContext const* mcc) {
61  Run r(rp, moduleDescription_, mcc, true);
62  r.setConsumer(this);
63  const EventSetup c{ci, static_cast<unsigned int>(Transition::EndRun), esGetTokenIndices(Transition::EndRun)};
64  this->endRun(r, c);
65  return true;
66  }
67 
69  EventSetupImpl const& ci,
70  ModuleCallingContext const* mcc) {
71  LuminosityBlock lb(lbp, moduleDescription_, mcc, false);
72  lb.setConsumer(this);
73  const EventSetup c{ci,
74  static_cast<unsigned int>(Transition::BeginLuminosityBlock),
76  this->beginLuminosityBlock(lb, c);
77  return true;
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  this->endLuminosityBlock(lb, c);
89  return true;
90  }
91 
93 
95 
98  }
99 
102  desc.setUnknown();
103  descriptions.addDefault(desc);
104  }
105 
107 
111 
113  regService->watchProductAdditions(callWhenNewProductsRegistered_);
114  }
115  }
116 
117  static const std::string kBaseType("EDAnalyzer");
119 } // namespace edm
virtual void beginJob()
Definition: EDAnalyzer.h:89
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDAnalyzer.h:94
void setConsumer(EDConsumerBase const *iConsumer)
bool doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:80
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: EDAnalyzer.cc:92
virtual void respondToCloseInputFile(FileBlock const &)
Definition: EDAnalyzer.h:96
virtual void analyze(Event const &, EventSetup const &)=0
SharedResourcesAcquirer createAcquirer(std::vector< std::string > const &) const
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzer.cc:100
bool doBeginRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:52
virtual void beginRun(Run const &, EventSetup const &)
Definition: EDAnalyzer.h:91
bool doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:68
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Event.cc:37
SharedResourcesAcquirer resourceAcquirer_
Definition: EDAnalyzer.h:103
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDAnalyzer.h:93
~EDAnalyzer() override
Definition: EDAnalyzer.cc:25
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: EDAnalyzer.cc:94
static const std::string & baseType()
Definition: EDAnalyzer.cc:118
Definition: Electron.h:6
static void prevalidate(ConfigurationDescriptions &)
Definition: EDAnalyzer.cc:106
void addDefault(ParameterSetDescription const &psetDescription)
void doBeginJob()
Definition: EDAnalyzer.cc:43
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
Definition: EDAnalyzer.h:108
static SharedResourcesRegistry * instance()
bool doEndRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:60
void edmodule_mightGet_config(ConfigurationDescriptions &iDesc)
bool doEvent(EventPrincipal const &ep, EventSetupImpl const &c, ActivityRegistry *act, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:30
virtual void endJob()
Definition: EDAnalyzer.h:90
ModuleDescription moduleDescription_
Definition: EDAnalyzer.h:102
void callForEachBranch(T const &iFunc)
virtual void respondToOpenInputFile(FileBlock const &)
Definition: EDAnalyzer.h:95
void registerSharedResource(const std::string &)
A resource name must be registered before it can be used in the createAcquirer call.
static const std::string kLegacyModuleResourceName
All legacy modules share this resource.
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: EDAnalyzer.cc:96
virtual void endRun(Run const &, EventSetup const &)
Definition: EDAnalyzer.h:92
static const std::string kBaseType("EDAnalyzer")
void setSharedResourcesAcquirer(SharedResourcesAcquirer *iResourceAcquirer)
Definition: Event.cc:43
HLT enums.
void registerProductsAndCallbacks(EDAnalyzer const *, ProductRegistry *reg)
Definition: EDAnalyzer.cc:108
void setConsumer(EDConsumerBase const *iConsumer)
Definition: Run.h:51
Definition: Run.h:45
ESProxyIndex const * esGetTokenIndices(edm::Transition iTrans) const