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 DataMixingModule_h
2 #define SimDataMixingModule_h
3 
16 
20 
23 
26 
38 
39 #include <map>
40 #include <vector>
41 #include <string>
42 
43 
44 namespace edm
45 {
47  {
48  public:
49 
51  explicit DataMixingModule(const edm::ParameterSet& ps);
52 
54  virtual ~DataMixingModule();
55 
56  virtual void beginJob() {}
57 
58  // copies, with EventSetup
59  virtual void checkSignal(const edm::Event &e) {}
60  virtual void createnewEDProduct() {}
61  virtual void addSignals(const edm::Event &e, const edm::EventSetup& ES);
62  virtual void doPileUp(edm::Event &e,const edm::EventSetup& ES);
63  virtual void put(edm::Event &e,const edm::EventSetup& ES) ;
64 
65  void pileWorker(const edm::EventPrincipal&, int bcr, int EventId,const edm::EventSetup& ES);
66 
67  private:
68  // data specifiers
69 
70  // Ecal
71  //output:
72  std::string EBRecHitCollectionDM_; // secondary name to be given to EB collection of hits
73  std::string EERecHitCollectionDM_; // secondary name to be given to EE collection of hits
74  std::string ESRecHitCollectionDM_; // secondary name to be given to EE collection of hits
75  //Digis:
76  //output
77  std::string EBDigiCollectionDM_; // secondary name to be given to EB collection of hits
78  std::string EEDigiCollectionDM_; // secondary name to be given to EE collection of hits
79  std::string ESDigiCollectionDM_; // secondary name to be given to EE collection of hits
80 
81  // Hcal
82  // Rechits:
83  // output:
84  std::string HBHERecHitCollectionDM_; // secondary name to be given to HBHE collection of hits
85  std::string HORecHitCollectionDM_ ; // secondary name to be given to HO collection of hits
86  std::string HFRecHitCollectionDM_ ; // secondary name to be given to HF collection of hits
87  std::string ZDCRecHitCollectionDM_ ; // secondary name to be given to ZDC collection of hits
88  // Digis:
89  // output:
90  std::string HBHEDigiCollectionDM_; // secondary name to be given to HBHE collection of hits
91  std::string HODigiCollectionDM_ ; // secondary name to be given to HO collection of hits
92  std::string HFDigiCollectionDM_ ; // secondary name to be given to HF collection of hits
93  std::string ZDCDigiCollectionDM_ ; // secondary name to be given to ZDC collection of hits
94 
95  // Muons
96  // output:
97  std::string DTDigiCollectionDM_; // secondary name to be given to new DT digis
98  std::string RPCDigiCollectionDM_; // secondary name to be given to new RPC digis
99  std::string CSCStripDigiCollectionDM_; // secondary name given to new collection of CSC Strip digis
100  std::string CSCWireDigiCollectionDM_; // secondary name given to new collection of CSC wire digis
101  std::string CSCComparatorDigiCollectionDM_; // " " CSC Comparator digis
102 
103  // SiStrips
104  std::string SiStripDigiCollectionDM_ ; // secondary name to be given to new SiStrip digis
105 
106  // SiPixels
107  std::string PixelDigiCollectionDM_ ; // secondary name to be given to new SiPixel digis
108 
109  // Tracks
111  // FastSimulation or not?
112 
114 
115  // Submodules to handle the individual detectors
116 
118 
122 
123  // Hcal
124 
128 
131 
134 
135  // Muons
136 
138 
139  // Si-Strips
140 
145 
146  // Pixels
147 
149 
150  // Tracks
151 
153 
154  virtual void getSubdetectorNames();
155 
156  // internally used information : subdetectors present in input
157  std::vector<std::string> Subdetectors_;
158 
159  // unsigned int eventId_; //=0 for signal, from 1-n for pileup events
160 
162 
163  };
164 }//edm
165 
166 #endif
std::string siStripRawDigiSource_
std::string HFDigiCollectionDM_
std::string HBHERecHitCollectionDM_
std::string ZDCRecHitCollectionDM_
DataMixingGeneralTrackWorker * GeneralTrackWorker_
std::string CSCStripDigiCollectionDM_
std::string SiStripDigiCollectionDM_
DataMixingModule(const edm::ParameterSet &ps)
std::string CSCWireDigiCollectionDM_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
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()
virtual void doPileUp(edm::Event &e, const edm::EventSetup &ES)
std::string HORecHitCollectionDM_
DataMixingMuonWorker * MuonWorker_
virtual void getSubdetectorNames()
std::string EEDigiCollectionDM_
std::string HFRecHitCollectionDM_
std::string HBHEDigiCollectionDM_
std::string EBRecHitCollectionDM_
std::string CSCComparatorDigiCollectionDM_
virtual void checkSignal(const edm::Event &e)
DataMixingSiStripWorker * SiStripWorker_
std::string ESRecHitCollectionDM_
std::string EERecHitCollectionDM_
std::string ESDigiCollectionDM_
std::string DTDigiCollectionDM_
std::string EBDigiCollectionDM_
virtual void beginJob()
DataMixingHcalWorker * HcalWorker_
std::string HODigiCollectionDM_
std::string PixelDigiCollectionDM_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void pileWorker(const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES)
DataMixingEMDigiWorker * EMDigiWorker_
std::vector< std::string > Subdetectors_
virtual void put(edm::Event &e, const edm::EventSetup &ES)