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::EDProducer edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

virtual void beginJob ()
 
 DataMixingModule (const edm::ParameterSet &ps)
 
virtual void setBcrOffset ()
 
virtual void setSourceOffset (const unsigned int is)
 
virtual ~DataMixingModule ()
 
- Public Member Functions inherited from edm::BMixingModule
double averageNumber () const
 
 BMixingModule (const edm::ParameterSet &ps)
 
virtual void getEventStartInfo (edm::Event &e, const unsigned int source)
 
void merge (const int bcr, const EventPrincipalVector &vec, unsigned int worker, const edm::EventSetup &c)
 
bool poisson () const
 
virtual void produce (edm::Event &e1, const edm::EventSetup &c)
 
virtual void setEventStartInfo (const unsigned int s)
 
virtual ~BMixingModule ()
 
- Public Member Functions inherited from edm::EDProducer
 EDProducer ()
 
virtual ~EDProducer ()
 
- Public Member Functions inherited from edm::ProducerBase
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
boost::function< void(const
BranchDescription &)> 
registrationCallback () const
 used by the fwk to register list of products More...
 
virtual ~ProducerBase ()
 

Private Member Functions

virtual void addPileups (const int bcr, edm::EventPrincipal *, unsigned int EventId, unsigned int worker, const edm::EventSetup &ES)
 
virtual void addSignals (const edm::Event &e, const edm::EventSetup &ES)
 
virtual void checkSignal (const edm::Event &e)
 
virtual void createnewEDProduct ()
 
virtual void doPileUp (edm::Event &e, const edm::EventSetup &ES)
 
virtual void getSubdetectorNames ()
 
virtual void put (edm::Event &e, const edm::EventSetup &ES)
 

Private Attributes

std::string CSCComparatorDigiCollectionDM_
 
std::string CSCStripDigiCollectionDM_
 
std::string CSCWireDigiCollectionDM_
 
bool DoFastSim_
 
std::string DTDigiCollectionDM_
 
std::string EBDigiCollectionDM_
 
std::string EBRecHitCollectionDM_
 
std::string EEDigiCollectionDM_
 
std::string EERecHitCollectionDM_
 
DataMixingEMDigiWorkerEMDigiWorker_
 
DataMixingEMWorkerEMWorker_
 
std::string ESDigiCollectionDM_
 
std::string ESRecHitCollectionDM_
 
std::string GeneralTrackCollectionDM_
 
DataMixingGeneralTrackWorkerGeneralTrackWorker_
 
std::string HBHEDigiCollectionDM_
 
std::string HBHERecHitCollectionDM_
 
DataMixingHcalDigiWorkerHcalDigiWorker_
 
DataMixingHcalDigiWorkerProdHcalDigiWorkerProd_
 
DataMixingHcalWorkerHcalWorker_
 
std::string HFDigiCollectionDM_
 
std::string HFRecHitCollectionDM_
 
std::string HODigiCollectionDM_
 
std::string HORecHitCollectionDM_
 
std::string label_
 
bool MergeEMDigis_
 
bool MergeHcalDigis_
 
bool MergeHcalDigisProd_
 
DataMixingMuonWorkerMuonWorker_
 
std::string PixelDigiCollectionDM_
 
std::string RPCDigiCollectionDM_
 
Selectorsel_
 
DataMixingSiPixelWorkerSiPixelWorker_
 
std::string SiStripDigiCollectionDM_
 
std::string siStripRawDigiSource_
 
DataMixingSiStripRawWorkerSiStripRawWorker_
 
DataMixingSiStripWorkerSiStripWorker_
 
std::vector< std::string > Subdetectors_
 
bool useSiStripRawDigi_
 
std::string ZDCDigiCollectionDM_
 
std::string ZDCRecHitCollectionDM_
 

Additional Inherited Members

- Public Types inherited from edm::BMixingModule
typedef
PileUp::EventPrincipalVector 
EventPrincipalVector
 
- Public Types inherited from edm::EDProducer
typedef EDProducer ModuleType
 
typedef WorkerT< EDProducerWorkerType
 
- Public Types inherited from edm::ProducerBase
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Static Public Member Functions inherited from edm::EDProducer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::BMixingModule
void dropUnwantedBranches (std::vector< std::string > const &wantedBranches)
 
virtual void endJob ()
 
- Protected Member Functions inherited from edm::EDProducer
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class TProducer , class TMethod >
void callWhenNewProductsRegistered (TProducer *iProd, TMethod iMethod)
 
- Protected Attributes inherited from edm::BMixingModule
int bunchSpace_
 
bool checktof_
 
bool doit_ [4]
 
std::vector< edm::EventIDeventIDs_
 
std::vector< int > fileSeqNrs_
 
int const maxBunch_
 
int const minBunch_
 
bool const mixProdStep1_
 
bool const mixProdStep2_
 
std::vector< unsigned int > nrEvents_
 
std::vector< EventPrincipalVectorpileup_ [4]
 
bool playback_
 
std::vector< float > TrueNumInteractions_ [4]
 
std::vector< std::vector
< edm::EventID > > 
vectorEventIDs_
 
- Static Protected Attributes inherited from edm::BMixingModule
static const unsigned int maxNbSources_ =4
 
static int vertexoffset = 0
 

Detailed Description

Definition at line 43 of file DataMixingModule.h.

Constructor & Destructor Documentation

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

standard constructor

Definition at line 27 of file DataMixingModule.cc.

References CSCComparatorDigiCollectionDM_, CSCStripDigiCollectionDM_, CSCWireDigiCollectionDM_, DoFastSim_, DTDigiCollectionDM_, EBDigiCollectionDM_, EBRecHitCollectionDM_, EEDigiCollectionDM_, EERecHitCollectionDM_, EMDigiWorker_, EMWorker_, ESDigiCollectionDM_, ESRecHitCollectionDM_, edm::ParameterSet::exists(), GeneralTrackCollectionDM_, GeneralTrackWorker_, edm::ParameterSet::getParameter(), getSubdetectorNames(), HBHEDigiCollectionDM_, HBHERecHitCollectionDM_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, HFDigiCollectionDM_, HFRecHitCollectionDM_, HODigiCollectionDM_, HORecHitCollectionDM_, label_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MuonWorker_, PixelDigiCollectionDM_, RPCDigiCollectionDM_, sel_, SiPixelWorker_, SiStripDigiCollectionDM_, SiStripRawWorker_, SiStripWorker_, useSiStripRawDigi_, ZDCDigiCollectionDM_, and ZDCRecHitCollectionDM_.

27  : BMixingModule(ps),
28  label_(ps.getParameter<std::string>("Label"))
29 
30  { // what's "label_"?
31 
32  // get the subdetector names
33  this->getSubdetectorNames(); //something like this may be useful to check what we are supposed to do...
34 
35  // create input selector
36  if (label_.size()>0){
37  sel_=new Selector( ModuleLabelSelector(label_));
38  }
39  else {
40  sel_=new Selector( MatchAllSelector());
41  }
42 
43  // For now, list all of them here. Later, make this selectable with input parameters
44  //
45 
46  // Check to see if we are working in Full or Fast Simulation
47 
48  DoFastSim_ = (ps.getParameter<std::string>("IsThisFastSim")).compare("YES") == 0;
49  MergeEMDigis_ = (ps.getParameter<std::string>("EcalMergeType")).compare("Digis") == 0;
50  MergeHcalDigis_ = (ps.getParameter<std::string>("HcalMergeType")).compare("Digis") == 0;
51  if(MergeHcalDigis_) MergeHcalDigisProd_ = (ps.getParameter<std::string>("HcalDigiMerge")=="FullProd");
52 
53  // Put Fast Sim Sequences here for Simplification: Fewer options!
54 
55  if(DoFastSim_) {
56 
57  // declare the products to produce
58 
59  //Ecal:
60 
61  EBRecHitCollectionDM_ = ps.getParameter<std::string>("EBRecHitCollectionDM");
62  EERecHitCollectionDM_ = ps.getParameter<std::string>("EERecHitCollectionDM");
63  ESRecHitCollectionDM_ = ps.getParameter<std::string>("ESRecHitCollectionDM");
64 
65  produces< EBRecHitCollection >(EBRecHitCollectionDM_);
66  produces< EERecHitCollection >(EERecHitCollectionDM_);
67  produces< ESRecHitCollection >(ESRecHitCollectionDM_);
68 
69  EMWorker_ = new DataMixingEMWorker(ps);
70 
71  //Hcal:
72 
73  HBHERecHitCollectionDM_ = ps.getParameter<std::string>("HBHERecHitCollectionDM");
74  HORecHitCollectionDM_ = ps.getParameter<std::string>("HORecHitCollectionDM");
75  HFRecHitCollectionDM_ = ps.getParameter<std::string>("HFRecHitCollectionDM");
76  ZDCRecHitCollectionDM_ = ps.getParameter<std::string>("ZDCRecHitCollectionDM");
77 
78  produces< HBHERecHitCollection >(HBHERecHitCollectionDM_);
79  produces< HORecHitCollection >(HORecHitCollectionDM_);
80  produces< HFRecHitCollection >(HFRecHitCollectionDM_);
81  produces< ZDCRecHitCollection >(ZDCRecHitCollectionDM_);
82 
84 
85  //Muons:
86 
87  DTDigiCollectionDM_ = ps.getParameter<std::string>("DTDigiCollectionDM");
88  RPCDigiCollectionDM_ = ps.getParameter<std::string>("RPCDigiCollectionDM");
89  CSCStripDigiCollectionDM_ = ps.getParameter<std::string>("CSCStripDigiCollectionDM");
90  CSCWireDigiCollectionDM_ = ps.getParameter<std::string>("CSCWireDigiCollectionDM");
91  CSCComparatorDigiCollectionDM_ = ps.getParameter<std::string>("CSCComparatorDigiCollectionDM");
92 
93  produces< DTDigiCollection >();
94  produces< RPCDigiCollection >();
95  produces< CSCStripDigiCollection >(CSCStripDigiCollectionDM_);
96  produces< CSCWireDigiCollection >(CSCWireDigiCollectionDM_);
97  produces< CSCComparatorDigiCollection >(CSCComparatorDigiCollectionDM_);
98 
100 
101  //Tracks:
102 
103  GeneralTrackCollectionDM_ = ps.getParameter<std::string>("GeneralTrackDigiCollectionDM");
104  produces< reco::TrackCollection >(GeneralTrackCollectionDM_);
106 
107  }
108  else{ // Full Simulation options
109 
110  //cout<<"FastSim False!!!"<<endl;
111 
112  // declare the products to produce
113  // Start with EM
114  if(MergeEMDigis_) {
115 
116  // cout<<"EM Digis TRUE!!!"<<endl;
117 
118  EBDigiCollectionDM_ = ps.getParameter<std::string>("EBDigiCollectionDM");
119  EEDigiCollectionDM_ = ps.getParameter<std::string>("EEDigiCollectionDM");
120  ESDigiCollectionDM_ = ps.getParameter<std::string>("ESDigiCollectionDM");
121  // nMaxPrintout_ = ps.getUntrackedParameter<int>("nMaxPrintout",10);
122 
123  produces< EBDigiCollection >(EBDigiCollectionDM_);
124  produces< EEDigiCollection >(EEDigiCollectionDM_);
125  produces< ESDigiCollection >(ESDigiCollectionDM_);
126 
128  }
129  else { // merge RecHits
130  EBRecHitCollectionDM_ = ps.getParameter<std::string>("EBRecHitCollectionDM");
131  EERecHitCollectionDM_ = ps.getParameter<std::string>("EERecHitCollectionDM");
132  ESRecHitCollectionDM_ = ps.getParameter<std::string>("ESRecHitCollectionDM");
133  // nMaxPrintout_ = ps.getUntrackedParameter<int>("nMaxPrintout",10);
134 
135  produces< EBRecHitCollection >(EBRecHitCollectionDM_);
136  produces< EERecHitCollection >(EERecHitCollectionDM_);
137  produces< ESRecHitCollection >(ESRecHitCollectionDM_);
138 
139  EMWorker_ = new DataMixingEMWorker(ps);
140  }
141  // Hcal next
142 
143  if(MergeHcalDigis_){
144  // cout<<"Hcal Digis TRUE!!!"<<endl;
145 
146  HBHEDigiCollectionDM_ = ps.getParameter<std::string>("HBHEDigiCollectionDM");
147  HODigiCollectionDM_ = ps.getParameter<std::string>("HODigiCollectionDM");
148  HFDigiCollectionDM_ = ps.getParameter<std::string>("HFDigiCollectionDM");
149  ZDCDigiCollectionDM_ = ps.getParameter<std::string>("ZDCDigiCollectionDM");
150 
151  produces< HBHEDigiCollection >();
152  produces< HODigiCollection >();
153  produces< HFDigiCollection >();
154  produces< ZDCDigiCollection >();
155 
156  if(MergeHcalDigisProd_) {
158  }
160  }
161 
162 
163  }
164  else{
165  HBHERecHitCollectionDM_ = ps.getParameter<std::string>("HBHERecHitCollectionDM");
166  HORecHitCollectionDM_ = ps.getParameter<std::string>("HORecHitCollectionDM");
167  HFRecHitCollectionDM_ = ps.getParameter<std::string>("HFRecHitCollectionDM");
168  ZDCRecHitCollectionDM_ = ps.getParameter<std::string>("ZDCRecHitCollectionDM");
169 
170  produces< HBHERecHitCollection >(HBHERecHitCollectionDM_);
171  produces< HORecHitCollection >(HORecHitCollectionDM_);
172  produces< HFRecHitCollection >(HFRecHitCollectionDM_);
173  produces< ZDCRecHitCollection >(ZDCRecHitCollectionDM_);
174 
176  }
177 
178  // Muons
179 
180  DTDigiCollectionDM_ = ps.getParameter<std::string>("DTDigiCollectionDM");
181  RPCDigiCollectionDM_ = ps.getParameter<std::string>("RPCDigiCollectionDM");
182  CSCStripDigiCollectionDM_ = ps.getParameter<std::string>("CSCStripDigiCollectionDM");
183  CSCWireDigiCollectionDM_ = ps.getParameter<std::string>("CSCWireDigiCollectionDM");
184  CSCComparatorDigiCollectionDM_ = ps.getParameter<std::string>("CSCComparatorDigiCollectionDM");
185 
186 
187  produces< DTDigiCollection >();
188  produces< RPCDigiCollection >();
189  produces< CSCStripDigiCollection >(CSCStripDigiCollectionDM_);
190  produces< CSCWireDigiCollection >(CSCWireDigiCollectionDM_);
191  produces< CSCComparatorDigiCollection >(CSCComparatorDigiCollectionDM_);
192 
194 
195  // Si-Strips
196 
197  useSiStripRawDigi_ = ps.exists("SiStripRawDigiSource")?
198  ps.getParameter<std::string>("SiStripRawDigiSource")=="PILEUP" ||
199  ps.getParameter<std::string>("SiStripRawDigiSource")=="SIGNAL" : false;
200 
201  SiStripDigiCollectionDM_ = ps.getParameter<std::string>("SiStripDigiCollectionDM");
202 
203  if(useSiStripRawDigi_) {
204 
205  produces< edm::DetSetVector<SiStripRawDigi> > (SiStripDigiCollectionDM_);
207 
208  } else {
209 
210  produces< edm::DetSetVector<SiStripDigi> > (SiStripDigiCollectionDM_);
212 
213  }
214 
215  // Pixels
216 
217  PixelDigiCollectionDM_ = ps.getParameter<std::string>("PixelDigiCollectionDM");
218 
219  produces< edm::DetSetVector<PixelDigi> > (PixelDigiCollectionDM_);
220 
222 
223  }
224 
225  }
T getParameter(std::string const &) const
std::string HFDigiCollectionDM_
std::string HBHERecHitCollectionDM_
std::string ZDCRecHitCollectionDM_
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_
std::string CSCWireDigiCollectionDM_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
std::string RPCDigiCollectionDM_
std::string ZDCDigiCollectionDM_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
std::string GeneralTrackCollectionDM_
Functor that operates on &lt;T&gt;
Definition: Selector.h:25
std::string HORecHitCollectionDM_
DataMixingMuonWorker * MuonWorker_
virtual void getSubdetectorNames()
std::string EEDigiCollectionDM_
std::string HFRecHitCollectionDM_
std::string HBHEDigiCollectionDM_
std::string EBRecHitCollectionDM_
std::string CSCComparatorDigiCollectionDM_
DataMixingSiStripWorker * SiStripWorker_
std::string ESRecHitCollectionDM_
std::string EERecHitCollectionDM_
std::string ESDigiCollectionDM_
std::string DTDigiCollectionDM_
std::string EBDigiCollectionDM_
DataMixingHcalWorker * HcalWorker_
std::string HODigiCollectionDM_
std::string PixelDigiCollectionDM_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_
DataMixingModule::~DataMixingModule ( )
virtual

Default destructor

Definition at line 269 of file DataMixingModule.cc.

References DoFastSim_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MuonWorker_, sel_, SiPixelWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

269  {
270  delete sel_;
271  if(MergeEMDigis_){ delete EMDigiWorker_;}
272  else {delete EMWorker_;}
273  if(MergeHcalDigis_) {
275  else { delete HcalDigiWorker_; }}
276  else {delete HcalWorker_;}
277  if(MuonWorker_) delete MuonWorker_;
278  if(DoFastSim_){
279  delete GeneralTrackWorker_;
280  }else{
282  delete SiStripRawWorker_;
283  else
284  delete SiStripWorker_;
285  delete SiPixelWorker_;
286  }
287  }
DataMixingGeneralTrackWorker * GeneralTrackWorker_
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingMuonWorker * MuonWorker_
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_

Member Function Documentation

void DataMixingModule::addPileups ( const int  bcr,
edm::EventPrincipal ep,
unsigned int  EventId,
unsigned int  worker,
const edm::EventSetup ES 
)
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 327 of file DataMixingModule.cc.

References edm::DataMixingEMWorker::addEMPileups(), edm::DataMixingEMDigiWorker::addEMPileups(), edm::DataMixingGeneralTrackWorker::addGeneralTrackPileups(), edm::DataMixingHcalWorker::addHcalPileups(), edm::DataMixingHcalDigiWorkerProd::addHcalPileups(), edm::DataMixingHcalDigiWorker::addHcalPileups(), edm::DataMixingMuonWorker::addMuonPileups(), edm::DataMixingSiPixelWorker::addSiPixelPileups(), edm::DataMixingSiStripWorker::addSiStripPileups(), edm::DataMixingSiStripRawWorker::addSiStripPileups(), DoFastSim_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, edm::EventPrincipal::id(), LogDebug, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MuonWorker_, SiPixelWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

327  {
328 
329 
330  LogDebug("DataMixingModule") <<"\n===============> adding pileups from event "<<ep->id()<<" for bunchcrossing "<<bcr;
331 
332  // fill in maps of hits; same code as addSignals, except now applied to the pileup events
333 
334  // Ecal
335  if(MergeEMDigis_) { EMDigiWorker_->addEMPileups(bcr, ep, eventNr, ES);}
336  else {EMWorker_->addEMPileups(bcr, ep, eventNr); }
337 
338  // Hcal
339  if(MergeHcalDigis_) {
340  if(MergeHcalDigisProd_) {
341  HcalDigiWorkerProd_->addHcalPileups(bcr, ep, eventNr, ES);
342  }
343  else{
344  HcalDigiWorker_->addHcalPileups(bcr, ep, eventNr, ES);}
345  }
346  else {HcalWorker_->addHcalPileups(bcr, ep, eventNr);}
347 
348  // Muon
349  MuonWorker_->addMuonPileups(bcr, ep, eventNr);
350 
351  if(DoFastSim_){
352  GeneralTrackWorker_->addGeneralTrackPileups(bcr, ep, eventNr);
353  }else{
354 
355  // SiStrips
357  else SiStripWorker_->addSiStripPileups(bcr, ep, eventNr);
358 
359  // SiPixels
360  SiPixelWorker_->addSiPixelPileups(bcr, ep, eventNr);
361  }
362  }
#define LogDebug(id)
void addGeneralTrackPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
DataMixingGeneralTrackWorker * GeneralTrackWorker_
void addEMPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
void addSiStripPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
EventID const & id() const
void addHcalPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES)
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
void addEMPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES)
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
void addSiPixelPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
DataMixingMuonWorker * MuonWorker_
void addSiStripPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
void addHcalPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES)
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
void addMuonPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
void addHcalPileups(const int bcr, edm::EventPrincipal *, unsigned int EventId)
DataMixingEMDigiWorker * EMDigiWorker_
void DataMixingModule::addSignals ( const edm::Event e,
const edm::EventSetup ES 
)
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 289 of file DataMixingModule.cc.

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

289  {
290  // fill in maps of hits
291 
292  LogDebug("DataMixingModule")<<"===============> adding MC signals for "<<e.id();
293 
294  // Ecal
295  if(MergeEMDigis_) { EMDigiWorker_->addEMSignals(e, ES); }
296  else{ EMWorker_->addEMSignals(e);}
297 
298  // Hcal
299  if(MergeHcalDigis_) {
302  }
303  else{
305  }
306  }
307  else {HcalWorker_->addHcalSignals(e);}
308 
309  // Muon
311 
312  if(DoFastSim_){
314  }else{
315  // SiStrips
318 
319  // SiPixels
321  }
322  } // 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_
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingMuonWorker * MuonWorker_
edm::EventID id() const
Definition: EventBase.h:56
DataMixingSiStripWorker * SiStripWorker_
void addSiStripSignals(const edm::Event &e)
DataMixingHcalWorker * HcalWorker_
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)
virtual void edm::DataMixingModule::beginJob ( void  )
inlinevirtual

Reimplemented from edm::EDProducer.

Definition at line 53 of file DataMixingModule.h.

53 {}
void DataMixingModule::checkSignal ( const edm::Event e)
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 325 of file DataMixingModule.cc.

325 {}
void DataMixingModule::createnewEDProduct ( )
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 264 of file DataMixingModule.cc.

264  {
265  }
void DataMixingModule::doPileUp ( edm::Event e,
const edm::EventSetup ES 
)
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 364 of file DataMixingModule.cc.

References edm::BMixingModule::doit_, edm::BMixingModule::maxBunch_, edm::BMixingModule::maxNbSources_, edm::BMixingModule::merge(), edm::BMixingModule::minBunch_, edm::BMixingModule::pileup_, setBcrOffset(), and setSourceOffset().

365  {//
366 
367  for (int bunchCrossing=minBunch_;bunchCrossing<=maxBunch_;++bunchCrossing) {
368  setBcrOffset();
369  for (unsigned int isource=0;isource<maxNbSources_;++isource) {
370  setSourceOffset(isource);
371  if (doit_[isource]) {
372  merge(bunchCrossing, (pileup_[isource])[bunchCrossing-minBunch_],1, ES);
373  }
374  }
375  }
376  }
virtual void setSourceOffset(const unsigned int is)
std::vector< EventPrincipalVector > pileup_[4]
Definition: BMixingModule.h:81
void merge(const int bcr, const EventPrincipalVector &vec, unsigned int worker, const edm::EventSetup &c)
static const unsigned int maxNbSources_
Definition: BMixingModule.h:79
virtual void setBcrOffset()
void DataMixingModule::getSubdetectorNames ( )
privatevirtual

Definition at line 227 of file DataMixingModule.cc.

Referenced by DataMixingModule().

227  {
228  // get subdetector names
229  // edm::Service<edm::ConstProductRegistry> reg;
230  // Loop over provenance of products in registry.
231  //for (edm::ProductRegistry::ProductList::const_iterator it = reg->productList().begin(); it != reg->productList().end(); ++it) {
232 
233  // **** Check this out.... ****
234 
235  // See FWCore/Framework/interface/BranchDescription.h
236  // BranchDescription contains all the information for the product.
237 
238  // This section not very backwards-compatible in terms of digi-merging. Need to be able to specify here which data format
239  // to look at...
240 
241  // edm::BranchDescription desc = it->second;
242  //if (!desc.friendlyClassName_.compare(0,9,"EBRecHitC")) {
243  // Subdetectors_.push_back(desc.productInstanceName_);
244  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
245  //}
246  //else if (!desc.friendlyClassName_.compare(0,9,"EERecHitC")) {
247  // else if (!desc.friendlyClassName_.compare(0,9,"EErechitC") && desc.productInstanceName_.compare(0,11,"TrackerHits")) {
248  // Subdetectors_.push_back(desc.productInstanceName_);
249  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
250  //}
251  //else if (!desc.friendlyClassName_.compare(0,9,"HBRecHitC")) {
252  // Subdetectors_.push_back(desc.productInstanceName_);
253  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
254  //}
255  //else if (!desc.friendlyClassName_.compare(0,9,"HERecHitC")) {
256  // Subdetectors_.push_back(desc.productInstanceName_);
257  //LogInfo("DataMixingModule") <<"Adding container "<<desc.productInstanceName_ <<" for pileup treatment";
258  // }
259  // and so on with other detector types...
260  // }
261  }
void DataMixingModule::put ( edm::Event e,
const edm::EventSetup ES 
)
privatevirtual

Reimplemented from edm::BMixingModule.

Definition at line 379 of file DataMixingModule.cc.

References DoFastSim_, EMDigiWorker_, EMWorker_, GeneralTrackWorker_, HcalDigiWorker_, HcalDigiWorkerProd_, HcalWorker_, MergeEMDigis_, MergeHcalDigis_, MergeHcalDigisProd_, MuonWorker_, edm::DataMixingEMWorker::putEM(), edm::DataMixingEMDigiWorker::putEM(), edm::DataMixingGeneralTrackWorker::putGeneralTrack(), edm::DataMixingHcalWorker::putHcal(), edm::DataMixingHcalDigiWorkerProd::putHcal(), edm::DataMixingHcalDigiWorker::putHcal(), edm::DataMixingMuonWorker::putMuon(), edm::DataMixingSiPixelWorker::putSiPixel(), edm::DataMixingSiStripWorker::putSiStrip(), edm::DataMixingSiStripRawWorker::putSiStrip(), SiPixelWorker_, SiStripRawWorker_, SiStripWorker_, and useSiStripRawDigi_.

379  {
380 
381  // individual workers...
382 
383  // Ecal
384  if(MergeEMDigis_) {EMDigiWorker_->putEM(e,ES);}
385  else {EMWorker_->putEM(e);}
386 
387  // Hcal
388  if(MergeHcalDigis_) {
389  if(MergeHcalDigisProd_) {
391  }
392  else{
393  HcalDigiWorker_->putHcal(e,ES);
394  }
395  }
396  else {HcalWorker_->putHcal(e);}
397 
398  // Muon
399  MuonWorker_->putMuon(e);
400 
401  if(DoFastSim_){
403  }else{
404  // SiStrips
406  else SiStripWorker_->putSiStrip(e);
407 
408  // SiPixels
410  }
411  }
void putEM(edm::Event &e)
DataMixingGeneralTrackWorker * GeneralTrackWorker_
void putEM(edm::Event &e, const edm::EventSetup &ES)
DataMixingSiStripRawWorker * SiStripRawWorker_
DataMixingSiPixelWorker * SiPixelWorker_
void putHcal(edm::Event &e, const edm::EventSetup &ES)
DataMixingHcalDigiWorker * HcalDigiWorker_
DataMixingEMWorker * EMWorker_
DataMixingMuonWorker * MuonWorker_
void putHcal(edm::Event &e, const edm::EventSetup &ES)
DataMixingSiStripWorker * SiStripWorker_
DataMixingHcalWorker * HcalWorker_
DataMixingHcalDigiWorkerProd * HcalDigiWorkerProd_
DataMixingEMDigiWorker * EMDigiWorker_
void DataMixingModule::setBcrOffset ( )
virtual

Reimplemented from edm::BMixingModule.

Definition at line 413 of file DataMixingModule.cc.

Referenced by doPileUp().

413  {
414  }
void DataMixingModule::setSourceOffset ( const unsigned int  is)
virtual

Reimplemented from edm::BMixingModule.

Definition at line 416 of file DataMixingModule.cc.

Referenced by doPileUp().

416  {
417  }

Member Data Documentation

std::string edm::DataMixingModule::CSCComparatorDigiCollectionDM_
private

Definition at line 92 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 90 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 91 of file DataMixingModule.h.

Referenced by DataMixingModule().

bool edm::DataMixingModule::DoFastSim_
private

Definition at line 104 of file DataMixingModule.h.

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

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

Definition at line 88 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 68 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 63 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::EEDigiCollectionDM_
private

Definition at line 69 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 64 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingEMDigiWorker* edm::DataMixingModule::EMDigiWorker_
private

Definition at line 109 of file DataMixingModule.h.

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

DataMixingEMWorker* edm::DataMixingModule::EMWorker_
private

Definition at line 108 of file DataMixingModule.h.

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

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

Definition at line 70 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 65 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 101 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingGeneralTrackWorker* edm::DataMixingModule::GeneralTrackWorker_
private

Definition at line 138 of file DataMixingModule.h.

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

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

Definition at line 81 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 75 of file DataMixingModule.h.

Referenced by DataMixingModule().

DataMixingHcalDigiWorker* edm::DataMixingModule::HcalDigiWorker_
private

Definition at line 115 of file DataMixingModule.h.

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

DataMixingHcalDigiWorkerProd* edm::DataMixingModule::HcalDigiWorkerProd_
private

Definition at line 116 of file DataMixingModule.h.

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

DataMixingHcalWorker* edm::DataMixingModule::HcalWorker_
private

Definition at line 114 of file DataMixingModule.h.

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

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

Definition at line 83 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 77 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 82 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 76 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 110 of file DataMixingModule.h.

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

bool edm::DataMixingModule::MergeHcalDigis_
private

Definition at line 118 of file DataMixingModule.h.

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

bool edm::DataMixingModule::MergeHcalDigisProd_
private

Definition at line 119 of file DataMixingModule.h.

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

DataMixingMuonWorker* edm::DataMixingModule::MuonWorker_
private

Definition at line 123 of file DataMixingModule.h.

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

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

Definition at line 98 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 89 of file DataMixingModule.h.

Referenced by DataMixingModule().

Selector* edm::DataMixingModule::sel_
private

Definition at line 156 of file DataMixingModule.h.

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

DataMixingSiPixelWorker* edm::DataMixingModule::SiPixelWorker_
private

Definition at line 134 of file DataMixingModule.h.

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

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

Definition at line 95 of file DataMixingModule.h.

Referenced by DataMixingModule().

std::string edm::DataMixingModule::siStripRawDigiSource_
private

Definition at line 130 of file DataMixingModule.h.

DataMixingSiStripRawWorker* edm::DataMixingModule::SiStripRawWorker_
private

Definition at line 128 of file DataMixingModule.h.

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

DataMixingSiStripWorker* edm::DataMixingModule::SiStripWorker_
private

Definition at line 127 of file DataMixingModule.h.

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

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

Definition at line 152 of file DataMixingModule.h.

bool edm::DataMixingModule::useSiStripRawDigi_
private

Definition at line 129 of file DataMixingModule.h.

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

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

Definition at line 84 of file DataMixingModule.h.

Referenced by DataMixingModule().

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

Definition at line 78 of file DataMixingModule.h.

Referenced by DataMixingModule().