CMS 3D CMS Logo

PreMixingEcalWorker.cc
Go to the documentation of this file.
8 
16 
19 
21 public:
23  ~PreMixingEcalWorker() override = default;
24 
25  PreMixingEcalWorker(const PreMixingEcalWorker &) = delete;
27 
29 
30  void initializeEvent(edm::Event const &e, edm::EventSetup const &ES) override;
31  void addSignals(edm::Event const &e, edm::EventSetup const &ES) override;
32  void addPileups(PileUpEventPrincipal const &pep, edm::EventSetup const &es) override;
33  void put(edm::Event &e, edm::EventSetup const &iSetup, std::vector<PileupSummaryInfo> const &ps, int bs) override;
34 
35 private:
36  edm::InputTag EBPileInputTag_; // InputTag for Pileup Digis collection
37  edm::InputTag EEPileInputTag_; // InputTag for Pileup Digis collection
38  edm::InputTag ESPileInputTag_; // InputTag for Pileup Digis collection
39 
40  std::string EBDigiCollectionDM_; // secondary name to be given to collection of digis
41  std::string EEDigiCollectionDM_; // secondary name to be given to collection of digis
42  std::string ESDigiCollectionDM_; // secondary name to be given to collection of digis
43 
44  const double m_EBs25notCont;
45  const double m_EEs25notCont;
46  const double m_peToABarrel;
47  const double m_peToAEndcap;
48  const bool m_timeDependent;
49 
54 };
55 
56 // Constructor
58  edm::ProducesCollector producesCollector,
60  : EBPileInputTag_(ps.getParameter<edm::InputTag>("EBPileInputTag")),
61  EEPileInputTag_(ps.getParameter<edm::InputTag>("EEPileInputTag")),
62  ESPileInputTag_(ps.getParameter<edm::InputTag>("ESPileInputTag")),
63  m_EBs25notCont(ps.getParameter<double>("EBs25notContainment")),
64  m_EEs25notCont(ps.getParameter<double>("EEs25notContainment")),
65  m_peToABarrel(ps.getParameter<double>("photoelectronsToAnalogBarrel")),
66  m_peToAEndcap(ps.getParameter<double>("photoelectronsToAnalogEndcap")),
67  m_timeDependent(ps.getParameter<bool>("timeDependent")),
68  theEBSignalGenerator(
69  iC, EBPileInputTag_, m_EBs25notCont, m_EEs25notCont, m_peToABarrel, m_peToAEndcap, m_timeDependent),
70  theEESignalGenerator(
71  iC, EEPileInputTag_, m_EBs25notCont, m_EEs25notCont, m_peToABarrel, m_peToAEndcap, m_timeDependent),
72  theESSignalGenerator(iC, ESPileInputTag_, m_EBs25notCont, m_EEs25notCont, m_peToABarrel, m_peToAEndcap),
73  myEcalDigitizer_(ps, iC) {
74  EBDigiCollectionDM_ = ps.getParameter<std::string>("EBDigiCollectionDM");
75  EEDigiCollectionDM_ = ps.getParameter<std::string>("EEDigiCollectionDM");
76  ESDigiCollectionDM_ = ps.getParameter<std::string>("ESDigiCollectionDM");
77 
78  producesCollector.produces<EBDigiCollection>(EBDigiCollectionDM_);
79  producesCollector.produces<EEDigiCollection>(EEDigiCollectionDM_);
80  producesCollector.produces<ESDigiCollection>(ESDigiCollectionDM_);
81 
85 }
86 
89 }
90 
93 }
94 
96  LogDebug("PreMixingEcalWorker") << "\n===============> adding pileups from event " << pep.principal().id()
97  << " for bunchcrossing " << pep.bunchCrossing();
98 
102 
103  // add noise signals using incoming digis
107 }
108 
110  const edm::EventSetup &ES,
111  std::vector<PileupSummaryInfo> const &ps,
112  int bs) {
114 }
115 
118 }
119 
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
void initializeEvent(edm::Event const &e, edm::EventSetup const &ES) override
virtual void fill(edm::ModuleCallingContext const *mcc)
ProductRegistryHelper::BranchAliasSetterT< ProductType > produces()
void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
void addPileups(PileUpEventPrincipal const &pep, edm::EventSetup const &es) override
void addSignals(edm::Event const &e, edm::EventSetup const &ES) override
void setEENoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
ESSignalGenerator theESSignalGenerator
edm::EventPrincipal const & principal()
edm::ModuleCallingContext const * moduleCallingContext() const
void setEBNoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
void setESNoiseSignalGenerator(EcalBaseSignalGenerator *noiseGenerator)
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
PreMixingEcalWorker(const edm::ParameterSet &ps, edm::ProducesCollector, edm::ConsumesCollector &&iC)
void initializeEvent(const edm::Event *event, const edm::EventSetup *eventSetup)
edm::InputTag ESPileInputTag_
void beginLuminosityBlock(edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
EcalDigiProducer myEcalDigitizer_
EESignalGenerator theEESignalGenerator
~PreMixingEcalWorker() override=default
PreMixingEcalWorker & operator=(const PreMixingEcalWorker &)=delete
edm::InputTag EBPileInputTag_
HLT enums.
edm::InputTag EEPileInputTag_
EventID const & id() const
void put(edm::Event &e, edm::EventSetup const &iSetup, std::vector< PileupSummaryInfo > const &ps, int bs) override
#define DEFINE_PREMIXING_WORKER(TYPE)
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
EBSignalGenerator theEBSignalGenerator
#define LogDebug(id)