CMS 3D CMS Logo

SiStripMonitorPedestals.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiStripMonitorPedestals
4 // Class: SiStripMonitorPedestals
5 //
14 //
15 // Original Author: Simone Gennai and Suchandra Dutta
16 // Created: Sat Feb 4 20:49:10 CET 2006
17 //
18 //
19 
22 
24 
27 
29 
32 
41 
42 #include "TProfile.h"
43 // std
44 #include <algorithm>
45 #include <cmath>
46 #include <cstdlib>
47 #include <numeric>
48 
49 const std::string SiStripMonitorPedestals::RunMode1 = "ConDBPlotsOnly";
50 const std::string SiStripMonitorPedestals::RunMode2 = "CalculatedPlotsOnly";
52 
54  : dqmStore_(edm::Service<DQMStore>().operator->()),
55  conf_(iConfig),
56  pedsPSet_(iConfig.getParameter<edm::ParameterSet>("PedestalsPSet")),
57  analyzed(false),
59  signalCutPeds_(4),
60  nEvTot_(0),
61  nIteration_(0),
62  apvFactory_(nullptr),
63  tTopoToken_(esConsumes<edm::Transition::BeginRun>()),
64  detCablingToken_(esConsumes<edm::Transition::BeginRun>()) {
65  // retrieve producer name of input StripDigiCollection
67  std::string digiType = "VirginRaw";
68  digiToken_ = consumes<edm::DetSetVector<SiStripRawDigi>>(edm::InputTag(digiProducer, digiType));
69 
70  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals "
71  << " Constructing....... ";
72 
73  theEventInitNumber_ = pedsPSet_.getParameter<int>("NumberOfEventsForInit");
74  theEventIterNumber_ = pedsPSet_.getParameter<int>("NumberOfEventsForIteration");
75  NumCMstripsInGroup_ = pedsPSet_.getParameter<int>("NumCMstripsInGroup");
76  runTypeFlag_ = conf_.getParameter<std::string>("RunTypeFlag");
77 
79  pedestalToken_ = esConsumes<edm::Transition::BeginRun>();
80  noiseToken_ = esConsumes<edm::Transition::BeginRun>();
81  qualityToken_ = esConsumes<edm::Transition::BeginRun>(
82  edm::ESInputTag{"", iConfig.getParameter<std::string>("StripQualityLabel")});
83  }
84 }
85 //
86 // -- Destructor
87 //
89  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals "
90  << " Destructing...... ";
91  if (apvFactory_) {
92  delete apvFactory_;
93  }
94 }
95 //
96 // -- BeginRun
97 //
98 
100  const edm::Run &run,
101  const edm::EventSetup &eSetup) {
102  if (detCablingWatcher_.check(eSetup)) {
104  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::bookHistograms: "
105  << " Creating MEs for new Cabling ";
106  createMEs(ibooker, eSetup);
107  }
108 
110  fillCondDBMEs(eSetup);
111 }
112 
113 //
114 // -- Create Monitor Elements
115 //
117  const auto tTopo = &es.getData(tTopoToken_);
118 
119  std::vector<uint32_t> SelectedDetIds;
120 
121  // ApvAnalysisFactory
122  if (apvFactory_) {
123  delete apvFactory_;
124  }
126 
127  detcabling->addActiveDetectorsRawIds(SelectedDetIds);
128 
129  // use SistripHistoId for producing histogram id (and title)
130  SiStripHistoId hidmanager;
131  // create SiStripFolderOrganizer
132  SiStripFolderOrganizer folder_organizer;
133 
134  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: "
135  << "Number of Detector Present in cabling " << SelectedDetIds.size();
136 
137  for (std::vector<uint32_t>::const_iterator idetid = SelectedDetIds.begin(), iEnd = SelectedDetIds.end();
138  idetid != iEnd;
139  ++idetid) {
140  uint32_t detid = *idetid;
141 
142  // Check consistency in DetId
143  if (detid == 0 || detid == 0xFFFFFFFF) {
144  edm::LogError("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: "
145  << "Wrong DetId !!!!!! " << detid << " Neglecting !!!!!! ";
146  continue;
147  }
148 
149  unsigned int apv_pairs = detcabling->nApvPairs(detid);
150 
151  // Check consistency in Apv numbers
152  if (apv_pairs < 1 || apv_pairs > 3) {
153  edm::LogError("SiStripMonitorPedestals") << "SiStripMonitorPedestals::createMEs: Wrong APV Pairs => detId "
154  << detid << " APV pairs " << apv_pairs << " Neglecting !!!!!! ";
155  continue;
156  }
157  unsigned int napvs = apv_pairs * 2;
158  unsigned int nStrip = napvs * 128;
159 
160  bool newDetId = apvFactory_->instantiateApvs(detid, napvs);
161 
162  if (newDetId) {
163  ModMEs local_modmes;
164  local_modmes.PedsPerStrip = nullptr;
165  local_modmes.PedsDistribution = nullptr;
166  local_modmes.PedsEvolution = nullptr;
167  local_modmes.CMSubNoisePerStrip = nullptr;
168  local_modmes.RawNoisePerStrip = nullptr;
169  local_modmes.CMSubNoiseProfile = nullptr;
170  local_modmes.RawNoiseProfile = nullptr;
171  local_modmes.NoisyStrips = nullptr;
172  local_modmes.NoisyStripDistribution = nullptr;
173  local_modmes.CMDistribution = nullptr;
174  local_modmes.CMSlopeDistribution = nullptr;
175  local_modmes.PedsPerStripDB = nullptr;
176  local_modmes.CMSubNoisePerStripDB = nullptr;
177  local_modmes.BadStripsDB = nullptr;
178 
179  std::string hid;
180  // set appropriate folder using SiStripFolderOrganizer
181  folder_organizer.setDetectorFolder(detid, tTopo); // pass the detid to this method
182 
183  // if the deid already exists in the map, then reset MEs otherwise create
184  // them
185  resetMEs(detid);
186 
188  // Pedestals histos
189  hid = hidmanager.createHistoId("PedestalFromCondDB", "det", detid);
190  local_modmes.PedsPerStripDB =
191  ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5); // to modify the size binning
192  (local_modmes.PedsPerStripDB)->setAxisTitle("Pedestal from CondDB(ADC) vs Strip Number", 1);
193 
194  hid = hidmanager.createHistoId("NoiseFromCondDB", "det", detid);
195  local_modmes.CMSubNoisePerStripDB = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
196  (local_modmes.CMSubNoisePerStripDB)->setAxisTitle("CMSubNoise from CondDB(ADC) vs Strip Number", 1);
197 
198  hid = hidmanager.createHistoId("BadStripFlagCondDB", "det", detid);
199  local_modmes.BadStripsDB = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
200  (local_modmes.BadStripsDB)->setAxisTitle("Strip Flag from CondDB(ADC) vs Strip Number", 1);
201  }
203  // Pedestals histos
204  hid = hidmanager.createHistoId("PedsPerStrip", "det", detid);
205  local_modmes.PedsPerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5); // to modify the size binning
206  (local_modmes.PedsPerStrip)->setAxisTitle("Pedestal (ADC) vs Strip Number ", 1);
207 
208  hid = hidmanager.createHistoId("PedsDistribution", "det", detid);
209  local_modmes.PedsDistribution = ibooker.book2D(hid,
210  hid,
211  napvs,
212  -0.5,
213  napvs - 0.5,
214  300,
215  200,
216  500); // to modify the size binning
217  (local_modmes.PedsDistribution)->setAxisTitle("Apv Number", 1);
218  (local_modmes.PedsDistribution)->setAxisTitle("Mean Pedestal Value (ADC)", 2);
219 
220  hid = hidmanager.createHistoId("PedsEvolution", "det", detid);
221  local_modmes.PedsEvolution = ibooker.book2D(hid,
222  hid,
223  napvs,
224  -0.5,
225  napvs - 0.5,
226  50,
227  0.,
228  50.); // to modify the size binning
229  (local_modmes.PedsEvolution)->setAxisTitle("Apv Number", 1);
230  (local_modmes.PedsEvolution)->setAxisTitle("Iteration Number", 2);
231 
232  // Noise histos
233  hid = hidmanager.createHistoId("CMSubNoisePerStrip", "det", detid);
234  local_modmes.CMSubNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
235  (local_modmes.CMSubNoisePerStrip)->setAxisTitle("CMSubNoise (ADC) vs Strip Number", 1);
236 
237  hid = hidmanager.createHistoId("RawNoisePerStrip", "det", detid);
238  local_modmes.RawNoisePerStrip = ibooker.book1D(hid, hid, nStrip, 0.5, nStrip + 0.5);
239  (local_modmes.RawNoisePerStrip)->setAxisTitle("RawNoise(ADC) vs Strip Number", 1);
240 
241  hid = hidmanager.createHistoId("CMSubNoiseProfile", "det", detid);
242  local_modmes.CMSubNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
243  (local_modmes.CMSubNoiseProfile)->setAxisTitle("Mean of CMSubNoise (ADC) vs Strip Number", 1);
244 
245  hid = hidmanager.createHistoId("RawNoiseProfile", "det", detid);
246  local_modmes.RawNoiseProfile = ibooker.bookProfile(hid, hid, nStrip, 0.5, nStrip + 0.5, 100, 0., 100.);
247  (local_modmes.RawNoiseProfile)->setAxisTitle("Mean of RawNoise (ADC) vs Strip Number", 1);
248 
249  hid = hidmanager.createHistoId("NoisyStrips", "det", detid);
250  local_modmes.NoisyStrips = ibooker.book2D(hid, hid, nStrip, 0.5, nStrip + 0.5, 6, -0.5, 5.5);
251  (local_modmes.NoisyStrips)->setAxisTitle("Strip Number", 1);
252  (local_modmes.NoisyStrips)->setAxisTitle("Flag Value", 2);
253 
254  hid = hidmanager.createHistoId("NoisyStripDistribution", "det", detid);
255  local_modmes.NoisyStripDistribution = ibooker.book1D(hid, hid, 11, -0.5, 10.5);
256  (local_modmes.NoisyStripDistribution)->setAxisTitle("Flag Value", 1);
257 
258  // Common Mode histos
259  hid = hidmanager.createHistoId("CMDistribution", "det", detid);
260  local_modmes.CMDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 150, -15., 15.);
261  (local_modmes.CMDistribution)->setAxisTitle("Common Mode (ADC) vs APV Number", 1);
262 
263  hid = hidmanager.createHistoId("CMSlopeDistribution", "det", detid);
264  local_modmes.CMSlopeDistribution = ibooker.book2D(hid, hid, napvs, -0.5, napvs - 0.5, 100, -0.05, 0.05);
265  (local_modmes.CMSlopeDistribution)->setAxisTitle("Common Mode Slope vs APV Number", 1);
266  }
267  // data from CondDB
268  // append to PedMEs
269  PedMEs.insert(std::make_pair(detid, local_modmes));
270  } // newDetId
271  }
272  edm::LogInfo("SiStripMonitorPedestals")
273  << "SiStripMonitorPedestals::createMEs: Number of DETS used " << PedMEs.size();
274 }
275 // ------------ method called to produce the data ------------
277  edm::LogInfo("SiStripMonitorPedestals")
278  << "SiStripMonitorPedestals::analyze: Run " << iEvent.id().run() << " Event " << iEvent.id().event();
279 
281 
283  return;
284 
285  // Increment # of Events
286  nEvTot_++;
287 
288  // get DigiCollection object from Event
290  // you have a collection as there are all the digis for the event for every
291  // detector
292  iEvent.getByToken(digiToken_, digi_collection);
293 
294  // Increase the number of iterations ...
296  nIteration_++;
297 
298  // loop over all MEs
299  for (std::map<uint32_t, ModMEs>::const_iterator i = PedMEs.begin(); i != PedMEs.end(); i++) {
300  uint32_t detid = i->first;
301  ModMEs local_modmes = i->second;
302  // get iterators for digis belonging to one DetId, it is an iterator, i.e.
303  // one element of the vector
304  std::vector<edm::DetSet<SiStripRawDigi>>::const_iterator digis = digi_collection->find(detid);
305  if (digis == digi_collection->end() || digis->data.empty() || digis->data.size() > 768) {
306  if (digis == digi_collection->end()) {
307  edm::LogError("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: Event " << nEvTot_ << " DetId "
308  << detid << " at the end of Digi Collection!!!";
309  } else {
310  edm::LogError("SiStripMonitorPedestals") << " [SiStripMonitorPedestals::analyze: Event " << nEvTot_ << " DetId "
311  << detid << " # of Digis " << digis->data.size();
312  }
313  std::vector<const FedChannelConnection *> fed_conns = detcabling->getConnections(detid);
314  bool firstchannel(true);
315  for (unsigned int k = 0; k < fed_conns.size(); k++) {
316  if (fed_conns[k] && fed_conns[k]->isConnected()) {
317  if (firstchannel) {
318  edm::LogError("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: Fed Id "
319  << fed_conns[k]->fedId() << " Channel " << fed_conns[k]->fedCh();
320  firstchannel = false;
321  } else
322  edm::LogError("SiStripMonitorPedestals")
323  << " SiStripMonitorPedestals::analyze: Channel " << fed_conns[k]->fedCh();
324  }
325  }
326  std::cout << std::endl;
327  continue;
328  }
329 
330  if (digis->data.empty()) {
331  edm::LogError("MonitorDigi_tmp") << "[SiStripRawDigiToRaw::createFedBuffers] Zero digis found!";
332  }
333  uint32_t id = detid;
334  // cout <<"Data size "<<digis->data.size()<<endl;
335  apvFactory_->update(id, (*digis));
336 
338  if (local_modmes.CMDistribution != nullptr) {
339  std::vector<float> tmp;
340  tmp.clear();
342  // unpacking the info looking at the right topology
343  int numberCMBlocks = int(128. / NumCMstripsInGroup_);
344  int ibin = 0;
345  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
346  int iapv = int(ibin / numberCMBlocks);
347  (local_modmes.CMDistribution)->Fill(iapv, static_cast<float>(*iped));
348  ibin++;
349  }
350  }
351  if (local_modmes.CMSlopeDistribution != nullptr) {
352  std::vector<float> tmp;
353  tmp.clear();
354  int iapv = 0;
356  for (std::vector<float>::const_iterator it = tmp.begin(); it != tmp.end(); it++) {
357  (local_modmes.CMSlopeDistribution)->Fill(iapv, static_cast<float>(*it));
358  iapv++;
359  }
360  }
361  }
362 
363  // asking for the status
365  std::vector<float> tmp;
366  tmp.clear();
368  if (local_modmes.PedsPerStrip != nullptr) {
369  int numberOfApvs = int(tmp.size() / 128.);
370  for (int i = 0; i < numberOfApvs; i++) {
371  std::vector<float> myPedPerApv;
372  apvFactory_->getPedestal(id, i, myPedPerApv);
373  float avarage = 0;
374  avarage = std::accumulate(myPedPerApv.begin(), myPedPerApv.end(), avarage);
375  avarage = avarage / 128.;
376  (local_modmes.PedsEvolution)->setBinContent(i + 1, nIteration_, avarage);
377  }
378  int ibin = 0;
379 
380  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
381  int napv = int(ibin / 128.);
382  ibin++;
383  float last_value = (local_modmes.PedsPerStrip)->getBinContent(ibin);
384  if (last_value != 0.) {
385  (local_modmes.PedsPerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
386  } else {
387  (local_modmes.PedsPerStrip)->setBinContent(ibin, static_cast<float>(*iped));
388  }
389  (local_modmes.PedsDistribution)->Fill(napv, static_cast<float>(*iped));
390  }
391  }
392 
393  if (local_modmes.CMSubNoisePerStrip != nullptr && local_modmes.CMSubNoiseProfile != nullptr) {
394  tmp.clear();
395  apvFactory_->getNoise(id, tmp);
396  int ibin = 0;
397  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
398  ibin++;
399  (local_modmes.CMSubNoiseProfile)->Fill(static_cast<double>(ibin * 1.), static_cast<float>(*iped));
400 
401  float last_value = (local_modmes.CMSubNoisePerStrip)->getBinContent(ibin);
402  if (last_value != 0.) {
403  (local_modmes.CMSubNoisePerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
404  } else {
405  (local_modmes.CMSubNoisePerStrip)->setBinContent(ibin, static_cast<float>(*iped));
406  }
407  }
408  }
409 
410  if (local_modmes.RawNoisePerStrip != nullptr && local_modmes.RawNoiseProfile != nullptr) {
411  tmp.clear();
413  int ibin = 0;
414  for (std::vector<float>::const_iterator iped = tmp.begin(); iped != tmp.end(); iped++) {
415  ibin++;
416  (local_modmes.RawNoiseProfile)->Fill(static_cast<double>(ibin * 1.), static_cast<float>(*iped));
417  float last_value = (local_modmes.RawNoisePerStrip)->getBinContent(ibin);
418  if (last_value != 0.) {
419  (local_modmes.RawNoisePerStrip)->setBinContent(ibin, (static_cast<float>(*iped) + last_value) / 2.);
420  } else {
421  (local_modmes.RawNoisePerStrip)->setBinContent(ibin, static_cast<float>(*iped));
422  }
423  }
424  }
425 
426  if (local_modmes.NoisyStrips != nullptr) {
428  apvFactory_->getMask(id, temp);
429  int ibin = 0;
430  for (TkApvMask::MaskType::const_iterator iped = temp.begin(); iped != temp.end(); iped++) {
431  ibin++;
432 
433  if (nIteration_ < 2) {
434  if (*iped == 1)
435  (local_modmes.NoisyStrips)->Fill(ibin, 3.);
436  if (*iped == 2)
437  (local_modmes.NoisyStrips)->Fill(ibin, 4.);
438  if (*iped == 0)
439  (local_modmes.NoisyStrips)->Fill(ibin, 0.);
440  } else {
441  (local_modmes.NoisyStrips)->Fill(ibin, static_cast<float>(*iped));
442  (local_modmes.NoisyStripDistribution)->Fill(static_cast<float>(*iped));
443  }
444  }
445  }
446  }
447  }
448  if (firstEvent)
449  firstEvent = false;
450 }
451 //
452 // -- End Run
453 //
455  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
456  if (outputMEsInRootFile) {
459  }
460 }
461 //
462 // -- End Job
463 //
465  edm::LogInfo("SiStripMonitorPedestals") << "SiStripMonitorPedestals::EndJob: "
466  << " Finishing!! ";
467 }
468 //
469 // -- Reset Monitor Elements corresponding to a detetor
470 //
472  std::map<uint32_t, ModMEs>::iterator pos = PedMEs.find(idet);
473  if (pos != PedMEs.end()) {
474  ModMEs mod_me = pos->second;
475 
477  mod_me.PedsPerStripDB->Reset();
478  mod_me.CMSubNoisePerStripDB->Reset();
479  mod_me.BadStripsDB->Reset();
480  }
482  mod_me.PedsPerStrip->Reset();
483  mod_me.PedsDistribution->Reset();
484  mod_me.PedsEvolution->Reset();
485  mod_me.CMSubNoisePerStrip->Reset();
486  mod_me.RawNoisePerStrip->Reset();
487  mod_me.CMSubNoiseProfile->Reset();
488  mod_me.RawNoiseProfile->Reset();
489  mod_me.NoisyStrips->Reset();
490  mod_me.CMDistribution->Reset();
491  mod_me.CMSlopeDistribution->Reset();
492  }
493  }
494 }
495 //
496 // -- Fill CondDB Monitoring Elements
497 //
499  const auto &pedestals = eSetup.getData(pedestalToken_);
500  const auto &noises = eSetup.getData(noiseToken_);
501  const auto &quality = eSetup.getData(qualityToken_);
502 
503  for (std::map<uint32_t, ModMEs>::const_iterator i = PedMEs.begin(); i != PedMEs.end(); i++) {
504  uint32_t detid = i->first;
505  ModMEs local_modmes = i->second;
506  edm::LogInfo("SiStripMonitorPedestals") << " SiStripMonitorPedestals::analyze: "
507  << " Get Ped/Noise/Bad Strips from CondDb for DetId " << detid;
508  int nStrip = detcabling->nApvPairs(detid) * 256;
509  // Get range of pedestal and noise for the detid
510  SiStripNoises::Range noiseRange = noises.getRange(detid);
511  SiStripPedestals::Range pedRange = pedestals.getRange(detid);
512  SiStripQuality::Range qualityRange = quality.getRange(detid);
513 
514  for (int istrip = 0; istrip < nStrip; ++istrip) {
515  try {
516  // Fill Pedestals
517  (local_modmes.PedsPerStripDB)->Fill(istrip + 1, pedestals.getPed(istrip, pedRange));
518  } catch (cms::Exception &e) {
519  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
520  "SiStripPedestalsService_.getPedestal("
521  << detid << "," << istrip << ") : "
522  << " " << e.what();
523  }
524  try {
525  // Fill Noises
526  (local_modmes.CMSubNoisePerStripDB)->Fill(istrip + 1, noises.getNoise(istrip, noiseRange));
527 
528  } catch (cms::Exception &e) {
529  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
530  "SiStripNoiseService_.getNoise("
531  << detid << "," << istrip << ") : "
532  << " " << e.what();
533  }
534  try {
535  // Fill BadStripsNoise
536  (local_modmes.BadStripsDB)->Fill(istrip + 1, quality.IsStripBad(qualityRange, istrip) ? 1. : 0.);
537 
538  } catch (cms::Exception &e) {
539  edm::LogError("SiStripMonitorPedestals") << "[SiStripMonitorPedestals::analyze] cms::Exception accessing "
540  "SiStripNoiseService_.getDisable("
541  << detid << "," << istrip << ") : "
542  << " " << e.what();
543  }
544  } // close istrip loop
545  }
546 }
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
SiStripDetCabling::addActiveDetectorsRawIds
void addActiveDetectorsRawIds(std::vector< uint32_t > &) const
Definition: SiStripDetCabling.cc:134
ApvAnalysisFactory::getNoise
void getNoise(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
Definition: ApvAnalysisFactory.cc:230
Handle.h
mps_fire.i
i
Definition: mps_fire.py:428
edm::ESInputTag
Definition: ESInputTag.h:87
MessageLogger.h
SiStripFolderOrganizer.h
funct::false
false
Definition: Factorize.h:29
SiStripHistoId.h
SiStripMonitorPedestals::resetMEs
void resetMEs(uint32_t idet)
Definition: SiStripMonitorPedestals.cc:471
TkApvMask::MaskType
std::vector< StripMaskType > MaskType
Definition: TkApvMask.h:15
SiStripMonitorPedestals::detCablingWatcher_
edm::ESWatcher< SiStripDetCablingRcd > detCablingWatcher_
Definition: SiStripMonitorPedestals.h:115
SiStripPedestals::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripPedestals.h:51
edm::Run
Definition: Run.h:45
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.digiProducer
digiProducer
Definition: EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.py:50
edm
HLT enums.
Definition: AlignableModifier.h:19
SiStripMonitorPedestals::qualityToken_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
Definition: SiStripMonitorPedestals.h:118
gather_cfg.cout
cout
Definition: gather_cfg.py:144
pos
Definition: PixelAliasList.h:18
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
SiStripMonitorPedestals::RunMode1
static const std::string RunMode1
Definition: SiStripMonitorPedestals.h:120
SiStripMonitorPedestals::firstEvent
bool firstEvent
Definition: SiStripMonitorPedestals.h:98
DQMStore.h
SiStripMonitorPedestals::pedsPSet_
edm::ParameterSet pedsPSet_
Definition: SiStripMonitorPedestals.h:96
SiStripMonitorPedestals::ModMEs::CMSubNoiseProfile
MonitorElement * CMSubNoiseProfile
Definition: SiStripMonitorPedestals.h:78
SiStripMonitorPedestals::ModMEs::CMSlopeDistribution
MonitorElement * CMSlopeDistribution
Definition: SiStripMonitorPedestals.h:84
SiStripNoises.h
SiStripMonitorPedestals::digiToken_
edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > > digiToken_
Definition: SiStripMonitorPedestals.h:65
SiStripMonitorPedestals::~SiStripMonitorPedestals
~SiStripMonitorPedestals() override
Definition: SiStripMonitorPedestals.cc:88
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SiStripMonitorPedestals::runTypeFlag_
std::string runTypeFlag_
Definition: SiStripMonitorPedestals.h:110
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
ApvAnalysisFactory::getPedestal
void getPedestal(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &peds)
Definition: ApvAnalysisFactory.cc:198
edm::Handle
Definition: AssociativeIterator.h:50
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
SiStripMonitorPedestals::endJob
void endJob() override
Definition: SiStripMonitorPedestals.cc:464
SiStripMonitorPedestals::theEventIterNumber_
int theEventIterNumber_
Definition: SiStripMonitorPedestals.h:108
Utilities.operator
operator
Definition: Utilities.py:24
SiStripMonitorPedestals::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: SiStripMonitorPedestals.cc:276
SiStripMonitorPedestals::detcabling
const SiStripDetCabling * detcabling
Definition: SiStripMonitorPedestals.h:95
SiStripMonitorPedestals::ModMEs::PedsDistribution
MonitorElement * PedsDistribution
Definition: SiStripMonitorPedestals.h:73
quality
const uint32_t *__restrict__ Quality * quality
Definition: CAHitNtupletGeneratorKernelsImpl.h:122
SiStripMonitorPedestals.h
ApvAnalysisFactory::instantiateApvs
bool instantiateApvs(uint32_t det_id, int numberOfApvs)
Definition: ApvAnalysisFactory.cc:57
ApvAnalysisFactory::update
void update(uint32_t det_id, const edm::DetSet< SiStripRawDigi > &in)
Definition: ApvAnalysisFactory.cc:171
SiStripMonitorPedestals::SiStripMonitorPedestals
SiStripMonitorPedestals(const edm::ParameterSet &)
Definition: SiStripMonitorPedestals.cc:53
SiStripBadStrip::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripBadStrip.h:53
TrackerTopologyRcd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
dqm::legacy::DQMStore
Definition: DQMStore.h:728
SiStripMonitorPedestals::ModMEs::RawNoiseProfile
MonitorElement * RawNoiseProfile
Definition: SiStripMonitorPedestals.h:79
Service.h
SiStripNoises::Range
std::pair< ContainerIterator, ContainerIterator > Range
Definition: SiStripNoises.h:47
ApvAnalysisFactory
Definition: ApvAnalysisFactory.h:22
SiStripMonitorPedestals::ModMEs::PedsEvolution
MonitorElement * PedsEvolution
Definition: SiStripMonitorPedestals.h:74
dqm::impl::MonitorElement::Reset
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
Definition: MonitorElement.cc:354
SiStripPedestalsRcd.h
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
Service
ApvAnalysisFactory::getMask
void getMask(uint32_t det_id, TkApvMask::MaskType &tmp)
Definition: ApvAnalysisFactory.cc:324
dqmdumpme.k
k
Definition: dqmdumpme.py:60
dqm::implementation::DQMStore::save
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Definition: DQMStore.cc:784
SiStripMonitorPedestals::dqmStore_
DQMStore * dqmStore_
Definition: SiStripMonitorPedestals.h:92
SiStripMonitorPedestals::apvFactory_
ApvAnalysisFactory * apvFactory_
Definition: SiStripMonitorPedestals.h:106
SiStripMonitorPedestals::noiseToken_
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_
Definition: SiStripMonitorPedestals.h:117
ApvAnalysisFactory.h
SiStripMonitorPedestals::ModMEs::BadStripsDB
MonitorElement * BadStripsDB
Definition: SiStripMonitorPedestals.h:89
SiStripMonitorPedestals::detCablingToken_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > detCablingToken_
Definition: SiStripMonitorPedestals.h:114
funct::true
true
Definition: Factorize.h:173
edm::ParameterSet
Definition: ParameterSet.h:47
edm::Transition
Transition
Definition: Transition.h:12
SiStripMonitorPedestals::pedestalToken_
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalToken_
Definition: SiStripMonitorPedestals.h:116
ParameterSet
Definition: Functions.h:16
SiStripMonitorPedestals::NumCMstripsInGroup_
int NumCMstripsInGroup_
Definition: SiStripMonitorPedestals.h:109
SiStripMonitorPedestals::nIteration_
int nIteration_
Definition: SiStripMonitorPedestals.h:105
ApvAnalysisFactory::getRawNoise
void getRawNoise(uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise)
Definition: ApvAnalysisFactory.cc:265
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
SiStripMonitorPedestals::ModMEs::CMSubNoisePerStripDB
MonitorElement * CMSubNoisePerStripDB
Definition: SiStripMonitorPedestals.h:88
SiStripMonitorPedestals::conf_
edm::ParameterSet conf_
Definition: SiStripMonitorPedestals.h:93
SiStripMonitorPedestals::RunMode3
static const std::string RunMode3
Definition: SiStripMonitorPedestals.h:122
SiStripMonitorPedestals::ModMEs::CMSubNoisePerStrip
MonitorElement * CMSubNoisePerStrip
Definition: SiStripMonitorPedestals.h:76
SiStripMonitorPedestals::ModMEs::RawNoisePerStrip
MonitorElement * RawNoisePerStrip
Definition: SiStripMonitorPedestals.h:77
edm::EventSetup
Definition: EventSetup.h:58
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
SiStripHistoId::createHistoId
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
Definition: SiStripHistoId.cc:26
SiStripMonitorPedestals::ModMEs::PedsPerStrip
MonitorElement * PedsPerStrip
Definition: SiStripMonitorPedestals.h:72
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiStripMonitorPedestals::ModMEs::NoisyStripDistribution
MonitorElement * NoisyStripDistribution
Definition: SiStripMonitorPedestals.h:81
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
SiStripFolderOrganizer::setDetectorFolder
void setDetectorFolder(uint32_t rawdetid, const TrackerTopology *tTopo)
Definition: SiStripFolderOrganizer.cc:202
SiStripMonitorPedestals::theEventInitNumber_
int theEventInitNumber_
Definition: SiStripMonitorPedestals.h:107
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
SiStripMonitorPedestals::ModMEs::NoisyStrips
MonitorElement * NoisyStrips
Definition: SiStripMonitorPedestals.h:80
SiStripHistoId
Definition: SiStripHistoId.h:25
writedatasetfile.run
run
Definition: writedatasetfile.py:27
SiStripMonitorPedestals::dqmEndRun
void dqmEndRun(edm::Run const &run, edm::EventSetup const &eSetup) override
Definition: SiStripMonitorPedestals.cc:454
SiStripMonitorPedestals
Definition: SiStripMonitorPedestals.h:54
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
SiStripMonitorPedestals::RunMode2
static const std::string RunMode2
Definition: SiStripMonitorPedestals.h:121
SiStripFolderOrganizer
Definition: SiStripFolderOrganizer.h:27
SiStripDetCabling::nApvPairs
const uint16_t nApvPairs(uint32_t det_id) const
Definition: SiStripDetCabling.cc:209
SiStripQuality.h
SiStripMonitorPedestals::tTopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: SiStripMonitorPedestals.h:113
SiStripMonitorPedestals::outPutFileName
std::string outPutFileName
Definition: SiStripMonitorPedestals.h:111
SiStripMonitorPedestals::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: SiStripMonitorPedestals.cc:99
SiStripQualityRcd.h
SiStripPedestals.h
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
SiStripMonitorPedestals::createMEs
void createMEs(DQMStore::IBooker &, edm::EventSetup const &eSetup)
Definition: SiStripMonitorPedestals.cc:116
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiStripMonitorPedestals::ModMEs::CMDistribution
MonitorElement * CMDistribution
Definition: SiStripMonitorPedestals.h:83
ApvAnalysisFactory::getCommonMode
void getCommonMode(uint32_t det_id, ApvAnalysis::PedestalType &tmp)
Definition: ApvAnalysisFactory.cc:311
SiStripNoisesRcd.h
cms::Exception
Definition: Exception.h:70
SiStripMonitorPedestals::PedMEs
std::map< uint32_t, ModMEs > PedMEs
Definition: SiStripMonitorPedestals.h:94
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
SiStripMonitorPedestals::nEvTot_
int16_t nEvTot_
Definition: SiStripMonitorPedestals.h:103
SiStripDetCabling::getConnections
const std::vector< const FedChannelConnection * > & getConnections(uint32_t det_id) const
Definition: SiStripDetCabling.cc:161
amptDefault_cfi.firstEvent
firstEvent
Definition: amptDefault_cfi.py:8
HLTEgPhaseIITestSequence_cff.noises
noises
Definition: HLTEgPhaseIITestSequence_cff.py:1348
SiStripMonitorPedestals::ModMEs
Definition: SiStripMonitorPedestals.h:71
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
ApvAnalysisFactory::getCommonModeSlope
void getCommonModeSlope(uint32_t det_id, ApvAnalysis::PedestalType &tmp)
Definition: ApvAnalysisFactory.cc:375
SiStripMonitorPedestals::ModMEs::PedsPerStripDB
MonitorElement * PedsPerStripDB
Definition: SiStripMonitorPedestals.h:87
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
SiStripMonitorPedestals::fillCondDBMEs
void fillCondDBMEs(edm::EventSetup const &eSetup)
Definition: SiStripMonitorPedestals.cc:498