CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
26 
39 
40 #include <map>
41 #include <vector>
42 #include <string>
43 
44 
45 namespace edm {
46 
47  class ModuleCallingContext;
48 
50  {
51  public:
52 
54  explicit DataMixingModule(const edm::ParameterSet& ps);
55 
57  virtual ~DataMixingModule();
58 
59  // copies, with EventSetup
60  virtual void checkSignal(const edm::Event &e) {}
61  virtual void createnewEDProduct() {}
62  virtual void addSignals(const edm::Event &e, const edm::EventSetup& ES);
63  virtual void doPileUp(edm::Event &e,const edm::EventSetup& ES) override;
64  virtual void put(edm::Event &e,const edm::EventSetup& ES) ;
65 
66  virtual void initializeEvent(edm::Event const& e, edm::EventSetup const& eventSetup);
67 
68  void pileWorker(const edm::EventPrincipal&, int bcr, int EventId,const edm::EventSetup& ES, ModuleCallingContext const*);
69 
70  private:
71  // data specifiers
72 
73  // Ecal
74  //output:
75  std::string EBRecHitCollectionDM_; // secondary name to be given to EB collection of hits
76  std::string EERecHitCollectionDM_; // secondary name to be given to EE collection of hits
77  std::string ESRecHitCollectionDM_; // secondary name to be given to EE collection of hits
78  //Digis:
79  //output
80  std::string EBDigiCollectionDM_; // secondary name to be given to EB collection of hits
81  std::string EEDigiCollectionDM_; // secondary name to be given to EE collection of hits
82  std::string ESDigiCollectionDM_; // secondary name to be given to EE collection of hits
83 
84  // Hcal
85  // Rechits:
86  // output:
87  std::string HBHERecHitCollectionDM_; // secondary name to be given to HBHE collection of hits
88  std::string HORecHitCollectionDM_ ; // secondary name to be given to HO collection of hits
89  std::string HFRecHitCollectionDM_ ; // secondary name to be given to HF collection of hits
90  std::string ZDCRecHitCollectionDM_ ; // secondary name to be given to ZDC collection of hits
91  // Digis:
92  // output:
93  std::string HBHEDigiCollectionDM_; // secondary name to be given to HBHE collection of hits
94  std::string HODigiCollectionDM_ ; // secondary name to be given to HO collection of hits
95  std::string HFDigiCollectionDM_ ; // secondary name to be given to HF collection of hits
96  std::string ZDCDigiCollectionDM_ ; // secondary name to be given to ZDC collection of hits
97 
98  // Muons
99  // output:
100  std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
101  std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
102  std::string CSCStripDigiCollectionDM_; // secondary name given to new collection of CSC Strip digis
103  std::string CSCWireDigiCollectionDM_; // secondary name given to new collection of CSC wire digis
104  std::string CSCComparatorDigiCollectionDM_; // " " CSC Comparator digis
105 
106  // SiStrips
107  std::string SiStripDigiCollectionDM_ ; // secondary name to be given to new SiStrip digis
108 
109  // SiPixels
110  std::string PixelDigiCollectionDM_ ; // secondary name to be given to new SiPixel digis
111 
112  // Tracks
114  // FastSimulation or not?
115 
117 
118  // Submodules to handle the individual detectors
119 
121 
125 
126  // Hcal
127 
131 
132  // tokens needed to DataMixingHcalDigiWorkerProd
133  edm::InputTag HBHEPileInputTag_; // InputTag for Pileup Digis collection
134  edm::InputTag HOPileInputTag_ ; // InputTag for Pileup Digis collection
135  edm::InputTag HFPileInputTag_ ; // InputTag for Pileup Digis collection
136  edm::InputTag ZDCPileInputTag_ ; // InputTag for Pileup Digis collection
141 
144 
147 
148  // Muons
149 
151 
152  // Si-Strips
153 
160 
161  // Pixels
162 
164 
165  // Tracks
166 
168 
169  virtual void getSubdetectorNames();
170 
171  // internally used information : subdetectors present in input
172  std::vector<std::string> Subdetectors_;
173 
174  // unsigned int eventId_; //=0 for signal, from 1-n for pileup events
175 
177 
178  };
179 }//edm
180 
181 #endif
std::string siStripRawDigiSource_
virtual void doPileUp(edm::Event &e, const edm::EventSetup &ES) override
virtual void initializeEvent(edm::Event const &e, edm::EventSetup const &eventSetup)
std::string HFDigiCollectionDM_
std::string HBHERecHitCollectionDM_
std::string ZDCRecHitCollectionDM_
DataMixingGeneralTrackWorker * GeneralTrackWorker_
std::string CSCStripDigiCollectionDM_
std::string SiStripDigiCollectionDM_
edm::EDGetTokenT< ZDCDigitizerTraits::DigiCollection > tok_zdc_
edm::EDGetTokenT< HODigitizerTraits::DigiCollection > tok_ho_
DataMixingModule(const edm::ParameterSet &ps)
std::string CSCWireDigiCollectionDM_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
std::string RPCDigiCollectionDM_
std::string ZDCDigiCollectionDM_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
std::string GeneralTrackCollectionDM_
virtual void addSignals(const edm::Event &e, const edm::EventSetup &ES)
DataMixingPileupCopy * PUWorker_
virtual void createnewEDProduct()
std::string HORecHitCollectionDM_
DataMixingMuonWorker * MuonWorker_
virtual void getSubdetectorNames()
std::string EEDigiCollectionDM_
edm::InputTag HBHEPileInputTag_
std::string HFRecHitCollectionDM_
void pileWorker(const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
std::string HBHEDigiCollectionDM_
std::string EBRecHitCollectionDM_
std::string CSCComparatorDigiCollectionDM_
edm::InputTag HOPileInputTag_
virtual void checkSignal(const edm::Event &e)
DataMixingSiStripWorker * SiStripWorker_
std::string ESRecHitCollectionDM_
std::string EERecHitCollectionDM_
edm::EDGetTokenT< HFDigitizerTraits::DigiCollection > tok_hf_
std::string ESDigiCollectionDM_
std::string DTDigiCollectionDM_
std::string EBDigiCollectionDM_
DataMixingHcalWorker * HcalWorker_
edm::InputTag HFPileInputTag_
std::string HODigiCollectionDM_
std::string PixelDigiCollectionDM_
edm::EDGetTokenT< HBHEDigitizerTraits::DigiCollection > tok_hbhe_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_
std::vector< std::string > Subdetectors_
edm::InputTag ZDCPileInputTag_
virtual void put(edm::Event &e, const edm::EventSetup &ES)