CMS 3D CMS Logo

EDAnalyzer.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_EDAnalyzer_h
2 #define FWCore_Framework_EDAnalyzer_h
3 
10 
11 #include <string>
12 
13 // EDAnalyzer is the base class for all analyzer "modules".
14 
15 namespace edm {
16 
17  class ModuleCallingContext;
18  class PreallocationConfiguration;
19  class ActivityRegistry;
20  class ProductRegistry;
21  class ThinnedAssociationsHelper;
22  class WaitingTask;
23 
24  namespace maker {
25  template <typename T>
27  }
28 
29  class EDAnalyzer : public EDConsumerBase {
30  public:
31  template <typename T>
32  friend class maker::ModuleHolderT;
33  template <typename T>
34  friend class WorkerT;
36 
37  EDAnalyzer();
38  ~EDAnalyzer() override;
39 
40  std::string workerType() const { return "WorkerT<EDAnalyzer>"; }
41 
42  static void fillDescriptions(ConfigurationDescriptions& descriptions);
43  static const std::string& baseType();
45 
46  // Warning: the returned moduleDescription will be invalid during construction
48 
49  static bool wantsGlobalRuns() { return true; }
50  static bool wantsGlobalLuminosityBlocks() { return true; }
51  static bool wantsStreamRuns() { return false; }
52  static bool wantsStreamLuminosityBlocks() { return false; };
53 
55 
58 
59  private:
60  bool doEvent(EventPrincipal const& ep,
61  EventSetupImpl const& c,
62  ActivityRegistry* act,
63  ModuleCallingContext const* mcc);
64  //Needed by Worker but not something supported
66  ModuleCallingContext const& iModuleCallingContext,
67  Principal const& iPrincipal) const {}
68 
70  void doBeginJob();
71  void doEndJob();
72  bool doBeginRun(RunPrincipal const& rp, EventSetupImpl const& c, ModuleCallingContext const* mcc);
73  bool doEndRun(RunPrincipal const& rp, EventSetupImpl const& c, ModuleCallingContext const* mcc);
75  EventSetupImpl const& c,
76  ModuleCallingContext const* mcc);
78  EventSetupImpl const& c,
79  ModuleCallingContext const* mcc);
83 
85 
87 
88  virtual void analyze(Event const&, EventSetup const&) = 0;
89  virtual void beginJob() {}
90  virtual void endJob() {}
91  virtual void beginRun(Run const&, EventSetup const&) {}
92  virtual void endRun(Run const&, EventSetup const&) {}
93  virtual void beginLuminosityBlock(LuminosityBlock const&, EventSetup const&) {}
94  virtual void endLuminosityBlock(LuminosityBlock const&, EventSetup const&) {}
95  virtual void respondToOpenInputFile(FileBlock const&) {}
96  virtual void respondToCloseInputFile(FileBlock const&) {}
97 
98  bool hasAcquire() const { return false; }
99  bool hasAccumulator() const { return false; }
100 
104 
107 
109  };
110 } // namespace edm
111 
112 #endif
edm::EDAnalyzer::doRespondToOpenInputFile
void doRespondToOpenInputFile(FileBlock const &fb)
Definition: EDAnalyzer.cc:95
edm::SharedResourcesAcquirer
Definition: SharedResourcesAcquirer.h:34
edm::EDAnalyzer::doEndJob
void doEndJob()
Definition: EDAnalyzer.cc:50
edm::EDAnalyzer::setModuleDescription
void setModuleDescription(ModuleDescription const &md)
Definition: EDAnalyzer.h:101
edm::EDAnalyzer::sharedResourcesAcquirer
SharedResourcesAcquirer & sharedResourcesAcquirer()
Definition: EDAnalyzer.h:86
edm::EDAnalyzer::beginJob
virtual void beginJob()
Definition: EDAnalyzer.h:89
edm::EDAnalyzer::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: EDAnalyzer.cc:103
edm::EDAnalyzer::doBeginRun
bool doBeginRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:52
ActivityRegistry
edm::EventSetupImpl
Definition: EventSetupImpl.h:44
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
edm::EDAnalyzer::analyze
virtual void analyze(Event const &, EventSetup const &)=0
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::EDAnalyzer::runQueue_
SerialTaskQueue runQueue_
Definition: EDAnalyzer.h:105
edm::EDAnalyzer::doEndLuminosityBlock
bool doEndLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:82
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::EDAnalyzer::respondToCloseInputFile
virtual void respondToCloseInputFile(FileBlock const &)
Definition: EDAnalyzer.h:96
edm::Principal
Definition: Principal.h:57
edm::SerialTaskQueue
Definition: SerialTaskQueue.h:67
edm::EDAnalyzer::~EDAnalyzer
~EDAnalyzer() override
Definition: EDAnalyzer.cc:25
edm::EDAnalyzer::EDAnalyzer
EDAnalyzer()
Definition: EDAnalyzer.cc:26
edm::EDAnalyzer::doRespondToCloseInputFile
void doRespondToCloseInputFile(FileBlock const &fb)
Definition: EDAnalyzer.cc:97
edm::WorkerT
Definition: Frameworkfwd.h:54
edm::EDAnalyzer::baseType
static const std::string & baseType()
Definition: EDAnalyzer.cc:121
edm::ModuleDescription
Definition: ModuleDescription.h:21
edm::EDAnalyzer::doBeginLuminosityBlock
bool doBeginLuminosityBlock(LuminosityBlockPrincipal const &lbp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:69
edm::EDAnalyzer
Definition: EDAnalyzer.h:29
edm::ProductRegistry
Definition: ProductRegistry.h:34
ModuleDescription.h
edm::EDAnalyzer::resourceAcquirer_
SharedResourcesAcquirer resourceAcquirer_
Definition: EDAnalyzer.h:103
edm::EDAnalyzer::beginLuminosityBlock
virtual void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDAnalyzer.h:93
edm::FileBlock
Definition: FileBlock.h:20
SharedResourcesAcquirer.h
edm::EDConsumerBase
Definition: EDConsumerBase.h:62
edm::EDAnalyzer::endJob
virtual void endJob()
Definition: EDAnalyzer.h:90
edm::EventPrincipal
Definition: EventPrincipal.h:46
SerialTaskQueue.h
edm::EDAnalyzer::hasAcquire
bool hasAcquire() const
Definition: EDAnalyzer.h:98
WaitingTask
edm::EDAnalyzer::hasAccumulator
bool hasAccumulator() const
Definition: EDAnalyzer.h:99
edm::EDAnalyzer::beginRun
virtual void beginRun(Run const &, EventSetup const &)
Definition: EDAnalyzer.h:91
edm::EDAnalyzer::workerType
std::string workerType() const
Definition: EDAnalyzer.h:40
edm::ActivityRegistry
Definition: ActivityRegistry.h:132
edm::maker::ModuleHolderT
Definition: EDAnalyzer.h:26
edm::EDAnalyzer::doPreallocate
void doPreallocate(PreallocationConfiguration const &)
Definition: EDAnalyzer.h:69
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::EDAnalyzer::doEndRun
bool doEndRun(RunPrincipal const &rp, EventSetupImpl const &c, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:61
edm::EDAnalyzer::wantsStreamLuminosityBlocks
static bool wantsStreamLuminosityBlocks()
Definition: EDAnalyzer.h:52
edm::ThinnedAssociationsHelper
Definition: ThinnedAssociationsHelper.h:35
edm::EDAnalyzer::prevalidate
static void prevalidate(ConfigurationDescriptions &)
Definition: EDAnalyzer.cc:109
edm::EDAnalyzer::preActionBeforeRunEventAsync
void preActionBeforeRunEventAsync(WaitingTask *iTask, ModuleCallingContext const &iModuleCallingContext, Principal const &iPrincipal) const
Definition: EDAnalyzer.h:65
edm::EDAnalyzer::respondToOpenInputFile
virtual void respondToOpenInputFile(FileBlock const &)
Definition: EDAnalyzer.h:95
EDConsumerBase.h
edm::EDAnalyzer::doBeginJob
void doBeginJob()
Definition: EDAnalyzer.cc:43
edm::EDAnalyzer::callWhenNewProductsRegistered_
std::function< void(BranchDescription const &)> callWhenNewProductsRegistered_
Definition: EDAnalyzer.h:108
edm::EDAnalyzer::endRun
virtual void endRun(Run const &, EventSetup const &)
Definition: EDAnalyzer.h:92
edm::EDAnalyzer::wantsGlobalLuminosityBlocks
static bool wantsGlobalLuminosityBlocks()
Definition: EDAnalyzer.h:50
edm::EDAnalyzer::ModuleType
EDAnalyzer ModuleType
Definition: EDAnalyzer.h:35
edm::EDAnalyzer::moduleDescription
ModuleDescription const & moduleDescription() const
Definition: EDAnalyzer.h:47
edm::EventSetup
Definition: EventSetup.h:57
edm::EDAnalyzer::doEvent
bool doEvent(EventPrincipal const &ep, EventSetupImpl const &c, ActivityRegistry *act, ModuleCallingContext const *mcc)
Definition: EDAnalyzer.cc:30
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
TrackCollections2monitor_cff.func
func
Definition: TrackCollections2monitor_cff.py:359
edm::EDAnalyzer::globalLuminosityBlocksQueue
SerialTaskQueue * globalLuminosityBlocksQueue()
Definition: EDAnalyzer.h:57
edm::EDAnalyzer::moduleDescription_
ModuleDescription moduleDescription_
Definition: EDAnalyzer.h:102
edm::PreallocationConfiguration
Definition: PreallocationConfiguration.h:27
edm::WaitingTask
Definition: WaitingTask.h:36
Frameworkfwd.h
edm::EDAnalyzer::luminosityBlockQueue_
SerialTaskQueue luminosityBlockQueue_
Definition: EDAnalyzer.h:106
edm::EDAnalyzer::callWhenNewProductsRegistered
void callWhenNewProductsRegistered(std::function< void(BranchDescription const &)> const &func)
Definition: EDAnalyzer.cc:99
edm::EDAnalyzer::globalRunsQueue
SerialTaskQueue * globalRunsQueue()
Definition: EDAnalyzer.h:56
HiBiasedCentrality_cfi.function
function
Definition: HiBiasedCentrality_cfi.py:4
ParameterSetfwd.h
edm::EDAnalyzer::registerProductsAndCallbacks
void registerProductsAndCallbacks(EDAnalyzer const *, ProductRegistry *reg)
Definition: EDAnalyzer.cc:111
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:29
edm::BranchDescription
Definition: BranchDescription.h:32
edm::EDAnalyzer::doRegisterThinnedAssociations
void doRegisterThinnedAssociations(ProductRegistry const &, ThinnedAssociationsHelper &)
Definition: EDAnalyzer.h:82
edm::EDAnalyzer::endLuminosityBlock
virtual void endLuminosityBlock(LuminosityBlock const &, EventSetup const &)
Definition: EDAnalyzer.h:94
edm::EDAnalyzer::wantsGlobalRuns
static bool wantsGlobalRuns()
Definition: EDAnalyzer.h:49
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::Event
Definition: Event.h:73
edm::EDAnalyzer::wantsStreamRuns
static bool wantsStreamRuns()
Definition: EDAnalyzer.h:51
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
benchmark_cfg.fb
fb
Definition: benchmark_cfg.py:14
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29