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, edm::ConsumesCollector &&iC)
 
void DMinitializeDetUnit (StripGeomDetUnit const *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
 
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 54 of file DataMixingSiStripMCDigiWorker.h.

Member Typedef Documentation

Definition at line 96 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 87 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 85 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 86 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 98 of file DataMixingSiStripMCDigiWorker.h.

Definition at line 97 of file DataMixingSiStripMCDigiWorker.h.

Constructor & Destructor Documentation

DataMixingSiStripMCDigiWorker::DataMixingSiStripMCDigiWorker ( )

Definition at line 30 of file DataMixingSiStripMCDigiWorker.cc.

30 { }
DataMixingSiStripMCDigiWorker::DataMixingSiStripMCDigiWorker ( const edm::ParameterSet ps,
edm::ConsumesCollector &&  iC 
)
explicit

standard constructor

Definition at line 33 of file DataMixingSiStripMCDigiWorker.cc.

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

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

Default destructor

Definition at line 77 of file DataMixingSiStripMCDigiWorker.cc.

77  {
78  }

Member Function Documentation

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

Definition at line 153 of file DataMixingSiStripMCDigiWorker.cc.

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

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

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

Definition at line 125 of file DataMixingSiStripMCDigiWorker.cc.

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

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

125  {
126  // fill in maps of hits
127 
128  Handle< edm::DetSetVector<SiStripDigi> > input;
129 
130  if( e.getByLabel(SistripLabelSig_,input) ) {
131  OneDetectorMap LocalMap;
132 
133  //loop on all detsets (detectorIDs) inside the input collection
134  edm::DetSetVector<SiStripDigi>::const_iterator DSViter=input->begin();
135  for (; DSViter!=input->end();DSViter++){
136 
137 #ifdef DEBUG
138  LogDebug("DataMixingSiStripMCDigiWorker") << "Processing DetID " << DSViter->id;
139 #endif
140 
141  LocalMap.clear();
142  LocalMap.reserve((DSViter->data).size());
143  LocalMap.insert(LocalMap.end(),(DSViter->data).begin(),(DSViter->data).end());
144 
145  SiHitStorage_.insert( SiGlobalIndex::value_type( DSViter->id, LocalMap ) );
146  }
147 
148  }
149  } // end of addSiStripSignals
#define LogDebug(id)
void reserve(size_t s)
Definition: DetSetVector.h:154
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:402
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:365
#define begin
Definition: vmac.h:30
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:108
void DataMixingSiStripMCDigiWorker::DMinitializeDetUnit ( StripGeomDetUnit const *  det,
const edm::EventSetup iSetup 
)

Definition at line 103 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().

103  {
104 
105  edm::ESHandle<SiStripBadStrip> deadChannelHandle;
106  iSetup.get<SiStripBadChannelRcd>().get(deadChannelHandle);
107 
108  unsigned int detId = det->geographicalId().rawId();
109  int numStrips = (det->specificTopology()).nstrips();
110 
111  SiStripBadStrip::Range detBadStripRange = deadChannelHandle->getRange(detId);
112  //storing the bad strip of the the module. the module is not removed but just signal put to 0
113  std::vector<bool>& badChannels = allBadChannels[detId];
114  badChannels.clear();
115  badChannels.insert(badChannels.begin(), numStrips, false);
116  for(SiStripBadStrip::ContainerIterator it = detBadStripRange.first; it != detBadStripRange.second; ++it) {
117  SiStripBadStrip::data fs = deadChannelHandle->decode(*it);
118  for(int strip = fs.firstStrip; strip < fs.firstStrip + fs.range; ++strip) badChannels[strip] = true;
119  }
120  firstChannelsWithSignal[detId] = numStrips;
121  lastChannelsWithSignal[detId]= 0;
122  }
unsigned short range
std::map< unsigned int, size_t > firstChannelsWithSignal
std::vector< unsigned int >::const_iterator ContainerIterator
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 100 of file DataMixingSiStripMCDigiWorker.h.

References signals_.

Referenced by putSiStrip().

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

Definition at line 80 of file DataMixingSiStripMCDigiWorker.cc.

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

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

80  {
81  // initialize individual detectors so we can copy real digitization code:
82 
83  iSetup.get<TrackerDigiGeometryRecord>().get(geometryType,pDD);
84 
85  for(auto iu = pDD->detUnits().begin(); iu != pDD->detUnits().end(); ++iu) {
86  unsigned int detId = (*iu)->geographicalId().rawId();
87  DetId idet=DetId(detId);
88  unsigned int isub=idet.subdetId();
89  if((isub == StripSubdetector::TIB) ||
90  (isub == StripSubdetector::TID) ||
91  (isub == StripSubdetector::TOB) ||
92  (isub == StripSubdetector::TEC)) {
93  auto stripdet = dynamic_cast<StripGeomDetUnit const*>((*iu));
94  assert(stripdet != 0);
95  DMinitializeDetUnit(stripdet, iSetup);
96  }
97  }
98 
99 
100  }
void DMinitializeDetUnit(StripGeomDetUnit const *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
string const
Definition: compareJSON.py:14
void DataMixingSiStripMCDigiWorker::putSiStrip ( edm::Event e,
edm::EventSetup const &  iSetup 
)

Definition at line 210 of file DataMixingSiStripMCDigiWorker.cc.

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

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

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

Member Data Documentation

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

Definition at line 129 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

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

Definition at line 131 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

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

Definition at line 114 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

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

Definition at line 119 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 132 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DMinitializeDetUnit(), and putSiStrip().

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

Definition at line 126 of file DataMixingSiStripMCDigiWorker.h.

Referenced by initializeEvent(), and putSiStrip().

bool edm::DataMixingSiStripMCDigiWorker::peakMode
private

Definition at line 115 of file DataMixingSiStripMCDigiWorker.h.

signalMaps edm::DataMixingSiStripMCDigiWorker::signals_
private

Definition at line 108 of file DataMixingSiStripMCDigiWorker.h.

Referenced by getSignal(), and putSiStrip().

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

Definition at line 81 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 117 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

int edm::DataMixingSiStripMCDigiWorker::theFedAlgo
private

Definition at line 118 of file DataMixingSiStripMCDigiWorker.h.

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

Definition at line 123 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

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

Definition at line 121 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker(), and putSiStrip().

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

Definition at line 122 of file DataMixingSiStripMCDigiWorker.h.

Referenced by putSiStrip().

double edm::DataMixingSiStripMCDigiWorker::theThreshold
private

Definition at line 116 of file DataMixingSiStripMCDigiWorker.h.

Referenced by DataMixingSiStripMCDigiWorker().