CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 MixingWorkerBase;
45 
46  class MixingModule : public BMixingModule {
47  public:
48  typedef std::vector<DigiAccumulatorMixMod*> Accumulators;
49 
51  explicit MixingModule(const edm::ParameterSet& ps);
52 
54  virtual ~MixingModule();
55 
56  virtual void beginJob() {}
57 
58  virtual void beginRun(Run const& r1, EventSetup const& c) override;
59 
60  virtual void endRun(Run const& r1, EventSetup const& c) override;
61 
62  virtual void beginLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
63 
64  virtual void endLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
65 
66  void initializeEvent(Event const& event, EventSetup const& setup);
67 
68  void accumulateEvent(Event const& event, EventSetup const& setup);
69 
71 
72  void finalizeEvent(Event& event, EventSetup const& setup);
73 
74  virtual void reload(const edm::EventSetup &);
75 
76  private:
77  virtual void branchesActivate(const std::string &friendlyName, const std::string &subdet, InputTag &tag, std::string &label);
78  virtual void put(edm::Event &e,const edm::EventSetup& es);
79  virtual void createnewEDProduct();
80  virtual void checkSignal(const edm::Event &e);
81  virtual void addSignals(const edm::Event &e, const edm::EventSetup& es);
82  virtual void doPileUp(edm::Event &e, const edm::EventSetup& es);
83  void pileAllWorkers(EventPrincipal const& ep, int bcr, int id, int& offset,
84  const edm::EventSetup& setup);
85  void createDigiAccumulators( const edm::ParameterSet& mixingPSet ) ;
86 
91 
92  std::vector<AdjusterBase *> adjusters_;
93  std::vector<AdjusterBase *> adjustersObjects_;
94  std::vector<MixingWorkerBase *> workers_;
95  std::vector<MixingWorkerBase *> workersObjects_;
96  std::vector<std::string> wantedBranches_;
98 
99  // Digi-producing algorithms
101 
102  };
103 }//edm
104 
105 #endif
void pileAllWorkers(EventPrincipal const &ep, int bcr, int id, int &offset, const edm::EventSetup &setup)
virtual void reload(const edm::EventSetup &)
virtual ~MixingModule()
MixingModule(const edm::ParameterSet &ps)
Definition: MixingModule.cc:31
virtual void beginLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
virtual void createnewEDProduct()
virtual void addSignals(const edm::Event &e, const edm::EventSetup &es)
virtual void beginJob()
Definition: MixingModule.h:56
std::vector< DigiAccumulatorMixMod * > Accumulators
Definition: MixingModule.h:48
virtual void put(edm::Event &e, const edm::EventSetup &es)
virtual void checkSignal(const edm::Event &e)
std::string friendlyName(std::string const &iFullName)
virtual void endLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
std::vector< MixingWorkerBase * > workers_
Definition: MixingModule.h:94
Accumulators digiAccumulators_
Definition: MixingModule.h:100
std::vector< AdjusterBase * > adjusters_
Definition: MixingModule.h:92
std::vector< MixingWorkerBase * > workersObjects_
Definition: MixingModule.h:95
virtual void beginRun(Run const &r1, EventSetup const &c) override
unsigned int offset(bool)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
bool useCurrentProcessOnly_
Definition: MixingModule.h:97
virtual void branchesActivate(const std::string &friendlyName, const std::string &subdet, InputTag &tag, std::string &label)
void finalizeEvent(Event &event, EventSetup const &setup)
std::vector< std::string > wantedBranches_
Definition: MixingModule.h:96
std::vector< AdjusterBase * > adjustersObjects_
Definition: MixingModule.h:93
InputTag inputTagPlayback_
Definition: MixingModule.h:87
void accumulateEvent(Event const &event, EventSetup const &setup)
CrossingFramePlaybackInfoExtended * playbackInfo_
Definition: MixingModule.h:90
void initializeEvent(Event const &event, EventSetup const &setup)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
Definition: Run.h:36
virtual void doPileUp(edm::Event &e, const edm::EventSetup &es)
void createDigiAccumulators(const edm::ParameterSet &mixingPSet)
virtual void endRun(Run const &r1, EventSetup const &c) override