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 <vector>
39 #include <string>
40 
41 namespace edm {
42 
43  class ModuleCallingContext;
44 
46  {
47  public:
48 
50  explicit DataMixingModule(const edm::ParameterSet& ps, MixingCache::Config const* globalConf);
51 
53  ~DataMixingModule() override;
54 
55  // copies, with EventSetup
56  void checkSignal(const edm::Event &e) override {};
57  void createnewEDProduct() override {}
58  void addSignals(const edm::Event &e, const edm::EventSetup& ES) override;
59  void doPileUp(edm::Event &e,const edm::EventSetup& ES) override;
60  void put(edm::Event &e,const edm::EventSetup& ES) override ;
61 
62  void initializeEvent(edm::Event const& e, edm::EventSetup const& eventSetup) override;
63  void beginRun(edm::Run const& run, edm::EventSetup const& eventSetup) override;
64  void pileWorker(const edm::EventPrincipal&, int bcr, int EventId,const edm::EventSetup& ES, ModuleCallingContext const*);
65  //virtual void beginJob();
66  //virtual void endJob();
67  void beginLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
68  void endLuminosityBlock(LuminosityBlock const& l1, EventSetup const& c) override;
69  void endRun(const edm::Run& r, const edm::EventSetup& setup) override;
70 
71 
72 
73  private:
74  // data specifiers
75 
76  // Ecal
77  //output:
78  std::string EBRecHitCollectionDM_; // secondary name to be given to EB collection of hits
79  std::string EERecHitCollectionDM_; // secondary name to be given to EE collection of hits
80  std::string ESRecHitCollectionDM_; // secondary name to be given to EE collection of hits
81  //Digis:
82  //output
83  std::string EBDigiCollectionDM_; // secondary name to be given to EB collection of hits
84  std::string EEDigiCollectionDM_; // secondary name to be given to EE collection of hits
85  std::string ESDigiCollectionDM_; // secondary name to be given to EE collection of hits
86 
87  // Hcal
88  // Rechits:
89  // output:
90  std::string HBHERecHitCollectionDM_; // secondary name to be given to HBHE collection of hits
91  std::string HORecHitCollectionDM_ ; // secondary name to be given to HO collection of hits
92  std::string HFRecHitCollectionDM_ ; // secondary name to be given to HF collection of hits
93  std::string ZDCRecHitCollectionDM_ ; // secondary name to be given to ZDC collection of hits
94  // Digis:
95  // output:
96  std::string HBHEDigiCollectionDM_; // secondary name to be given to HBHE collection of hits
97  std::string HODigiCollectionDM_ ; // secondary name to be given to HO collection of hits
98  std::string HFDigiCollectionDM_ ; // secondary name to be given to HF collection of hits
99  std::string ZDCDigiCollectionDM_ ; // secondary name to be given to ZDC collection of hits
100  std::string QIE10DigiCollectionDM_ ; // secondary name to be given to QIE10 collection of hits
101  std::string QIE11DigiCollectionDM_ ; // secondary name to be given to QIE11 collection of hits
102 
103  // Muons
104  // output:
105  std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
106  std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
107  std::string CSCStripDigiCollectionDM_; // secondary name given to new collection of CSC Strip digis
108  std::string CSCWireDigiCollectionDM_; // secondary name given to new collection of CSC wire digis
109  std::string CSCComparatorDigiCollectionDM_; // " " CSC Comparator digis
110 
111  // SiStrips
112  std::string SiStripDigiCollectionDM_ ; // secondary name to be given to new SiStrip digis
113 
114  // SiPixels
115  std::string PixelDigiCollectionDM_ ; // secondary name to be given to new SiPixel digis
116 
117  // merge tracker digis or tracks?
119 
120  // Submodules to handle the individual detectors
121 
123 
127 
128  // Hcal
129 
133 
134  // tokens needed to DataMixingHcalDigiWorkerProd
135  edm::InputTag EBPileInputTag_; // InputTag for Pileup Digis collection
136  edm::InputTag EEPileInputTag_ ; // InputTag for Pileup Digis collection
137  edm::InputTag ESPileInputTag_ ; // InputTag for Pileup Digis collection
138  edm::InputTag HBHEPileInputTag_; // InputTag for Pileup Digis collection
139  edm::InputTag HOPileInputTag_ ; // InputTag for Pileup Digis collection
140  edm::InputTag HFPileInputTag_ ; // InputTag for Pileup Digis collection
141  edm::InputTag ZDCPileInputTag_ ; // InputTag for Pileup Digis collection
142  edm::InputTag QIE10PileInputTag_ ; // InputTag for Pileup Digis collection
143  edm::InputTag QIE11PileInputTag_ ; // InputTag for Pileup Digis collection
150 
153 
156 
157  // Muons
158 
160 
161  // Si-Strips
162 
167 
168  // Pixels
169 
171 
172 
173  virtual void getSubdetectorNames();
174 
175  // internally used information : subdetectors present in input
176  std::vector<std::string> Subdetectors_;
177 
178  // unsigned int eventId_; //=0 for signal, from 1-n for pileup events
179 
181 
182  };
183 }//edm
184 
185 #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:1
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_
void pileWorker(const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
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)
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:44
edm::InputTag ZDCPileInputTag_