CMS 3D CMS Logo

EtlDigiHitsValidation.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Validation/MtdValidation
4 // Class: EtlDigiHitsValidation
5 //
14 #include <string>
15 
20 
23 
27 
33 
35 public:
37  ~EtlDigiHitsValidation() override;
38 
39  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
40 
41 private:
42  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
43 
44  void analyze(const edm::Event&, const edm::EventSetup&) override;
45 
46  // ------------ member data ------------
47 
49 
51 
52  // --- histograms declaration
53 
55 
58 
60 
66 
72 };
73 
74 // ------------ constructor and destructor --------------
76  : folder_(iConfig.getParameter<std::string>("folder")) {
77  etlDigiHitsToken_ = consumes<ETLDigiCollection>(iConfig.getParameter<edm::InputTag>("inputTag"));
78 }
79 
81 
82 // ------------ method called for each event ------------
84  using namespace edm;
85 
86  edm::ESHandle<MTDTopology> topologyHandle;
87  iSetup.get<MTDTopologyRcd>().get(topologyHandle);
88  const MTDTopology* topology = topologyHandle.product();
89 
90  bool topo1Dis = false;
91  bool topo2Dis = false;
92  if (topology->getMTDTopologyMode() <= static_cast<int>(MTDTopologyMode::Mode::barphiflat)) {
93  topo1Dis = true;
94  }
95  if (topology->getMTDTopologyMode() > static_cast<int>(MTDTopologyMode::Mode::barphiflat)) {
96  topo2Dis = true;
97  }
98 
99  edm::ESHandle<MTDGeometry> geometryHandle;
100  iSetup.get<MTDDigiGeometryRecord>().get(geometryHandle);
101  const MTDGeometry* geom = geometryHandle.product();
102 
103  auto etlDigiHitsHandle = makeValid(iEvent.getHandle(etlDigiHitsToken_));
104 
105  // --- Loop over the ETL DIGI hits
106 
107  unsigned int n_digi_etl[4] = {0, 0, 0, 0};
108 
109  for (const auto& dataFrame : *etlDigiHitsHandle) {
110  // --- Get the on-time sample
111  int isample = 2;
112 
113  const auto& sample = dataFrame.sample(isample);
114  ETLDetId detId = dataFrame.id();
115  DetId geoId = detId.geographicalId();
116 
117  const MTDGeomDet* thedet = geom->idToDet(geoId);
118  if (thedet == nullptr)
119  throw cms::Exception("EtlDigiHitsValidation") << "GeographicalID: " << std::hex << geoId.rawId() << " ("
120  << detId.rawId() << ") is invalid!" << std::dec << std::endl;
121  const PixelTopology& topo = static_cast<const PixelTopology&>(thedet->topology());
122 
123  Local3DPoint local_point(topo.localX(sample.row()), topo.localY(sample.column()), 0.);
124  const auto& global_point = thedet->toGlobal(local_point);
125 
126  // --- Fill the histograms
127 
128  int idet = 999;
129 
130  if (topo1Dis) {
131  if (detId.zside() == -1) {
132  idet = 0;
133  } else if (detId.zside() == 1) {
134  idet = 2;
135  } else {
136  continue;
137  }
138  }
139 
140  if (topo2Dis) {
141  if ((detId.zside() == -1) && (detId.nDisc() == 1)) {
142  idet = 0;
143  } else if ((detId.zside() == -1) && (detId.nDisc() == 2)) {
144  idet = 1;
145  } else if ((detId.zside() == 1) && (detId.nDisc() == 1)) {
146  idet = 2;
147  } else if ((detId.zside() == 1) && (detId.nDisc() == 2)) {
148  idet = 3;
149  } else {
150  continue;
151  }
152  }
153 
154  meHitCharge_[idet]->Fill(sample.data());
155  meHitTime_[idet]->Fill(sample.toa());
156  meOccupancy_[idet]->Fill(global_point.x(), global_point.y());
157 
158  meHitX_[idet]->Fill(global_point.x());
159  meHitY_[idet]->Fill(global_point.y());
160  meHitZ_[idet]->Fill(global_point.z());
161  meHitPhi_[idet]->Fill(global_point.phi());
162  meHitEta_[idet]->Fill(global_point.eta());
163 
164  meHitTvsQ_[idet]->Fill(sample.data(), sample.toa());
165  meHitQvsPhi_[idet]->Fill(global_point.phi(), sample.data());
166  meHitQvsEta_[idet]->Fill(global_point.eta(), sample.data());
167  meHitTvsPhi_[idet]->Fill(global_point.phi(), sample.toa());
168  meHitTvsEta_[idet]->Fill(global_point.eta(), sample.toa());
169 
170  n_digi_etl[idet]++;
171 
172  } // dataFrame loop
173 
174  if (topo1Dis) {
175  meNhits_[0]->Fill(n_digi_etl[0]);
176  meNhits_[2]->Fill(n_digi_etl[2]);
177  }
178 
179  if (topo2Dis) {
180  for (int i = 0; i < 4; i++) {
181  meNhits_[i]->Fill(n_digi_etl[i]);
182  }
183  }
184 }
185 
186 // ------------ method for histogram booking ------------
188  edm::Run const& run,
189  edm::EventSetup const& iSetup) {
190  ibook.setCurrentFolder(folder_);
191 
192  // --- histograms booking
193 
194  meNhits_[0] = ibook.book1D("EtlNhitsZnegD1",
195  "Number of ETL DIGI hits (-Z, Single(topo1D)/First(topo2D) disk);log_{10}(N_{DIGI})",
196  100,
197  0.,
198  5000.);
199  meNhits_[1] =
200  ibook.book1D("EtlNhitsZnegD2", "Number of ETL DIGI hits (-Z, Second disk);log_{10}(N_{DIGI})", 100, 0., 5000.);
201  meNhits_[2] = ibook.book1D("EtlNhitsZposD1",
202  "Number of ETL DIGI hits (+Z, Single(topo1D)/First(topo2D) disk);log_{10}(N_{DIGI})",
203  100,
204  0.,
205  5000.);
206  meNhits_[3] =
207  ibook.book1D("EtlNhitsZposD2", "Number of ETL DIGI hits (+Z, Second disk);log_{10}(N_{DIGI})", 100, 0., 5000.);
208 
209  meHitCharge_[0] = ibook.book1D("EtlHitChargeZnegD1",
210  "ETL DIGI hits charge (-Z, Single(topo1D)/First(topo2D) disk);Q_{DIGI} [ADC counts]",
211  100,
212  0.,
213  256.);
214  meHitCharge_[1] =
215  ibook.book1D("EtlHitChargeZnegD2", "ETL DIGI hits charge (-Z, Second disk);Q_{DIGI} [ADC counts]", 100, 0., 256.);
216  meHitCharge_[2] = ibook.book1D("EtlHitChargeZposD1",
217  "ETL DIGI hits charge (+Z, Single(topo1D)/First(topo2D) disk);Q_{DIGI} [ADC counts]",
218  100,
219  0.,
220  256.);
221  meHitCharge_[3] =
222  ibook.book1D("EtlHitChargeZposD2", "ETL DIGI hits charge (+Z, Second disk);Q_{DIGI} [ADC counts]", 100, 0., 256.);
223  meHitTime_[0] = ibook.book1D("EtlHitTimeZnegD1",
224  "ETL DIGI hits ToA (-Z, Single(topo1D)/First(topo2D) disk);ToA_{DIGI} [TDC counts]",
225  100,
226  0.,
227  2000.);
228  meHitTime_[1] =
229  ibook.book1D("EtlHitTimeZnegD2", "ETL DIGI hits ToA (-Z, Second disk);ToA_{DIGI} [TDC counts]", 100, 0., 2000.);
230  meHitTime_[2] = ibook.book1D("EtlHitTimeZposD1",
231  "ETL DIGI hits ToA (+Z, Single(topo1D)/First(topo2D) disk);ToA_{DIGI} [TDC counts]",
232  100,
233  0.,
234  2000.);
235  meHitTime_[3] =
236  ibook.book1D("EtlHitTimeZposD2", "ETL DIGI hits ToA (+Z, Second disk);ToA_{DIGI} [TDC counts]", 100, 0., 2000.);
237 
238  meOccupancy_[0] =
239  ibook.book2D("EtlOccupancyZnegD1",
240  "ETL DIGI hits occupancy (-Z, Single(topo1D)/First(topo2D) disk);X_{DIGI} [cm];Y_{DIGI} [cm]",
241  135,
242  -135.,
243  135.,
244  135,
245  -135.,
246  135.);
247  meOccupancy_[1] = ibook.book2D("EtlOccupancyZnegD2",
248  "ETL DIGI hits occupancy (-Z, Second disk);X_{DIGI} [cm];Y_{DIGI} [cm]",
249  135,
250  -135.,
251  135.,
252  135,
253  -135.,
254  135.);
255  meOccupancy_[2] =
256  ibook.book2D("EtlOccupancyZposD1",
257  "ETL DIGI hits occupancy (+Z, Single(topo1D)/First(topo2D) disk);X_{DIGI} [cm];Y_{DIGI} [cm]",
258  135,
259  -135.,
260  135.,
261  135,
262  -135.,
263  135.);
264  meOccupancy_[3] = ibook.book2D("EtlOccupancyZposD2",
265  "ETL DIGI hits occupancy (+Z, Second disk);X_{DIGI} [cm];Y_{DIGI} [cm]",
266  135,
267  -135.,
268  135.,
269  135,
270  -135.,
271  135.);
272 
273  meHitX_[0] = ibook.book1D(
274  "EtlHitXZnegD1", "ETL DIGI hits X (-Z, Single(topo1D)/First(topo2D) disk);X_{DIGI} [cm]", 100, -130., 130.);
275  meHitX_[1] = ibook.book1D("EtlHitXZnegD2", "ETL DIGI hits X (-Z, Second disk);X_{DIGI} [cm]", 100, -130., 130.);
276  meHitX_[2] = ibook.book1D(
277  "EtlHitXZposD1", "ETL DIGI hits X (+Z, Single(topo1D)/First(topo2D) disk);X_{DIGI} [cm]", 100, -130., 130.);
278  meHitX_[3] = ibook.book1D("EtlHitXZposD2", "ETL DIGI hits X (+Z, Second disk);X_{DIGI} [cm]", 100, -130., 130.);
279  meHitY_[0] = ibook.book1D(
280  "EtlHitYZnegD1", "ETL DIGI hits Y (-Z, Single(topo1D)/First(topo2D) disk);Y_{DIGI} [cm]", 100, -130., 130.);
281  meHitY_[1] = ibook.book1D("EtlHitYZnegD2", "ETL DIGI hits Y (-Z, Second disk);Y_{DIGI} [cm]", 100, -130., 130.);
282  meHitY_[2] = ibook.book1D(
283  "EtlHitYZposD1", "ETL DIGI hits Y (+Z, Single(topo1D)/First(topo2D) disk);Y_{DIGI} [cm]", 100, -130., 130.);
284  meHitY_[3] = ibook.book1D("EtlHitYZposD2", "ETL DIGI hits Y (+Z, Second disk);Y_{DIGI} [cm]", 100, -130., 130.);
285  meHitZ_[0] = ibook.book1D(
286  "EtlHitZZnegD1", "ETL DIGI hits Z (-Z, Single(topo1D)/First(topo2D) disk);Z_{DIGI} [cm]", 100, -304.2, -303.4);
287  meHitZ_[1] = ibook.book1D("EtlHitZZnegD2", "ETL DIGI hits Z (-Z, Second disk);Z_{DIGI} [cm]", 100, -304.2, -303.4);
288  meHitZ_[2] = ibook.book1D(
289  "EtlHitZZposD1", "ETL DIGI hits Z (+Z, Single(topo1D)/First(topo2D) disk);Z_{DIGI} [cm]", 100, 303.4, 304.2);
290  meHitZ_[3] = ibook.book1D("EtlHitZZposD2", "ETL DIGI hits Z (+Z, Second disk);Z_{DIGI} [cm]", 100, 303.4, 304.2);
291 
292  meHitPhi_[0] = ibook.book1D("EtlHitPhiZnegD1",
293  "ETL DIGI hits #phi (-Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad]",
294  100,
295  -3.15,
296  3.15);
297  meHitPhi_[1] =
298  ibook.book1D("EtlHitPhiZnegD2", "ETL DIGI hits #phi (-Z, Second disk);#phi_{DIGI} [rad]", 100, -3.15, 3.15);
299  meHitPhi_[2] = ibook.book1D("EtlHitPhiZposD1",
300  "ETL DIGI hits #phi (+Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad]",
301  100,
302  -3.15,
303  3.15);
304  meHitPhi_[3] =
305  ibook.book1D("EtlHitPhiZposD2", "ETL DIGI hits #phi (+Z, Second disk);#phi_{DIGI} [rad]", 100, -3.15, 3.15);
306  meHitEta_[0] = ibook.book1D(
307  "EtlHitEtaZnegD1", "ETL DIGI hits #eta (-Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI}", 100, -3.2, -1.56);
308  meHitEta_[1] = ibook.book1D("EtlHitEtaZnegD2", "ETL DIGI hits #eta (-Z, Second disk);#eta_{DIGI}", 100, -3.2, -1.56);
309  meHitEta_[2] = ibook.book1D(
310  "EtlHitEtaZposD1", "ETL DIGI hits #eta (+Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI}", 100, 1.56, 3.2);
311  meHitEta_[3] = ibook.book1D("EtlHitEtaZposD2", "ETL DIGI hits #eta (+Z, Second disk);#eta_{DIGI}", 100, 1.56, 3.2);
312 
313  meHitTvsQ_[0] = ibook.bookProfile(
314  "EtlHitTvsQZnegD1",
315  "ETL DIGI ToA vs charge (-Z, Single(topo1D)/First(topo2D) disk);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
316  50,
317  0.,
318  256.,
319  0.,
320  1024.);
321  meHitTvsQ_[1] =
322  ibook.bookProfile("EtlHitTvsQZnegD2",
323  "ETL DIGI ToA vs charge (-Z, Second Disk);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
324  50,
325  0.,
326  256.,
327  0.,
328  1024.);
329  meHitTvsQ_[2] = ibook.bookProfile(
330  "EtlHitTvsQZposD1",
331  "ETL DIGI ToA vs charge (+Z, Single(topo1D)/First(topo2D) disk);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
332  50,
333  0.,
334  256.,
335  0.,
336  1024.);
337  meHitTvsQ_[3] =
338  ibook.bookProfile("EtlHitTvsQZposD2",
339  "ETL DIGI ToA vs charge (+Z, Second disk);Q_{DIGI} [ADC counts];ToA_{DIGI} [TDC counts]",
340  50,
341  0.,
342  256.,
343  0.,
344  1024.);
345  meHitQvsPhi_[0] = ibook.bookProfile(
346  "EtlHitQvsPhiZnegD1",
347  "ETL DIGI charge vs #phi (-Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
348  50,
349  -3.15,
350  3.15,
351  0.,
352  1024.);
353  meHitQvsPhi_[1] =
354  ibook.bookProfile("EtlHitQvsPhiZnegD2",
355  "ETL DIGI charge vs #phi (-Z, Second disk);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
356  50,
357  -3.15,
358  3.15,
359  0.,
360  1024.);
361  meHitQvsPhi_[2] = ibook.bookProfile(
362  "EtlHitQvsPhiZposD1",
363  "ETL DIGI charge vs #phi (+Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
364  50,
365  -3.15,
366  3.15,
367  0.,
368  1024.);
369  meHitQvsPhi_[3] =
370  ibook.bookProfile("EtlHitQvsPhiZposD2",
371  "ETL DIGI charge vs #phi (+Z, Second disk);#phi_{DIGI} [rad];Q_{DIGI} [ADC counts]",
372  50,
373  -3.15,
374  3.15,
375  0.,
376  1024.);
377  meHitQvsEta_[0] = ibook.bookProfile(
378  "EtlHitQvsEtaZnegD1",
379  "ETL DIGI charge vs #eta (-Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI};Q_{DIGI} [ADC counts]",
380  50,
381  -3.2,
382  -1.56,
383  0.,
384  1024.);
385  meHitQvsEta_[1] = ibook.bookProfile("EtlHitQvsEtaZnegD2",
386  "ETL DIGI charge vs #eta (-Z, Second disk);#eta_{DIGI};Q_{DIGI} [ADC counts]",
387  50,
388  -3.2,
389  -1.56,
390  0.,
391  1024.);
392  meHitQvsEta_[2] = ibook.bookProfile(
393  "EtlHitQvsEtaZposD1",
394  "ETL DIGI charge vs #eta (+Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI};Q_{DIGI} [ADC counts]",
395  50,
396  1.56,
397  3.2,
398  0.,
399  1024.);
400  meHitQvsEta_[3] = ibook.bookProfile("EtlHitQvsEtaZposD2",
401  "ETL DIGI charge vs #eta (+Z, Second disk);#eta_{DIGI};Q_{DIGI} [ADC counts]",
402  50,
403  1.56,
404  3.2,
405  0.,
406  1024.);
407  meHitTvsPhi_[0] = ibook.bookProfile(
408  "EtlHitTvsPhiZnegD1",
409  "ETL DIGI ToA vs #phi (-Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
410  50,
411  -3.15,
412  3.15,
413  0.,
414  1024.);
415  meHitTvsPhi_[1] =
416  ibook.bookProfile("EtlHitTvsPhiZnegD2",
417  "ETL DIGI ToA vs #phi (-Z, Second disk);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
418  50,
419  -3.15,
420  3.15,
421  0.,
422  1024.);
423  meHitTvsPhi_[2] = ibook.bookProfile(
424  "EtlHitTvsPhiZposD1",
425  "ETL DIGI ToA vs #phi (+Z, Single(topo1D)/First(topo2D) disk);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
426  50,
427  -3.15,
428  3.15,
429  0.,
430  1024.);
431  meHitTvsPhi_[3] =
432  ibook.bookProfile("EtlHitTvsPhiZposD2",
433  "ETL DIGI ToA vs #phi (+Z, Second disk);#phi_{DIGI} [rad];ToA_{DIGI} [TDC counts]",
434  50,
435  -3.15,
436  3.15,
437  0.,
438  1024.);
439  meHitTvsEta_[0] = ibook.bookProfile(
440  "EtlHitTvsEtaZnegD1",
441  "ETL DIGI ToA vs #eta (-Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI};ToA_{DIGI} [TDC counts]",
442  50,
443  -3.2,
444  -1.56,
445  0.,
446  1024.);
447  meHitTvsEta_[1] = ibook.bookProfile("EtlHitTvsEtaZnegD2",
448  "ETL DIGI ToA vs #eta (-Z, Second disk);#eta_{DIGI};ToA_{DIGI} [TDC counts]",
449  50,
450  -3.2,
451  -1.56,
452  0.,
453  1024.);
454  meHitTvsEta_[2] = ibook.bookProfile(
455  "EtlHitTvsEtaZposD1",
456  "ETL DIGI ToA vs #eta (+Z, Single(topo1D)/First(topo2D) disk);#eta_{DIGI};ToA_{DIGI} [TDC counts]",
457  50,
458  1.56,
459  3.2,
460  0.,
461  1024.);
462  meHitTvsEta_[3] = ibook.bookProfile("EtlHitTvsEtaZposD2",
463  "ETL DIGI ToA vs #eta (+Z, Second disk);#eta_{DIGI};ToA_{DIGI} [TDC counts]",
464  50,
465  1.56,
466  3.2,
467  0.,
468  1024.);
469 }
470 
471 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
474 
475  desc.add<std::string>("folder", "MTD/ETL/DigiHits");
476  desc.add<edm::InputTag>("inputTag", edm::InputTag("mix", "FTLEndcap"));
477 
478  descriptions.add("etlDigiHitsDefault", desc);
479 }
480 
MTDDigiGeometryRecord
Definition: MTDDigiGeometryRecord.h:15
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
FTLDigiCollections.h
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
EtlDigiHitsValidation::meNhits_
MonitorElement * meNhits_[4]
Definition: EtlDigiHitsValidation.cc:54
mps_fire.i
i
Definition: mps_fire.py:428
PixelTopology.h
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
edm::Run
Definition: Run.h:45
edm::EDGetTokenT
Definition: EDGetToken.h:33
EtlDigiHitsValidation::~EtlDigiHitsValidation
~EtlDigiHitsValidation() override
Definition: EtlDigiHitsValidation.cc:80
edm
HLT enums.
Definition: AlignableModifier.h:19
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
MTDGeometry.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TrackerGeomDet
Definition: TrackerGeomDet.h:6
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
EtlDigiHitsValidation::meHitCharge_
MonitorElement * meHitCharge_[4]
Definition: EtlDigiHitsValidation.cc:56
MTDDigiGeometryRecord.h
DQMStore.h
GeomDet::topology
virtual const Topology & topology() const
Definition: GeomDet.cc:67
MTDTopologyMode::Mode::barphiflat
ETLDetId
Detector identifier class for the Endcap Timing Layer.
Definition: ETLDetId.h:15
MTDTopologyMode.h
ETLDetId.h
EtlDigiHitsValidation::meHitEta_
MonitorElement * meHitEta_[4]
Definition: EtlDigiHitsValidation.cc:65
DetId
Definition: DetId.h:17
MakerMacros.h
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
ecaldqm::topology
const CaloTopology * topology(nullptr)
EtlDigiHitsValidation::meHitTime_
MonitorElement * meHitTime_[4]
Definition: EtlDigiHitsValidation.cc:57
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle
Definition: DTSurvey.h:22
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
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
ETLDetId::nDisc
int nDisc() const
Definition: ETLDetId.h:122
MTDDetId::zside
int zside() const
Definition: MTDDetId.h:61
EtlDigiHitsValidation::meHitTvsPhi_
MonitorElement * meHitTvsPhi_[4]
Definition: EtlDigiHitsValidation.cc:70
ETLDetId::geographicalId
ETLDetId geographicalId() const
Definition: ETLDetId.h:108
Point3DBase< float, LocalTag >
PixelTopology
Definition: PixelTopology.h:10
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
ValidHandle.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
folder_
std::string folder_
Definition: DQMEDAnalyzer.cc:60
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
EtlDigiHitsValidation::meHitPhi_
MonitorElement * meHitPhi_[4]
Definition: EtlDigiHitsValidation.cc:64
MTDTopology
Definition: MTDTopology.h:16
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
EtlDigiHitsValidation::EtlDigiHitsValidation
EtlDigiHitsValidation(const edm::ParameterSet &)
Definition: EtlDigiHitsValidation.cc:75
edm::ParameterSet
Definition: ParameterSet.h:47
MTDTopologyRcd
Definition: MTDTopologyRcd.h:10
Event.h
EtlDigiHitsValidation
Definition: EtlDigiHitsValidation.cc:34
iEvent
int iEvent
Definition: GenABIO.cc:224
EtlDigiHitsValidation::meOccupancy_
MonitorElement * meOccupancy_[4]
Definition: EtlDigiHitsValidation.cc:59
edm::EventSetup
Definition: EventSetup.h:57
EtlDigiHitsValidation::folder_
const std::string folder_
Definition: EtlDigiHitsValidation.cc:48
EtlDigiHitsValidation::meHitY_
MonitorElement * meHitY_[4]
Definition: EtlDigiHitsValidation.cc:62
edm::makeValid
auto makeValid(const U &iOtherHandleType) noexcept(false)
Definition: ValidHandle.h:52
get
#define get
EtlDigiHitsValidation::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: EtlDigiHitsValidation.cc:83
EtlDigiHitsValidation::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: EtlDigiHitsValidation.cc:472
EtlDigiHitsValidation::meHitTvsQ_
MonitorElement * meHitTvsQ_[4]
Definition: EtlDigiHitsValidation.cc:67
MTDGeometry
Definition: MTDGeometry.h:14
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
writedatasetfile.run
run
Definition: writedatasetfile.py:27
EtlDigiHitsValidation::meHitQvsEta_
MonitorElement * meHitQvsEta_[4]
Definition: EtlDigiHitsValidation.cc:69
Frameworkfwd.h
EtlDigiHitsValidation::meHitQvsPhi_
MonitorElement * meHitQvsPhi_[4]
Definition: EtlDigiHitsValidation.cc:68
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
Exception
Definition: hltDiff.cc:246
PixelTopology::localY
virtual float localY(float mpY) const =0
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::IBooker
Definition: DQMStore.h:43
EtlDigiHitsValidation::meHitTvsEta_
MonitorElement * meHitTvsEta_[4]
Definition: EtlDigiHitsValidation.cc:71
PixelTopology::localX
virtual float localX(float mpX) const =0
ParameterSet.h
EtlDigiHitsValidation::meHitZ_
MonitorElement * meHitZ_[4]
Definition: EtlDigiHitsValidation.cc:63
edm::Event
Definition: Event.h:73
EtlDigiHitsValidation::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: EtlDigiHitsValidation.cc:187
EtlDigiHitsValidation::meHitX_
MonitorElement * meHitX_[4]
Definition: EtlDigiHitsValidation.cc:61
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
edm::InputTag
Definition: InputTag.h:15
EtlDigiHitsValidation::etlDigiHitsToken_
edm::EDGetTokenT< ETLDigiCollection > etlDigiHitsToken_
Definition: EtlDigiHitsValidation.cc:50
MTDTopology.h
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