CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
SiStripCMMonitorPlugin Class Reference

#include <DQM/SiStripMonitorHardware/plugins/SiStripCMMonitor.cc>

Inheritance diagram for SiStripCMMonitorPlugin:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  Statistics
 

Public Member Functions

 SiStripCMMonitorPlugin (const edm::ParameterSet &)
 
 ~SiStripCMMonitorPlugin () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void fillMaps (uint32_t aDetId, unsigned short aChInModule, std::pair< uint16_t, uint16_t > aMedians)
 
void updateCabling (const SiStripFedCablingRcd &cablingRcd)
 

Private Attributes

const SiStripFedCablingcabling_
 
CMHistograms cmHists_
 
std::map< unsigned int, StatisticsCommonModes_
 
std::map< unsigned int, StatisticsCommonModesAPV0minusAPV1_
 
bool doTkHistoMap_
 
edm::EventNumber_t evt_
 
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcdfedCablingToken_
 
edm::ESWatcher< SiStripFedCablingRcdfedCablingWatcher_
 
std::vector< unsigned int > fedIdVec_
 
bool fillAllDetailedHistograms_
 
bool fillWithEvtNum_
 
bool fillWithLocalEvtNum_
 
std::string folderName_
 
std::pair< uint16_t, uint16_t > prevMedians_ [FEDNumbering::MAXSiStripFEDID+1][sistrip::FEDCH_PER_FED]
 
unsigned int printDebug_
 
edm::InputTag rawDataTag_
 
edm::EDGetTokenT< FEDRawDataCollectionrawDataToken_
 
edm::ESGetToken< TkDetMap, TrackerTopologyRcdtkDetMapToken_
 
edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtTopoToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description: DQM source application to monitor common mode for SiStrip data

Definition at line 61 of file SiStripCMMonitor.cc.

Constructor & Destructor Documentation

◆ SiStripCMMonitorPlugin()

SiStripCMMonitorPlugin::SiStripCMMonitorPlugin ( const edm::ParameterSet iConfig)
explicit

Definition at line 119 of file SiStripCMMonitor.cc.

References cmHists_, CommonModes_, CommonModesAPV0minusAPV1_, doTkHistoMap_, evt_, sistrip::FEDCH_PER_FED, l1tstage2_dqm_sourceclient-live_cfg::fedId, fillAllDetailedHistograms_, fillWithEvtNum_, folderName_, LogTrace, FEDNumbering::MAXSiStripFEDID, FEDNumbering::MINSiStripFEDID, prevMedians_, printDebug_, rawDataTag_, and rawDataToken_.

120  : rawDataTag_(iConfig.getUntrackedParameter<edm::InputTag>("RawDataTag", edm::InputTag("source", ""))),
121  folderName_(
122  iConfig.getUntrackedParameter<std::string>("HistogramFolderName", "SiStrip/ReadoutView/CMMonitoring")),
123  fedIdVec_(iConfig.getUntrackedParameter<std::vector<unsigned int> >("FedIdVec")),
124  fillAllDetailedHistograms_(iConfig.getUntrackedParameter<bool>("FillAllDetailedHistograms", false)),
125  fillWithEvtNum_(iConfig.getUntrackedParameter<bool>("FillWithEventNumber", false)),
126  fillWithLocalEvtNum_(iConfig.getUntrackedParameter<bool>("FillWithLocalEventNumber", false)),
127  printDebug_(iConfig.getUntrackedParameter<unsigned int>("PrintDebugMessages", 1)),
129  fedCablingToken_(esConsumes<>()),
130  tTopoToken_(esConsumes<>()),
131  tkDetMapToken_(esConsumes<edm::Transition::BeginRun>()) {
132  rawDataToken_ = consumes<FEDRawDataCollection>(rawDataTag_);
133  //print config to debug log
134  std::ostringstream debugStream;
135  if (printDebug_ > 1) {
136  debugStream << "[SiStripCMMonitorPlugin]Configuration for SiStripCMMonitorPlugin: " << std::endl
137  << "[SiStripCMMonitorPlugin]\tRawDataTag: " << rawDataTag_ << std::endl
138  << "[SiStripCMMonitorPlugin]\tHistogramFolderName: " << folderName_ << std::endl
139  << "[SiStripCMMonitorPlugin]\tFillAllDetailedHistograms? "
140  << (fillAllDetailedHistograms_ ? "yes" : "no") << std::endl
141  << "[SiStripCMMonitorPlugin]\tFillWithEventNumber?" << (fillWithEvtNum_ ? "yes" : "no") << std::endl
142  << "[SiStripCMMonitorPlugin]\tPrintDebugMessages? " << (printDebug_ ? "yes" : "no") << std::endl;
143  }
144 
145  std::ostringstream* pDebugStream = (printDebug_ > 1 ? &debugStream : nullptr);
146 
147  cmHists_.initialise(iConfig, pDebugStream);
148 
149  doTkHistoMap_ = cmHists_.tkHistoMapEnabled();
150 
151  CommonModes_.clear();
153 
155  for (unsigned int iCh(0); iCh < sistrip::FEDCH_PER_FED; iCh++) {
156  prevMedians_[fedId][iCh] = std::pair<uint16_t, uint16_t>(0, 0);
157  }
158  }
159 
160  if (printDebug_)
161  LogTrace("SiStripMonitorHardware") << debugStream.str();
162 
163  evt_ = 0;
164 }
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
std::map< unsigned int, Statistics > CommonModes_
std::vector< unsigned int > fedIdVec_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::pair< uint16_t, uint16_t > prevMedians_[FEDNumbering::MAXSiStripFEDID+1][sistrip::FEDCH_PER_FED]
#define LogTrace(id)
T getUntrackedParameter(std::string const &, T const &) const
edm::EventNumber_t evt_
void updateCabling(const SiStripFedCablingRcd &cablingRcd)
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
std::map< unsigned int, Statistics > CommonModesAPV0minusAPV1_
static const uint16_t FEDCH_PER_FED

◆ ~SiStripCMMonitorPlugin()

SiStripCMMonitorPlugin::~SiStripCMMonitorPlugin ( )
override

Definition at line 166 of file SiStripCMMonitor.cc.

166 {}

Member Function Documentation

◆ analyze()

void SiStripCMMonitorPlugin::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 185 of file SiStripCMMonitor.cc.

References edmScanValgrind::buffer, cabling_, edm::ESWatcher< T >::check(), cmHists_, sistrip::FEDChannel::cmMedian(), gather_cfg::cout, FedChannelConnection::detId(), evt_, Exception, fedCablingWatcher_, sistrip::FEDCH_PER_FED, SiStripFedCabling::fedConnection(), FEDRawDataCollection::FEDData(), l1tstage2_dqm_sourceclient-live_cfg::fedId, fillMaps(), fillWithEvtNum_, fillWithLocalEvtNum_, edm::EventSetup::getData(), iEvent, sistrip::invalid32_, FedChannelConnection::isConnected(), sistrip::FEDChannel::length(), FEDNumbering::MAXSiStripFEDID, FEDNumbering::MINSiStripFEDID, eostools::move(), FedChannelConnection::nApvPairs(), sistrip::preconstructCheckFEDBuffer(), prevMedians_, printDebug_, rawDataToken_, sistrip::SUCCESS, tTopoToken_, and contentValuesCheck::values.

185  {
186  const auto tTopo = &iSetup.getData(tTopoToken_);
187 
188  fedCablingWatcher_.check(iSetup);
189 
190  //static bool firstEvent = true;
191  //static bool isBeingFilled = false;
192 
193  //get raw data
194  edm::Handle<FEDRawDataCollection> rawDataCollectionHandle;
195  iEvent.getByToken(rawDataToken_, rawDataCollectionHandle);
196  const FEDRawDataCollection& rawDataCollection = *rawDataCollectionHandle;
197 
198  //FED errors
199  FEDErrors lFedErrors;
200 
201  //loop over siStrip FED IDs
203  fedId++) { //loop over FED IDs
204  const FEDRawData& fedData = rawDataCollection.FEDData(fedId);
205 
206  //create an object to fill all errors
207  lFedErrors.initialiseFED(fedId, cabling_, tTopo);
208 
209  //Do detailed check
210  //first check if data exists
211  bool lDataExist = lFedErrors.checkDataPresent(fedData);
212  if (!lDataExist) {
213  continue;
214  }
215 
216  std::unique_ptr<const sistrip::FEDBuffer> buffer;
217 
218  if (!lFedErrors.fillFatalFEDErrors(fedData, 0)) {
219  continue;
220  } else {
221  //need to construct full object to go any further
222  const auto st_buffer = sistrip::preconstructCheckFEDBuffer(fedData, true);
223  if (sistrip::FEDBufferStatusCode::SUCCESS != st_buffer) {
224  throw cms::Exception("FEDBuffer") << st_buffer << " (check debug output for more details)";
225  }
226  auto tmp_buffer = std::make_unique<sistrip::FEDBuffer>(fedData, true);
227  tmp_buffer->findChannels();
228  buffer = std::move(tmp_buffer); // const now
229  bool channelLengthsOK = buffer->checkChannelLengthsMatchBufferLength();
230  bool channelPacketCodesOK = buffer->checkChannelPacketCodes();
231  bool feLengthsOK = buffer->checkFEUnitLengths();
232  if (!channelLengthsOK || !channelPacketCodesOK || !feLengthsOK) {
233  continue;
234  }
235  }
236 
237  std::ostringstream infoStream;
238 
239  if (printDebug_ > 1) {
240  infoStream << " --- Processing FED #" << fedId << std::endl;
241  }
242 
243  std::vector<CMHistograms::CMvalues> values;
244 
245  for (unsigned int iCh = 0; iCh < sistrip::FEDCH_PER_FED; iCh++) { //loop on channels
246 
247  const FedChannelConnection& lConnection = cabling_->fedConnection(fedId, iCh);
248  bool connected = lConnection.isConnected();
249 
250  //std::cout << "FedID " << fedId << ", ch " << iCh << ", nAPVPairs " << lConnection.nApvPairs() << " apvPairNumber " << lConnection.apvPairNumber() << std::endl;
251 
252  if (!connected) {
253  continue;
254  }
255 
256  uint32_t lDetId = lConnection.detId();
257  unsigned short nChInModule = lConnection.nApvPairs();
258 
259  if (!lDetId || lDetId == sistrip::invalid32_)
260  continue;
261 
262  bool lFailUnpackerChannelCheck = !buffer->channelGood(iCh, true) && connected;
263 
264  if (lFailUnpackerChannelCheck) {
265  continue;
266  }
267 
268  //short lAPVPair = lConnection.apvPairNumber();
269  //short lSubDet = DetId(lDetId).subdetId();
270 
271  // if (firstEvent){
272  // infoStream << "Subdet " << lSubDet << ", " ;
273  // if (lSubDet == 3) {
274  //
275  // infoStream << "TIB layer " << tTopo->tibLayer(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
276  // }
277  // else if (lSubDet == 4) {
278  //
279  // infoStream << "TID side " << tTopo->tibSide(lDetId) << " wheel " << tTopo->tibWheel(lDetId) << ", ring " << tTopo->tibRing(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
280  // }
281  // else if (lSubDet == 5) {
282  //
283  // infoStream << "TOB side " << tTopo->tibRod(lDetId)[0] << " layer " << tTopo->tibLayer(lDetId) << ", rod " << tTopo->tibRodNumber(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
284  // }
285  // else if (lSubDet == 6) {
286  //
287  // infoStream << "TEC side " << tTopo->tibSide(lDetId) << " wheel " << tTopo->tibWheel(lDetId) << ", petal " << tTopo->tibPetalNumber(lDetId) << ", ring " << tTopo->tibRing(lDetId) << ", fedID " << fedId << ", channel " << iCh << std::endl;
288  // }
289  // isBeingFilled=true;
290  // }
291 
292  std::ostringstream lMode;
293  lMode << buffer->readoutMode();
294  if (evt_ == 0 && printDebug_ > 1)
295  std::cout << "Readout mode: " << lMode.str() << std::endl;
296 
297  const sistrip::FEDChannel& lChannel = buffer->channel(iCh);
298  std::pair<uint16_t, uint16_t> medians = std::pair<uint16_t, uint16_t>(0, 0);
299 
300  if (lMode.str().find("Zero suppressed") != lMode.str().npos && lMode.str().find("lite") == lMode.str().npos)
301  medians = std::pair<uint16_t, uint16_t>(lChannel.cmMedian(0), lChannel.cmMedian(1));
302 
303  CMHistograms::CMvalues lVal;
304  lVal.ChannelID = iCh;
305  lVal.Medians = std::pair<uint16_t, uint16_t>(medians.first, medians.second);
306  lVal.PreviousMedians = prevMedians_[fedId][iCh];
307 
308  // if (medians.second-medians.first > 26){
309  // std::ostringstream info;
310  // if (medians.second-medians.first > 44) info << " --- Second bump: event " << iEvent.id().event() << ", FED/Channel " << fedId << "/" << iCh << ", delta=" << medians.second-medians.first << std::endl;
311  // else info << " --- First bump: event " << iEvent.id().event() << ", FED/Channel " << fedId << "/" << iCh << ", delta=" << medians.second-medians.first << std::endl;
312  // edm::LogVerbatim("SiStripMonitorHardware") << info.str();
313  // }
314 
315  if (printDebug_ > 1) {
316  if (lChannel.length() > 7) {
317  infoStream << "Medians for channel #" << iCh << " (length " << lChannel.length() << "): " << medians.first
318  << ", " << medians.second << std::endl;
319  }
320  }
321 
322  values.push_back(lVal);
323 
324  //if (iEvent.id().event() > 1000)
325  fillMaps(lDetId, nChInModule, medians);
326 
327  prevMedians_[fedId][iCh] = std::pair<uint16_t, uint16_t>(medians.first, medians.second);
328 
329  } //loop on channels
330 
331  float lTime = 0;
332  if (fillWithEvtNum_) {
333  // casting from unsigned long long to a float here
334  // doing it explicitely
335  lTime = static_cast<float>(iEvent.id().event());
336  } else {
337  if (fillWithLocalEvtNum_) {
338  // casting from unsigned long long to a float here
339  // doing it explicitely
340  lTime = static_cast<float>(evt_);
341  } else {
342  lTime = iEvent.orbitNumber() / 11223.;
343  }
344  }
345 
346  cmHists_.fillHistograms(values, lTime, fedId);
347 
348  //if (printDebug_ > 0 && isBeingFilled && firstEvent) edm::LogVerbatim("SiStripMonitorHardware") << infoStream.str();
349 
350  } //loop on FEDs
351 
352  //if (isBeingFilled)
353  //firstEvent = false;
354 
355  evt_++;
356 
357 } //analyze method
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
edm::ESWatcher< SiStripFedCablingRcd > fedCablingWatcher_
static const uint32_t invalid32_
Definition: Constants.h:15
FedChannelConnection fedConnection(uint16_t fed_id, uint16_t fed_ch) const
void fillMaps(uint32_t aDetId, unsigned short aChInModule, std::pair< uint16_t, uint16_t > aMedians)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
std::pair< uint16_t, uint16_t > prevMedians_[FEDNumbering::MAXSiStripFEDID+1][sistrip::FEDCH_PER_FED]
int iEvent
Definition: GenABIO.cc:224
Class containning control, module, detector and connection information, at the level of a FED channel...
edm::EventNumber_t evt_
edm::EDGetTokenT< FEDRawDataCollection > rawDataToken_
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
const uint32_t & detId() const
uint16_t cmMedian(const uint8_t apvIndex) const
const uint16_t & nApvPairs() const
const SiStripFedCabling * cabling_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
static const uint16_t FEDCH_PER_FED
FEDBufferStatusCode preconstructCheckFEDBuffer(const FEDRawData &fedBuffer, bool allowBadBuffer=false)
def move(src, dest)
Definition: eostools.py:511

◆ bookHistograms()

void SiStripCMMonitorPlugin::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  run,
edm::EventSetup const &  eSetup 
)
overrideprivatevirtual

Implements DQMEDAnalyzer.

Definition at line 172 of file SiStripCMMonitor.cc.

References cmHists_, fillAllDetailedHistograms_, folderName_, edm::EventSetup::getData(), dqm::implementation::NavigatorBase::setCurrentFolder(), and tkDetMapToken_.

174  {
175  ibooker.setCurrentFolder(folderName_);
176 
177  const auto tkDetMap = &eSetup.getData(tkDetMapToken_);
178  cmHists_.bookTopLevelHistograms(ibooker, tkDetMap);
179 
181  cmHists_.bookAllFEDHistograms(ibooker);
182 }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_

◆ fillMaps()

void SiStripCMMonitorPlugin::fillMaps ( uint32_t  aDetId,
unsigned short  aChInModule,
std::pair< uint16_t, uint16_t >  aMedians 
)
private

Definition at line 424 of file SiStripCMMonitor.cc.

References CommonModes_, CommonModesAPV0minusAPV1_, SiStripCMMonitorPlugin::Statistics::Counter, doTkHistoMap_, SiStripCMMonitorPlugin::Statistics::Mean, SiStripCMMonitorPlugin::Statistics::Rms, and edm::second().

Referenced by analyze().

426  {
427  if (doTkHistoMap_) { //if TkHistMap is enabled
428  std::pair<std::map<unsigned int, Statistics>::iterator, bool> alreadyThere[2];
429 
430  Statistics lStat;
431  lStat.Mean = (aMedians.first + aMedians.second) * 1. / (2 * aChInModule);
432  lStat.Rms = (aMedians.first + aMedians.second) * (aMedians.first + aMedians.second) * 1. / (4 * aChInModule);
433  lStat.Counter = 1. / aChInModule;
434 
435  alreadyThere[0] = CommonModes_.insert(std::pair<unsigned int, Statistics>(aDetId, lStat));
436  if (!alreadyThere[0].second) {
437  ((alreadyThere[0].first)->second).Mean += (aMedians.first + aMedians.second) * 1. / (2 * aChInModule);
438  ((alreadyThere[0].first)->second).Rms +=
439  (aMedians.first + aMedians.second) * (aMedians.first + aMedians.second) * 1. / (4 * aChInModule);
440  ((alreadyThere[0].first)->second).Counter += 1. / aChInModule;
441  }
442 
443  lStat.Mean = (aMedians.first - aMedians.second) * 1. / aChInModule;
444  lStat.Rms = (aMedians.first - aMedians.second) * (aMedians.first - aMedians.second) * 1. / aChInModule;
445  lStat.Counter = 1. / aChInModule;
446 
447  alreadyThere[1] = CommonModesAPV0minusAPV1_.insert(std::pair<unsigned int, Statistics>(aDetId, lStat));
448  if (!alreadyThere[1].second) {
449  ((alreadyThere[1].first)->second).Mean += (aMedians.first - aMedians.second) * 1. / aChInModule;
450  ((alreadyThere[1].first)->second).Rms +=
451  (aMedians.first - aMedians.second) * (aMedians.first - aMedians.second) * 1. / aChInModule;
452  ((alreadyThere[1].first)->second).Counter += 1. / aChInModule;
453  }
454  }
455 }
std::map< unsigned int, Statistics > CommonModes_
U second(std::pair< T, U > const &p)
std::map< unsigned int, Statistics > CommonModesAPV0minusAPV1_

◆ updateCabling()

void SiStripCMMonitorPlugin::updateCabling ( const SiStripFedCablingRcd cablingRcd)
private

Definition at line 420 of file SiStripCMMonitor.cc.

References cabling_, fedCablingToken_, and edm::eventsetup::EventSetupRecordImplementation< T >::get().

420  {
421  cabling_ = &cablingRcd.get(fedCablingToken_);
422 }
edm::ESGetToken< SiStripFedCabling, SiStripFedCablingRcd > fedCablingToken_
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
const SiStripFedCabling * cabling_

Member Data Documentation

◆ cabling_

const SiStripFedCabling* SiStripCMMonitorPlugin::cabling_
private

Definition at line 95 of file SiStripCMMonitor.cc.

Referenced by analyze(), and updateCabling().

◆ cmHists_

CMHistograms SiStripCMMonitorPlugin::cmHists_
private

Definition at line 105 of file SiStripCMMonitor.cc.

Referenced by analyze(), bookHistograms(), and SiStripCMMonitorPlugin().

◆ CommonModes_

std::map<unsigned int, Statistics> SiStripCMMonitorPlugin::CommonModes_
private

Definition at line 107 of file SiStripCMMonitor.cc.

Referenced by fillMaps(), and SiStripCMMonitorPlugin().

◆ CommonModesAPV0minusAPV1_

std::map<unsigned int, Statistics> SiStripCMMonitorPlugin::CommonModesAPV0minusAPV1_
private

Definition at line 108 of file SiStripCMMonitor.cc.

Referenced by fillMaps(), and SiStripCMMonitorPlugin().

◆ doTkHistoMap_

bool SiStripCMMonitorPlugin::doTkHistoMap_
private

Definition at line 103 of file SiStripCMMonitor.cc.

Referenced by fillMaps(), and SiStripCMMonitorPlugin().

◆ evt_

edm::EventNumber_t SiStripCMMonitorPlugin::evt_
private

Definition at line 112 of file SiStripCMMonitor.cc.

Referenced by analyze(), and SiStripCMMonitorPlugin().

◆ fedCablingToken_

edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> SiStripCMMonitorPlugin::fedCablingToken_
private

Definition at line 98 of file SiStripCMMonitor.cc.

Referenced by updateCabling().

◆ fedCablingWatcher_

edm::ESWatcher<SiStripFedCablingRcd> SiStripCMMonitorPlugin::fedCablingWatcher_
private

Definition at line 97 of file SiStripCMMonitor.cc.

Referenced by analyze().

◆ fedIdVec_

std::vector<unsigned int> SiStripCMMonitorPlugin::fedIdVec_
private

Definition at line 86 of file SiStripCMMonitor.cc.

◆ fillAllDetailedHistograms_

bool SiStripCMMonitorPlugin::fillAllDetailedHistograms_
private

Definition at line 88 of file SiStripCMMonitor.cc.

Referenced by bookHistograms(), and SiStripCMMonitorPlugin().

◆ fillWithEvtNum_

bool SiStripCMMonitorPlugin::fillWithEvtNum_
private

Definition at line 90 of file SiStripCMMonitor.cc.

Referenced by analyze(), and SiStripCMMonitorPlugin().

◆ fillWithLocalEvtNum_

bool SiStripCMMonitorPlugin::fillWithLocalEvtNum_
private

Definition at line 91 of file SiStripCMMonitor.cc.

Referenced by analyze().

◆ folderName_

std::string SiStripCMMonitorPlugin::folderName_
private

Definition at line 84 of file SiStripCMMonitor.cc.

Referenced by bookHistograms(), and SiStripCMMonitorPlugin().

◆ prevMedians_

std::pair<uint16_t, uint16_t> SiStripCMMonitorPlugin::prevMedians_[FEDNumbering::MAXSiStripFEDID+1][sistrip::FEDCH_PER_FED]
private

Definition at line 110 of file SiStripCMMonitor.cc.

Referenced by analyze(), and SiStripCMMonitorPlugin().

◆ printDebug_

unsigned int SiStripCMMonitorPlugin::printDebug_
private

Definition at line 93 of file SiStripCMMonitor.cc.

Referenced by analyze(), and SiStripCMMonitorPlugin().

◆ rawDataTag_

edm::InputTag SiStripCMMonitorPlugin::rawDataTag_
private

Definition at line 81 of file SiStripCMMonitor.cc.

Referenced by SiStripCMMonitorPlugin().

◆ rawDataToken_

edm::EDGetTokenT<FEDRawDataCollection> SiStripCMMonitorPlugin::rawDataToken_
private

Definition at line 82 of file SiStripCMMonitor.cc.

Referenced by analyze(), and SiStripCMMonitorPlugin().

◆ tkDetMapToken_

edm::ESGetToken<TkDetMap, TrackerTopologyRcd> SiStripCMMonitorPlugin::tkDetMapToken_
private

Definition at line 100 of file SiStripCMMonitor.cc.

Referenced by bookHistograms().

◆ tTopoToken_

edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> SiStripCMMonitorPlugin::tTopoToken_
private

Definition at line 99 of file SiStripCMMonitor.cc.

Referenced by analyze().