CMS 3D CMS Logo

SiStripCMMonitor.cc
Go to the documentation of this file.
1 
2 // -*- C++ -*-
3 //
4 // Package: DQM/SiStripMonitorHardware
5 // Class: SiStripCMMonitorPlugin
6 //
11 //
12 // Created: 2009/07/22
13 //
14 
15 #include <sstream>
16 #include <memory>
17 #include <list>
18 #include <algorithm>
19 #include <cassert>
20 
31 
37 
40 
42 
44 
45 #include "DQM/SiStripMonitorHardware/interface/FEDHistograms.hh"
46 #include "DQM/SiStripMonitorHardware/interface/FEDErrors.hh"
47 
52 
53 #include "DQM/SiStripMonitorHardware/interface/CMHistograms.hh"
54 
56 
57 //
58 // Class declaration
59 //
60 
62 public:
64  ~SiStripCMMonitorPlugin() override;
65 
66 private:
67  struct Statistics {
68  float Mean;
69  float Rms;
70  float Counter;
71  };
72 
73  void analyze(const edm::Event&, const edm::EventSetup&) override;
74  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
75  //update the cabling if necessary
76  void updateCabling(const edm::EventSetup& eventSetup);
77 
78  void fillMaps(uint32_t aDetId, unsigned short aChInModule, std::pair<uint16_t, uint16_t> aMedians);
79 
80  //tag of FEDRawData collection
83  //folder name for histograms in DQMStore
85  //vector of fedIDs which will have detailed histograms made
86  std::vector<unsigned int> fedIdVec_;
87  //book detailed histograms even if they will be empty (for merging)
89  //do histos vs time with time=event number. Default time = orbit number (s)
92  //print debug messages when problems are found: 1=error debug, 2=light debug, 3=full debug
93  unsigned int printDebug_;
94  //FED cabling
95  uint32_t cablingCacheId_;
97 
98  //add parameter to save computing time if TkHistoMap are not filled
100 
101  CMHistograms cmHists_;
102 
103  std::map<unsigned int, Statistics> CommonModes_;
104  std::map<unsigned int, Statistics> CommonModesAPV0minusAPV1_;
105 
107 
109 };
110 
111 //
112 // Constructors and destructor
113 //
114 
116  : rawDataTag_(iConfig.getUntrackedParameter<edm::InputTag>("RawDataTag", edm::InputTag("source", ""))),
117  folderName_(
118  iConfig.getUntrackedParameter<std::string>("HistogramFolderName", "SiStrip/ReadoutView/CMMonitoring")),
119  fedIdVec_(iConfig.getUntrackedParameter<std::vector<unsigned int> >("FedIdVec")),
120  fillAllDetailedHistograms_(iConfig.getUntrackedParameter<bool>("FillAllDetailedHistograms", false)),
121  fillWithEvtNum_(iConfig.getUntrackedParameter<bool>("FillWithEventNumber", false)),
122  fillWithLocalEvtNum_(iConfig.getUntrackedParameter<bool>("FillWithLocalEventNumber", false)),
123  printDebug_(iConfig.getUntrackedParameter<unsigned int>("PrintDebugMessages", 1)),
124  cablingCacheId_(0)
125 
126 {
127  rawDataToken_ = consumes<FEDRawDataCollection>(rawDataTag_);
128  //print config to debug log
129  std::ostringstream debugStream;
130  if (printDebug_ > 1) {
131  debugStream << "[SiStripCMMonitorPlugin]Configuration for SiStripCMMonitorPlugin: " << std::endl
132  << "[SiStripCMMonitorPlugin]\tRawDataTag: " << rawDataTag_ << std::endl
133  << "[SiStripCMMonitorPlugin]\tHistogramFolderName: " << folderName_ << std::endl
134  << "[SiStripCMMonitorPlugin]\tFillAllDetailedHistograms? "
135  << (fillAllDetailedHistograms_ ? "yes" : "no") << std::endl
136  << "[SiStripCMMonitorPlugin]\tFillWithEventNumber?" << (fillWithEvtNum_ ? "yes" : "no") << std::endl
137  << "[SiStripCMMonitorPlugin]\tPrintDebugMessages? " << (printDebug_ ? "yes" : "no") << std::endl;
138  }
139 
140  std::ostringstream* pDebugStream = (printDebug_ > 1 ? &debugStream : nullptr);
141 
142  cmHists_.initialise(iConfig, pDebugStream);
143 
144  doTkHistoMap_ = cmHists_.tkHistoMapEnabled();
145 
146  CommonModes_.clear();
148 
150  for (unsigned int iCh(0); iCh < sistrip::FEDCH_PER_FED; iCh++) {
151  prevMedians_[fedId][iCh] = std::pair<uint16_t, uint16_t>(0, 0);
152  }
153  }
154 
155  if (printDebug_)
156  LogTrace("SiStripMonitorHardware") << debugStream.str();
157 
158  evt_ = 0;
159 }
160 
162 
163 //
164 // Member functions
165 //
166 
168  const edm::Run& run,
169  const edm::EventSetup& eSetup) {
170  ibooker.setCurrentFolder(folderName_);
171 
172  edm::ESHandle<TkDetMap> tkDetMapHandle;
173  eSetup.get<TrackerTopologyRcd>().get(tkDetMapHandle);
174  const TkDetMap* tkDetMap = tkDetMapHandle.product();
175 
176  cmHists_.bookTopLevelHistograms(ibooker, tkDetMap);
177 
179  cmHists_.bookAllFEDHistograms(ibooker);
180 }
181 
182 // ------------ method called to for each event ------------
184  //Retrieve tracker topology from geometry
185  edm::ESHandle<TrackerTopology> tTopoHandle;
186  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
187  const TrackerTopology* const tTopo = tTopoHandle.product();
188 
189  //static bool firstEvent = true;
190  //static bool isBeingFilled = false;
191  //update cabling
192  updateCabling(iSetup);
193 
194  //get raw data
195  edm::Handle<FEDRawDataCollection> rawDataCollectionHandle;
196  iEvent.getByToken(rawDataToken_, rawDataCollectionHandle);
197  const FEDRawDataCollection& rawDataCollection = *rawDataCollectionHandle;
198 
199  //FED errors
200  FEDErrors lFedErrors;
201 
202  //loop over siStrip FED IDs
204  fedId++) { //loop over FED IDs
205  const FEDRawData& fedData = rawDataCollection.FEDData(fedId);
206 
207  //create an object to fill all errors
208  lFedErrors.initialiseFED(fedId, cabling_, tTopo);
209 
210  //Do detailed check
211  //first check if data exists
212  bool lDataExist = lFedErrors.checkDataPresent(fedData);
213  if (!lDataExist) {
214  continue;
215  }
216 
217  std::unique_ptr<const sistrip::FEDBuffer> buffer;
218 
219  if (!lFedErrors.fillFatalFEDErrors(fedData, 0)) {
220  continue;
221  } else {
222  //need to construct full object to go any further
223  const auto st_buffer = sistrip::preconstructCheckFEDBuffer(fedData, true);
224  if (sistrip::FEDBufferStatusCode::SUCCESS != st_buffer) {
225  throw cms::Exception("FEDBuffer") << st_buffer << " (check debug output for more details)";
226  }
227  auto tmp_buffer = std::make_unique<sistrip::FEDBuffer>(fedData, true);
228  tmp_buffer->findChannels();
229  buffer = std::move(tmp_buffer); // const now
230  bool channelLengthsOK = buffer->checkChannelLengthsMatchBufferLength();
231  bool channelPacketCodesOK = buffer->checkChannelPacketCodes();
232  bool feLengthsOK = buffer->checkFEUnitLengths();
233  if (!channelLengthsOK || !channelPacketCodesOK || !feLengthsOK) {
234  continue;
235  }
236  }
237 
238  std::ostringstream infoStream;
239 
240  if (printDebug_ > 1) {
241  infoStream << " --- Processing FED #" << fedId << std::endl;
242  }
243 
244  std::vector<CMHistograms::CMvalues> values;
245 
246  for (unsigned int iCh = 0; iCh < sistrip::FEDCH_PER_FED; iCh++) { //loop on channels
247 
248  const FedChannelConnection& lConnection = cabling_->fedConnection(fedId, iCh);
249  bool connected = lConnection.isConnected();
250 
251  //std::cout << "FedID " << fedId << ", ch " << iCh << ", nAPVPairs " << lConnection.nApvPairs() << " apvPairNumber " << lConnection.apvPairNumber() << std::endl;
252 
253  if (!connected) {
254  continue;
255  }
256 
257  uint32_t lDetId = lConnection.detId();
258  unsigned short nChInModule = lConnection.nApvPairs();
259 
260  if (!lDetId || lDetId == sistrip::invalid32_)
261  continue;
262 
263  bool lFailUnpackerChannelCheck = !buffer->channelGood(iCh, true) && connected;
264 
265  if (lFailUnpackerChannelCheck) {
266  continue;
267  }
268 
269  //short lAPVPair = lConnection.apvPairNumber();
270  //short lSubDet = DetId(lDetId).subdetId();
271 
272  // if (firstEvent){
273  // infoStream << "Subdet " << lSubDet << ", " ;
274  // if (lSubDet == 3) {
275  //
276  // infoStream << "TIB layer " << tTopo->tibLayer(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
277  // }
278  // else if (lSubDet == 4) {
279  //
280  // infoStream << "TID side " << tTopo->tibSide(lDetId) << " wheel " << tTopo->tibWheel(lDetId) << ", ring " << tTopo->tibRing(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
281  // }
282  // else if (lSubDet == 5) {
283  //
284  // infoStream << "TOB side " << tTopo->tibRod(lDetId)[0] << " layer " << tTopo->tibLayer(lDetId) << ", rod " << tTopo->tibRodNumber(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
285  // }
286  // else if (lSubDet == 6) {
287  //
288  // infoStream << "TEC side " << tTopo->tibSide(lDetId) << " wheel " << tTopo->tibWheel(lDetId) << ", petal " << tTopo->tibPetalNumber(lDetId) << ", ring " << tTopo->tibRing(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
289  // }
290  // isBeingFilled=true;
291  // }
292 
293  std::ostringstream lMode;
294  lMode << buffer->readoutMode();
295  if (evt_ == 0 && printDebug_ > 1)
296  std::cout << "Readout mode: " << lMode.str() << std::endl;
297 
298  const sistrip::FEDChannel& lChannel = buffer->channel(iCh);
299  std::pair<uint16_t, uint16_t> medians = std::pair<uint16_t, uint16_t>(0, 0);
300 
301  if (lMode.str().find("Zero suppressed") != lMode.str().npos && lMode.str().find("lite") == lMode.str().npos)
302  medians = std::pair<uint16_t, uint16_t>(lChannel.cmMedian(0), lChannel.cmMedian(1));
303 
304  CMHistograms::CMvalues lVal;
305  lVal.ChannelID = iCh;
306  lVal.Medians = std::pair<uint16_t, uint16_t>(medians.first, medians.second);
307  lVal.PreviousMedians = prevMedians_[fedId][iCh];
308 
309  // if (medians.second-medians.first > 26){
310  // std::ostringstream info;
311  // if (medians.second-medians.first > 44) info << " --- Second bump: event " << iEvent.id().event() << ", FED/Channel " << fedId << "/" << iCh << ", delta=" << medians.second-medians.first << std::endl;
312  // else info << " --- First bump: event " << iEvent.id().event() << ", FED/Channel " << fedId << "/" << iCh << ", delta=" << medians.second-medians.first << std::endl;
313  // edm::LogVerbatim("SiStripMonitorHardware") << info.str();
314  // }
315 
316  if (printDebug_ > 1) {
317  if (lChannel.length() > 7) {
318  infoStream << "Medians for channel #" << iCh << " (length " << lChannel.length() << "): " << medians.first
319  << ", " << medians.second << std::endl;
320  }
321  }
322 
323  values.push_back(lVal);
324 
325  //if (iEvent.id().event() > 1000)
326  fillMaps(lDetId, nChInModule, medians);
327 
328  prevMedians_[fedId][iCh] = std::pair<uint16_t, uint16_t>(medians.first, medians.second);
329 
330  } //loop on channels
331 
332  float lTime = 0;
333  if (fillWithEvtNum_) {
334  // casting from unsigned long long to a float here
335  // doing it explicitely
336  lTime = static_cast<float>(iEvent.id().event());
337  } else {
338  if (fillWithLocalEvtNum_) {
339  // casting from unsigned long long to a float here
340  // doing it explicitely
341  lTime = static_cast<float>(evt_);
342  } else {
343  lTime = iEvent.orbitNumber() / 11223.;
344  }
345  }
346 
347  cmHists_.fillHistograms(values, lTime, fedId);
348 
349  //if (printDebug_ > 0 && isBeingFilled && firstEvent) edm::LogVerbatim("SiStripMonitorHardware") << infoStream.str();
350 
351  } //loop on FEDs
352 
353  //if (isBeingFilled)
354  //firstEvent = false;
355 
356  evt_++;
357 
358 } //analyze method
359 
360 // ------------ method called once each job just after ending the event loop ------------
361 /* //to be moved to harvesting step
362 void
363 SiStripCMMonitorPlugin::endJob()
364 {
365 
366  if (doTkHistoMap_) {//if TkHistoMap is enabled
367  std::map<unsigned int,Statistics>::iterator fracIter;
368 
369  //int ele = 0;
370  //int nBadChannels = 0;
371  for (fracIter = CommonModes_.begin(); fracIter!=CommonModes_.end(); fracIter++){
372  uint32_t detid = fracIter->first;
373  //if ((fracIter->second).second != 0) {
374  //std::cout << "------ ele #" << ele << ", Frac for detid #" << detid << " = " <<(fracIter->second).second << "/" << (fracIter->second).first << std::endl;
375  //nBadChannels++;
376  //}
377  float mean = 0;
378  float rms = 0;
379  Statistics lStat = fracIter->second;
380  if (lStat.Counter > 0) mean = lStat.Mean/lStat.Counter;
381  if (lStat.Counter > 1) rms = sqrt(lStat.Rms/(lStat.Counter-1)-(mean*mean));
382  cmHists_.fillTkHistoMap(cmHists_.tkHistoMapPointer(0),detid,mean);
383  cmHists_.fillTkHistoMap(cmHists_.tkHistoMapPointer(1),detid,rms);
384 
385  if (printDebug_ > 1) {
386  std::ostringstream message;
387  message << "TkHistoMap CM: Detid " << detid << ", mean = " << mean << ", rms = " << rms << ", counter = " << lStat.Counter << std::endl;
388  edm::LogVerbatim("SiStripMonitorHardware") << message.str();
389  }
390 
391  //ele++;
392  }
393 
394  for (fracIter = CommonModesAPV0minusAPV1_.begin(); fracIter!=CommonModesAPV0minusAPV1_.end(); fracIter++){
395  uint32_t detid = fracIter->first;
396  //if ((fracIter->second).second != 0) {
397  //std::cout << "------ ele #" << ele << ", Frac for detid #" << detid << " = " <<(fracIter->second).second << "/" << (fracIter->second).first << std::endl;
398  //nBadChannels++;
399  //}
400  float mean = 0;
401  float rms = 0;
402  Statistics lStat = fracIter->second;
403  if (lStat.Counter > 0) mean = lStat.Mean/lStat.Counter;
404  if (lStat.Counter > 1) rms = sqrt(lStat.Rms/(lStat.Counter-1)-(mean*mean));
405  cmHists_.fillTkHistoMap(cmHists_.tkHistoMapPointer(2),detid,mean);
406  cmHists_.fillTkHistoMap(cmHists_.tkHistoMapPointer(3),detid,rms);
407 
408  if (printDebug_ > 1) {
409  std::ostringstream message;
410  message << "TkHistoMap APV0minusAPV1: Detid " << detid << ", mean = " << mean << ", rms = " << rms << ", counter = " << lStat.Counter << std::endl;
411  edm::LogVerbatim("SiStripMonitorHardware") << message.str();
412  }
413 
414  //ele++;
415  }
416 
417  }//if TkHistoMap is enabled
418 
419 }
420 */
422  uint32_t currentCacheId = eventSetup.get<SiStripFedCablingRcd>().cacheIdentifier();
423  if (cablingCacheId_ != currentCacheId) {
424  edm::ESHandle<SiStripFedCabling> cablingHandle;
425  eventSetup.get<SiStripFedCablingRcd>().get(cablingHandle);
426  cabling_ = cablingHandle.product();
427  cablingCacheId_ = currentCacheId;
428  }
429 }
430 
431 void SiStripCMMonitorPlugin::fillMaps(uint32_t aDetId,
432  unsigned short aChInModule,
433  std::pair<uint16_t, uint16_t> aMedians) {
434  if (doTkHistoMap_) { //if TkHistMap is enabled
435  std::pair<std::map<unsigned int, Statistics>::iterator, bool> alreadyThere[2];
436 
437  Statistics lStat;
438  lStat.Mean = (aMedians.first + aMedians.second) * 1. / (2 * aChInModule);
439  lStat.Rms = (aMedians.first + aMedians.second) * (aMedians.first + aMedians.second) * 1. / (4 * aChInModule);
440  lStat.Counter = 1. / aChInModule;
441 
442  alreadyThere[0] = CommonModes_.insert(std::pair<unsigned int, Statistics>(aDetId, lStat));
443  if (!alreadyThere[0].second) {
444  ((alreadyThere[0].first)->second).Mean += (aMedians.first + aMedians.second) * 1. / (2 * aChInModule);
445  ((alreadyThere[0].first)->second).Rms +=
446  (aMedians.first + aMedians.second) * (aMedians.first + aMedians.second) * 1. / (4 * aChInModule);
447  ((alreadyThere[0].first)->second).Counter += 1. / aChInModule;
448  }
449 
450  lStat.Mean = (aMedians.first - aMedians.second) * 1. / aChInModule;
451  lStat.Rms = (aMedians.first - aMedians.second) * (aMedians.first - aMedians.second) * 1. / aChInModule;
452  lStat.Counter = 1. / aChInModule;
453 
454  alreadyThere[1] = CommonModesAPV0minusAPV1_.insert(std::pair<unsigned int, Statistics>(aDetId, lStat));
455  if (!alreadyThere[1].second) {
456  ((alreadyThere[1].first)->second).Mean += (aMedians.first - aMedians.second) * 1. / aChInModule;
457  ((alreadyThere[1].first)->second).Rms +=
458  (aMedians.first - aMedians.second) * (aMedians.first - aMedians.second) * 1. / aChInModule;
459  ((alreadyThere[1].first)->second).Counter += 1. / aChInModule;
460  }
461  }
462 }
463 
464 //
465 // Define as a plug-in
466 //
467 
FedChannelConnection::nApvPairs
const uint16_t & nApvPairs() const
Definition: FedChannelConnection.h:215
SiStripCMMonitorPlugin::Statistics::Counter
float Counter
Definition: SiStripCMMonitor.cc:70
FEDNumbering.h
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
electrons_cff.bool
bool
Definition: electrons_cff.py:393
MessageLogger.h
funct::false
false
Definition: Factorize.h:29
SiStripCMMonitorPlugin::prevMedians_
std::pair< uint16_t, uint16_t > prevMedians_[FEDNumbering::MAXSiStripFEDID+1][sistrip::FEDCH_PER_FED]
Definition: SiStripCMMonitor.cc:106
SiStripCMMonitorPlugin::fedIdVec_
std::vector< unsigned int > fedIdVec_
Definition: SiStripCMMonitor.cc:86
SiStripCMMonitorPlugin::folderName_
std::string folderName_
Definition: SiStripCMMonitor.cc:84
SiStripCMMonitorPlugin::cablingCacheId_
uint32_t cablingCacheId_
Definition: SiStripCMMonitor.cc:95
sistrip::invalid32_
static const uint32_t invalid32_
Definition: Constants.h:15
ESHandle.h
SiStripCMMonitorPlugin::fillWithEvtNum_
bool fillWithEvtNum_
Definition: SiStripCMMonitor.cc:90
edm::Run
Definition: Run.h:45
edm::EDGetTokenT< FEDRawDataCollection >
FEDRawDataCollection
Definition: FEDRawDataCollection.h:18
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
SiStripCMMonitorPlugin::updateCabling
void updateCabling(const edm::EventSetup &eventSetup)
Definition: SiStripCMMonitor.cc:421
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
SiStripFedCabling.h
SiStripCMMonitorPlugin::printDebug_
unsigned int printDebug_
Definition: SiStripCMMonitor.cc:93
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
SiStripCMMonitorPlugin::fillAllDetailedHistograms_
bool fillAllDetailedHistograms_
Definition: SiStripCMMonitor.cc:88
SiStripCMMonitorPlugin::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: SiStripCMMonitor.cc:167
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:222
DQMStore.h
SiStripFedCabling::fedConnection
FedChannelConnection fedConnection(uint16_t fed_id, uint16_t fed_ch) const
Definition: SiStripFedCabling.cc:171
SiStripFedCabling
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses,...
Definition: SiStripFedCabling.h:25
SiStripCMMonitorPlugin::CommonModesAPV0minusAPV1_
std::map< unsigned int, Statistics > CommonModesAPV0minusAPV1_
Definition: SiStripCMMonitor.cc:104
FEDRawData.h
edm::Handle
Definition: AssociativeIterator.h:50
SiStripCMMonitorPlugin::doTkHistoMap_
bool doTkHistoMap_
Definition: SiStripCMMonitor.cc:99
FEDRawData
Definition: FEDRawData.h:19
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
MakerMacros.h
TrackerTopology.h
SiStripFedCablingRcd
Definition: SiStripCondDataRecords.h:22
TrackerTopologyRcd.h
SiStripCMMonitorPlugin::cabling_
const SiStripFedCabling * cabling_
Definition: SiStripCMMonitor.cc:96
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
SiStripCMMonitorPlugin::Statistics
Definition: SiStripCMMonitor.cc:67
SiStripFEDBuffer.h
Service.h
contentValuesCheck.values
values
Definition: contentValuesCheck.py:38
SiStripDigi.h
edm::ESHandle
Definition: DTSurvey.h:22
sistrip::FEDChannel::cmMedian
uint16_t cmMedian(const uint8_t apvIndex) const
Definition: SiStripFEDBufferComponents.h:1569
TkDetMap
Definition: TkDetMap.h:175
edm::EventNumber_t
unsigned long long EventNumber_t
Definition: RunLumiEventNumber.h:12
EDGetToken.h
SiStripCMMonitorPlugin::cmHists_
CMHistograms cmHists_
Definition: SiStripCMMonitor.cc:101
FEDRawDataCollection::FEDData
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
Definition: FEDRawDataCollection.cc:19
DQMEDAnalyzer.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
FedChannelConnection
Class containning control, module, detector and connection information, at the level of a FED channel...
Definition: FedChannelConnection.h:26
FedChannelConnection::isConnected
bool isConnected() const
Definition: FedChannelConnection.h:197
FEDNumbering::MAXSiStripFEDID
Definition: FEDNumbering.h:30
FedChannelConnection::detId
const uint32_t & detId() const
Definition: FedChannelConnection.h:213
SiStripCMMonitorPlugin::fillWithLocalEvtNum_
bool fillWithLocalEvtNum_
Definition: SiStripCMMonitor.cc:91
SiStripFedKey.h
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
sistrip::FEDChannel::length
uint16_t length() const
Definition: SiStripFEDBufferComponents.h:1565
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
sistrip::FEDBufferStatusCode::SUCCESS
FEDRawDataCollection.h
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
edm::EventSetup
Definition: EventSetup.h:57
DetSetVector.h
SiStripCMMonitorPlugin::rawDataToken_
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
Definition: SiStripCMMonitor.cc:82
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:88
get
#define get
SiStripCMMonitorPlugin::Statistics::Mean
float Mean
Definition: SiStripCMMonitor.cc:68
InputTag.h
sistrip::preconstructCheckFEDBuffer
FEDBufferStatusCode preconstructCheckFEDBuffer(const FEDRawData &fedBuffer, bool allowBadBuffer=false)
Definition: SiStripFEDBuffer.h:131
SiStripCMMonitorPlugin::fillMaps
void fillMaps(uint32_t aDetId, unsigned short aChInModule, std::pair< uint16_t, uint16_t > aMedians)
Definition: SiStripCMMonitor.cc:431
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripCMMonitorPlugin::rawDataTag_
edm::InputTag rawDataTag_
Definition: SiStripCMMonitor.cc:81
SiStripCMMonitorPlugin::Statistics::Rms
float Rms
Definition: SiStripCMMonitor.cc:69
DetId.h
Frameworkfwd.h
SiStripCMMonitorPlugin::~SiStripCMMonitorPlugin
~SiStripCMMonitorPlugin() override
Definition: SiStripCMMonitor.cc:161
SiStripCMMonitorPlugin::CommonModes_
std::map< unsigned int, Statistics > CommonModes_
Definition: SiStripCMMonitor.cc:103
Exception
Definition: hltDiff.cc:246
SiStripCMMonitorPlugin::evt_
edm::EventNumber_t evt_
Definition: SiStripCMMonitor.cc:108
SiStripCMMonitorPlugin::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SiStripCMMonitor.cc:183
EventSetup.h
Exception.h
SiStripFedCablingRcd.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
sistrip::FEDCH_PER_FED
static const uint16_t FEDCH_PER_FED
Definition: ConstantsForHardwareSystems.h:30
SiStripCMMonitorPlugin::SiStripCMMonitorPlugin
SiStripCMMonitorPlugin(const edm::ParameterSet &)
Definition: SiStripCMMonitor.cc:115
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
SiStripCMMonitorPlugin
Definition: SiStripCMMonitor.cc:61
edm::Event
Definition: Event.h:73
sistrip::FEDChannel
Definition: SiStripFEDBufferComponents.h:616
edm::InputTag
Definition: InputTag.h:15
FEDNumbering::MINSiStripFEDID
Definition: FEDNumbering.h:29