CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MixingModule.h
Go to the documentation of this file.
1 #ifndef MixingModule_h
2 #define MixingModule_h
3 
18 
22 
32 
35 #include <vector>
36 #include <string>
37 
41 
42 namespace edm {
43  class AdjusterBase;
44  class ConsumesCollector;
45  class MixingWorkerBase;
46  class ModuleCallingContext;
47  class StreamID;
48 
49  class MixingModule : public BMixingModule {
50  public:
51  typedef std::vector<DigiAccumulatorMixMod*> Accumulators;
52 
54  explicit MixingModule(const edm::ParameterSet& ps, MixingCache::Config const* globalConf);
55 
57  ~MixingModule() override;
58 
59  virtual void beginJob() {}
60 
61  void beginRun(Run const& r1, EventSetup const& c) override;
62 
63  void endRun(Run const& r1, EventSetup const& c) override;
64 
65  void beginLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
66 
67  void endLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
68 
69  void initializeEvent(Event const& event, EventSetup const& setup) override;
70 
71  void accumulateEvent(Event const& event, EventSetup const& setup);
72 
74 
75  void finalizeEvent(Event& event, EventSetup const& setup) override;
76 
77  void reload(const edm::EventSetup&) override;
78 
79  private:
80  virtual void branchesActivate(const std::string& friendlyName,
81  const std::string& subdet,
82  InputTag& tag,
84  void put(edm::Event& e, const edm::EventSetup& es) override;
85  void createnewEDProduct() override;
86  void checkSignal(const edm::Event& e) override;
87  void addSignals(const edm::Event& e, const edm::EventSetup& es) override;
88  void doPileUp(edm::Event& e, const edm::EventSetup& es) override;
89  bool pileAllWorkers(EventPrincipal const& ep,
90  ModuleCallingContext const*,
91  int bcr,
92  int id,
93  int& offset,
94  const edm::EventSetup& setup,
95  edm::StreamID const&);
97 
102 
104  std::vector<AdjusterBase*> adjusters_;
105  std::vector<AdjusterBase*> adjustersObjects_;
106  std::vector<MixingWorkerBase*> workers_;
107  std::vector<MixingWorkerBase*> workersObjects_;
108  std::vector<std::string> wantedBranches_;
112 
113  // Digi-producing algorithms
115  };
116 } // namespace edm
117 
118 #endif
void beginLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
const edm::EventSetup & c
edm::ESGetToken< MixingModuleConfig, MixingRcd > configToken_
Definition: MixingModule.h:103
~MixingModule() override
void createDigiAccumulators(const edm::ParameterSet &mixingPSet, edm::ConsumesCollector &iC)
void addSignals(const edm::Event &e, const edm::EventSetup &es) override
std::vector< AdjusterBase * > adjustersObjects_
Definition: MixingModule.h:105
virtual void beginJob()
Definition: MixingModule.h:59
std::vector< AdjusterBase * > adjusters_
Definition: MixingModule.h:104
std::vector< DigiAccumulatorMixMod * > Accumulators
Definition: MixingModule.h:51
void put(edm::Event &e, const edm::EventSetup &es) override
std::vector< MixingWorkerBase * > workers_
Definition: MixingModule.h:106
char const * label
void reload(const edm::EventSetup &) override
std::string friendlyName(std::string const &iFullName)
void endLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
void checkSignal(const edm::Event &e) override
Accumulators digiAccumulators_
Definition: MixingModule.h:114
void initializeEvent(Event const &event, EventSetup const &setup) override
MixingModule(const edm::ParameterSet &ps, MixingCache::Config const *globalConf)
Definition: MixingModule.cc:41
void beginRun(Run const &r1, EventSetup const &c) override
CrossingFramePlaybackInfoNew * playbackInfo_
Definition: MixingModule.h:101
virtual void branchesActivate(const std::string &friendlyName, const std::string &subdet, InputTag &tag, std::string &label)
bool pileAllWorkers(EventPrincipal const &ep, ModuleCallingContext const *, int bcr, int id, int &offset, const edm::EventSetup &setup, edm::StreamID const &)
std::vector< std::string > wantedBranches_
Definition: MixingModule.h:108
InputTag inputTagPlayback_
Definition: MixingModule.h:98
void accumulateEvent(Event const &event, EventSetup const &setup)
void createnewEDProduct() override
std::vector< MixingWorkerBase * > workersObjects_
Definition: MixingModule.h:107
void finalizeEvent(Event &event, EventSetup const &setup) override
void doPileUp(edm::Event &e, const edm::EventSetup &es) override
Definition: Run.h:45
void endRun(Run const &r1, EventSetup const &c) override