CMS 3D CMS Logo

DataMixingModule.h
Go to the documentation of this file.
1 #ifndef SimGeneral_DataMixingModule_DataMixingModule_h
2 #define SimGeneral_DataMixingModule_DataMixingModule_h
3 
16 
20 
23 
25 
36 
37 #include <map>
38 #include <string>
39 #include <vector>
40 
41 namespace edm {
42 
43  class ModuleCallingContext;
44 
46  public:
48  explicit DataMixingModule(const edm::ParameterSet &ps, MixingCache::Config const *globalConf);
49 
51  ~DataMixingModule() override;
52 
53  // copies, with EventSetup
54  void checkSignal(const edm::Event &e) override{};
55  void createnewEDProduct() override {}
56  void addSignals(const edm::Event &e, const edm::EventSetup &ES) override;
57  void doPileUp(edm::Event &e, const edm::EventSetup &ES) override;
58  void put(edm::Event &e, const edm::EventSetup &ES) override;
59 
60  void initializeEvent(edm::Event const &e, edm::EventSetup const &eventSetup) override;
61  void beginRun(edm::Run const &run, edm::EventSetup const &eventSetup) override;
62  bool pileWorker(
63  const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *);
64  // virtual void beginJob();
65  // virtual void endJob();
66  void beginLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override;
67  void endLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override;
68  void endRun(const edm::Run &r, const edm::EventSetup &setup) override;
69 
70  private:
71  // data specifiers
72 
73  // Ecal
74  // output:
75  std::string EBRecHitCollectionDM_; // secondary name to be given to EB
76  // collection of hits
77  std::string EERecHitCollectionDM_; // secondary name to be given to EE
78  // collection of hits
79  std::string ESRecHitCollectionDM_; // secondary name to be given to EE
80  // collection of hits
81  // Digis:
82  // output
83  std::string EBDigiCollectionDM_; // secondary name to be given to EB
84  // collection of hits
85  std::string EEDigiCollectionDM_; // secondary name to be given to EE
86  // collection of hits
87  std::string ESDigiCollectionDM_; // secondary name to be given to EE
88  // collection of hits
89 
90  // Hcal
91  // Rechits:
92  // output:
93  std::string HBHERecHitCollectionDM_; // secondary name to be given to HBHE
94  // collection of hits
95  std::string HORecHitCollectionDM_; // secondary name to be given to HO
96  // collection of hits
97  std::string HFRecHitCollectionDM_; // secondary name to be given to HF
98  // collection of hits
99  std::string ZDCRecHitCollectionDM_; // secondary name to be given to ZDC
100  // collection of hits
101  // Digis:
102  // output:
103  std::string HBHEDigiCollectionDM_; // secondary name to be given to HBHE
104  // collection of hits
105  std::string HODigiCollectionDM_; // secondary name to be given to HO
106  // collection of hits
107  std::string HFDigiCollectionDM_; // secondary name to be given to HF
108  // collection of hits
109  std::string ZDCDigiCollectionDM_; // secondary name to be given to ZDC
110  // collection of hits
111  std::string QIE10DigiCollectionDM_; // secondary name to be given to QIE10
112  // collection of hits
113  std::string QIE11DigiCollectionDM_; // secondary name to be given to QIE11
114  // collection of hits
115 
116  // Muons
117  // output:
118  std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
119  std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
120  std::string CSCStripDigiCollectionDM_; // secondary name given to new
121  // collection of CSC Strip digis
122  std::string CSCWireDigiCollectionDM_; // secondary name given to new
123  // collection of CSC wire digis
124  std::string CSCComparatorDigiCollectionDM_; // " " CSC Comparator digis
125 
126  // SiStrips
127  std::string SiStripDigiCollectionDM_; // secondary name to be given to new
128  // SiStrip digis
129 
130  // SiPixels
131  std::string PixelDigiCollectionDM_; // secondary name to be given to new SiPixel digis
132 
133  // merge tracker digis or tracks?
135 
136  // Submodules to handle the individual detectors
137 
139 
143 
144  // Hcal
145 
149 
150  // tokens needed to DataMixingHcalDigiWorkerProd
151  edm::InputTag EBPileInputTag_; // InputTag for Pileup Digis collection
152  edm::InputTag EEPileInputTag_; // InputTag for Pileup Digis collection
153  edm::InputTag ESPileInputTag_; // InputTag for Pileup Digis collection
154  edm::InputTag HBHEPileInputTag_; // InputTag for Pileup Digis collection
155  edm::InputTag HOPileInputTag_; // InputTag for Pileup Digis collection
156  edm::InputTag HFPileInputTag_; // InputTag for Pileup Digis collection
157  edm::InputTag ZDCPileInputTag_; // InputTag for Pileup Digis collection
158  edm::InputTag QIE10PileInputTag_; // InputTag for Pileup Digis collection
159  edm::InputTag QIE11PileInputTag_; // InputTag for Pileup Digis collection
166 
169 
172 
173  // Muons
174 
176 
177  // Si-Strips
178 
183 
184  // Pixels
185 
187 
188  virtual void getSubdetectorNames();
189 
190  // internally used information : subdetectors present in input
191  std::vector<std::string> Subdetectors_;
192 
193  // unsigned int eventId_; //=0 for signal, from 1-n for pileup events
194 
196  };
197 } // namespace edm
198 
199 #endif
std::string siStripRawDigiSource_
void doPileUp(edm::Event &e, const edm::EventSetup &ES) override
edm::EDGetTokenT< HcalQIE11DigitizerTraits::DigiCollection > tok_qie11_
void checkSignal(const edm::Event &e) override
std::string HFDigiCollectionDM_
void endRun(const edm::Run &r, const edm::EventSetup &setup) override
void beginLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
std::string HBHERecHitCollectionDM_
edm::InputTag QIE11PileInputTag_
std::string ZDCRecHitCollectionDM_
std::string CSCStripDigiCollectionDM_
edm::InputTag QIE10PileInputTag_
std::string SiStripDigiCollectionDM_
edm::EDGetTokenT< ZDCDigitizerTraits::DigiCollection > tok_zdc_
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
edm::EDGetTokenT< HODigitizerTraits::DigiCollection > tok_ho_
std::string CSCWireDigiCollectionDM_
std::string QIE10DigiCollectionDM_
DataMixingSiStripRawWorker * SiStripRawWorker_
void beginRun(edm::Run const &run, edm::EventSetup const &eventSetup) override
DataMixingSiPixelWorker * SiPixelWorker_
std::string RPCDigiCollectionDM_
std::string ZDCDigiCollectionDM_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
edm::InputTag EEPileInputTag_
edm::InputTag ESPileInputTag_
DataMixingPileupCopy * PUWorker_
std::string HORecHitCollectionDM_
void endLuminosityBlock(LuminosityBlock const &l1, EventSetup const &c) override
DataMixingMuonWorker * MuonWorker_
virtual void getSubdetectorNames()
edm::InputTag EBPileInputTag_
std::string EEDigiCollectionDM_
edm::InputTag HBHEPileInputTag_
std::string HFRecHitCollectionDM_
edm::EDGetTokenT< HcalQIE10DigitizerTraits::DigiCollection > tok_qie10_
std::string HBHEDigiCollectionDM_
std::string EBRecHitCollectionDM_
std::string CSCComparatorDigiCollectionDM_
edm::InputTag HOPileInputTag_
DataMixingModule(const edm::ParameterSet &ps, MixingCache::Config const *globalConf)
bool pileWorker(const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
DataMixingSiStripWorker * SiStripWorker_
std::string ESRecHitCollectionDM_
std::string EERecHitCollectionDM_
edm::EDGetTokenT< HFDigitizerTraits::DigiCollection > tok_hf_
HLT enums.
std::string ESDigiCollectionDM_
void put(edm::Event &e, const edm::EventSetup &ES) override
std::string DTDigiCollectionDM_
void initializeEvent(edm::Event const &e, edm::EventSetup const &eventSetup) override
std::string EBDigiCollectionDM_
DataMixingHcalWorker * HcalWorker_
edm::InputTag HFPileInputTag_
void createnewEDProduct() override
std::string HODigiCollectionDM_
std::string PixelDigiCollectionDM_
edm::EDGetTokenT< HBHEDigitizerTraits::DigiCollection > tok_hbhe_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
std::string QIE11DigiCollectionDM_
void addSignals(const edm::Event &e, const edm::EventSetup &ES) override
DataMixingEMDigiWorker * EMDigiWorker_
std::vector< std::string > Subdetectors_
Definition: Run.h:45
edm::InputTag ZDCPileInputTag_