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 
29 
39 
47 
48 #include "CLHEP/Units/GlobalSystemOfUnits.h"
49 
50 // user include files
51 
53 public:
54  struct digiInfo {
56  x = y = z = charge = 0.0;
57  layer = adc = 0;
58  mode = threshold = false;
59  }
60  double x, y, z, charge;
61  int layer, adc;
62  bool mode, threshold; //tot mode and zero supression
63  };
64 
65  explicit HGCalDigiValidation(const edm::ParameterSet&);
66  ~HGCalDigiValidation() override {}
67 
68  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
69  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
70  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
71  void analyze(const edm::Event&, const edm::EventSetup&) override;
72 
73 private:
74  void fillDigiInfo(digiInfo& hinfo);
75  void fillDigiInfo();
76  void fillOccupancyMap(std::map<int, int>& OccupancyMap, int layer);
77  template <class T1, class T2>
78  void digiValidation(
79  const T1& detId, const T2* geom, int layer, uint16_t adc, double charge, bool mode, bool threshold);
80 
81  // ----------member data ---------------------------
87 
88  std::map<int, int> OccupancyMap_plus_;
89  std::map<int, int> OccupancyMap_minus_;
90 
91  std::vector<MonitorElement*> TOA_;
92  std::vector<MonitorElement*> DigiOccupancy_XY_;
93  std::vector<MonitorElement*> ADC_;
94  std::vector<MonitorElement*> TOT_;
95  std::vector<MonitorElement*> DigiOccupancy_Plus_;
96  std::vector<MonitorElement*> DigiOccupancy_Minus_;
99 };
100 
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 }
124 
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 }
135 
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 }
291 
292 template <class T1, class T2>
294  const T1& detId, const T2* geom, int layer, uint16_t adc, double charge, bool mode, bool threshold) {
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 }
323 
324 void HGCalDigiValidation::fillOccupancyMap(std::map<int, int>& OccupancyMap, int layer) {
325  if (OccupancyMap.find(layer) != OccupancyMap.end())
326  OccupancyMap[layer]++;
327  else
328  OccupancyMap[layer] = 1;
329 }
330 
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 }
344 
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 }
357 
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 }
377 
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 }
426 
427 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
428 
430 
431 //define this as a plug-in
ConfigurationDescriptions.h
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
HcalQIEShape.h
electrons_cff.bool
bool
Definition: electrons_cff.py:393
HcalCalibrations.h
HGCalDigiValidation::MeanDigiOccupancy_Plus_
MonitorElement * MeanDigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:97
ESTransientHandle.h
MessageLogger.h
edm::Handle::product
T const * product() const
Definition: Handle.h:70
HGCScintillatorDetId.h
HGCalDigiValidation::SampleIndx_
int SampleIndx_
Definition: HGCalDigiValidation.cc:85
ESHandle.h
HGCalDigiValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: HGCalDigiValidation.cc:136
HGCalDigiValidation::layers_
int layers_
Definition: HGCalDigiValidation.cc:86
HGCalDDDConstants::firstLayer
int firstLayer() const
Definition: HGCalDDDConstants.h:52
edm::Run
Definition: Run.h:45
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
HGCalDigiValidation::DigiOccupancy_Minus_
std::vector< MonitorElement * > DigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:96
HFNoseDetId::layer
int layer() const
get the layer #
Definition: HFNoseDetId.h:56
globals_cff.id1
id1
Definition: globals_cff.py:33
HGCSiliconDetId.h
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
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
HGCalDigiValidation::MeanDigiOccupancy_Minus_
MonitorElement * MeanDigiOccupancy_Minus_
Definition: HGCalDigiValidation.cc:98
HGCalDigiValidation
Definition: HGCalDigiValidation.cc:52
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:378
HGCalDigiValidation::digiInfo::adc
int adc
Definition: HGCalDigiValidation.cc:61
HGCalDigiValidation::digiInfo::threshold
bool threshold
Definition: HGCalDigiValidation.cc:62
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
HcalCoderDb.h
HGCalDDDConstants
Definition: HGCalDDDConstants.h:26
ForwardSubdetector.h
ecalLiteDTU::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalLiteDTUSample.h:12
HGCScintillatorDetId::layer
int layer() const
get the layer #
Definition: HGCScintillatorDetId.h:50
DetId
Definition: DetId.h:17
MakerMacros.h
CaloGeometry
Definition: CaloGeometry.h:21
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
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:82
HGCalDigiValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HGCalDigiValidation.cc:125
HGCalDigiValidation::digiInfo::digiInfo
digiInfo()
Definition: HGCalDigiValidation.cc:55
HGCalDigiValidation::~HGCalDigiValidation
~HGCalDigiValidation() override
Definition: HGCalDigiValidation.cc:66
edm::ESHandle< CaloGeometry >
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
HGCalDigiValidation::digiInfo::layer
int layer
Definition: HGCalDigiValidation.cc:61
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
HcalDbRecord.h
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
DQMEDAnalyzer.h
CaloGeometryRecord.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
HGCalGeometry.h
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
HcalDetId.h
HGCalDigiValidation::digiInfo::y
double y
Definition: HGCalDigiValidation.cc:60
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
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:93
HGCalDigiValidation::HGCalDigiValidation
HGCalDigiValidation(const edm::ParameterSet &)
Definition: HGCalDigiValidation.cc:101
HGCalDigiValidation::DigiOccupancy_Plus_
std::vector< MonitorElement * > DigiOccupancy_Plus_
Definition: HGCalDigiValidation.cc:95
HGCalDigiValidation::digiInfo
Definition: HGCalDigiValidation.cc:54
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:29
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:92
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:94
PedestalClient_cfi.gain
gain
Definition: PedestalClient_cfi.py:37
HGCSample::mode
bool mode() const
Definition: HGCSample.h:67
HGCalDetId
Definition: HGCalDetId.h:8
HGCalDigiValidation::digiInfo::z
double z
Definition: HGCalDigiValidation.cc:60
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
submitPVValidationJobs.conditions
list conditions
Definition: submitPVValidationJobs.py:674
HGCalDetId.h
std
Definition: JetResolutionObject.h:76
HGCalDigiValidation::digiInfo::mode
bool mode
Definition: HGCalDigiValidation.cc:62
hgcalPerformanceValidation.df
df
Definition: hgcalPerformanceValidation.py:640
HcalEndcap
Definition: HcalAssistant.h:34
DetId.h
Frameworkfwd.h
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:246
HGCalDigiValidation::fillOccupancyMap
void fillOccupancyMap(std::map< int, int > &OccupancyMap, int layer)
Definition: HGCalDigiValidation.cc:324
CaloGeometry.h
HcalDDDRecConstants.h
geometryDiff.geom1
geom1
Definition: geometryDiff.py:30
EventSetup.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalQIEShape
Definition: HcalQIEShape.h:17
dqm::implementation::IBooker
Definition: DQMStore.h:43
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
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:60
HGCalDigiValidation::digiSource_
edm::EDGetToken digiSource_
Definition: HGCalDigiValidation.cc:83
HcalDbRecord
Definition: HcalDbRecord.h:30
HGCalDigiValidation::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: HGCalDigiValidation.cc:358
HGCalDDDConstants.h
ParameterSet.h
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:426
edm::Event
Definition: Event.h:73
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
HBHEDataFrame.h
edm::DataFrameContainer::size
size_type size() const
Definition: DataFrameContainer.h:162
HGCalDigiValidation::digiInfo::x
double x
Definition: HGCalDigiValidation.cc:60
HGCSiliconDetId::layer
int layer() const
get the layer #
Definition: HGCSiliconDetId.h:57