CMS 3D CMS Logo

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

#include <DataMixingSiStripMCDigiWorker.h>

Classes

class  StrictWeakOrdering
 

Public Member Functions

void addSiStripPileups (const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *)
 
void addSiStripSignals (const edm::Event &e)
 
 DataMixingSiStripMCDigiWorker ()
 
 DataMixingSiStripMCDigiWorker (const edm::ParameterSet &ps)
 
void DMinitializeDetUnit (StripGeomDetUnit *det, const edm::EventSetup &iSetup)
 
virtual void initializeEvent (const edm::Event &e, edm::EventSetup const &iSetup)
 
void putSiStrip (edm::Event &e, edm::EventSetup const &iSetup)
 
virtual ~DataMixingSiStripMCDigiWorker ()
 

Private Types

typedef float Amplitude
 
typedef
SiDigitalConverter::DigitalVecType 
DigitalVecType
 
typedef std::vector< SiStripDigiOneDetectorMap
 
typedef std::map< uint32_t,
OneDetectorMap
SiGlobalIndex
 
typedef std::map< uint32_t,
SignalMapType
signalMaps
 
typedef std::map< int, AmplitudeSignalMapType
 

Private Member Functions

const SignalMapTypegetSignal (uint32_t detID) const
 

Private Attributes

std::map< unsigned int,
std::vector< bool > > 
allBadChannels
 
std::map< unsigned int, size_t > firstChannelsWithSignal
 
std::string gainLabel
 
std::string geometryType
 
std::string label_
 
std::map< unsigned int, size_t > lastChannelsWithSignal
 
edm::ESHandle< TrackerGeometrypDD
 
bool peakMode
 
CLHEP::HepRandomEngine * rndEngine
 
signalMaps signals_
 
SiGlobalIndex SiHitStorage_
 
std::string SiStripDigiCollectionDM_
 
edm::InputTag SistripLabelSig_
 
edm::InputTag SiStripPileInputTag_
 
double theElectronPerADC
 
int theFedAlgo
 
std::unique_ptr
< SiTrivialDigitalConverter
theSiDigitalConverter
 
std::unique_ptr
< SiGaussianTailNoiseAdder
theSiNoiseAdder
 
std::unique_ptr
< SiStripFedZeroSuppression
theSiZeroSuppress
 
double theThreshold
 

Detailed Description

Definition at line 58 of file DataMixingSiStripMCDigiWorker.h.

Member Typedef Documentation

Definition at line 100 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 91 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 89 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 90 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 102 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 101 of file DataMixingSiStripMCDigiWorker.h.

Constructor & Destructor Documentation

DataMixingSiStripMCDigiWorker::DataMixingSiStripMCDigiWorker ( )

Definition at line 28 of file DataMixingSiStripMCDigiWorker.cc.

28 { }
DataMixingSiStripMCDigiWorker::DataMixingSiStripMCDigiWorker ( const edm::ParameterSet ps)
explicit

standard constructor

Definition at line 31 of file DataMixingSiStripMCDigiWorker.cc.

References edm::hlt::Exception, edm::RandomNumberGenerator::getEngine(), edm::ParameterSet::getParameter(), edm::Service< T >::isAvailable(), rndEngine, SiHitStorage_, SiStripDigiCollectionDM_, SistripLabelSig_, SiStripPileInputTag_, AlCaHLTBitMon_QueryRunRegistry::string, theSiNoiseAdder, and theThreshold.

31  :
32  label_(ps.getParameter<std::string>("Label")),
33  gainLabel(ps.getParameter<std::string>("Gain")),
34  peakMode(ps.getParameter<bool>("APVpeakmode")),
35  theThreshold(ps.getParameter<double>("NoiseSigmaThreshold")),
36  theElectronPerADC(ps.getParameter<double>( peakMode ? "electronPerAdcPeak" : "electronPerAdcDec" )),
37  theFedAlgo(ps.getParameter<int>("FedAlgorithm")),
38  geometryType(ps.getParameter<std::string>("GeometryType")),
41 
42  {
43 
44  // get the subdetector names
45  // this->getSubdetectorNames(); //something like this may be useful to check what we are supposed to do...
46 
47  // declare the products to produce
48 
49  SistripLabelSig_ = ps.getParameter<edm::InputTag>("SistripLabelSig");
50  SiStripPileInputTag_ = ps.getParameter<edm::InputTag>("SiStripPileInputTag");
51 
52  SiStripDigiCollectionDM_ = ps.getParameter<std::string>("SiStripDigiCollectionDM");
53 
54  // clear local storage for this event
55  SiHitStorage_.clear();
56 
58  if ( ! rng.isAvailable()) {
59  throw cms::Exception("Psiguration")
60  << "SiStripDigitizer requires the RandomNumberGeneratorService\n"
61  "which is not present in the psiguration file. You must add the service\n"
62  "in the configuration file or remove the modules that require it.";
63  }
64 
65  rndEngine = &(rng->getEngine());
66 
68  // theSiZeroSuppress = new SiStripFedZeroSuppression(theFedAlgo);
69  //theSiDigitalConverter(new SiTrivialDigitalConverter(theElectronPerADC));
70 
71  }
T getParameter(std::string const &) const
bool isAvailable() const
Definition: Service.h:46
virtual CLHEP::HepRandomEngine & getEngine() const =0
Use this to get the random number engine, this is the only function most users should call...
std::unique_ptr< SiGaussianTailNoiseAdder > theSiNoiseAdder
std::unique_ptr< SiTrivialDigitalConverter > theSiDigitalConverter
std::unique_ptr< SiStripFedZeroSuppression > theSiZeroSuppress
DataMixingSiStripMCDigiWorker::~DataMixingSiStripMCDigiWorker ( )
virtual

Default destructor

Definition at line 75 of file DataMixingSiStripMCDigiWorker.cc.

75  {
76  }

Member Function Documentation

void DataMixingSiStripMCDigiWorker::addSiStripPileups ( const int  bcr,
const edm::EventPrincipal ep,
unsigned int  EventId,
ModuleCallingContext const *  mcc 
)

Definition at line 151 of file DataMixingSiStripMCDigiWorker.cc.

References begin, edm::DetSetVector< T >::begin(), end, edm::DetSetVector< T >::end(), edm::EventPrincipal::id(), input, edm::DetSetVector< T >::insert(), LogDebug, SiHitStorage_, and SiStripPileInputTag_.

Referenced by edm::DataMixingModule::pileWorker().

152  {
153  LogDebug("DataMixingSiStripMCDigiWorker") <<"\n===============> adding pileups from event "<<ep->id()<<" for bunchcrossing "<<bcr;
154 
155  // fill in maps of hits; same code as addSignals, except now applied to the pileup events
156 
157  boost::shared_ptr<Wrapper<edm::DetSetVector<SiStripDigi> > const> inputPTR =
158  getProductByTag<edm::DetSetVector<SiStripDigi> >(*ep, SiStripPileInputTag_, mcc);
159 
160  if(inputPTR ) {
161 
162  const edm::DetSetVector<SiStripDigi> *input = const_cast< edm::DetSetVector<SiStripDigi> * >(inputPTR->product());
163 
164  // Handle< edm::DetSetVector<SiStripDigi> > input;
165 
166  // if( e->getByLabel(Sistripdigi_collectionPile_.label(),SistripLabelPile_.label(),input) ) {
167 
168  OneDetectorMap LocalMap;
169 
170  //loop on all detsets (detectorIDs) inside the input collection
172  for (; DSViter!=input->end();DSViter++){
173 
174 #ifdef DEBUG
175  LogDebug("DataMixingSiStripMCDigiWorker") << "Pileups: Processing DetID " << DSViter->id;
176 #endif
177 
178  // find correct local map (or new one) for this detector ID
179 
180  SiGlobalIndex::const_iterator itest;
181 
182  itest = SiHitStorage_.find(DSViter->id);
183 
184  if(itest!=SiHitStorage_.end()) { // this detID already has hits, add to existing map
185 
186  LocalMap = itest->second;
187 
188  // fill in local map with extra channels
189  LocalMap.insert(LocalMap.end(),(DSViter->data).begin(),(DSViter->data).end());
190  std::stable_sort(LocalMap.begin(),LocalMap.end(),DataMixingSiStripMCDigiWorker::StrictWeakOrdering());
191  SiHitStorage_[DSViter->id]=LocalMap;
192 
193  }
194  else{ // fill local storage with this information, put in global collection
195 
196  LocalMap.clear();
197  LocalMap.reserve((DSViter->data).size());
198  LocalMap.insert(LocalMap.end(),(DSViter->data).begin(),(DSViter->data).end());
199 
200  SiHitStorage_.insert( SiGlobalIndex::value_type( DSViter->id, LocalMap ) );
201  }
202  }
203  }
204  }
#define LogDebug(id)
EventID const & id() const
static std::string const input
Definition: EdmProvDump.cc:44
#define end
Definition: vmac.h:37
Container::value_type value_type
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:356
void insert(detset const &s)
Insert the given DetSet.
Definition: DetSetVector.h:234
#define begin
Definition: vmac.h:30
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:341
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:106
void DataMixingSiStripMCDigiWorker::addSiStripSignals ( const edm::Event e)

Definition at line 123 of file DataMixingSiStripMCDigiWorker.cc.

References begin, end, edm::Event::getByLabel(), input, edm::DetSetVector< T >::insert(), LogDebug, SiHitStorage_, and SistripLabelSig_.

Referenced by edm::DataMixingModule::addSignals().

123  {
124  // fill in maps of hits
125 
126  Handle< edm::DetSetVector<SiStripDigi> > input;
127 
128  if( e.getByLabel(SistripLabelSig_,input) ) {
129  OneDetectorMap LocalMap;
130 
131  //loop on all detsets (detectorIDs) inside the input collection
132  edm::DetSetVector<SiStripDigi>::const_iterator DSViter=input->begin();
133  for (; DSViter!=input->end();DSViter++){
134 
135 #ifdef DEBUG
136  LogDebug("DataMixingSiStripMCDigiWorker") << "Processing DetID " << DSViter->id;
137 #endif
138 
139  LocalMap.clear();
140  LocalMap.reserve((DSViter->data).size());
141  LocalMap.insert(LocalMap.end(),(DSViter->data).begin(),(DSViter->data).end());
142 
143  SiHitStorage_.insert( SiGlobalIndex::value_type( DSViter->id, LocalMap ) );
144  }
145 
146  }
147  } // end of addSiStripSignals
#define LogDebug(id)
static std::string const input
Definition: EdmProvDump.cc:44
#define end
Definition: vmac.h:37
Container::value_type value_type
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:390
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:356
void insert(detset const &s)
Insert the given DetSet.
Definition: DetSetVector.h:234
#define begin
Definition: vmac.h:30
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:106
void DataMixingSiStripMCDigiWorker::DMinitializeDetUnit ( StripGeomDetUnit det,
const edm::EventSetup iSetup 
)

Definition at line 101 of file DataMixingSiStripMCDigiWorker.cc.

References allBadChannels, firstChannelsWithSignal, SiStripBadStrip::data::firstStrip, GeomDet::geographicalId(), edm::EventSetup::get(), lastChannelsWithSignal, SiStripBadStrip::data::range, DetId::rawId(), and StripGeomDetUnit::specificTopology().

Referenced by initializeEvent().

101  {
102 
103  edm::ESHandle<SiStripBadStrip> deadChannelHandle;
104  iSetup.get<SiStripBadChannelRcd>().get(deadChannelHandle);
105 
106  unsigned int detId = det->geographicalId().rawId();
107  int numStrips = (det->specificTopology()).nstrips();
108 
109  SiStripBadStrip::Range detBadStripRange = deadChannelHandle->getRange(detId);
110  //storing the bad strip of the the module. the module is not removed but just signal put to 0
111  std::vector<bool>& badChannels = allBadChannels[detId];
112  badChannels.clear();
113  badChannels.insert(badChannels.begin(), numStrips, false);
114  for(SiStripBadStrip::ContainerIterator it = detBadStripRange.first; it != detBadStripRange.second; ++it) {
115  SiStripBadStrip::data fs = deadChannelHandle->decode(*it);
116  for(int strip = fs.firstStrip; strip < fs.firstStrip + fs.range; ++strip) badChannels[strip] = true;
117  }
118  firstChannelsWithSignal[detId] = numStrips;
119  lastChannelsWithSignal[detId]= 0;
120  }
unsigned short range
std::map< unsigned int, size_t > firstChannelsWithSignal
std::vector< unsigned int >::const_iterator ContainerIterator
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
unsigned short firstStrip
const T & get() const
Definition: EventSetup.h:55
std::map< unsigned int, std::vector< bool > > allBadChannels
std::pair< ContainerIterator, ContainerIterator > Range
std::map< unsigned int, size_t > lastChannelsWithSignal
const SignalMapType* edm::DataMixingSiStripMCDigiWorker::getSignal ( uint32_t  detID) const
inlineprivate

Definition at line 104 of file DataMixingSiStripMCDigiWorker.h.

References signals_.

Referenced by putSiStrip().

104  {
105  auto where = signals_.find(detID);
106  if(where == signals_.end()) {
107  return 0;
108  }
109  return &where->second;
110  }
void DataMixingSiStripMCDigiWorker::initializeEvent ( const edm::Event e,
edm::EventSetup const &  iSetup 
)
virtual

Definition at line 78 of file DataMixingSiStripMCDigiWorker.cc.

References DMinitializeDetUnit(), geometryType, edm::EventSetup::get(), pDD, DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, and StripSubdetector::TOB.

Referenced by edm::DataMixingModule::initializeEvent().

78  {
79  // initialize individual detectors so we can copy real digitization code:
80 
81  iSetup.get<TrackerDigiGeometryRecord>().get(geometryType,pDD);
82 
83  for(TrackingGeometry::DetUnitContainer::const_iterator iu = pDD->detUnits().begin(); iu != pDD->detUnits().end(); ++iu) {
84  unsigned int detId = (*iu)->geographicalId().rawId();
85  DetId idet=DetId(detId);
86  unsigned int isub=idet.subdetId();
87  if((isub == StripSubdetector::TIB) ||
88  (isub == StripSubdetector::TID) ||
89  (isub == StripSubdetector::TOB) ||
90  (isub == StripSubdetector::TEC)) {
91  StripGeomDetUnit* stripdet = dynamic_cast<StripGeomDetUnit*>((*iu));
92  assert(stripdet != 0);
93  DMinitializeDetUnit(stripdet, iSetup);
94  }
95  }
96 
97 
98  }
void DMinitializeDetUnit(StripGeomDetUnit *det, const edm::EventSetup &iSetup)
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
Definition: DetId.h:18
void DataMixingSiStripMCDigiWorker::putSiStrip ( edm::Event e,
edm::EventSetup const &  iSetup 
)

Definition at line 208 of file DataMixingSiStripMCDigiWorker.cc.

References allBadChannels, edm::DetSet< T >::data, firstChannelsWithSignal, gainLabel, GeomDet::geographicalId(), edm::EventSetup::get(), getSignal(), lastChannelsWithSignal, pDD, edm::Event::put(), DetId::rawId(), signals_, SiHitStorage_, SiStripDigiCollectionDM_, StripGeomDetUnit::specificTopology(), theElectronPerADC, theSiDigitalConverter, theSiNoiseAdder, and theSiZeroSuppress.

Referenced by edm::DataMixingModule::put().

208  {
209 
210  // set up machinery to do proper noise adding:
211  edm::ESHandle<SiStripGain> gainHandle;
212  edm::ESHandle<SiStripNoises> noiseHandle;
213  edm::ESHandle<SiStripThreshold> thresholdHandle;
214  edm::ESHandle<SiStripPedestals> pedestalHandle;
215  edm::ESHandle<SiStripBadStrip> deadChannelHandle;
216  iSetup.get<SiStripGainSimRcd>().get(gainLabel,gainHandle);
217  iSetup.get<SiStripNoisesRcd>().get(noiseHandle);
218  iSetup.get<SiStripThresholdRcd>().get(thresholdHandle);
219  iSetup.get<SiStripPedestalsRcd>().get(pedestalHandle);
220 
221 
222  // collection of Digis to put in the event
223  std::vector< edm::DetSet<SiStripDigi> > vSiStripDigi;
224 
225  // loop through our collection of detectors, merging hits and making a new list of "signal" digis
226 
227  // clear some temporary storage for later digitization:
228 
229  signals_.clear();
230 
231  // big loop over Detector IDs:
232 
233  for(SiGlobalIndex::const_iterator IDet = SiHitStorage_.begin();
234  IDet != SiHitStorage_.end(); IDet++) {
235 
236  uint32_t detID = IDet->first;
237 
238  SignalMapType Signals;
239  Signals.clear();
240 
241  OneDetectorMap LocalMap = IDet->second;
242 
243  //counter variables
244  int formerStrip = -1;
245  int currentStrip;
246  int ADCSum = 0;
247 
248  //loop over hit strips for this DetId, add duplicates
249 
250  OneDetectorMap::const_iterator iLocalchk;
251  OneDetectorMap::const_iterator iLocal = LocalMap.begin();
252  for(;iLocal != LocalMap.end(); ++iLocal) {
253 
254  currentStrip = iLocal->strip();
255 
256  if (currentStrip == formerStrip) { // we have to add these digis together
257  ADCSum+=iLocal->adc(); // on every element...
258  }
259  else{
260  if(formerStrip!=-1){
261  Signals.insert( std::make_pair(formerStrip, ADCSum));
262 
263  //detAmpl[formerStrip] = ADCSum;
264 
265  //if (ADCSum > 511) ADCSum = 255;
266  //else if (ADCSum > 253 && ADCSum < 512) ADCSum = 254;
267  //SiStripDigi aHit(formerStrip, ADCSum);
268  //SSD.push_back( aHit );
269  }
270  // save pointers for next iteration
271  formerStrip = currentStrip;
272  ADCSum = iLocal->adc();
273  }
274 
275  iLocalchk = iLocal;
276  if((++iLocalchk) == LocalMap.end()) { //make sure not to lose the last one
277 
278  Signals.insert( std::make_pair(formerStrip, ADCSum));
279 
280  //detAmpl[formerStrip] = ADCSum;
281 
282  // if (ADCSum > 511) ADCSum = 255;
283  //else if (ADCSum > 253 && ADCSum < 512) ADCSum = 254;
284  //SSD.push_back( SiStripDigi(formerStrip, ADCSum) );
285  }
286  }
287  // save merged map:
288  signals_.insert( std::make_pair( detID, Signals));
289  }
290 
291  //Now, do noise, zero suppression, take into account bad channels, etc.
292  // This section stolen from SiStripDigitizerAlgorithm
293  // must loop over all detIds in the tracker to get all of the noise added properly.
294  for(TrackingGeometry::DetUnitContainer::const_iterator iu = pDD->detUnits().begin(); iu != pDD->detUnits().end(); iu ++){
295  StripGeomDetUnit* sgd = dynamic_cast<StripGeomDetUnit*>((*iu));
296  if (sgd != 0){
297 
298  uint32_t detID = sgd->geographicalId().rawId();
299 
300  edm::DetSet<SiStripDigi> SSD(detID); // Make empty collection with this detector ID
301 
302  int numStrips = (sgd->specificTopology()).nstrips();
303 
304  // see if there is some signal on this detector
305 
306  const SignalMapType* theSignal(getSignal(detID));
307 
308  std::vector<float> detAmpl(numStrips, 0.);
309  if(theSignal) {
310  for(const auto& amp : *theSignal) {
311  detAmpl[amp.first] = amp.second;
312  }
313  }
314 
315  //removing signal from the dead (and HIP effected) strips
316  std::vector<bool>& badChannels = allBadChannels[detID];
317  for(int strip =0; strip < numStrips; ++strip) if(badChannels[strip]) detAmpl[strip] = 0.;
318 
319  SiStripNoises::Range detNoiseRange = noiseHandle->getRange(detID);
320  SiStripApvGain::Range detGainRange = gainHandle->getRange(detID);
321 
322  //convert our signals back to raw counts so that we can add noise properly:
323 
324  if(theSignal) {
325  for(unsigned int iv = 0; iv!=detAmpl.size(); iv++) {
326  float signal = detAmpl[iv];
327  if(signal > 0) {
328  float gainValue = gainHandle->getStripGain(iv, detGainRange);
329  signal *= theElectronPerADC/gainValue;
330  detAmpl[iv] = signal;
331  }
332  }
333  }
334 
335 
336  //SiStripPedestals::Range detPedestalRange = pedestalHandle->getRange(detID);
337 
338  // -----------------------------------------------------------
339 
340  auto& firstChannelWithSignal = firstChannelsWithSignal[detID];
341  auto& lastChannelWithSignal = lastChannelsWithSignal[detID];
342 
343  int RefStrip = int(numStrips/2.);
344  while(RefStrip<numStrips&&badChannels[RefStrip]){ //if the refstrip is bad, I move up to when I don't find it
345  RefStrip++;
346  }
347  if(RefStrip<numStrips){
348  float noiseRMS = noiseHandle->getNoise(RefStrip,detNoiseRange);
349  float gainValue = gainHandle->getStripGain(RefStrip, detGainRange);
350  theSiNoiseAdder->addNoise(detAmpl,firstChannelWithSignal,lastChannelWithSignal,numStrips,noiseRMS*theElectronPerADC/gainValue);
351  }
352 
353  DigitalVecType digis;
354  theSiZeroSuppress->suppress(theSiDigitalConverter->convert(detAmpl, gainHandle, detID), digis, detID,noiseHandle,thresholdHandle);
355 
356 
357  SSD.data = digis;
358  // if(digis.size() > 0) {
359  // std::cout << " Real SiS Mixed Digi: " << detID << " ADC values ";
360  // for(const auto& iDigi : digis) { std::cout << iDigi.adc() << " " ;}
361  // std::cout << std::endl;
362  //}
363 
364  // stick this into the global vector of detector info
365  vSiStripDigi.push_back(SSD);
366 
367  } // end of loop over one detector
368 
369  } // end of big loop over all detector IDs
370 
371  // put the collection of digis in the event
372  LogInfo("DataMixingSiStripMCDigiWorker") << "total # Merged strips: " << vSiStripDigi.size() ;
373 
374  // make new digi collection
375 
376  std::auto_ptr< edm::DetSetVector<SiStripDigi> > MySiStripDigis(new edm::DetSetVector<SiStripDigi>(vSiStripDigi) );
377 
378  // put collection
379 
380  e.put( MySiStripDigis, SiStripDigiCollectionDM_ );
381 
382  // clear local storage for this event
383  SiHitStorage_.clear();
384  }
std::map< unsigned int, size_t > firstChannelsWithSignal
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
SiDigitalConverter::DigitalVecType DigitalVecType
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:116
std::pair< ContainerIterator, ContainerIterator > Range
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
std::unique_ptr< SiGaussianTailNoiseAdder > theSiNoiseAdder
const SignalMapType * getSignal(uint32_t detID) const
std::map< unsigned int, std::vector< bool > > allBadChannels
std::unique_ptr< SiTrivialDigitalConverter > theSiDigitalConverter
std::unique_ptr< SiStripFedZeroSuppression > theSiZeroSuppress
std::map< unsigned int, size_t > lastChannelsWithSignal
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:44

Member Data Documentation

std::map<unsigned int, std::vector<bool> > edm::DataMixingSiStripMCDigiWorker::allBadChannels
private

Definition at line 134 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

std::map<unsigned int, size_t> edm::DataMixingSiStripMCDigiWorker::firstChannelsWithSignal
private

Definition at line 136 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

std::string edm::DataMixingSiStripMCDigiWorker::gainLabel
private

Definition at line 118 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

std::string edm::DataMixingSiStripMCDigiWorker::geometryType
private

Definition at line 123 of file DataMixingSiStripMCDigiWorker.h.

Referenced by initializeEvent().

std::string edm::DataMixingSiStripMCDigiWorker::label_
private
std::map<unsigned int, size_t> edm::DataMixingSiStripMCDigiWorker::lastChannelsWithSignal
private

Definition at line 137 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

edm::ESHandle<TrackerGeometry> edm::DataMixingSiStripMCDigiWorker::pDD
private

Definition at line 131 of file DataMixingSiStripMCDigiWorker.h.

Referenced by initializeEvent(), and putSiStrip().

bool edm::DataMixingSiStripMCDigiWorker::peakMode
private

Definition at line 119 of file DataMixingSiStripMCDigiWorker.h.

CLHEP::HepRandomEngine* edm::DataMixingSiStripMCDigiWorker::rndEngine
private

Definition at line 129 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker().

signalMaps edm::DataMixingSiStripMCDigiWorker::signals_
private

Definition at line 112 of file DataMixingSiStripMCDigiWorker.h.

Referenced by getSignal(), and putSiStrip().

SiGlobalIndex edm::DataMixingSiStripMCDigiWorker::SiHitStorage_
private
std::string edm::DataMixingSiStripMCDigiWorker::SiStripDigiCollectionDM_
private

Definition at line 85 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker(), and putSiStrip().

edm::InputTag edm::DataMixingSiStripMCDigiWorker::SistripLabelSig_
private
edm::InputTag edm::DataMixingSiStripMCDigiWorker::SiStripPileInputTag_
private
double edm::DataMixingSiStripMCDigiWorker::theElectronPerADC
private

Definition at line 121 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

int edm::DataMixingSiStripMCDigiWorker::theFedAlgo
private

Definition at line 122 of file DataMixingSiStripMCDigiWorker.h.

std::unique_ptr<SiTrivialDigitalConverter> edm::DataMixingSiStripMCDigiWorker::theSiDigitalConverter
private

Definition at line 127 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

std::unique_ptr<SiGaussianTailNoiseAdder> edm::DataMixingSiStripMCDigiWorker::theSiNoiseAdder
private

Definition at line 125 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker(), and putSiStrip().

std::unique_ptr<SiStripFedZeroSuppression> edm::DataMixingSiStripMCDigiWorker::theSiZeroSuppress
private

Definition at line 126 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

double edm::DataMixingSiStripMCDigiWorker::theThreshold
private

Definition at line 120 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker().