CMS 3D CMS Logo

HGCalDigiValidation.cc
Go to the documentation of this file.
1 // system include files
2 #include <cmath>
3 #include <fstream>
4 #include <iostream>
5 #include <map>
6 #include <string>
7 #include <vector>
8 
14 
26 
28 
31 
41 
49 
50 #include "CLHEP/Units/GlobalSystemOfUnits.h"
51 
52 // user include files
53 
55 public:
56  struct digiInfo {
58  x = y = z = charge = 0.0;
59  layer = adc = 0;
60  mode = threshold = false;
61  }
62  double x, y, z, charge;
63  int layer, adc;
64  bool mode, threshold; //tot mode and zero supression
65  };
66 
67  explicit HGCalDigiValidation(const edm::ParameterSet&);
68  ~HGCalDigiValidation() override {}
69 
70  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
71  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
72  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
73  void analyze(const edm::Event&, const edm::EventSetup&) override;
74 
75 private:
76  void fillDigiInfo(digiInfo& hinfo);
77  void fillDigiInfo();
78  void fillOccupancyMap(std::map<int, int>& OccupancyMap, int layer);
79  template <class T1, class T2>
80  void digiValidation(
81  const T1& detId, const T2* geom, int layer, uint16_t adc, double charge, bool mode, bool threshold);
82 
83  // ----------member data ---------------------------
89 
90  std::map<int, int> OccupancyMap_plus_;
91  std::map<int, int> OccupancyMap_minus_;
92 
93  std::vector<MonitorElement*> TOA_;
94  std::vector<MonitorElement*> DigiOccupancy_XY_;
95  std::vector<MonitorElement*> ADC_;
96  std::vector<MonitorElement*> TOT_;
97  std::vector<MonitorElement*> DigiOccupancy_Plus_;
98  std::vector<MonitorElement*> DigiOccupancy_Minus_;
101 };
102 
104  : nameDetector_(iConfig.getParameter<std::string>("DetectorName")),
105  ifNose_(iConfig.getParameter<bool>("ifNose")),
106  ifHCAL_(iConfig.getParameter<bool>("ifHCAL")),
107  verbosity_(iConfig.getUntrackedParameter<int>("Verbosity", 0)),
108  SampleIndx_(iConfig.getUntrackedParameter<int>("SampleIndx", 0)),
109  firstLayer_(1) {
110  auto temp = iConfig.getParameter<edm::InputTag>("DigiSource");
111  if ((nameDetector_ == "HGCalEESensitive") || (nameDetector_ == "HGCalHESiliconSensitive") ||
112  (nameDetector_ == "HGCalHEScintillatorSensitive") || (nameDetector_ == "HGCalHFNoseSensitive")) {
113  digiSource_ = consumes<HGCalDigiCollection>(temp);
114  } else if (nameDetector_ == "HCal") {
115  if (ifHCAL_)
116  digiSource_ = consumes<QIE11DigiCollection>(temp);
117  else
118  digiSource_ = consumes<HGCalDigiCollection>(temp);
119  } else {
120  throw cms::Exception("BadHGCDigiSource") << "HGCal DetectorName given as " << nameDetector_ << " must be: "
121  << "\"HGCalEESensitive\", \"HGCalHESiliconSensitive\", "
122  << "\"HGCalHEScintillatorSensitive\", \"HGCalHFNoseSensitive\", "
123  << "or \"HCal\"!";
124  }
125 }
126 
129  desc.add<std::string>("DetectorName", "HGCalEESensitive");
130  desc.add<edm::InputTag>("DigiSource", edm::InputTag("hgcalDigis", "EE"));
131  desc.add<bool>("ifNose", false);
132  desc.add<bool>("ifHCAL", false);
133  desc.addUntracked<int>("Verbosity", 0);
134  desc.addUntracked<int>("SampleIndx", 2); // central bx
135  descriptions.add("hgcalDigiValidationEEDefault", desc);
136 }
137 
139  OccupancyMap_plus_.clear();
140  OccupancyMap_minus_.clear();
141 
142  const HGCalGeometry* geom0(nullptr);
143  const CaloGeometry* geom1(nullptr);
144  int geomType(0);
145  if (nameDetector_ == "HCal") {
147  iSetup.get<CaloGeometryRecord>().get(geom);
148  if (!geom.isValid())
149  edm::LogVerbatim("HGCalValidation") << "HGCalDigiValidation: Cannot get "
150  << "valid Geometry Object for " << nameDetector_;
151  geom1 = geom.product();
152  } else {
155  if (!geom.isValid())
156  edm::LogVerbatim("HGCalValidation") << "HGCalDigiValidation: Cannot get "
157  << "valid Geometry Object for " << nameDetector_;
158  geom0 = geom.product();
159  HGCalGeometryMode::GeometryMode mode = geom0->topology().geomMode();
161  geomType = 1;
163  geomType = 2;
164  if (nameDetector_ == "HGCalHFNoseSensitive")
165  geomType = 3;
166  }
167 
168  unsigned int ntot(0), nused(0);
169  if ((nameDetector_ == "HGCalEESensitive") || (nameDetector_ == "HGCalHFNoseSensitive")) {
170  //HGCalEE
171  edm::Handle<HGCalDigiCollection> theHGCEEDigiContainers;
172  iEvent.getByToken(digiSource_, theHGCEEDigiContainers);
173  if (theHGCEEDigiContainers.isValid()) {
174  if (verbosity_ > 0)
175  edm::LogVerbatim("HGCalValidation")
176  << nameDetector_ << " with " << theHGCEEDigiContainers->size() << " element(s)";
177  for (const auto& it : *(theHGCEEDigiContainers.product())) {
178  ntot++;
179  nused++;
180  DetId detId = it.id();
181  int layer = ((geomType == 0) ? HGCalDetId(detId).layer()
182  : (geomType == 1) ? HGCSiliconDetId(detId).layer() : HFNoseDetId(detId).layer());
183  const HGCSample& hgcSample = it.sample(SampleIndx_);
184  uint16_t gain = hgcSample.toa();
185  uint16_t adc = hgcSample.data();
186  double charge = gain;
187  bool totmode = hgcSample.mode();
188  bool zerothreshold = hgcSample.threshold();
189  digiValidation(detId, geom0, layer, adc, charge, totmode, zerothreshold);
190  }
191  fillDigiInfo();
192  } else {
193  edm::LogVerbatim("HGCalValidation") << "DigiCollection handle does not "
194  << "exist for " << nameDetector_;
195  }
196  } else if ((nameDetector_ == "HGCalHESiliconSensitive") || (nameDetector_ == "HGCalHEScintillatorSensitive")) {
197  //HGCalHE
198  edm::Handle<HGCalDigiCollection> theHGCHEDigiContainers;
199  iEvent.getByToken(digiSource_, theHGCHEDigiContainers);
200  if (theHGCHEDigiContainers.isValid()) {
201  if (verbosity_ > 0)
202  edm::LogVerbatim("HGCalValidation")
203  << nameDetector_ << " with " << theHGCHEDigiContainers->size() << " element(s)";
204  for (const auto& it : *(theHGCHEDigiContainers.product())) {
205  ntot++;
206  nused++;
207  DetId detId = it.id();
208  int layer = ((geomType == 0)
209  ? HGCalDetId(detId).layer()
210  : ((geomType == 1) ? HGCSiliconDetId(detId).layer() : HGCScintillatorDetId(detId).layer()));
211  const HGCSample& hgcSample = it.sample(SampleIndx_);
212  uint16_t gain = hgcSample.toa();
213  uint16_t adc = hgcSample.data();
214  double charge = gain;
215  bool totmode = hgcSample.mode();
216  bool zerothreshold = hgcSample.threshold();
217  digiValidation(detId, geom0, layer, adc, charge, totmode, zerothreshold);
218  }
219  fillDigiInfo();
220  } else {
221  edm::LogVerbatim("HGCalValidation") << "DigiCollection handle does not "
222  << "exist for " << nameDetector_;
223  }
224  } else if ((nameDetector_ == "HCal") && (!ifHCAL_)) {
225  //HGCalBH
226  edm::Handle<HGCalDigiCollection> theHGCBHDigiContainers;
227  iEvent.getByToken(digiSource_, theHGCBHDigiContainers);
228  if (theHGCBHDigiContainers.isValid()) {
229  if (verbosity_ > 0)
230  edm::LogVerbatim("HGCalValidation")
231  << nameDetector_ << " with " << theHGCBHDigiContainers->size() << " element(s)";
232  for (const auto& it : *(theHGCBHDigiContainers.product())) {
233  ntot++;
234  nused++;
235  HcalDetId detId = it.id();
236  int layer = detId.depth();
237  const HGCSample& hgcSample = it.sample(SampleIndx_);
238  uint16_t gain = hgcSample.toa();
239  uint16_t adc = hgcSample.data();
240  double charge = gain;
241  bool totmode = hgcSample.mode();
242  bool zerothreshold = hgcSample.threshold();
243  digiValidation(detId, geom1, layer, adc, charge, totmode, zerothreshold);
244  }
245  fillDigiInfo();
246  } else {
247  edm::LogWarning("HGCalValidation") << "DigiCollection handle does not "
248  << "exist for " << nameDetector_;
249  }
250  } else if (nameDetector_ == "HCal") {
251  //HE
252  edm::Handle<QIE11DigiCollection> theHEDigiContainers;
253  iEvent.getByToken(digiSource_, theHEDigiContainers);
254  if (theHEDigiContainers.isValid()) {
255  if (verbosity_ > 0)
256  edm::LogVerbatim("HGCalValidation")
257  << nameDetector_ << " with " << theHEDigiContainers->size() << " element(s)";
258  edm::ESHandle<HcalDbService> conditions;
259  iSetup.get<HcalDbRecord>().get(conditions);
260 
261  for (const auto& it : *(theHEDigiContainers.product())) {
262  QIE11DataFrame df(it);
263  HcalDetId detId = (df.id());
264  ntot++;
265  if (detId.subdet() == HcalEndcap) {
266  nused++;
268  const HcalQIECoder* channelCoder = conditions->getHcalCoder(detId);
269  const HcalQIEShape* shape = conditions->getHcalShape(channelCoder);
270  HcalCoderDb coder(*channelCoder, *shape);
271  CaloSamples tool;
272  coder.adc2fC(df, tool);
273  int layer = detId.depth();
274  uint16_t adc = (df)[SampleIndx_].adc();
275  int capid = (df)[SampleIndx_].capid();
276  double charge = (tool[SampleIndx_] - calibrations.pedestal(capid));
277  bool totmode = false;
278  bool zerothreshold = false;
279  digiValidation(detId, geom1, layer, adc, charge, totmode, zerothreshold);
280  }
281  }
282  fillDigiInfo();
283  } else {
284  edm::LogWarning("HGCalValidation") << "DigiCollection handle does not "
285  << "exist for " << nameDetector_;
286  }
287  } else {
288  edm::LogWarning("HGCalValidation") << "invalid detector name !! " << nameDetector_;
289  }
290  if (verbosity_ > 0)
291  edm::LogVerbatim("HGCalValidation") << "Event " << iEvent.id().event() << " with " << ntot << " total and " << nused
292  << " used digis";
293 }
294 
295 template <class T1, class T2>
297  const T1& detId, const T2* geom, int layer, uint16_t adc, double charge, bool mode, bool threshold) {
298  if (verbosity_ > 1)
299  edm::LogVerbatim("HGCalValidation") << std::hex << detId.rawId() << std::dec << " " << detId.rawId();
300  DetId id1 = DetId(detId.rawId());
301  const GlobalPoint& global1 = geom->getPosition(id1);
302 
303  if (verbosity_ > 1)
304  edm::LogVerbatim("HGCalValidation") << " adc = " << adc << " toa = " << charge;
305 
306  digiInfo hinfo;
307  hinfo.x = global1.x();
308  hinfo.y = global1.y();
309  hinfo.z = global1.z();
310  hinfo.adc = adc;
311  hinfo.charge = charge;
312  hinfo.layer = layer - firstLayer_;
313  hinfo.mode = mode;
314  hinfo.threshold = threshold;
315 
316  if (verbosity_ > 1)
317  edm::LogVerbatim("HGCalValidation") << "gx = " << hinfo.x << " gy = " << hinfo.y << " gz = " << hinfo.z;
318 
319  if (global1.eta() > 0)
321  else
323 
325 }
326 
327 void HGCalDigiValidation::fillOccupancyMap(std::map<int, int>& OccupancyMap, int layer) {
328  if (OccupancyMap.find(layer) != OccupancyMap.end())
329  OccupancyMap[layer]++;
330  else
331  OccupancyMap[layer] = 1;
332 }
333 
335  int ilayer = hinfo.layer;
336  TOA_.at(ilayer)->Fill(hinfo.charge);
337 
338  if (hinfo.mode) {
339  TOT_.at(ilayer)->Fill(hinfo.adc);
340  }
341 
342  if (!hinfo.mode && hinfo.threshold) {
343  ADC_.at(ilayer)->Fill(hinfo.adc);
344  DigiOccupancy_XY_.at(ilayer)->Fill(hinfo.x, hinfo.y);
345  }
346 }
347 
349  for (const auto& itr : OccupancyMap_plus_) {
350  int layer = itr.first;
351  int occupancy = itr.second;
352  DigiOccupancy_Plus_.at(layer)->Fill(occupancy);
353  }
354  for (const auto& itr : OccupancyMap_minus_) {
355  int layer = itr.first;
356  int occupancy = itr.second;
357  DigiOccupancy_Minus_.at(layer)->Fill(occupancy);
358  }
359 }
360 
362  if (nameDetector_ == "HCal") {
364  iSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
365  const HcalDDDRecConstants* hcons = &(*pHRNDC);
366  layers_ = hcons->getMaxDepth(1);
367  } else {
369  iSetup.get<IdealGeometryRecord>().get(nameDetector_, pHGDC);
370  const HGCalDDDConstants& hgcons_ = (*pHGDC);
371  layers_ = hgcons_.layers(true);
372  firstLayer_ = hgcons_.firstLayer();
373  }
374 
375  if (verbosity_ > 0)
376  edm::LogVerbatim("HGCalValidation") << "current DQM directory: "
377  << "HGCAL/HGCalDigisV/" << nameDetector_ << " layer = " << layers_
378  << " with the first one at " << firstLayer_;
379 }
380 
382  iB.setCurrentFolder("HGCAL/HGCalDigisV/" + nameDetector_);
383 
384  std::ostringstream histoname;
385  for (int il = 0; il < layers_; ++il) {
386  int ilayer = firstLayer_ + il;
387  auto istr1 = std::to_string(ilayer);
388  while (istr1.size() < 2) {
389  istr1.insert(0, "0");
390  }
391  histoname.str("");
392  histoname << "TOA_"
393  << "layer_" << istr1;
394  TOA_.push_back(iB.book1D(histoname.str().c_str(), "toa_", 1024, 0, 1024));
395 
396  histoname.str("");
397  histoname << "ADC_"
398  << "layer_" << istr1;
399  ADC_.push_back(iB.book1D(histoname.str().c_str(), "ADCDigiOccupancy", 1024, 0, 1024));
400 
401  histoname.str("");
402  histoname << "TOT_"
403  << "layer_" << istr1;
404  TOT_.push_back(iB.book1D(histoname.str().c_str(), "TOTDigiOccupancy", 4096, 0, 4096));
405 
406  histoname.str("");
407  histoname << "DigiOccupancy_XY_"
408  << "layer_" << istr1;
409  DigiOccupancy_XY_.push_back(iB.book2D(histoname.str().c_str(), "DigiOccupancy", 50, -500, 500, 50, -500, 500));
410 
411  histoname.str("");
412  histoname << "DigiOccupancy_Plus_"
413  << "layer_" << istr1;
414  DigiOccupancy_Plus_.push_back(iB.book1D(histoname.str().c_str(), "DigiOccupancy +z", 100, 0, 1000));
415  histoname.str("");
416  histoname << "DigiOccupancy_Minus_"
417  << "layer_" << istr1;
418  DigiOccupancy_Minus_.push_back(iB.book1D(histoname.str().c_str(), "DigiOccupancy -z", 100, 0, 1000));
419  }
420 
421  histoname.str("");
422  histoname << "SUMOfDigiOccupancy_Plus";
423  MeanDigiOccupancy_Plus_ = iB.book1D(histoname.str().c_str(), "SUMOfDigiOccupancy_Plus", layers_, -0.5, layers_ - 0.5);
424  histoname.str("");
425  histoname << "SUMOfRecDigiOccupancy_Minus";
427  iB.book1D(histoname.str().c_str(), "SUMOfDigiOccupancy_Minus", layers_, -0.5, layers_ - 0.5);
428 }
429 
430 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
431 
433 
434 //define this as a plug-in
ConfigurationDescriptions.h
ecalMGPA::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:11
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
HcalQIEShape.h
electrons_cff.bool
bool
Definition: electrons_cff.py:372
HcalCalibrations.h
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
HGCalDigiValidation::MeanDigiOccupancy_Plus_
MonitorElement * MeanDigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:99
ESTransientHandle.h
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HGCScintillatorDetId.h
HGCalDigiValidation::SampleIndx_
int SampleIndx_
Definition: HGCalDigiValidation.cc:87
ESHandle.h
HGCalDigiValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: HGCalDigiValidation.cc:138
HGCalDigiValidation::layers_
int layers_
Definition: HGCalDigiValidation.cc:88
HGCalDDDConstants::firstLayer
int firstLayer() const
Definition: HGCalDDDConstants.h:51
edm::Run
Definition: Run.h:45
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
HGCalDigiValidation::DigiOccupancy_Minus_
std::vector< MonitorElement * > DigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:98
HFNoseDetId::layer
int layer() const
get the layer #
Definition: HFNoseDetId.h:56
globals_cff.id1
id1
Definition: globals_cff.py:32
HGCSiliconDetId.h
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
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:86
HGCalDigiValidation::MeanDigiOccupancy_Minus_
MonitorElement * MeanDigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:100
HGCalDigiValidation
Definition: HGCalDigiValidation.cc:54
DQMStore.h
edm::SortedCollection::size
size_type size() const
Definition: SortedCollection.h:215
HcalRecNumberingRecord.h
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
HcalCoderDb::adc2fC
void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const override
Definition: HcalCoderDb.cc:73
HFNoseDetId.h
HGCalDigiValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: HGCalDigiValidation.cc:381
HGCalDigiValidation::digiInfo::adc
int adc
Definition: HGCalDigiValidation.cc:63
HGCalDigiValidation::digiInfo::threshold
bool threshold
Definition: HGCalDigiValidation.cc:64
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
DDCompactView.h
HGCSiliconDetId
Definition: HGCSiliconDetId.h:22
HcalDbService::getHcalShape
const HcalQIEShape * getHcalShape(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:326
HcalCoderDb.h
HGCalDDDConstants
Definition: HGCalDDDConstants.h:25
ForwardSubdetector.h
HcalDbService::getHcalCalibrations
const HcalCalibrations & getHcalCalibrations(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:65
HGCScintillatorDetId::layer
int layer() const
get the layer #
Definition: HGCScintillatorDetId.h:47
HcalDbService::getHcalCoder
const HcalQIECoder * getHcalCoder(const HcalGenericDetId &fId) const
Definition: HcalDbService.cc:319
DetId
Definition: DetId.h:17
MakerMacros.h
dqm::legacy::DQMStore::IBooker
dqm::implementation::IBooker IBooker
Definition: DQMStore.h:729
CaloGeometry
Definition: CaloGeometry.h:21
HGCalGeometryMode::Trapezoid
Definition: HGCalGeometryMode.h:25
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HcalDigiCollections.h
HGCalDigiValidation::nameDetector_
std::string nameDetector_
Definition: HGCalDigiValidation.cc:84
HGCalDigiValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HGCalDigiValidation.cc:127
HGCalDigiValidation::digiInfo::digiInfo
digiInfo()
Definition: HGCalDigiValidation.cc:57
HGCalDigiValidation::~HGCalDigiValidation
~HGCalDigiValidation() override
Definition: HGCalDigiValidation.cc:68
edm::ESHandle< CaloGeometry >
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HGCalDigiValidation::digiInfo::layer
int layer
Definition: HGCalDigiValidation.cc:63
HGCalDigiValidation::OccupancyMap_minus_
std::map< int, int > OccupancyMap_minus_
Definition: HGCalDigiValidation.cc:91
HGCalDigiValidation::digiValidation
void digiValidation(const T1 &detId, const T2 *geom, int layer, uint16_t adc, double charge, bool mode, bool threshold)
Definition: HGCalDigiValidation.cc:296
HGCSample
wrapper for a data word
Definition: HGCSample.h:13
HcalDbRecord.h
Point3DBase< float, GlobalTag >
HcalCalibrations
Definition: HcalCalibrations.h:9
HGCalGeometry
Definition: HGCalGeometry.h:30
HcalRecNumberingRecord
Definition: HcalRecNumberingRecord.h:23
HGCalDigiValidation::verbosity_
int verbosity_
Definition: HGCalDigiValidation.cc:87
DQMEDAnalyzer.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LogWarning
Definition: MessageLogger.h:141
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
HGCalGeometry.h
edm::ParameterSet
Definition: ParameterSet.h:36
Event.h
HGCalGeometryMode::Hexagon8Full
Definition: HGCalGeometryMode.h:25
HcalDetId.h
QIE11DataFrame::id
constexpr edm::DataFrame::id_type id() const
Definition: QIE11DataFrame.h:68
HGCalDigiValidation::digiInfo::y
double y
Definition: HGCalDigiValidation.cc:62
HGCalDDDConstants::layers
unsigned int layers(bool reco) const
Definition: HGCalDDDConstants.cc:558
HcalDetId::subdet
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
HGCalGeometryMode::GeometryMode
GeometryMode
Definition: HGCalGeometryMode.h:25
HGCalDigiValidation::fillDigiInfo
void fillDigiInfo()
Definition: HGCalDigiValidation.cc:348
HcalDetId
Definition: HcalDetId.h:12
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
HGCDigiCollections.h
HGCalDigiValidation::ADC_
std::vector< MonitorElement * > ADC_
Definition: HGCalDigiValidation.cc:95
edm::LogVerbatim
Definition: MessageLogger.h:297
HGCalDigiValidation::HGCalDigiValidation
HGCalDigiValidation(const edm::ParameterSet &)
Definition: HGCalDigiValidation.cc:103
HGCalDigiValidation::DigiOccupancy_Plus_
std::vector< MonitorElement * > DigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:97
HGCalDigiValidation::digiInfo
Definition: HGCalDigiValidation.cc:56
IdealGeometryRecord.h
edm::EventSetup
Definition: EventSetup.h:57
CaloSamples
Definition: CaloSamples.h:14
HcalSubdetector.h
itr
std::vector< std::pair< float, float > >::iterator itr
Definition: HGCDigitizer.cc:28
edm::EDGetToken
Definition: EDGetToken.h:35
get
#define get
motionPolicyChamber.geom0
geom0
Definition: motionPolicyChamber.py:83
HGCalDigiValidation::DigiOccupancy_XY_
std::vector< MonitorElement * > DigiOccupancy_XY_
Definition: HGCalDigiValidation.cc:94
HcalQIECoder
Definition: HcalQIECoder.h:20
HGCSample::toa
uint16_t toa() const
Definition: HGCSample.h:69
InputTag.h
HGCalDigiValidation::TOT_
std::vector< MonitorElement * > TOT_
Definition: HGCalDigiValidation.cc:96
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
HGCSample::mode
bool mode() const
Definition: HGCSample.h:67
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
HGCalDetId
Definition: HGCalDetId.h:8
HGCalDigiValidation::digiInfo::z
double z
Definition: HGCalDigiValidation.cc:62
HGCalDetId.h
std
Definition: JetResolutionObject.h:76
HGCalDigiValidation::digiInfo::mode
bool mode
Definition: HGCalDigiValidation.cc:64
HcalEndcap
Definition: HcalAssistant.h:34
DetId.h
Frameworkfwd.h
HGCScintillatorDetId
Definition: HGCScintillatorDetId.h:21
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:86
QIE11DataFrame
Definition: QIE11DataFrame.h:11
Exception
Definition: hltDiff.cc:246
HGCalDigiValidation::fillOccupancyMap
void fillOccupancyMap(std::map< int, int > &OccupancyMap, int layer)
Definition: HGCalDigiValidation.cc:327
CaloGeometry.h
HcalDDDRecConstants.h
geometryDiff.geom1
geom1
Definition: geometryDiff.py:30
EventSetup.h
HcalQIEShape
Definition: HcalQIEShape.h:17
dqm::implementation::IBooker
Definition: DQMStore.h:43
HGCalGeometryMode::Hexagon8
Definition: HGCalGeometryMode.h:25
HcalCoderDb
Definition: HcalCoderDb.h:15
HGCalDigiValidation::TOA_
std::vector< MonitorElement * > TOA_
Definition: HGCalDigiValidation.cc:93
HcalDDDRecConstants::getMaxDepth
int getMaxDepth(const int &type) const
Definition: HcalDDDRecConstants.h:88
HcalDbService.h
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::digiInfo::charge
double charge
Definition: HGCalDigiValidation.cc:62
HGCalDigiValidation::digiSource_
edm::EDGetToken digiSource_
Definition: HGCalDigiValidation.cc:85
HcalDbRecord
Definition: HcalDbRecord.h:30
HGCalDigiValidation::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: HGCalDigiValidation.cc:361
HGCalDDDConstants.h
ParameterSet.h
HGCalDigiValidation::OccupancyMap_plus_
std::map< int, int > OccupancyMap_plus_
Definition: HGCalDigiValidation.cc:90
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
remoteMonitoring_LED_IterMethod_cfg.threshold
threshold
Definition: remoteMonitoring_LED_IterMethod_cfg.py:426
edm::Event
Definition: Event.h:73
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
HGCalDigiValidation::firstLayer_
int firstLayer_
Definition: HGCalDigiValidation.cc:88
edm::InputTag
Definition: InputTag.h:15
IdealGeometryRecord
Definition: IdealGeometryRecord.h:27
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
HBHEDataFrame.h
edm::DataFrameContainer::size
size_type size() const
Definition: DataFrameContainer.h:162
HGCalDigiValidation::digiInfo::x
double x
Definition: HGCalDigiValidation.cc:62
HGCSiliconDetId::layer
int layer() const
get the layer #
Definition: HGCSiliconDetId.h:57