CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HGCalDigiValidation Class Reference
Inheritance diagram for HGCalDigiValidation:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  digiInfo
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 HGCalDigiValidation (const edm::ParameterSet &)
 
 ~HGCalDigiValidation () 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
 
 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
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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 &)
 

Private Member Functions

template<class T1 , class T2 >
void digiValidation (const T1 &detId, const T2 *geom, int layer, uint16_t adc, double charge, bool mode, bool threshold)
 
void fillDigiInfo ()
 
void fillDigiInfo (digiInfo &hinfo)
 
void fillOccupancyMap (std::map< int, int > &OccupancyMap, int layer)
 

Private Attributes

std::vector< MonitorElement * > ADC_
 
std::vector< MonitorElement * > DigiOccupancy_Minus_
 
std::vector< MonitorElement * > DigiOccupancy_Plus_
 
std::vector< MonitorElement * > DigiOccupancy_XY_
 
edm::EDGetToken digiSource_
 
int firstLayer_
 
bool ifHCAL_
 
bool ifNose_
 
int layers_
 
MonitorElementMeanDigiOccupancy_Minus_
 
MonitorElementMeanDigiOccupancy_Plus_
 
std::string nameDetector_
 
std::map< int, int > OccupancyMap_minus_
 
std::map< int, int > OccupancyMap_plus_
 
int SampleIndx_
 
std::vector< MonitorElement * > TOA_
 
std::vector< MonitorElement * > TOT_
 
int verbosity_
 

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 >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- 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

Definition at line 52 of file HGCalDigiValidation.cc.

Constructor & Destructor Documentation

◆ HGCalDigiValidation()

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

Definition at line 101 of file HGCalDigiValidation.cc.

102  : nameDetector_(iConfig.getParameter<std::string>("DetectorName")),
103  ifNose_(iConfig.getParameter<bool>("ifNose")),
104  ifHCAL_(iConfig.getParameter<bool>("ifHCAL")),
105  verbosity_(iConfig.getUntrackedParameter<int>("Verbosity", 0)),
106  SampleIndx_(iConfig.getUntrackedParameter<int>("SampleIndx", 0)),
107  firstLayer_(1) {
108  auto temp = iConfig.getParameter<edm::InputTag>("DigiSource");
109  if ((nameDetector_ == "HGCalEESensitive") || (nameDetector_ == "HGCalHESiliconSensitive") ||
110  (nameDetector_ == "HGCalHEScintillatorSensitive") || (nameDetector_ == "HGCalHFNoseSensitive")) {
111  digiSource_ = consumes<HGCalDigiCollection>(temp);
112  } else if (nameDetector_ == "HCal") {
113  if (ifHCAL_)
114  digiSource_ = consumes<QIE11DigiCollection>(temp);
115  else
116  digiSource_ = consumes<HGCalDigiCollection>(temp);
117  } else {
118  throw cms::Exception("BadHGCDigiSource") << "HGCal DetectorName given as " << nameDetector_ << " must be: "
119  << "\"HGCalEESensitive\", \"HGCalHESiliconSensitive\", "
120  << "\"HGCalHEScintillatorSensitive\", \"HGCalHFNoseSensitive\", "
121  << "or \"HCal\"!";
122  }
123 }

References digiSource_, Exception, edm::ParameterSet::getParameter(), ifHCAL_, nameDetector_, and groupFilesInBlocks::temp.

◆ ~HGCalDigiValidation()

HGCalDigiValidation::~HGCalDigiValidation ( )
inlineoverride

Definition at line 66 of file HGCalDigiValidation.cc.

66 {}

Member Function Documentation

◆ analyze()

void HGCalDigiValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 136 of file HGCalDigiValidation.cc.

136  {
137  OccupancyMap_plus_.clear();
138  OccupancyMap_minus_.clear();
139 
140  const HGCalGeometry* geom0(nullptr);
141  const CaloGeometry* geom1(nullptr);
142  int geomType(0);
143  if (nameDetector_ == "HCal") {
145  iSetup.get<CaloGeometryRecord>().get(geom);
146  if (!geom.isValid())
147  edm::LogVerbatim("HGCalValidation") << "HGCalDigiValidation: Cannot get "
148  << "valid Geometry Object for " << nameDetector_;
149  geom1 = geom.product();
150  } else {
153  if (!geom.isValid())
154  edm::LogVerbatim("HGCalValidation") << "HGCalDigiValidation: Cannot get "
155  << "valid Geometry Object for " << nameDetector_;
156  geom0 = geom.product();
157  if (geom0->topology().waferHexagon8())
158  geomType = 1;
159  else if (geom0->topology().tileTrapezoid())
160  geomType = 2;
161  if (nameDetector_ == "HGCalHFNoseSensitive")
162  geomType = 3;
163  }
164 
165  unsigned int ntot(0), nused(0);
166  if ((nameDetector_ == "HGCalEESensitive") || (nameDetector_ == "HGCalHFNoseSensitive")) {
167  //HGCalEE
168  edm::Handle<HGCalDigiCollection> theHGCEEDigiContainers;
169  iEvent.getByToken(digiSource_, theHGCEEDigiContainers);
170  if (theHGCEEDigiContainers.isValid()) {
171  if (verbosity_ > 0)
172  edm::LogVerbatim("HGCalValidation")
173  << nameDetector_ << " with " << theHGCEEDigiContainers->size() << " element(s)";
174  for (const auto& it : *(theHGCEEDigiContainers.product())) {
175  ntot++;
176  nused++;
177  DetId detId = it.id();
178  int layer = ((geomType == 0) ? HGCalDetId(detId).layer()
179  : (geomType == 1) ? HGCSiliconDetId(detId).layer() : HFNoseDetId(detId).layer());
180  const HGCSample& hgcSample = it.sample(SampleIndx_);
181  uint16_t gain = hgcSample.toa();
182  uint16_t adc = hgcSample.data();
183  double charge = gain;
184  bool totmode = hgcSample.mode();
185  bool zerothreshold = hgcSample.threshold();
186  digiValidation(detId, geom0, layer, adc, charge, totmode, zerothreshold);
187  }
188  fillDigiInfo();
189  } else {
190  edm::LogVerbatim("HGCalValidation") << "DigiCollection handle does not "
191  << "exist for " << nameDetector_;
192  }
193  } else if ((nameDetector_ == "HGCalHESiliconSensitive") || (nameDetector_ == "HGCalHEScintillatorSensitive")) {
194  //HGCalHE
195  edm::Handle<HGCalDigiCollection> theHGCHEDigiContainers;
196  iEvent.getByToken(digiSource_, theHGCHEDigiContainers);
197  if (theHGCHEDigiContainers.isValid()) {
198  if (verbosity_ > 0)
199  edm::LogVerbatim("HGCalValidation")
200  << nameDetector_ << " with " << theHGCHEDigiContainers->size() << " element(s)";
201  for (const auto& it : *(theHGCHEDigiContainers.product())) {
202  ntot++;
203  nused++;
204  DetId detId = it.id();
205  int layer = ((geomType == 0)
206  ? HGCalDetId(detId).layer()
207  : ((geomType == 1) ? HGCSiliconDetId(detId).layer() : HGCScintillatorDetId(detId).layer()));
208  const HGCSample& hgcSample = it.sample(SampleIndx_);
209  uint16_t gain = hgcSample.toa();
210  uint16_t adc = hgcSample.data();
211  double charge = gain;
212  bool totmode = hgcSample.mode();
213  bool zerothreshold = hgcSample.threshold();
214  digiValidation(detId, geom0, layer, adc, charge, totmode, zerothreshold);
215  }
216  fillDigiInfo();
217  } else {
218  edm::LogVerbatim("HGCalValidation") << "DigiCollection handle does not "
219  << "exist for " << nameDetector_;
220  }
221  } else if ((nameDetector_ == "HCal") && (!ifHCAL_)) {
222  //HGCalBH
223  edm::Handle<HGCalDigiCollection> theHGCBHDigiContainers;
224  iEvent.getByToken(digiSource_, theHGCBHDigiContainers);
225  if (theHGCBHDigiContainers.isValid()) {
226  if (verbosity_ > 0)
227  edm::LogVerbatim("HGCalValidation")
228  << nameDetector_ << " with " << theHGCBHDigiContainers->size() << " element(s)";
229  for (const auto& it : *(theHGCBHDigiContainers.product())) {
230  ntot++;
231  nused++;
232  HcalDetId detId = it.id();
233  int layer = detId.depth();
234  const HGCSample& hgcSample = it.sample(SampleIndx_);
235  uint16_t gain = hgcSample.toa();
236  uint16_t adc = hgcSample.data();
237  double charge = gain;
238  bool totmode = hgcSample.mode();
239  bool zerothreshold = hgcSample.threshold();
240  digiValidation(detId, geom1, layer, adc, charge, totmode, zerothreshold);
241  }
242  fillDigiInfo();
243  } else {
244  edm::LogWarning("HGCalValidation") << "DigiCollection handle does not "
245  << "exist for " << nameDetector_;
246  }
247  } else if (nameDetector_ == "HCal") {
248  //HE
249  edm::Handle<QIE11DigiCollection> theHEDigiContainers;
250  iEvent.getByToken(digiSource_, theHEDigiContainers);
251  if (theHEDigiContainers.isValid()) {
252  if (verbosity_ > 0)
253  edm::LogVerbatim("HGCalValidation")
254  << nameDetector_ << " with " << theHEDigiContainers->size() << " element(s)";
256  iSetup.get<HcalDbRecord>().get(conditions);
257 
258  for (const auto& it : *(theHEDigiContainers.product())) {
259  QIE11DataFrame df(it);
260  HcalDetId detId = (df.id());
261  ntot++;
262  if (detId.subdet() == HcalEndcap) {
263  nused++;
264  HcalCalibrations calibrations = conditions->getHcalCalibrations(detId);
265  const HcalQIECoder* channelCoder = conditions->getHcalCoder(detId);
266  const HcalQIEShape* shape = conditions->getHcalShape(channelCoder);
267  HcalCoderDb coder(*channelCoder, *shape);
268  CaloSamples tool;
269  coder.adc2fC(df, tool);
270  int layer = detId.depth();
271  uint16_t adc = (df)[SampleIndx_].adc();
272  int capid = (df)[SampleIndx_].capid();
273  double charge = (tool[SampleIndx_] - calibrations.pedestal(capid));
274  bool totmode = false;
275  bool zerothreshold = false;
276  digiValidation(detId, geom1, layer, adc, charge, totmode, zerothreshold);
277  }
278  }
279  fillDigiInfo();
280  } else {
281  edm::LogWarning("HGCalValidation") << "DigiCollection handle does not "
282  << "exist for " << nameDetector_;
283  }
284  } else {
285  edm::LogWarning("HGCalValidation") << "invalid detector name !! " << nameDetector_;
286  }
287  if (verbosity_ > 0)
288  edm::LogVerbatim("HGCalValidation") << "Event " << iEvent.id().event() << " with " << ntot << " total and " << nused
289  << " used digis";
290 }

References gpuClustering::adc, HcalCoderDb::adc2fC(), AlignmentProducer_cff::calibrations, ALCARECOTkAlJpsiMuMu_cff::charge, submitPVValidationJobs::conditions, HGCSample::data(), HcalDetId::depth(), hgcalPerformanceValidation::df, digiSource_, digiValidation(), fillDigiInfo(), PedestalClient_cfi::gain, relativeConstraints::geom, motionPolicyChamber::geom0, geometryDiff::geom1, edm::EventSetup::get(), get, HcalEndcap, iEvent, ifHCAL_, edm::HandleBase::isValid(), HGCalDetId::layer(), HGCScintillatorDetId::layer(), HFNoseDetId::layer(), HGCSiliconDetId::layer(), phase1PixelTopology::layer, HGCSample::mode(), nameDetector_, gpuPixelDoublets::ntot, OccupancyMap_minus_, OccupancyMap_plus_, edm::Handle< T >::product(), SampleIndx_, edm::SortedCollection< T, SORT >::size(), edm::DataFrameContainer::size(), HcalDetId::subdet(), HGCSample::threshold(), HGCSample::toa(), and verbosity_.

◆ bookHistograms()

void HGCalDigiValidation::bookHistograms ( DQMStore::IBooker iB,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 378 of file HGCalDigiValidation.cc.

378  {
379  iB.setCurrentFolder("HGCAL/HGCalDigisV/" + nameDetector_);
380 
381  std::ostringstream histoname;
382  for (int il = 0; il < layers_; ++il) {
383  int ilayer = firstLayer_ + il;
384  auto istr1 = std::to_string(ilayer);
385  while (istr1.size() < 2) {
386  istr1.insert(0, "0");
387  }
388  histoname.str("");
389  histoname << "TOA_"
390  << "layer_" << istr1;
391  TOA_.push_back(iB.book1D(histoname.str().c_str(), "toa_", 1024, 0, 1024));
392 
393  histoname.str("");
394  histoname << "ADC_"
395  << "layer_" << istr1;
396  ADC_.push_back(iB.book1D(histoname.str().c_str(), "ADCDigiOccupancy", 1024, 0, 1024));
397 
398  histoname.str("");
399  histoname << "TOT_"
400  << "layer_" << istr1;
401  TOT_.push_back(iB.book1D(histoname.str().c_str(), "TOTDigiOccupancy", 4096, 0, 4096));
402 
403  histoname.str("");
404  histoname << "DigiOccupancy_XY_"
405  << "layer_" << istr1;
406  DigiOccupancy_XY_.push_back(iB.book2D(histoname.str().c_str(), "DigiOccupancy", 50, -500, 500, 50, -500, 500));
407 
408  histoname.str("");
409  histoname << "DigiOccupancy_Plus_"
410  << "layer_" << istr1;
411  DigiOccupancy_Plus_.push_back(iB.book1D(histoname.str().c_str(), "DigiOccupancy +z", 100, 0, 1000));
412  histoname.str("");
413  histoname << "DigiOccupancy_Minus_"
414  << "layer_" << istr1;
415  DigiOccupancy_Minus_.push_back(iB.book1D(histoname.str().c_str(), "DigiOccupancy -z", 100, 0, 1000));
416  }
417 
418  histoname.str("");
419  histoname << "SUMOfDigiOccupancy_Plus";
420  MeanDigiOccupancy_Plus_ = iB.book1D(histoname.str().c_str(), "SUMOfDigiOccupancy_Plus", layers_, -0.5, layers_ - 0.5);
421  histoname.str("");
422  histoname << "SUMOfRecDigiOccupancy_Minus";
424  iB.book1D(histoname.str().c_str(), "SUMOfDigiOccupancy_Minus", layers_, -0.5, layers_ - 0.5);
425 }

References ADC_, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), DigiOccupancy_Minus_, DigiOccupancy_Plus_, DigiOccupancy_XY_, firstLayer_, layers_, MeanDigiOccupancy_Minus_, MeanDigiOccupancy_Plus_, nameDetector_, dqm::implementation::NavigatorBase::setCurrentFolder(), TOA_, and TOT_.

◆ digiValidation()

template<class T1 , class T2 >
void HGCalDigiValidation::digiValidation ( const T1 &  detId,
const T2 *  geom,
int  layer,
uint16_t  adc,
double  charge,
bool  mode,
bool  threshold 
)
private

Definition at line 293 of file HGCalDigiValidation.cc.

294  {
295  if (verbosity_ > 1)
296  edm::LogVerbatim("HGCalValidation") << std::hex << detId.rawId() << std::dec << " " << detId.rawId();
297  DetId id1 = DetId(detId.rawId());
298  const GlobalPoint& global1 = geom->getPosition(id1);
299 
300  if (verbosity_ > 1)
301  edm::LogVerbatim("HGCalValidation") << " adc = " << adc << " toa = " << charge;
302 
303  digiInfo hinfo;
304  hinfo.x = global1.x();
305  hinfo.y = global1.y();
306  hinfo.z = global1.z();
307  hinfo.adc = adc;
308  hinfo.charge = charge;
309  hinfo.layer = layer - firstLayer_;
310  hinfo.mode = mode;
311  hinfo.threshold = threshold;
312 
313  if (verbosity_ > 1)
314  edm::LogVerbatim("HGCalValidation") << "gx = " << hinfo.x << " gy = " << hinfo.y << " gz = " << hinfo.z;
315 
316  if (global1.eta() > 0)
318  else
320 
322 }

References gpuClustering::adc, ALCARECOTkAlJpsiMuMu_cff::charge, TauDecayModes::dec, fillDigiInfo(), fillOccupancyMap(), firstLayer_, relativeConstraints::geom, globals_cff::id1, phase1PixelTopology::layer, ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, OccupancyMap_minus_, OccupancyMap_plus_, remoteMonitoring_LED_IterMethod_cfg::threshold, and verbosity_.

Referenced by analyze().

◆ dqmBeginRun()

void HGCalDigiValidation::dqmBeginRun ( const edm::Run ,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 358 of file HGCalDigiValidation.cc.

358  {
359  if (nameDetector_ == "HCal") {
361  iSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
362  const HcalDDDRecConstants* hcons = &(*pHRNDC);
363  layers_ = hcons->getMaxDepth(1);
364  } else {
366  iSetup.get<IdealGeometryRecord>().get(nameDetector_, pHGDC);
367  const HGCalDDDConstants& hgcons_ = (*pHGDC);
368  layers_ = hgcons_.layers(true);
369  firstLayer_ = hgcons_.firstLayer();
370  }
371 
372  if (verbosity_ > 0)
373  edm::LogVerbatim("HGCalValidation") << "current DQM directory: "
374  << "HGCAL/HGCalDigisV/" << nameDetector_ << " layer = " << layers_
375  << " with the first one at " << firstLayer_;
376 }

References HGCalDDDConstants::firstLayer(), firstLayer_, edm::EventSetup::get(), get, HcalDDDRecConstants::getMaxDepth(), HGCalDDDConstants::layers(), layers_, nameDetector_, and verbosity_.

◆ fillDescriptions()

void HGCalDigiValidation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 125 of file HGCalDigiValidation.cc.

125  {
127  desc.add<std::string>("DetectorName", "HGCalEESensitive");
128  desc.add<edm::InputTag>("DigiSource", edm::InputTag("hgcalDigis", "EE"));
129  desc.add<bool>("ifNose", false);
130  desc.add<bool>("ifHCAL", false);
131  desc.addUntracked<int>("Verbosity", 0);
132  desc.addUntracked<int>("SampleIndx", 2); // central bx
133  descriptions.add("hgcalDigiValidationEEDefault", desc);
134 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillDigiInfo() [1/2]

void HGCalDigiValidation::fillDigiInfo ( )
private

Definition at line 345 of file HGCalDigiValidation.cc.

345  {
346  for (const auto& itr : OccupancyMap_plus_) {
347  int layer = itr.first;
348  int occupancy = itr.second;
349  DigiOccupancy_Plus_.at(layer)->Fill(occupancy);
350  }
351  for (const auto& itr : OccupancyMap_minus_) {
352  int layer = itr.first;
353  int occupancy = itr.second;
354  DigiOccupancy_Minus_.at(layer)->Fill(occupancy);
355  }
356 }

References DigiOccupancy_Minus_, DigiOccupancy_Plus_, phase1PixelTopology::layer, OccupancyMap_minus_, and OccupancyMap_plus_.

Referenced by analyze(), and digiValidation().

◆ fillDigiInfo() [2/2]

void HGCalDigiValidation::fillDigiInfo ( digiInfo hinfo)
private

Definition at line 331 of file HGCalDigiValidation.cc.

331  {
332  int ilayer = hinfo.layer;
333  TOA_.at(ilayer)->Fill(hinfo.charge);
334 
335  if (hinfo.mode) {
336  TOT_.at(ilayer)->Fill(hinfo.adc);
337  }
338 
339  if (!hinfo.mode && hinfo.threshold) {
340  ADC_.at(ilayer)->Fill(hinfo.adc);
341  DigiOccupancy_XY_.at(ilayer)->Fill(hinfo.x, hinfo.y);
342  }
343 }

References ADC_, DigiOccupancy_XY_, TOA_, and TOT_.

◆ fillOccupancyMap()

void HGCalDigiValidation::fillOccupancyMap ( std::map< int, int > &  OccupancyMap,
int  layer 
)
private

Definition at line 324 of file HGCalDigiValidation.cc.

324  {
325  if (OccupancyMap.find(layer) != OccupancyMap.end())
326  OccupancyMap[layer]++;
327  else
328  OccupancyMap[layer] = 1;
329 }

References phase1PixelTopology::layer.

Referenced by digiValidation().

Member Data Documentation

◆ ADC_

std::vector<MonitorElement*> HGCalDigiValidation::ADC_
private

Definition at line 93 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ DigiOccupancy_Minus_

std::vector<MonitorElement*> HGCalDigiValidation::DigiOccupancy_Minus_
private

Definition at line 96 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ DigiOccupancy_Plus_

std::vector<MonitorElement*> HGCalDigiValidation::DigiOccupancy_Plus_
private

Definition at line 95 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ DigiOccupancy_XY_

std::vector<MonitorElement*> HGCalDigiValidation::DigiOccupancy_XY_
private

Definition at line 92 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ digiSource_

edm::EDGetToken HGCalDigiValidation::digiSource_
private

Definition at line 83 of file HGCalDigiValidation.cc.

Referenced by analyze(), and HGCalDigiValidation().

◆ firstLayer_

int HGCalDigiValidation::firstLayer_
private

Definition at line 86 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), digiValidation(), and dqmBeginRun().

◆ ifHCAL_

bool HGCalDigiValidation::ifHCAL_
private

Definition at line 84 of file HGCalDigiValidation.cc.

Referenced by analyze(), and HGCalDigiValidation().

◆ ifNose_

bool HGCalDigiValidation::ifNose_
private

Definition at line 84 of file HGCalDigiValidation.cc.

◆ layers_

int HGCalDigiValidation::layers_
private

Definition at line 86 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and dqmBeginRun().

◆ MeanDigiOccupancy_Minus_

MonitorElement* HGCalDigiValidation::MeanDigiOccupancy_Minus_
private

Definition at line 98 of file HGCalDigiValidation.cc.

Referenced by bookHistograms().

◆ MeanDigiOccupancy_Plus_

MonitorElement* HGCalDigiValidation::MeanDigiOccupancy_Plus_
private

Definition at line 97 of file HGCalDigiValidation.cc.

Referenced by bookHistograms().

◆ nameDetector_

std::string HGCalDigiValidation::nameDetector_
private

Definition at line 82 of file HGCalDigiValidation.cc.

Referenced by analyze(), bookHistograms(), dqmBeginRun(), and HGCalDigiValidation().

◆ OccupancyMap_minus_

std::map<int, int> HGCalDigiValidation::OccupancyMap_minus_
private

Definition at line 89 of file HGCalDigiValidation.cc.

Referenced by analyze(), digiValidation(), and fillDigiInfo().

◆ OccupancyMap_plus_

std::map<int, int> HGCalDigiValidation::OccupancyMap_plus_
private

Definition at line 88 of file HGCalDigiValidation.cc.

Referenced by analyze(), digiValidation(), and fillDigiInfo().

◆ SampleIndx_

int HGCalDigiValidation::SampleIndx_
private

Definition at line 85 of file HGCalDigiValidation.cc.

Referenced by analyze().

◆ TOA_

std::vector<MonitorElement*> HGCalDigiValidation::TOA_
private

Definition at line 91 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ TOT_

std::vector<MonitorElement*> HGCalDigiValidation::TOT_
private

Definition at line 94 of file HGCalDigiValidation.cc.

Referenced by bookHistograms(), and fillDigiInfo().

◆ verbosity_

int HGCalDigiValidation::verbosity_
private

Definition at line 85 of file HGCalDigiValidation.cc.

Referenced by analyze(), digiValidation(), and dqmBeginRun().

HGCalDigiValidation::MeanDigiOccupancy_Plus_
MonitorElement * MeanDigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:97
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HGCalDigiValidation::SampleIndx_
int SampleIndx_
Definition: HGCalDigiValidation.cc:85
HGCalDigiValidation::layers_
int layers_
Definition: HGCalDigiValidation.cc:86
HGCalDDDConstants::firstLayer
int firstLayer() const
Definition: HGCalDDDConstants.h:53
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
HGCalDigiValidation::DigiOccupancy_Minus_
std::vector< MonitorElement * > DigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:96
gpuClustering::adc
uint16_t *__restrict__ uint16_t const *__restrict__ adc
Definition: gpuClusterChargeCut.h:20
HFNoseDetId::layer
int layer() const
get the layer #
Definition: HFNoseDetId.h:56
globals_cff.id1
id1
Definition: globals_cff.py:33
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HGCalDigiValidation::ifHCAL_
bool ifHCAL_
Definition: HGCalDigiValidation.cc:84
gpuPixelDoublets::ntot
__shared__ uint32_t ntot
Definition: gpuPixelDoubletsAlgos.h:67
HGCalDigiValidation::MeanDigiOccupancy_Minus_
MonitorElement * MeanDigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:98
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
AlignmentProducer_cff.calibrations
calibrations
Definition: AlignmentProducer_cff.py:59
HcalDetId::depth
constexpr int depth() const
get the tower depth
Definition: HcalDetId.h:164
hinfo
Definition: TauTagValidation.h:55
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
HFNoseDetId
Definition: HFNoseDetId.h:22
edm::Handle
Definition: AssociativeIterator.h:50
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
HGCalDetId::layer
int layer() const
get the layer #
Definition: HGCalDetId.h:46
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
HGCSiliconDetId
Definition: HGCSiliconDetId.h:22
HGCalDDDConstants
Definition: HGCalDDDConstants.h:27
HGCScintillatorDetId::layer
int layer() const
get the layer #
Definition: HGCScintillatorDetId.h:50
DetId
Definition: DetId.h:17
CaloGeometry
Definition: CaloGeometry.h:21
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HGCalDigiValidation::nameDetector_
std::string nameDetector_
Definition: HGCalDigiValidation.cc:82
edm::ESHandle< CaloGeometry >
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HGCalDigiValidation::OccupancyMap_minus_
std::map< int, int > OccupancyMap_minus_
Definition: HGCalDigiValidation.cc:89
HGCalDigiValidation::digiValidation
void digiValidation(const T1 &detId, const T2 *geom, int layer, uint16_t adc, double charge, bool mode, bool threshold)
Definition: HGCalDigiValidation.cc:293
HGCSample
wrapper for a data word
Definition: HGCSample.h:13
Point3DBase< float, GlobalTag >
HcalCalibrations
Definition: HcalCalibrations.h:9
HGCalGeometry
Definition: HGCalGeometry.h:29
HcalRecNumberingRecord
Definition: HcalRecNumberingRecord.h:23
HGCalDigiValidation::verbosity_
int verbosity_
Definition: HGCalDigiValidation.cc:85
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
HGCalDDDConstants::layers
unsigned int layers(bool reco) const
Definition: HGCalDDDConstants.cc:561
HcalDetId::subdet
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
HGCalDigiValidation::fillDigiInfo
void fillDigiInfo()
Definition: HGCalDigiValidation.cc:345
HcalDetId
Definition: HcalDetId.h:12
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCalDigiValidation::ADC_
std::vector< MonitorElement * > ADC_
Definition: HGCalDigiValidation.cc:93
HGCalDigiValidation::DigiOccupancy_Plus_
std::vector< MonitorElement * > DigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:95
CaloSamples
Definition: CaloSamples.h:14
get
#define get
motionPolicyChamber.geom0
geom0
Definition: motionPolicyChamber.py:83
HGCalDigiValidation::DigiOccupancy_XY_
std::vector< MonitorElement * > DigiOccupancy_XY_
Definition: HGCalDigiValidation.cc:92
HcalQIECoder
Definition: HcalQIECoder.h:20
HGCSample::toa
uint16_t toa() const
Definition: HGCSample.h:69
HGCalDigiValidation::TOT_
std::vector< MonitorElement * > TOT_
Definition: HGCalDigiValidation.cc:94
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
HGCSample::mode
bool mode() const
Definition: HGCSample.h:67
HGCalDetId
Definition: HGCalDetId.h:8
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
submitPVValidationJobs.conditions
list conditions
Definition: submitPVValidationJobs.py:674
hgcalPerformanceValidation.df
df
Definition: hgcalPerformanceValidation.py:733
HcalEndcap
Definition: HcalAssistant.h:34
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:23
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
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
HGCalDigiValidation::ifNose_
bool ifNose_
Definition: HGCalDigiValidation.cc:84
QIE11DataFrame
Definition: QIE11DataFrame.h:11
Exception
Definition: hltDiff.cc:245
HGCalDigiValidation::fillOccupancyMap
void fillOccupancyMap(std::map< int, int > &OccupancyMap, int layer)
Definition: HGCalDigiValidation.cc:324
geometryDiff.geom1
geom1
Definition: geometryDiff.py:30
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalQIEShape
Definition: HcalQIEShape.h:17
HcalCoderDb
Definition: HcalCoderDb.h:15
HGCalDigiValidation::TOA_
std::vector< MonitorElement * > TOA_
Definition: HGCalDigiValidation.cc:91
HcalDDDRecConstants::getMaxDepth
int getMaxDepth(const int &type) const
Definition: HcalDDDRecConstants.h:88
HcalDDDRecConstants
Definition: HcalDDDRecConstants.h:23
HGCSample::threshold
bool threshold() const
Definition: HGCSample.h:66
HGCSample::data
uint16_t data() const
Definition: HGCSample.h:70
HGCalDigiValidation::digiSource_
edm::EDGetToken digiSource_
Definition: HGCalDigiValidation.cc:83
HcalDbRecord
Definition: HcalDbRecord.h:30
HGCalDigiValidation::OccupancyMap_plus_
std::map< int, int > OccupancyMap_plus_
Definition: HGCalDigiValidation.cc:88
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:430
edm::Log
Definition: MessageLogger.h:70
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
HGCalDigiValidation::firstLayer_
int firstLayer_
Definition: HGCalDigiValidation.cc:86
edm::InputTag
Definition: InputTag.h:15
IdealGeometryRecord
Definition: IdealGeometryRecord.h:25
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
edm::DataFrameContainer::size
size_type size() const
Definition: DataFrameContainer.h:162
HGCSiliconDetId::layer
int layer() const
get the layer #
Definition: HGCSiliconDetId.h:57