CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
edm::DataMixingModule Class Reference

#include <DataMixingModule.h>

Inheritance diagram for edm::DataMixingModule:
edm::BMixingModule edm::one::EDProducer< edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

virtual void addSignals (const edm::Event &e, const edm::EventSetup &ES)
 
void beginRun (edm::Run const &run, edm::EventSetup const &eventSetup)
 
virtual void checkSignal (const edm::Event &e)
 
virtual void createnewEDProduct ()
 
 DataMixingModule (const edm::ParameterSet &ps)
 
virtual void doPileUp (edm::Event &e, const edm::EventSetup &ES) override
 
void initializeEvent (edm::Event const &e, edm::EventSetup const &eventSetup)
 
void pileWorker (const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
 
virtual void put (edm::Event &e, const edm::EventSetup &ES)
 
virtual ~DataMixingModule ()
 
- Public Member Functions inherited from edm::BMixingModule
virtual void addPileups (const int bcr, EventPrincipal *ep, unsigned int eventId, unsigned int worker, const edm::EventSetup &c)
 
double averageNumber () const
 
virtual void beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &setup) override
 
 BMixingModule (const edm::ParameterSet &ps)
 
virtual void endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &setup) override
 
virtual void endRun (const edm::Run &r, const edm::EventSetup &setup) override
 
virtual void finalizeEvent (edm::Event &event, const edm::EventSetup &setup)
 
virtual void getEventStartInfo (edm::Event &e, const unsigned int source)
 
bool poisson () const
 
virtual void produce (edm::Event &e1, const edm::EventSetup &c) override
 
virtual void reload (const edm::EventSetup &setup)
 
virtual void setBcrOffset ()
 
virtual void setEventStartInfo (const unsigned int s)
 
virtual void setSourceOffset (const unsigned int s)
 
virtual ~BMixingModule ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks >
 EDProducer ()=default
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDProducerBase ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription
const &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

virtual void getSubdetectorNames ()
 

Private Attributes

bool AddedPileup_
 
bool addMCDigiNoise_
 
std::string CSCComparatorDigiCollectionDM_
 
std::string CSCStripDigiCollectionDM_
 
std::string CSCWireDigiCollectionDM_
 
bool DoFastSim_
 
std::string DTDigiCollectionDM_
 
std::string EBDigiCollectionDM_
 
edm::InputTag EBPileInputTag_
 
std::string EBRecHitCollectionDM_
 
DataMixingEcalDigiWorkerProdEcalDigiWorkerProd_
 
std::string EEDigiCollectionDM_
 
edm::InputTag EEPileInputTag_
 
std::string EERecHitCollectionDM_
 
DataMixingEMDigiWorkerEMDigiWorker_
 
DataMixingEMWorkerEMWorker_
 
std::string ESDigiCollectionDM_
 
edm::InputTag ESPileInputTag_
 
std::string ESRecHitCollectionDM_
 
std::string GeneralTrackCollectionDM_
 
DataMixingGeneralTrackWorkerGeneralTrackWorker_
 
std::string HBHEDigiCollectionDM_
 
edm::InputTag HBHEPileInputTag_
 
std::string HBHERecHitCollectionDM_
 
DataMixingHcalDigiWorkerHcalDigiWorker_
 
DataMixingHcalDigiWorkerProdHcalDigiWorkerProd_
 
DataMixingHcalWorkerHcalWorker_
 
std::string HFDigiCollectionDM_
 
edm::InputTag HFPileInputTag_
 
std::string HFRecHitCollectionDM_
 
std::string HODigiCollectionDM_
 
edm::InputTag HOPileInputTag_
 
std::string HORecHitCollectionDM_
 
std::string label_
 
bool MergeEMDigis_
 
bool MergeHcalDigis_
 
bool MergeHcalDigisProd_
 
bool MergePileup_
 
DataMixingMuonWorkerMuonWorker_
 
std::string PixelDigiCollectionDM_
 
DataMixingPileupCopyPUWorker_
 
std::string RPCDigiCollectionDM_
 
DataMixingSiPixelWorkerSiPixelWorker_
 
std::string SiStripDigiCollectionDM_
 
DataMixingSiStripMCDigiWorkerSiStripMCDigiWorker_
 
std::string siStripRawDigiSource_
 
DataMixingSiStripRawWorkerSiStripRawWorker_
 
DataMixingSiStripWorkerSiStripWorker_
 
std::vector< std::string > Subdetectors_
 
edm::EDGetTokenT
< EBDigitizerTraits::DigiCollection
tok_eb_
 
edm::EDGetTokenT
< EEDigitizerTraits::DigiCollection
tok_ee_
 
edm::EDGetTokenT
< ESDigitizerTraits::DigiCollection
tok_es_
 
edm::EDGetTokenT
< HBHEDigitizerTraits::DigiCollection
tok_hbhe_
 
edm::EDGetTokenT
< HFDigitizerTraits::DigiCollection
tok_hf_
 
edm::EDGetTokenT
< HODigitizerTraits::DigiCollection
tok_ho_
 
edm::EDGetTokenT
< ZDCDigitizerTraits::DigiCollection
tok_zdc_
 
bool useSiStripRawDigi_
 
std::string ZDCDigiCollectionDM_
 
edm::InputTag ZDCPileInputTag_
 
std::string ZDCRecHitCollectionDM_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::BMixingModule
virtual void beginJob () override
 
void dropUnwantedBranches (std::vector< std::string > const &wantedBranches)
 
virtual void endJob () override
 
void setupPileUpEvent (const edm::EventSetup &setup)
 
void update (edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from edm::BMixingModule
int bunchSpace_
 
bool checktof_
 
bool doit_ [4]
 
unsigned int eventId_
 
std::vector< boost::shared_ptr
< PileUp > > 
inputSources_
 
int maxBunch_
 
int minBunch_
 
bool const mixProdStep1_
 
bool const mixProdStep2_
 
edm::ESWatcher< MixingRcdparameterWatcher_
 
bool playback_
 
bool readDB_
 
std::vector< std::string > sourceNames_
 
std::vector< float > TrueNumInteractions_
 
int vertexOffset_
 
- Static Protected Attributes inherited from edm::BMixingModule
static const unsigned int maxNbSources_ =4
 

Detailed Description

Definition at line 50 of file DataMixingModule.h.

Constructor & Destructor Documentation

DataMixingModule::DataMixingModule ( const edm::ParameterSet ps)
explicit

standard constructor

Definition at line 33 of file DataMixingModule.cc.

References addMCDigiNoise_, edm::EDConsumerBase::consumesCollector(), CSCComparatorDigiCollectionDM_, CSCStripDigiCollectionDM_, CSCWireDigiCollectionDM_, DoFastSim_, DTDigiCollectionDM_, EBDigiCollectionDM_, EBPileInputTag_, EBRecHitCollectionDM_, EcalDigiWorkerProd_, EEDigiCollectionDM_, EEPileInputTag_, EERecHitCollectionDM_, EMDigiWorker_, EMWorker_, ESDigiCollectionDM_, ESPileInputTag_, ESRecHitCollectionDM_, edm::ParameterSet::exists(), GeneralTrackCollectionDM_, GeneralTrackWorker_, edm::ParameterSet::getParameter(), getSubdetectorNames(), edm::ParameterSet::getUntrackedParameter(), HBHEDigiCollectionDM_, HBHEPileInputTag_, HBHERecHitCollectionDM_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, HFDigiCollectionDM_, HFPileInputTag_, HFRecHitCollectionDM_, HODigiCollectionDM_, HOPileInputTag_, HORecHitCollectionDM_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MergePileup_, MuonWorker_, PixelDigiCollectionDM_, PUWorker_, RPCDigiCollectionDM_, edm::DataMixingEcalDigiWorkerProd::setEBAccess(), edm::DataMixingEcalDigiWorkerProd::setEEAccess(), edm::DataMixingEcalDigiWorkerProd::setESAccess(), edm::DataMixingHcalDigiWorkerProd::setHBHEAccess(), edm::DataMixingHcalDigiWorkerProd::setHFAccess(), edm::DataMixingHcalDigiWorkerProd::setHOAccess(), edm::DataMixingHcalDigiWorkerProd::setZDCAccess(), SiPixelWorker_, SiStripDigiCollectionDM_, SiStripMCDigiWorker_, SiStripRawWorker_, SiStripWorker_, AlCaHLTBitMon_QueryRunRegistry::string, tok_eb_, tok_ee_, tok_es_, tok_hbhe_, tok_hf_, tok_ho_, tok_zdc_, useSiStripRawDigi_, ZDCDigiCollectionDM_, ZDCPileInputTag_, and ZDCRecHitCollectionDM_.

33  : BMixingModule(ps),
34  EBPileInputTag_(ps.getParameter<edm::InputTag>("EBPileInputTag")),
35  EEPileInputTag_(ps.getParameter<edm::InputTag>("EEPileInputTag")),
36  ESPileInputTag_(ps.getParameter<edm::InputTag>("ESPileInputTag")),
37  HBHEPileInputTag_(ps.getParameter<edm::InputTag>("HBHEPileInputTag")),
38  HOPileInputTag_(ps.getParameter<edm::InputTag>("HOPileInputTag")),
39  HFPileInputTag_(ps.getParameter<edm::InputTag>("HFPileInputTag")),
40  ZDCPileInputTag_(ps.getParameter<edm::InputTag>("ZDCPileInputTag")),
41  label_(ps.getParameter<std::string>("Label"))
42 
43  {
44  // what's "label_"?
45 
46  // prepare for data access in DataMixingEcalDigiWorkerProd
47  tok_eb_ = consumes<EBDigitizerTraits::DigiCollection>(EBPileInputTag_);
48  tok_ee_ = consumes<EEDigitizerTraits::DigiCollection>(EEPileInputTag_);
49  tok_es_ = consumes<ESDigitizerTraits::DigiCollection>(ESPileInputTag_);
50 
51  // prepare for data access in DataMixingHcalDigiWorkerProd
52  tok_hbhe_ = consumes<HBHEDigitizerTraits::DigiCollection>(HBHEPileInputTag_);
53  tok_ho_ = consumes<HODigitizerTraits::DigiCollection>(HOPileInputTag_);
54  tok_hf_ = consumes<HFDigitizerTraits::DigiCollection>(HFPileInputTag_);
55  tok_zdc_ = consumes<ZDCDigitizerTraits::DigiCollection>(ZDCPileInputTag_);
56 
57 
58  // get the subdetector names
59  this->getSubdetectorNames(); //something like this may be useful to check what we are supposed to do...
60 
61  // For now, list all of them here. Later, make this selectable with input parameters
62  //
63 
64  // Check to see if we are working in Full or Fast Simulation
65 
66  DoFastSim_ = (ps.getParameter<std::string>("IsThisFastSim")).compare("YES") == 0;
67  MergeEMDigis_ = (ps.getParameter<std::string>("EcalMergeType")).compare("Digis") == 0;
68  MergeHcalDigis_ = (ps.getParameter<std::string>("HcalMergeType")).compare("Digis") == 0;
69  if(MergeHcalDigis_) MergeHcalDigisProd_ = (ps.getParameter<std::string>("HcalDigiMerge")=="FullProd");
70 
71  addMCDigiNoise_ = false;
72 
73  addMCDigiNoise_ = ps.getUntrackedParameter<bool>("addMCDigiNoise"); // for Sim on Sim mixing
74 
75 
76 
77  // Put Fast Sim Sequences here for Simplification: Fewer options!
78 
79  if(DoFastSim_) {
80 
81  // declare the products to produce
82 
83  //Ecal:
84 
85  EBRecHitCollectionDM_ = ps.getParameter<std::string>("EBRecHitCollectionDM");
86  EERecHitCollectionDM_ = ps.getParameter<std::string>("EERecHitCollectionDM");
87  ESRecHitCollectionDM_ = ps.getParameter<std::string>("ESRecHitCollectionDM");
88 
89  produces< EBRecHitCollection >(EBRecHitCollectionDM_);
90  produces< EERecHitCollection >(EERecHitCollectionDM_);
91  produces< ESRecHitCollection >(ESRecHitCollectionDM_);
92 
93  EMWorker_ = new DataMixingEMWorker(ps);
94 
95  //Hcal:
96 
97  HBHERecHitCollectionDM_ = ps.getParameter<std::string>("HBHERecHitCollectionDM");
98  HORecHitCollectionDM_ = ps.getParameter<std::string>("HORecHitCollectionDM");
99  HFRecHitCollectionDM_ = ps.getParameter<std::string>("HFRecHitCollectionDM");
100  ZDCRecHitCollectionDM_ = ps.getParameter<std::string>("ZDCRecHitCollectionDM");
101 
102  produces< HBHERecHitCollection >(HBHERecHitCollectionDM_);
103  produces< HORecHitCollection >(HORecHitCollectionDM_);
104  produces< HFRecHitCollection >(HFRecHitCollectionDM_);
105  produces< ZDCRecHitCollection >(ZDCRecHitCollectionDM_);
106 
108 
109  //Muons:
110 
111  DTDigiCollectionDM_ = ps.getParameter<std::string>("DTDigiCollectionDM");
112  RPCDigiCollectionDM_ = ps.getParameter<std::string>("RPCDigiCollectionDM");
113  CSCStripDigiCollectionDM_ = ps.getParameter<std::string>("CSCStripDigiCollectionDM");
114  CSCWireDigiCollectionDM_ = ps.getParameter<std::string>("CSCWireDigiCollectionDM");
115  CSCComparatorDigiCollectionDM_ = ps.getParameter<std::string>("CSCComparatorDigiCollectionDM");
116 
117  produces< DTDigiCollection >();
118  produces< RPCDigiCollection >();
119  produces< CSCStripDigiCollection >(CSCStripDigiCollectionDM_);
120  produces< CSCWireDigiCollection >(CSCWireDigiCollectionDM_);
121  produces< CSCComparatorDigiCollection >(CSCComparatorDigiCollectionDM_);
122 
124 
125  //Tracks:
126 
127  GeneralTrackCollectionDM_ = ps.getParameter<std::string>("GeneralTrackDigiCollectionDM");
128  produces< reco::TrackCollection >(GeneralTrackCollectionDM_);
130 
131  }
132  else{ // Full Simulation options
133 
134  //cout<<"FastSim False!!!"<<endl;
135 
136  // declare the products to produce
137  // Start with EM
138  if(MergeEMDigis_) {
139 
140  // cout<<"EM Digis TRUE!!!"<<endl;
141 
142  EBDigiCollectionDM_ = ps.getParameter<std::string>("EBDigiCollectionDM");
143  EEDigiCollectionDM_ = ps.getParameter<std::string>("EEDigiCollectionDM");
144  ESDigiCollectionDM_ = ps.getParameter<std::string>("ESDigiCollectionDM");
145  // nMaxPrintout_ = ps.getUntrackedParameter<int>("nMaxPrintout",10);
146 
147  produces< EBDigiCollection >(EBDigiCollectionDM_);
148  produces< EEDigiCollection >(EEDigiCollectionDM_);
149  produces< ESDigiCollection >(ESDigiCollectionDM_);
150 
151 
152  if(addMCDigiNoise_ ) {
158  }
159  else { EMDigiWorker_ = new DataMixingEMDigiWorker(ps); }
160  }
161  else { // merge RecHits
162  EBRecHitCollectionDM_ = ps.getParameter<std::string>("EBRecHitCollectionDM");
163  EERecHitCollectionDM_ = ps.getParameter<std::string>("EERecHitCollectionDM");
164  ESRecHitCollectionDM_ = ps.getParameter<std::string>("ESRecHitCollectionDM");
165  // nMaxPrintout_ = ps.getUntrackedParameter<int>("nMaxPrintout",10);
166 
167  produces< EBRecHitCollection >(EBRecHitCollectionDM_);
168  produces< EERecHitCollection >(EERecHitCollectionDM_);
169  produces< ESRecHitCollection >(ESRecHitCollectionDM_);
170 
171  EMWorker_ = new DataMixingEMWorker(ps);
172  }
173  // Hcal next
174 
175  if(MergeHcalDigis_){
176  // cout<<"Hcal Digis TRUE!!!"<<endl;
177 
178  HBHEDigiCollectionDM_ = ps.getParameter<std::string>("HBHEDigiCollectionDM");
179  HODigiCollectionDM_ = ps.getParameter<std::string>("HODigiCollectionDM");
180  HFDigiCollectionDM_ = ps.getParameter<std::string>("HFDigiCollectionDM");
181  ZDCDigiCollectionDM_ = ps.getParameter<std::string>("ZDCDigiCollectionDM");
182 
183  produces< HBHEDigiCollection >();
184  produces< HODigiCollection >();
185  produces< HFDigiCollection >();
186  produces< ZDCDigiCollection >();
187 
188  produces<HBHEUpgradeDigiCollection>("HBHEUpgradeDigiCollection");
189  produces<HFUpgradeDigiCollection>("HFUpgradeDigiCollection");
190 
191 
192  if(MergeHcalDigisProd_) {
199  }
201  }
202 
203 
204  }
205  else{
206  HBHERecHitCollectionDM_ = ps.getParameter<std::string>("HBHERecHitCollectionDM");
207  HORecHitCollectionDM_ = ps.getParameter<std::string>("HORecHitCollectionDM");
208  HFRecHitCollectionDM_ = ps.getParameter<std::string>("HFRecHitCollectionDM");
209  ZDCRecHitCollectionDM_ = ps.getParameter<std::string>("ZDCRecHitCollectionDM");
210 
211  produces< HBHERecHitCollection >(HBHERecHitCollectionDM_);
212  produces< HORecHitCollection >(HORecHitCollectionDM_);
213  produces< HFRecHitCollection >(HFRecHitCollectionDM_);
214  produces< ZDCRecHitCollection >(ZDCRecHitCollectionDM_);
215 
217  }
218 
219  // Muons
220 
221  DTDigiCollectionDM_ = ps.getParameter<std::string>("DTDigiCollectionDM");
222  RPCDigiCollectionDM_ = ps.getParameter<std::string>("RPCDigiCollectionDM");
223  CSCStripDigiCollectionDM_ = ps.getParameter<std::string>("CSCStripDigiCollectionDM");
224  CSCWireDigiCollectionDM_ = ps.getParameter<std::string>("CSCWireDigiCollectionDM");
225  CSCComparatorDigiCollectionDM_ = ps.getParameter<std::string>("CSCComparatorDigiCollectionDM");
226 
227 
228  produces< DTDigiCollection >();
229  produces< RPCDigiCollection >();
230  produces< CSCStripDigiCollection >(CSCStripDigiCollectionDM_);
231  produces< CSCWireDigiCollection >(CSCWireDigiCollectionDM_);
232  produces< CSCComparatorDigiCollection >(CSCComparatorDigiCollectionDM_);
233 
235 
236  // Si-Strips
237 
238  useSiStripRawDigi_ = ps.exists("SiStripRawDigiSource")?
239  ps.getParameter<std::string>("SiStripRawDigiSource")=="PILEUP" ||
240  ps.getParameter<std::string>("SiStripRawDigiSource")=="SIGNAL" : false;
241 
242  SiStripDigiCollectionDM_ = ps.getParameter<std::string>("SiStripDigiCollectionDM");
243 
244  if(useSiStripRawDigi_) {
245 
246  produces< edm::DetSetVector<SiStripRawDigi> > (SiStripDigiCollectionDM_);
248 
249  } else {
250 
251  produces< edm::DetSetVector<SiStripDigi> > (SiStripDigiCollectionDM_);
252 
253  if( addMCDigiNoise_ ) {
255  }
256  else {
258  }
259  }
260 
261  // Pixels
262 
263  PixelDigiCollectionDM_ = ps.getParameter<std::string>("PixelDigiCollectionDM");
264 
265  produces< edm::DetSetVector<PixelDigi> > (PixelDigiCollectionDM_);
266 
268 
269  }
270 
271  // Pileup Information: if doing pre-mixing, we have to save the pileup information from the Secondary stream
272 
273  MergePileup_ = ps.getParameter<bool>("MergePileupInfo");
274 
275  if(MergePileup_) {
276  produces< std::vector<PileupSummaryInfo> >();
277  produces<CrossingFramePlaybackInfoExtended>();
278 
280  }
281 
282  }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string HFDigiCollectionDM_
std::string HBHERecHitCollectionDM_
std::string ZDCRecHitCollectionDM_
void setESAccess(edm::EDGetTokenT< ESDigitizerTraits::DigiCollection > tok)
edm::EDGetTokenT< EBDigitizerTraits::DigiCollection > tok_eb_
DataMixingGeneralTrackWorker * GeneralTrackWorker_
std::string CSCStripDigiCollectionDM_
BMixingModule(const edm::ParameterSet &ps)
bool exists(std::string const &parameterName) const
checks if a parameter exists
std::string SiStripDigiCollectionDM_
edm::EDGetTokenT< ZDCDigitizerTraits::DigiCollection > tok_zdc_
edm::EDGetTokenT< HODigitizerTraits::DigiCollection > tok_ho_
void setHFAccess(edm::EDGetTokenT< HFDigitizerTraits::DigiCollection > tok)
void setZDCAccess(edm::EDGetTokenT< ZDCDigitizerTraits::DigiCollection > tok)
std::string CSCWireDigiCollectionDM_
edm::EDGetTokenT< ESDigitizerTraits::DigiCollection > tok_es_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
std::string RPCDigiCollectionDM_
std::string ZDCDigiCollectionDM_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
std::string GeneralTrackCollectionDM_
edm::InputTag EEPileInputTag_
edm::EDGetTokenT< EEDigitizerTraits::DigiCollection > tok_ee_
edm::InputTag ESPileInputTag_
DataMixingPileupCopy * PUWorker_
void setEBAccess(edm::EDGetTokenT< EBDigitizerTraits::DigiCollection > tok)
void setHBHEAccess(edm::EDGetTokenT< HBHEDigitizerTraits::DigiCollection > tok)
std::string HORecHitCollectionDM_
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingMuonWorker * MuonWorker_
virtual void getSubdetectorNames()
edm::InputTag EBPileInputTag_
std::string EEDigiCollectionDM_
edm::InputTag HBHEPileInputTag_
std::string HFRecHitCollectionDM_
std::string HBHEDigiCollectionDM_
std::string EBRecHitCollectionDM_
std::string CSCComparatorDigiCollectionDM_
edm::InputTag HOPileInputTag_
void setEEAccess(edm::EDGetTokenT< EEDigitizerTraits::DigiCollection > tok)
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_
void setHOAccess(edm::EDGetTokenT< HODigitizerTraits::DigiCollection > tok)
edm::InputTag HFPileInputTag_
std::string HODigiCollectionDM_
std::string PixelDigiCollectionDM_
edm::EDGetTokenT< HBHEDigitizerTraits::DigiCollection > tok_hbhe_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_
edm::InputTag ZDCPileInputTag_
DataMixingModule::~DataMixingModule ( )
virtual

Default destructor

Definition at line 342 of file DataMixingModule.cc.

References addMCDigiNoise_, DoFastSim_, EcalDigiWorkerProd_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MergePileup_, MuonWorker_, PUWorker_, SiPixelWorker_, SiStripMCDigiWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

342  {
343  if(MergeEMDigis_){
344  if(addMCDigiNoise_ ) {delete EcalDigiWorkerProd_;}
345  else {delete EMDigiWorker_;}
346  }
347  else {delete EMWorker_;}
348  if(MergeHcalDigis_) {
350  else { delete HcalDigiWorker_; }}
351  else {delete HcalWorker_;}
352  if(MuonWorker_) delete MuonWorker_;
353  if(DoFastSim_){
354  delete GeneralTrackWorker_;
355  }else{
357  delete SiStripRawWorker_;
358  else if(addMCDigiNoise_ ) delete SiStripMCDigiWorker_;
359  else delete SiStripWorker_;
360 
361  delete SiPixelWorker_;
362  }
363  if(MergePileup_) { delete PUWorker_;}
364  }
DataMixingGeneralTrackWorker * GeneralTrackWorker_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingPileupCopy * PUWorker_
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingMuonWorker * MuonWorker_
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_

Member Function Documentation

void DataMixingModule::addSignals ( const edm::Event e,
const edm::EventSetup ES 
)
virtual

Reimplemented from edm::BMixingModule.

Definition at line 366 of file DataMixingModule.cc.

References edm::DataMixingEcalDigiWorkerProd::addEcalSignals(), AddedPileup_, edm::DataMixingEMWorker::addEMSignals(), edm::DataMixingEMDigiWorker::addEMSignals(), edm::DataMixingGeneralTrackWorker::addGeneralTrackSignals(), edm::DataMixingHcalWorker::addHcalSignals(), edm::DataMixingHcalDigiWorker::addHcalSignals(), edm::DataMixingHcalDigiWorkerProd::addHcalSignals(), addMCDigiNoise_, edm::DataMixingMuonWorker::addMuonSignals(), edm::DataMixingSiPixelWorker::addSiPixelSignals(), edm::DataMixingSiStripWorker::addSiStripSignals(), edm::DataMixingSiStripRawWorker::addSiStripSignals(), edm::DataMixingSiStripMCDigiWorker::addSiStripSignals(), DoFastSim_, EcalDigiWorkerProd_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, edm::EventBase::id(), LogDebug, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MuonWorker_, SiPixelWorker_, SiStripMCDigiWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

366  {
367  // fill in maps of hits
368 
369  LogDebug("DataMixingModule")<<"===============> adding MC signals for "<<e.id();
370 
371  // Ecal
372  if(MergeEMDigis_) {
374  else {EMDigiWorker_->addEMSignals(e, ES); }
375  }
376  else{ EMWorker_->addEMSignals(e);}
377 
378  // Hcal
379  if(MergeHcalDigis_) {
382  }
383  else{
385  }
386  }
387  else {HcalWorker_->addHcalSignals(e);}
388 
389  // Muon
391 
392  if(DoFastSim_){
394  }else{
395  // SiStrips
399 
400  // SiPixels
402  }
403  AddedPileup_ = false;
404 
405  } // end of addSignals
#define LogDebug(id)
void addMuonSignals(const edm::Event &e)
void addHcalSignals(const edm::Event &e, const edm::EventSetup &ES)
void addSiStripSignals(const edm::Event &e)
void addHcalSignals(const edm::Event &e)
void addEMSignals(const edm::Event &e)
DataMixingGeneralTrackWorker * GeneralTrackWorker_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingMuonWorker * MuonWorker_
edm::EventID id() const
Definition: EventBase.h:56
DataMixingSiStripWorker * SiStripWorker_
void addSiStripSignals(const edm::Event &e)
DataMixingHcalWorker * HcalWorker_
void addEcalSignals(const edm::Event &e, const edm::EventSetup &ES)
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void addEMSignals(const edm::Event &e, const edm::EventSetup &ES)
void addHcalSignals(const edm::Event &e, const edm::EventSetup &ES)
DataMixingEMDigiWorker * EMDigiWorker_
void addSiPixelSignals(const edm::Event &e)
void DataMixingModule::beginRun ( edm::Run const &  run,
edm::EventSetup const &  eventSetup 
)
virtual

Reimplemented from edm::BMixingModule.

Definition at line 332 of file DataMixingModule.cc.

References addMCDigiNoise_, edm::BMixingModule::beginRun(), edm::DataMixingEcalDigiWorkerProd::beginRun(), edm::DataMixingHcalDigiWorkerProd::beginRun(), EcalDigiWorkerProd_, and HcalDigiWorkerProd_.

332  {
333  //std::cout << " DM calling begin run " << std::endl;
335  if( addMCDigiNoise_ ) {
338  }
339  }
virtual void beginRun(const edm::Run &r, const edm::EventSetup &setup) override
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
void beginRun(const edm::EventSetup &ES)
void beginRun(const edm::EventSetup &ES)
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
virtual void edm::DataMixingModule::checkSignal ( const edm::Event e)
inlinevirtual

Reimplemented from edm::BMixingModule.

Definition at line 61 of file DataMixingModule.h.

61 {}
virtual void edm::DataMixingModule::createnewEDProduct ( )
inlinevirtual

Reimplemented from edm::BMixingModule.

Definition at line 62 of file DataMixingModule.h.

62 {}
void DataMixingModule::doPileUp ( edm::Event e,
const edm::EventSetup ES 
)
overridevirtual

Reimplemented from edm::BMixingModule.

Definition at line 472 of file DataMixingModule.cc.

References edm::EventBase::id(), edm::BMixingModule::inputSources_, edm::BMixingModule::maxBunch_, edm::BMixingModule::maxNbSources_, edm::BMixingModule::minBunch_, edm::Event::moduleCallingContext(), or, pileWorker(), edm::source(), and edm::BMixingModule::TrueNumInteractions_.

473  {
474  std::vector<edm::EventID> recordEventID;
475  std::vector<int> PileupList;
476  PileupList.clear();
477  TrueNumInteractions_.clear();
478 
479  ModuleCallingContext const* mcc = e.moduleCallingContext();
480 
481  for (int bunchCrossing=minBunch_;bunchCrossing<=maxBunch_;++bunchCrossing) {
482  for (unsigned int isource=0;isource<maxNbSources_;++isource) {
483  boost::shared_ptr<PileUp> source = inputSources_[isource];
484  if (not source or not source->doPileUp())
485  continue;
486 
487  if (isource==0)
488  source->CalculatePileup(minBunch_, maxBunch_, PileupList, TrueNumInteractions_);
489 
490  int NumPU_Events = 0;
491  if (isource ==0) {
492  NumPU_Events = PileupList[bunchCrossing - minBunch_];
493  } else {
494  // non-minbias pileup only gets one event for now. Fix later if desired.
495  NumPU_Events = 1;
496  }
497 
498  source->readPileUp(
499  e.id(),
500  recordEventID,
501  boost::bind(&DataMixingModule::pileWorker, boost::ref(*this),
502  _1, bunchCrossing, _2, boost::cref(ES), mcc),
503  NumPU_Events
504  );
505  }
506  }
507 
508  }
static std::string const source("source")
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
std::vector< float > TrueNumInteractions_
Definition: BMixingModule.h:92
ModuleCallingContext const * moduleCallingContext() const
Definition: Event.h:212
static const unsigned int maxNbSources_
Definition: BMixingModule.h:89
void pileWorker(const edm::EventPrincipal &, int bcr, int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
std::vector< boost::shared_ptr< PileUp > > inputSources_
Definition: BMixingModule.h:97
edm::EventID id() const
Definition: EventBase.h:56
void DataMixingModule::getSubdetectorNames ( )
privatevirtual

Definition at line 284 of file DataMixingModule.cc.

Referenced by DataMixingModule().

284  {
285  // get subdetector names
286  // edm::Service<edm::ConstProductRegistry> reg;
287  // Loop over provenance of products in registry.
288  //for (edm::ProductRegistry::ProductList::const_iterator it = reg->productList().begin(); it != reg->productList().end(); ++it) {
289 
290  // **** Check this out.... ****
291 
292  // See FWCore/Framework/interface/BranchDescription.h
293  // BranchDescription contains all the information for the product.
294 
295  // This section not very backwards-compatible in terms of digi-merging. Need to be able to specify here which data format
296  // to look at...
297 
298  // edm::BranchDescription desc = it->second;
299  //if (!desc.friendlyClassName_.compare(0,9,"EBRecHitC")) {
300  // Subdetectors_.push_back(desc.productInstanceName_);
301  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
302  //}
303  //else if (!desc.friendlyClassName_.compare(0,9,"EERecHitC")) {
304  // else if (!desc.friendlyClassName_.compare(0,9,"EErechitC") && desc.productInstanceName_.compare(0,11,"TrackerHits")) {
305  // Subdetectors_.push_back(desc.productInstanceName_);
306  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
307  //}
308  //else if (!desc.friendlyClassName_.compare(0,9,"HBRecHitC")) {
309  // Subdetectors_.push_back(desc.productInstanceName_);
310  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
311  //}
312  //else if (!desc.friendlyClassName_.compare(0,9,"HERecHitC")) {
313  // Subdetectors_.push_back(desc.productInstanceName_);
314  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
315  // }
316  // and so on with other detector types...
317  // }
318  }
void DataMixingModule::initializeEvent ( edm::Event const &  e,
edm::EventSetup const &  eventSetup 
)
virtual

Reimplemented from edm::BMixingModule.

Definition at line 321 of file DataMixingModule.cc.

References addMCDigiNoise_, EcalDigiWorkerProd_, HcalDigiWorkerProd_, edm::DataMixingHcalDigiWorkerProd::initializeEvent(), edm::DataMixingEcalDigiWorkerProd::initializeEvent(), edm::DataMixingSiStripMCDigiWorker::initializeEvent(), MergeHcalDigisProd_, and SiStripMCDigiWorker_.

321  {
322 
323  if( addMCDigiNoise_ ) {
326  }
329  }
330  }
virtual void initializeEvent(const edm::Event &e, edm::EventSetup const &iSetup)
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
void initializeEvent(const edm::Event &e, const edm::EventSetup &ES)
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void initializeEvent(const edm::Event &e, const edm::EventSetup &ES)
void DataMixingModule::pileWorker ( const edm::EventPrincipal ep,
int  bcr,
int  EventId,
const edm::EventSetup ES,
edm::ModuleCallingContext const *  mcc 
)

Definition at line 410 of file DataMixingModule.cc.

References edm::DataMixingEcalDigiWorkerProd::addEcalPileups(), AddedPileup_, edm::DataMixingEMWorker::addEMPileups(), edm::DataMixingEMDigiWorker::addEMPileups(), edm::DataMixingGeneralTrackWorker::addGeneralTrackPileups(), edm::DataMixingHcalWorker::addHcalPileups(), edm::DataMixingHcalDigiWorker::addHcalPileups(), edm::DataMixingHcalDigiWorkerProd::addHcalPileups(), addMCDigiNoise_, edm::DataMixingMuonWorker::addMuonPileups(), edm::DataMixingPileupCopy::addPileupInfo(), edm::DataMixingSiPixelWorker::addSiPixelPileups(), edm::DataMixingSiStripWorker::addSiStripPileups(), edm::DataMixingSiStripRawWorker::addSiStripPileups(), edm::DataMixingSiStripMCDigiWorker::addSiStripPileups(), DoFastSim_, EcalDigiWorkerProd_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, edm::EventPrincipal::id(), LogDebug, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MergePileup_, edm::one::EDProducerBase::moduleDescription(), MuonWorker_, PUWorker_, edm::BMixingModule::setupPileUpEvent(), SiPixelWorker_, SiStripMCDigiWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

Referenced by doPileUp().

410  {
411 
412  InternalContext internalContext(ep.id(), mcc);
413  ParentContext parentContext(&internalContext);
414  ModuleCallingContext moduleCallingContext(&moduleDescription());
415  ModuleContextSentry moduleContextSentry(&moduleCallingContext, parentContext);
416 
417  LogDebug("DataMixingModule") <<"\n===============> adding pileups from event "<<ep.id()<<" for bunchcrossing "<<bcr;
418 
419  // Note: setupPileUpEvent may modify the run and lumi numbers of the EventPrincipal to match that of the primary event.
420  setupPileUpEvent(ES);
421 
422  // fill in maps of hits; same code as addSignals, except now applied to the pileup events
423 
424  // Ecal
425  if(MergeEMDigis_) {
426  if(addMCDigiNoise_ ) { EcalDigiWorkerProd_->addEcalPileups(bcr, &ep, eventNr, ES, &moduleCallingContext);}
427  else { EMDigiWorker_->addEMPileups(bcr, &ep, eventNr, ES, &moduleCallingContext);}
428  }
429  else {EMWorker_->addEMPileups(bcr, &ep, eventNr, &moduleCallingContext); }
430 
431  // Hcal
432  if(MergeHcalDigis_) {
433  if(MergeHcalDigisProd_) {
434  HcalDigiWorkerProd_->addHcalPileups(bcr, &ep, eventNr, ES, &moduleCallingContext);
435  }
436  else{
437  HcalDigiWorker_->addHcalPileups(bcr, &ep, eventNr, ES, &moduleCallingContext);}
438  }
439  else {HcalWorker_->addHcalPileups(bcr, &ep, eventNr, &moduleCallingContext);}
440 
441  // Muon
442  MuonWorker_->addMuonPileups(bcr, &ep, eventNr, &moduleCallingContext);
443 
444  if(DoFastSim_){
445  GeneralTrackWorker_->addGeneralTrackPileups(bcr, &ep, eventNr, &moduleCallingContext);
446  }else{
447 
448  // SiStrips
449  if(useSiStripRawDigi_) SiStripRawWorker_->addSiStripPileups(bcr, &ep, eventNr, &moduleCallingContext);
450  else if(addMCDigiNoise_ ) SiStripMCDigiWorker_->addSiStripPileups(bcr, &ep, eventNr, &moduleCallingContext);
451  else SiStripWorker_->addSiStripPileups(bcr, &ep, eventNr, &moduleCallingContext);
452 
453  // SiPixels
454  SiPixelWorker_->addSiPixelPileups(bcr, &ep, eventNr, &moduleCallingContext);
455  }
456 
457  // check and see if we need to copy the pileup information from
458  // secondary stream to the output stream
459  // We only have the pileup event here, so pick the first time and store the info
460 
461  if(MergePileup_ && !AddedPileup_){
462 
463  PUWorker_->addPileupInfo(&ep, eventNr, &moduleCallingContext);
464 
465  AddedPileup_ = true;
466  }
467 
468  }
#define LogDebug(id)
void addMuonPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
void addHcalPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingGeneralTrackWorker * GeneralTrackWorker_
EventID const & id() const
void addHcalPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
ModuleDescription const & moduleDescription() const
void addSiPixelPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
void addEMPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
void addSiStripPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
void addSiStripPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingPileupCopy * PUWorker_
void addSiStripPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingMuonWorker * MuonWorker_
void addHcalPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES, edm::ModuleCallingContext const *)
void addEMPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
void addGeneralTrackPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void addPileupInfo(const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *mcc)
void setupPileUpEvent(const edm::EventSetup &setup)
void addEcalPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES, edm::ModuleCallingContext const *)
DataMixingEMDigiWorker * EMDigiWorker_
void DataMixingModule::put ( edm::Event e,
const edm::EventSetup ES 
)
virtual

Reimplemented from edm::BMixingModule.

Definition at line 511 of file DataMixingModule.cc.

References addMCDigiNoise_, DoFastSim_, EcalDigiWorkerProd_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MergePileup_, MuonWorker_, edm::DataMixingEcalDigiWorkerProd::putEcal(), edm::DataMixingEMWorker::putEM(), edm::DataMixingEMDigiWorker::putEM(), edm::DataMixingGeneralTrackWorker::putGeneralTrack(), edm::DataMixingHcalWorker::putHcal(), edm::DataMixingHcalDigiWorker::putHcal(), edm::DataMixingHcalDigiWorkerProd::putHcal(), edm::DataMixingMuonWorker::putMuon(), edm::DataMixingPileupCopy::putPileupInfo(), edm::DataMixingSiPixelWorker::putSiPixel(), edm::DataMixingSiStripWorker::putSiStrip(), edm::DataMixingSiStripRawWorker::putSiStrip(), edm::DataMixingSiStripMCDigiWorker::putSiStrip(), PUWorker_, SiPixelWorker_, SiStripMCDigiWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

511  {
512 
513  // individual workers...
514 
515  // Ecal
516  if(MergeEMDigis_) {
518  else { EMDigiWorker_->putEM(e,ES);}
519  }
520  else {EMWorker_->putEM(e);}
521 
522  // Hcal
523  if(MergeHcalDigis_) {
524  if(MergeHcalDigisProd_) {
526  }
527  else{
528  HcalDigiWorker_->putHcal(e,ES);
529  }
530  }
531  else {HcalWorker_->putHcal(e);}
532 
533  // Muon
534  MuonWorker_->putMuon(e);
535 
536  if(DoFastSim_){
538  }else{
539  // SiStrips
542  else SiStripWorker_->putSiStrip(e);
543 
544  // SiPixels
546  }
547 
549 
550 
551  }
void putEM(edm::Event &e)
DataMixingGeneralTrackWorker * GeneralTrackWorker_
void putEcal(edm::Event &e, const edm::EventSetup &ES)
void putPileupInfo(edm::Event &e)
void putEM(edm::Event &e, const edm::EventSetup &ES)
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingSiStripMCDigiWorker * SiStripMCDigiWorker_
void putHcal(edm::Event &e, const edm::EventSetup &ES)
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingPileupCopy * PUWorker_
DataMixingEcalDigiWorkerProd * EcalDigiWorkerProd_
DataMixingMuonWorker * MuonWorker_
void putHcal(edm::Event &e, const edm::EventSetup &ES)
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void putSiStrip(edm::Event &e, edm::EventSetup const &iSetup)
DataMixingEMDigiWorker * EMDigiWorker_

Member Data Documentation

bool edm::DataMixingModule::AddedPileup_
private

Definition at line 163 of file DataMixingModule.h.

Referenced by addSignals(), and pileWorker().

bool edm::DataMixingModule::addMCDigiNoise_
private
std::string edm::DataMixingModule::CSCComparatorDigiCollectionDM_
private

Definition at line 113 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::CSCStripDigiCollectionDM_
private

Definition at line 111 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::CSCWireDigiCollectionDM_
private

Definition at line 112 of file DataMixingModule.h.

Referenced by DataMixingModule().

bool edm::DataMixingModule::DoFastSim_
private

Definition at line 125 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::DTDigiCollectionDM_
private

Definition at line 109 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::EBDigiCollectionDM_
private

Definition at line 89 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::EBPileInputTag_
private

Definition at line 143 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::EBRecHitCollectionDM_
private

Definition at line 84 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingEcalDigiWorkerProd* edm::DataMixingModule::EcalDigiWorkerProd_
private
std::string edm::DataMixingModule::EEDigiCollectionDM_
private

Definition at line 90 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::EEPileInputTag_
private

Definition at line 144 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::EERecHitCollectionDM_
private

Definition at line 85 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingEMDigiWorker* edm::DataMixingModule::EMDigiWorker_
private

Definition at line 132 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

DataMixingEMWorker* edm::DataMixingModule::EMWorker_
private

Definition at line 131 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::ESDigiCollectionDM_
private

Definition at line 91 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::ESPileInputTag_
private

Definition at line 145 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::ESRecHitCollectionDM_
private

Definition at line 86 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::GeneralTrackCollectionDM_
private

Definition at line 122 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingGeneralTrackWorker* edm::DataMixingModule::GeneralTrackWorker_
private

Definition at line 184 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::HBHEDigiCollectionDM_
private

Definition at line 102 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::HBHEPileInputTag_
private

Definition at line 146 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::HBHERecHitCollectionDM_
private

Definition at line 96 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingHcalDigiWorker* edm::DataMixingModule::HcalDigiWorker_
private

Definition at line 139 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

DataMixingHcalDigiWorkerProd* edm::DataMixingModule::HcalDigiWorkerProd_
private
DataMixingHcalWorker* edm::DataMixingModule::HcalWorker_
private

Definition at line 138 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::HFDigiCollectionDM_
private

Definition at line 104 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::HFPileInputTag_
private

Definition at line 148 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::HFRecHitCollectionDM_
private

Definition at line 98 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::HODigiCollectionDM_
private

Definition at line 103 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::HOPileInputTag_
private

Definition at line 147 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::HORecHitCollectionDM_
private

Definition at line 97 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::label_
private
bool edm::DataMixingModule::MergeEMDigis_
private

Definition at line 134 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

bool edm::DataMixingModule::MergeHcalDigis_
private

Definition at line 159 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

bool edm::DataMixingModule::MergeHcalDigisProd_
private
bool edm::DataMixingModule::MergePileup_
private

Definition at line 162 of file DataMixingModule.h.

Referenced by DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

DataMixingMuonWorker* edm::DataMixingModule::MuonWorker_
private

Definition at line 167 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::PixelDigiCollectionDM_
private

Definition at line 119 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingPileupCopy* edm::DataMixingModule::PUWorker_
private

Definition at line 129 of file DataMixingModule.h.

Referenced by DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::RPCDigiCollectionDM_
private

Definition at line 110 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingSiPixelWorker* edm::DataMixingModule::SiPixelWorker_
private

Definition at line 180 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::SiStripDigiCollectionDM_
private

Definition at line 116 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingSiStripMCDigiWorker* edm::DataMixingModule::SiStripMCDigiWorker_
private
std::string edm::DataMixingModule::siStripRawDigiSource_
private

Definition at line 176 of file DataMixingModule.h.

DataMixingSiStripRawWorker* edm::DataMixingModule::SiStripRawWorker_
private

Definition at line 173 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

DataMixingSiStripWorker* edm::DataMixingModule::SiStripWorker_
private

Definition at line 171 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::vector<std::string> edm::DataMixingModule::Subdetectors_
private

Definition at line 189 of file DataMixingModule.h.

edm::EDGetTokenT<EBDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_eb_
private

Definition at line 154 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<EEDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_ee_
private

Definition at line 155 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<ESDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_es_
private

Definition at line 156 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<HBHEDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_hbhe_
private

Definition at line 150 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<HFDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_hf_
private

Definition at line 152 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<HODigitizerTraits::DigiCollection> edm::DataMixingModule::tok_ho_
private

Definition at line 151 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::EDGetTokenT<ZDCDigitizerTraits::DigiCollection> edm::DataMixingModule::tok_zdc_
private

Definition at line 153 of file DataMixingModule.h.

Referenced by DataMixingModule().

bool edm::DataMixingModule::useSiStripRawDigi_
private

Definition at line 174 of file DataMixingModule.h.

Referenced by addSignals(), DataMixingModule(), pileWorker(), put(), and ~DataMixingModule().

std::string edm::DataMixingModule::ZDCDigiCollectionDM_
private

Definition at line 105 of file DataMixingModule.h.

Referenced by DataMixingModule().

edm::InputTag edm::DataMixingModule::ZDCPileInputTag_
private

Definition at line 149 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::ZDCRecHitCollectionDM_
private

Definition at line 99 of file DataMixingModule.h.

Referenced by DataMixingModule().