CMS 3D CMS Logo

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 
103  std::vector<AdjusterBase*> adjusters_;
104  std::vector<AdjusterBase*> adjustersObjects_;
105  std::vector<MixingWorkerBase*> workers_;
106  std::vector<MixingWorkerBase*> workersObjects_;
107  std::vector<std::string> wantedBranches_;
111 
112  // Digi-producing algorithms
114  };
115 } // namespace edm
116 
117 #endif
edm::StreamID
Definition: StreamID.h:30
Handle.h
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
edm::Run
Definition: Run.h:45
edm::MixingModule::reload
void reload(const edm::EventSetup &) override
Definition: MixingModule.cc:290
edm
HLT enums.
Definition: AlignableModifier.h:19
CrossingFrame.h
PSimHitContainer.h
PileUpEventPrincipal
Definition: PileUpEventPrincipal.h:19
edm::MixingModule::doPileUp
void doPileUp(edm::Event &e, const edm::EventSetup &es) override
Definition: MixingModule.cc:401
edm::BMixingModule
Definition: BMixingModule.h:40
edm::MixingModule::playbackInfo_
CrossingFramePlaybackInfoNew * playbackInfo_
Definition: MixingModule.h:101
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
edm::MixingModule::wrapLongTimes_
bool wrapLongTimes_
Definition: MixingModule.h:109
edm::MixingModule::createnewEDProduct
void createnewEDProduct() override
Definition: MixingModule.cc:334
edm::MixingModule::endRun
void endRun(Run const &r1, EventSetup const &c) override
Definition: MixingModule.cc:643
edm::MixingModule::endLuminosityBlock
void endLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
Definition: MixingModule.cc:661
CrossingFramePlaybackInfoNew
Definition: CrossingFramePlaybackInfoNew.h:22
edm::MixingModule::mixProdStep2_
bool mixProdStep2_
Definition: MixingModule.h:99
edm::MixingModule::initializeEvent
void initializeEvent(Event const &event, EventSetup const &setup) override
Definition: MixingModule.cc:670
Track.h
edm::EventPrincipal
Definition: EventPrincipal.h:46
TrackFwd.h
edm::MixingModule::MixingModule
MixingModule(const edm::ParameterSet &ps, MixingCache::Config const *globalConf)
Definition: MixingModule.cc:41
edm::MixingModule::checkSignal
void checkSignal(const edm::Event &e) override
Definition: MixingModule.cc:317
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
edm::MixingModule::wantedBranches_
std::vector< std::string > wantedBranches_
Definition: MixingModule.h:107
edm::MixingModule::Accumulators
std::vector< DigiAccumulatorMixMod * > Accumulators
Definition: MixingModule.h:51
ProductID.h
edm::MixingModule::inputTagPlayback_
InputTag inputTagPlayback_
Definition: MixingModule.h:98
edm::MixingModule::createDigiAccumulators
void createDigiAccumulators(const edm::ParameterSet &mixingPSet, edm::ConsumesCollector &iC)
Definition: MixingModule.cc:273
DigiAccumulatorMixMod
Definition: DigiAccumulatorMixMod.h:41
edm::MixingModule::workersObjects_
std::vector< MixingWorkerBase * > workersObjects_
Definition: MixingModule.h:106
edm::MixingModule::branchesActivate
virtual void branchesActivate(const std::string &friendlyName, const std::string &subdet, InputTag &tag, std::string &label)
Definition: MixingModule.cc:303
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::MixingModule::useCurrentProcessOnly_
bool useCurrentProcessOnly_
Definition: MixingModule.h:108
edm::MixingModule::skipSignal_
bool skipSignal_
Definition: MixingModule.h:110
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
edm::MixingCache::Config
Definition: BMixingModule.h:29
edm::MixingModule::beginJob
virtual void beginJob()
Definition: MixingModule.h:59
edm::friendlyname::friendlyName
std::string friendlyName(std::string const &iFullName)
Definition: FriendlyName.cc:278
edm::MixingModule::adjusters_
std::vector< AdjusterBase * > adjusters_
Definition: MixingModule.h:103
edm::MixingModule::put
void put(edm::Event &e, const edm::EventSetup &es) override
Definition: MixingModule.cc:627
edm::EventSetup
Definition: EventSetup.h:58
edm::MixingModule::accumulateEvent
void accumulateEvent(Event const &event, EventSetup const &setup)
Definition: MixingModule.cc:678
edm::MixingModule::~MixingModule
~MixingModule() override
Definition: MixingModule.cc:344
edm::MixingModule::workers_
std::vector< MixingWorkerBase * > workers_
Definition: MixingModule.h:105
edm::MixingModule::beginRun
void beginRun(Run const &r1, EventSetup const &c) override
Definition: MixingModule.cc:634
InputTag.h
edm::MixingModule::pileAllWorkers
bool pileAllWorkers(EventPrincipal const &ep, ModuleCallingContext const *, int bcr, int id, int &offset, const edm::EventSetup &setup, edm::StreamID const &)
Definition: MixingModule.cc:372
edm::MixingModule::mixProdStep1_
bool mixProdStep1_
Definition: MixingModule.h:100
MixingWorkerBase
edm::MixingModule::addSignals
void addSignals(const edm::Event &e, const edm::EventSetup &es) override
Definition: MixingModule.cc:358
edm::MixingModule::adjustersObjects_
std::vector< AdjusterBase * > adjustersObjects_
Definition: MixingModule.h:104
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
edm::MixingModule::digiAccumulators_
Accumulators digiAccumulators_
Definition: MixingModule.h:113
edm::MixingModule::finalizeEvent
void finalizeEvent(Event &event, EventSetup const &setup) override
Definition: MixingModule.cc:696
PCaloHitContainer.h
PileupMixingContent.h
ParameterSet.h
HepMCProduct.h
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
event
Definition: event.py:1
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
edm::Event
Definition: Event.h:73
BMixingModule.h
edm::MixingModule::beginLuminosityBlock
void beginLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
Definition: MixingModule.cc:652
SimTrackContainer.h
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::MixingModule
Definition: MixingModule.h:49
SimVertexContainer.h
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29