CMS 3D CMS Logo

SiPixelClusterModule.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: SiPixelMonitorCluster
4 // Class: SiPixelClusterSource
5 //
15 //
16 // Original Author: Vincenzo Chiochia & Andrew York
17 // Created:
18 //
19 //
20 // Updated by: Lukas Wehrli
21 // for pixel offline DQM
27 // STL
28 #include <cstdlib>
29 #include <iostream>
30 #include <memory>
31 #include <string>
32 #include <vector>
33 
34 // Data Formats
42 //
43 // Constructors
44 //
45 SiPixelClusterModule::SiPixelClusterModule() : id_(0), ncols_(416), nrows_(160) {}
47 SiPixelClusterModule::SiPixelClusterModule(const uint32_t &id) : id_(id), ncols_(416), nrows_(160) {}
49 SiPixelClusterModule::SiPixelClusterModule(const uint32_t &id, const int &ncols, const int &nrows)
50  : id_(id), ncols_(ncols), nrows_(nrows) {}
51 //
52 // Destructor
53 //
55 //
56 // Book histograms
57 //
59  const TrackerTopology *pTT,
60  DQMStore::IBooker &iBooker,
61  int type,
62  bool twoD,
63  bool reducedSet,
64  bool isUpgrade) {
65  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
66  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
67  bool isHalfModule = false;
68  if (barrel) {
69  isHalfModule = PixelBarrelName(DetId(id_), pTT, isUpgrade).isHalfModule();
70  }
71  int nbinx = ncols_ / 2;
72  int nbiny = nrows_ / 2;
73 
74  std::string hid;
75  // Get collection name and instantiate Histo Id builder
76  edm::InputTag src = iConfig.getParameter<edm::InputTag>("src");
77  if (type == 0) {
78  SiPixelHistogramId *theHistogramId = new SiPixelHistogramId(src.label());
79  // Number of clusters
80  hid = theHistogramId->setHistoId("nclusters", id_);
81  meNClusters_ = iBooker.book1D(hid, "Number of Clusters", 8, 0., 8.);
82  meNClusters_->setAxisTitle("Number of Clusters", 1);
83  // Total cluster charge in MeV
84  hid = theHistogramId->setHistoId("charge", id_);
85  meCharge_ = iBooker.book1D(hid, "Cluster charge", 100, 0., 200.);
86  meCharge_->setAxisTitle("Charge [kilo electrons]", 1);
87  // Total cluster size (in pixels)
88  hid = theHistogramId->setHistoId("size", id_);
89  meSize_ = iBooker.book1D(hid, "Total cluster size", 30, 0., 30.);
90  meSize_->setAxisTitle("Cluster size [number of pixels]", 1);
91  if (!reducedSet) {
92  // Lowest cluster row
93  hid = theHistogramId->setHistoId("minrow", id_);
94  meMinRow_ = iBooker.book1D(hid, "Lowest cluster row", 200, 0., 200.);
95  meMinRow_->setAxisTitle("Lowest cluster row", 1);
96  // Highest cluster row
97  hid = theHistogramId->setHistoId("maxrow", id_);
98  meMaxRow_ = iBooker.book1D(hid, "Highest cluster row", 200, 0., 200.);
99  meMaxRow_->setAxisTitle("Highest cluster row", 1);
100  // Lowest cluster column
101  hid = theHistogramId->setHistoId("mincol", id_);
102  meMinCol_ = iBooker.book1D(hid, "Lowest cluster column", 500, 0., 500.);
103  meMinCol_->setAxisTitle("Lowest cluster column", 1);
104  // Highest cluster column
105  hid = theHistogramId->setHistoId("maxcol", id_);
106  meMaxCol_ = iBooker.book1D(hid, "Highest cluster column", 500, 0., 500.);
107  meMaxCol_->setAxisTitle("Highest cluster column", 1);
108  // Cluster barycenter X position
109  hid = theHistogramId->setHistoId("x", id_);
110  meX_ = iBooker.book1D(hid, "Cluster barycenter X (row #)", 200, 0., 200.);
111  meX_->setAxisTitle("Barycenter x-position [row #]", 1);
112  // Cluster barycenter Y position
113  hid = theHistogramId->setHistoId("y", id_);
114  meY_ = iBooker.book1D(hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
115  meY_->setAxisTitle("Barycenter y-position [column #]", 1);
116  // Cluster width on the x-axis
117  hid = theHistogramId->setHistoId("sizeX", id_);
118  meSizeX_ = iBooker.book1D(hid, "Cluster x-width (rows)", 10, 0., 10.);
119  meSizeX_->setAxisTitle("Cluster x-size [rows]", 1);
120  // Cluster width on the y-axis
121  hid = theHistogramId->setHistoId("sizeY", id_);
122  meSizeY_ = iBooker.book1D(hid, "Cluster y-width (columns)", 15, 0., 15.);
123  meSizeY_->setAxisTitle("Cluster y-size [columns]", 1);
124  int nbinx = ncols_ / 2;
125  int nbiny = nrows_ / 2;
126  hid = theHistogramId->setHistoId("hitmap", id_);
127  if (twoD) {
128  // 2D hit map
129  mePixClusters_ = iBooker.book2D(
130  hid, "Number of Clusters (1bin=four pixels)", nbinx, 0., float(ncols_), nbiny, 0., float(nrows_));
131  mePixClusters_->setAxisTitle("Columns", 1);
132  mePixClusters_->setAxisTitle("Rows", 2);
133  } else {
134  // projections of hitmap
136  iBooker.book1D(hid + "_px", "Number of Clusters (1bin=two columns)", nbinx, 0., float(ncols_));
137  mePixClusters_py_ = iBooker.book1D(hid + "_py", "Number of Clusters (1bin=two rows)", nbiny, 0., float(nrows_));
138  mePixClusters_px_->setAxisTitle("Columns", 1);
139  mePixClusters_py_->setAxisTitle("Rows", 1);
140  }
141  }
142  delete theHistogramId;
143  }
144 
145  //**
146  if (barrel && type == 7) {
147  hid = src.label() + "_Barrel";
148  meSizeYvsEtaBarrel_ = iBooker.book2D(
149  "sizeYvsEta_" + hid, "Cluster size along beamline vs. Cluster position #eta", 60, -3., 3., 40, 0., 40.);
150  meSizeYvsEtaBarrel_->setAxisTitle("Cluster #eta", 1);
151  meSizeYvsEtaBarrel_->setAxisTitle("Cluster size along beamline [number of pixels]", 2);
152  }
153  if (type == 1 && barrel) {
154  uint32_t DBladder;
155  DBladder = PixelBarrelName(DetId(id_), pTT, isUpgrade).ladderName();
156  char sladder[80];
157  sprintf(sladder, "Ladder_%02i", DBladder);
158  hid = src.label() + "_" + sladder;
159  if (isHalfModule)
160  hid += "H";
161  else
162  hid += "F";
163  // Number of clusters
164  meNClustersLad_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
165  meNClustersLad_->setAxisTitle("Number of Clusters", 1);
166  // Total cluster charge in MeV
167  meChargeLad_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
168  meChargeLad_->setAxisTitle("Charge [kilo electrons]", 1);
169  // Total cluster size (in pixels)
170  meSizeLad_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
171  meSizeLad_->setAxisTitle("Cluster size [number of pixels]", 1);
172  if (!reducedSet) {
173  // Lowest cluster row
174  meMinRowLad_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
175  meMinRowLad_->setAxisTitle("Lowest cluster row", 1);
176  // Highest cluster row
177  meMaxRowLad_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
178  meMaxRowLad_->setAxisTitle("Highest cluster row", 1);
179  // Lowest cluster column
180  meMinColLad_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
181  meMinColLad_->setAxisTitle("Lowest cluster column", 1);
182  // Highest cluster column
183  meMaxColLad_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
184  meMaxColLad_->setAxisTitle("Highest cluster column", 1);
185  // Cluster barycenter X position
186  meXLad_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
187  meXLad_->setAxisTitle("Barycenter x-position [row #]", 1);
188  // Cluster barycenter Y position
189  meYLad_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
190  meYLad_->setAxisTitle("Barycenter y-position [column #]", 1);
191  // Cluster width on the x-axis
192  meSizeXLad_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
193  meSizeXLad_->setAxisTitle("Cluster x-size [rows]", 1);
194  // Cluster width on the y-axis
195  meSizeYLad_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
196  meSizeYLad_->setAxisTitle("Cluster y-size [columns]", 1);
197  if (twoD) {
198  // 2D hit map
199  mePixClustersLad_ = iBooker.book2D("hitmap_" + hid,
200  "Number of Clusters (1bin=four pixels)",
201  nbinx,
202  0.,
203  float(ncols_),
204  nbiny,
205  0.,
206  float(nrows_));
207  mePixClustersLad_->setAxisTitle("Columns", 1);
208  mePixClustersLad_->setAxisTitle("Rows", 2);
209  } else {
210  // projections of hitmap
212  iBooker.book1D("hitmap_" + hid + "_px", "Number of Clusters (1bin=two columns)", nbinx, 0., float(ncols_));
214  iBooker.book1D("hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", nbiny, 0., float(nrows_));
215  mePixClustersLad_px_->setAxisTitle("Columns", 1);
217  }
218  }
219  }
220 
221  if (type == 2 && barrel) {
222  uint32_t DBlayer;
223  DBlayer = PixelBarrelName(DetId(id_), pTT, isUpgrade).layerName();
224  char slayer[80];
225  sprintf(slayer, "Layer_%i", DBlayer);
226  hid = src.label() + "_" + slayer;
227  // Number of clusters
228  meNClustersLay_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
229  meNClustersLay_->setAxisTitle("Number of Clusters", 1);
230  // Total cluster charge in MeV
231  meChargeLay_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
232  meChargeLay_->setAxisTitle("Charge [kilo electrons]", 1);
233  // Total cluster size (in pixels)
234  meSizeLay_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
235  meSizeLay_->setAxisTitle("Cluster size [in pixels]", 1);
236  if (!reducedSet) {
237  // Lowest cluster row
238  meMinRowLay_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
239  meMinRowLay_->setAxisTitle("Lowest cluster row", 1);
240  // Highest cluster row
241  meMaxRowLay_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
242  meMaxRowLay_->setAxisTitle("Highest cluster row", 1);
243  // Lowest cluster column
244  meMinColLay_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
245  meMinColLay_->setAxisTitle("Lowest cluster column", 1);
246  // Highest cluster column
247  meMaxColLay_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
248  meMaxColLay_->setAxisTitle("Highest cluster column", 1);
249  // Cluster barycenter X position
250  meXLay_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
251  meXLay_->setAxisTitle("Barycenter x-position [row #]", 1);
252  // Cluster barycenter Y position
253  meYLay_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
254  meYLay_->setAxisTitle("Barycenter y-position [column #]", 1);
255  // Cluster width on the x-axis
256  meSizeXLay_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
257  meSizeXLay_->setAxisTitle("Cluster x-size [rows]", 1);
258  // Cluster width on the y-axis
259  meSizeYLay_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
260  meSizeYLay_->setAxisTitle("Cluster y-size [columns]", 1);
261  if (twoD) {
262  // 2D hit map
263  if (isHalfModule) {
264  mePixClustersLay_ = iBooker.book2D("hitmap_" + hid,
265  "Number of Clusters (1bin=four pixels)",
266  nbinx,
267  0.,
268  float(ncols_),
269  2 * nbiny,
270  0.,
271  float(2 * nrows_));
272  } else {
273  mePixClustersLay_ = iBooker.book2D("hitmap_" + hid,
274  "Number of Clusters (1bin=four pixels)",
275  nbinx,
276  0.,
277  float(ncols_),
278  nbiny,
279  0.,
280  float(nrows_));
281  }
282  mePixClustersLay_->setAxisTitle("Columns", 1);
283  mePixClustersLay_->setAxisTitle("Rows", 2);
284  } else {
285  // projections of hitmap
287  iBooker.book1D("hitmap_" + hid + "_px", "Number of Clusters (1bin=two columns)", nbinx, 0., float(ncols_));
288  if (isHalfModule) {
289  mePixClustersLay_py_ = iBooker.book1D(
290  "hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", 2 * nbiny, 0., float(2 * nrows_));
291  } else {
293  iBooker.book1D("hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", nbiny, 0., float(nrows_));
294  }
295  mePixClustersLay_px_->setAxisTitle("Columns", 1);
297  }
298  }
299  }
300  if (type == 3 && barrel) {
301  uint32_t DBmodule;
302  DBmodule = PixelBarrelName(DetId(id_), pTT, isUpgrade).moduleName();
303  char smodule[80];
304  sprintf(smodule, "Ring_%i", DBmodule);
305  hid = src.label() + "_" + smodule;
306  // Number of clusters
307  meNClustersPhi_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
308  meNClustersPhi_->setAxisTitle("Number of Clusters", 1);
309  // Total cluster charge in MeV
310  meChargePhi_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
311  meChargePhi_->setAxisTitle("Charge [kilo electrons]", 1);
312  // Total cluster size (in pixels)
313  meSizePhi_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
314  meSizePhi_->setAxisTitle("Cluster size [number of pixels]", 1);
315  if (!reducedSet) {
316  // Lowest cluster row
317  meMinRowPhi_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
318  meMinRowPhi_->setAxisTitle("Lowest cluster row", 1);
319  // Highest cluster row
320  meMaxRowPhi_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
321  meMaxRowPhi_->setAxisTitle("Highest cluster row", 1);
322  // Lowest cluster column
323  meMinColPhi_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
324  meMinColPhi_->setAxisTitle("Lowest cluster column", 1);
325  // Highest cluster column
326  meMaxColPhi_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
327  meMaxColPhi_->setAxisTitle("Highest cluster column", 1);
328  // Cluster barycenter X position
329  meXPhi_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
330  meXPhi_->setAxisTitle("Barycenter x-position [row #]", 1);
331  // Cluster barycenter Y position
332  meYPhi_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
333  meYPhi_->setAxisTitle("Barycenter y-position [column #]", 1);
334  // Cluster width on the x-axis
335  meSizeXPhi_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
336  meSizeXPhi_->setAxisTitle("Cluster x-size [rows]", 1);
337  // Cluster width on the y-axis
338  meSizeYPhi_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
339  meSizeYPhi_->setAxisTitle("Cluster y-size [columns]", 1);
340  if (twoD) {
341  // 2D hit map
342  if (isHalfModule) {
343  mePixClustersPhi_ = iBooker.book2D("hitmap_" + hid,
344  "Number of Clusters (1bin=four pixels)",
345  nbinx,
346  0.,
347  float(ncols_),
348  2 * nbiny,
349  0.,
350  float(2 * nrows_));
351  } else {
352  mePixClustersPhi_ = iBooker.book2D("hitmap_" + hid,
353  "Number of Clusters (1bin=four pixels)",
354  nbinx,
355  0.,
356  float(ncols_),
357  nbiny,
358  0.,
359  float(nrows_));
360  }
361  mePixClustersPhi_->setAxisTitle("Columns", 1);
362  mePixClustersPhi_->setAxisTitle("Rows", 2);
363  } else {
364  // projections of hitmap
366  iBooker.book1D("hitmap_" + hid + "_px", "Number of Clusters (1bin=two columns)", nbinx, 0., float(ncols_));
367  if (isHalfModule) {
368  mePixClustersPhi_py_ = iBooker.book1D(
369  "hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", 2 * nbiny, 0., float(2 * nrows_));
370  } else {
372  iBooker.book1D("hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", nbiny, 0., float(nrows_));
373  }
374  mePixClustersPhi_px_->setAxisTitle("Columns", 1);
376  }
377  }
378  }
379 
380  if (type == 4 && endcap) {
381  uint32_t blade;
382  blade = PixelEndcapName(DetId(id_), pTT, isUpgrade).bladeName();
383 
384  char sblade[80];
385  sprintf(sblade, "Blade_%02i", blade);
386  hid = src.label() + "_" + sblade;
387  // Number of clusters
388  meNClustersBlade_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
389  meNClustersBlade_->setAxisTitle("Number of Clusters", 1);
390  // Total cluster charge in MeV
391  meChargeBlade_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
392  meChargeBlade_->setAxisTitle("Charge [kilo electrons]", 1);
393  // Total cluster size (in pixels)
394  meSizeBlade_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
395  meSizeBlade_->setAxisTitle("Cluster size [number of pixels]", 1);
396  if (!reducedSet) {
397  // Lowest cluster row
398  meMinRowBlade_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
399  meMinRowBlade_->setAxisTitle("Lowest cluster row", 1);
400  // Highest cluster row
401  meMaxRowBlade_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
402  meMaxRowBlade_->setAxisTitle("Highest cluster row", 1);
403  // Lowest cluster column
404  meMinColBlade_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
405  meMinColBlade_->setAxisTitle("Lowest cluster column", 1);
406  // Highest cluster column
407  meMaxColBlade_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
408  meMaxColBlade_->setAxisTitle("Highest cluster column", 1);
409  // Cluster barycenter X position
410  meXBlade_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
411  meXBlade_->setAxisTitle("Barycenter x-position [row #]", 1);
412  // Cluster barycenter Y position
413  meYBlade_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
414  meYBlade_->setAxisTitle("Barycenter y-position [column #]", 1);
415  // Cluster width on the x-axis
416  meSizeXBlade_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
417  meSizeXBlade_->setAxisTitle("Cluster x-size [rows]", 1);
418  // Cluster width on the y-axis
419  meSizeYBlade_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
420  meSizeYBlade_->setAxisTitle("Cluster y-size [columns]", 1);
421  }
422  }
423  if (type == 5 && endcap) {
424  uint32_t disk;
425  disk = PixelEndcapName(DetId(id_), pTT, isUpgrade).diskName();
426 
427  char sdisk[80];
428  sprintf(sdisk, "Disk_%i", disk);
429  hid = src.label() + "_" + sdisk;
430  // Number of clusters
431  meNClustersDisk_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
432  meNClustersDisk_->setAxisTitle("Number of Clusters", 1);
433  // Total cluster charge in MeV
434  meChargeDisk_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
435  meChargeDisk_->setAxisTitle("Charge [kilo electrons]", 1);
436  // Total cluster size (in pixels)
437  meSizeDisk_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
438  meSizeDisk_->setAxisTitle("Cluster size [number of pixels]", 1);
439  if (!reducedSet) {
440  // Lowest cluster row
441  meMinRowDisk_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
442  meMinRowDisk_->setAxisTitle("Lowest cluster row", 1);
443  // Highest cluster row
444  meMaxRowDisk_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
445  meMaxRowDisk_->setAxisTitle("Highest cluster row", 1);
446  // Lowest cluster column
447  meMinColDisk_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
448  meMinColDisk_->setAxisTitle("Lowest cluster column", 1);
449  // Highest cluster column
450  meMaxColDisk_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
451  meMaxColDisk_->setAxisTitle("Highest cluster column", 1);
452  // Cluster barycenter X position
453  meXDisk_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
454  meXDisk_->setAxisTitle("Barycenter x-position [row #]", 1);
455  // Cluster barycenter Y position
456  meYDisk_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
457  meYDisk_->setAxisTitle("Barycenter y-position [column #]", 1);
458  // Cluster width on the x-axis
459  meSizeXDisk_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
460  meSizeXDisk_->setAxisTitle("Cluster x-size [rows]", 1);
461  // Cluster width on the y-axis
462  meSizeYDisk_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
463  meSizeYDisk_->setAxisTitle("Cluster y-size [columns]", 1);
464  }
465  }
466 
467  if (type == 6 && endcap) {
468  uint32_t panel;
469  uint32_t module;
470  panel = PixelEndcapName(DetId(id_), pTT, isUpgrade).pannelName();
471  module = PixelEndcapName(DetId(id_), pTT, isUpgrade).plaquetteName();
472 
473  char slab[80];
474  sprintf(slab, "Panel_%i_Ring_%i", panel, module);
475  hid = src.label() + "_" + slab;
476  // Number of clusters
477  meNClustersRing_ = iBooker.book1D("nclusters_" + hid, "Number of Clusters", 8, 0., 8.);
478  meNClustersRing_->setAxisTitle("Number of Clusters", 1);
479  // Total cluster charge in MeV
480  meChargeRing_ = iBooker.book1D("charge_" + hid, "Cluster charge", 100, 0., 200.);
481  meChargeRing_->setAxisTitle("Charge [kilo electrons]", 1);
482  // Total cluster size (in pixels)
483  meSizeRing_ = iBooker.book1D("size_" + hid, "Total cluster size", 30, 0., 30.);
484  meSizeRing_->setAxisTitle("Cluster size [number of pixels]", 1);
485  if (!reducedSet) {
486  // Lowest cluster row
487  meMinRowRing_ = iBooker.book1D("minrow_" + hid, "Lowest cluster row", 200, 0., 200.);
488  meMinRowRing_->setAxisTitle("Lowest cluster row", 1);
489  // Highest cluster row
490  meMaxRowRing_ = iBooker.book1D("maxrow_" + hid, "Highest cluster row", 200, 0., 200.);
491  meMaxRowRing_->setAxisTitle("Highest cluster row", 1);
492  // Lowest cluster column
493  meMinColRing_ = iBooker.book1D("mincol_" + hid, "Lowest cluster column", 500, 0., 500.);
494  meMinColRing_->setAxisTitle("Lowest cluster column", 1);
495  // Highest cluster column
496  meMaxColRing_ = iBooker.book1D("maxcol_" + hid, "Highest cluster column", 500, 0., 500.);
497  meMaxColRing_->setAxisTitle("Highest cluster column", 1);
498  // Cluster barycenter X position
499  meXRing_ = iBooker.book1D("x_" + hid, "Cluster barycenter X (row #)", 200, 0., 200.);
500  meXRing_->setAxisTitle("Barycenter x-position [row #]", 1);
501  // Cluster barycenter Y position
502  meYRing_ = iBooker.book1D("y_" + hid, "Cluster barycenter Y (column #)", 500, 0., 500.);
503  meYRing_->setAxisTitle("Barycenter y-position [column #]", 1);
504  // Cluster width on the x-axis
505  meSizeXRing_ = iBooker.book1D("sizeX_" + hid, "Cluster x-width (rows)", 10, 0., 10.);
506  meSizeXRing_->setAxisTitle("Cluster x-size [rows]", 1);
507  // Cluster width on the y-axis
508  meSizeYRing_ = iBooker.book1D("sizeY_" + hid, "Cluster y-width (columns)", 15, 0., 15.);
509  meSizeYRing_->setAxisTitle("Cluster y-size [columns]", 1);
510  if (twoD) {
511  // 2D hit map
512  mePixClustersRing_ = iBooker.book2D("hitmap_" + hid,
513  "Number of Clusters (1bin=four pixels)",
514  nbinx,
515  0.,
516  float(ncols_),
517  nbiny,
518  0.,
519  float(nrows_));
520  mePixClustersRing_->setAxisTitle("Columns", 1);
521  mePixClustersRing_->setAxisTitle("Rows", 2);
522  } else {
523  // projections of hitmap
525  iBooker.book1D("hitmap_" + hid + "_px", "Number of Clusters (1bin=two columns)", nbinx, 0., float(ncols_));
527  iBooker.book1D("hitmap_" + hid + "_py", "Number of Clusters (1bin=two rows)", nbiny, 0., float(nrows_));
528  mePixClustersRing_px_->setAxisTitle("Columns", 1);
530  }
531  }
532  }
533 }
534 //
535 // Fill histograms
536 //
538  const TrackerTopology *pTT,
539  const TrackerGeometry *tracker,
540  int *barrelClusterTotal,
541  int *fpixPClusterTotal,
542  int *fpixMClusterTotal,
543  std::vector<MonitorElement *> &layers,
544  std::vector<MonitorElement *> &diskspz,
545  std::vector<MonitorElement *> &disksmz,
546  bool modon,
547  bool ladon,
548  bool layon,
549  bool phion,
550  bool bladeon,
551  bool diskon,
552  bool ringon,
553  bool twoD,
554  bool reducedSet,
555  bool smileyon,
556  bool isUpgrade) {
557  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
558  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
559 
560  edmNew::DetSetVector<SiPixelCluster>::const_iterator isearch = input.find(id_); // search clusters of detid
561  unsigned int numberOfClusters = 0;
562  unsigned int numberOfFpixClusters = 0;
563 
564  if (isearch != input.end()) { // Not an empty iterator
565 
566  // Look at clusters now
568  for (di = isearch->begin(); di != isearch->end(); di++) {
569  numberOfClusters++;
570  if (endcap)
571  numberOfFpixClusters++;
572  if (barrel)
573  (*barrelClusterTotal)++;
574  float charge = 0.001 * (di->charge()); // total charge of cluster
575  float x = di->x(); // barycenter x position
576  float y = di->y(); // barycenter y position
577  int size = di->size(); // total size of cluster (in pixels)
578  int sizeX = di->sizeX(); // size of cluster in x-direction
579  int sizeY = di->sizeY(); // size of cluster in y-direction
580  int minPixelRow = di->minPixelRow(); // min x index
581  int maxPixelRow = di->maxPixelRow(); // max x index
582  int minPixelCol = di->minPixelCol(); // min y index
583  int maxPixelCol = di->maxPixelCol(); // max y index
584 
585  const PixelGeomDetUnit *theGeomDet = dynamic_cast<const PixelGeomDetUnit *>(tracker->idToDet(DetId(id_)));
586 
587  const PixelTopology *topol = &(theGeomDet->specificTopology());
588  LocalPoint clustlp = topol->localPosition(MeasurementPoint(x, y));
589  GlobalPoint clustgp = theGeomDet->surface().toGlobal(clustlp);
590  if (modon)
591  meCharge_->Fill((float)charge);
592  if (modon)
593  meSize_->Fill((float)size);
594 
595  if (barrel) {
596  uint32_t DBlayer = PixelBarrelName(DetId(id_), pTT, isUpgrade).layerName();
597  if (!(DBlayer > layers.size()) && (layers[DBlayer - 1]))
598  layers[DBlayer - 1]->Fill(clustgp.z(), clustgp.phi());
599  } else if (endcap) {
600  uint32_t DBdisk = PixelEndcapName(DetId(id_), pTT, isUpgrade).diskName();
601  if (clustgp.z() > 0) {
602  (*fpixPClusterTotal)++;
603  if (!(DBdisk > diskspz.size()) && (diskspz[DBdisk - 1]))
604  diskspz[DBdisk - 1]->Fill(clustgp.x(), clustgp.y());
605  } else {
606  (*fpixMClusterTotal)++;
607  if (!(DBdisk > disksmz.size()) && (disksmz[DBdisk - 1]))
608  disksmz[DBdisk - 1]->Fill(clustgp.x(), clustgp.y());
609  }
610  }
611  if (!reducedSet) {
612  (meMinRow_)->Fill((int)minPixelRow);
613  (meMaxRow_)->Fill((int)maxPixelRow);
614  (meMinCol_)->Fill((int)minPixelCol);
615  (meMaxCol_)->Fill((int)maxPixelCol);
616  (meSizeX_)->Fill((int)sizeX);
617  (meSizeY_)->Fill((int)sizeY);
618  (meX_)->Fill((float)x);
619  (meY_)->Fill((float)y);
620  if (twoD)
621  (mePixClusters_)->Fill((float)y, (float)x);
622  else {
623  (mePixClusters_px_)->Fill((float)y);
624  (mePixClusters_py_)->Fill((float)x);
625  }
626  }
627 
628  if (barrel && smileyon) {
629  (meSizeYvsEtaBarrel_)->Fill(clustgp.eta(), sizeY);
630  // std::cout << "Cluster Global x y z theta eta " << clustgp.x() << " "
631  // << clustgp.y() << " " << clustgp.z() << " " << clustgp.theta() << " "
632  // << clustgp.eta() << std::endl;
633  }
634  if (ladon && barrel) {
635  (meChargeLad_)->Fill((float)charge);
636  (meSizeLad_)->Fill((int)size);
637  if (!reducedSet) {
638  (meMinRowLad_)->Fill((int)minPixelRow);
639  (meMaxRowLad_)->Fill((int)maxPixelRow);
640  (meMinColLad_)->Fill((int)minPixelCol);
641  (meMaxColLad_)->Fill((int)maxPixelCol);
642  (meXLad_)->Fill((float)x);
643  (meYLad_)->Fill((float)y);
644  (meSizeXLad_)->Fill((int)sizeX);
645  (meSizeYLad_)->Fill((int)sizeY);
646  if (twoD)
647  (mePixClustersLad_)->Fill((float)y, (float)x);
648  else {
649  (mePixClustersLad_px_)->Fill((float)y);
650  (mePixClustersLad_py_)->Fill((float)x);
651  }
652  }
653  }
654  if (layon && barrel) {
655  (meChargeLay_)->Fill((float)charge);
656  (meSizeLay_)->Fill((int)size);
657  if (!reducedSet) {
658  (meMinRowLay_)->Fill((int)minPixelRow);
659  (meMaxRowLay_)->Fill((int)maxPixelRow);
660  (meMinColLay_)->Fill((int)minPixelCol);
661  (meMaxColLay_)->Fill((int)maxPixelCol);
662  (meXLay_)->Fill((float)x);
663  (meYLay_)->Fill((float)y);
664  (meSizeXLay_)->Fill((int)sizeX);
665  (meSizeYLay_)->Fill((int)sizeY);
666  if (twoD)
667  (mePixClustersLay_)->Fill((float)y, (float)x);
668  else {
669  (mePixClustersLay_px_)->Fill((float)y);
670  (mePixClustersLay_py_)->Fill((float)x);
671  }
672  }
673  }
674  if (phion && barrel) {
675  (meChargePhi_)->Fill((float)charge);
676  (meSizePhi_)->Fill((int)size);
677  if (!reducedSet) {
678  (meMinRowPhi_)->Fill((int)minPixelRow);
679  (meMaxRowPhi_)->Fill((int)maxPixelRow);
680  (meMinColPhi_)->Fill((int)minPixelCol);
681  (meMaxColPhi_)->Fill((int)maxPixelCol);
682  (meXPhi_)->Fill((float)x);
683  (meYPhi_)->Fill((float)y);
684  (meSizeXPhi_)->Fill((int)sizeX);
685  (meSizeYPhi_)->Fill((int)sizeY);
686  if (twoD)
687  (mePixClustersPhi_)->Fill((float)y, (float)x);
688  else {
689  (mePixClustersPhi_px_)->Fill((float)y);
690  (mePixClustersPhi_py_)->Fill((float)x);
691  }
692  }
693  }
694  if (bladeon && endcap) {
695  (meChargeBlade_)->Fill((float)charge);
696  (meSizeBlade_)->Fill((int)size);
697  if (!reducedSet) {
698  (meMinRowBlade_)->Fill((int)minPixelRow);
699  (meMaxRowBlade_)->Fill((int)maxPixelRow);
700  (meMinColBlade_)->Fill((int)minPixelCol);
701  (meMaxColBlade_)->Fill((int)maxPixelCol);
702  (meXBlade_)->Fill((float)x);
703  (meYBlade_)->Fill((float)y);
704  (meSizeXBlade_)->Fill((int)sizeX);
705  (meSizeYBlade_)->Fill((int)sizeY);
706  }
707  }
708  if (diskon && endcap) {
709  (meChargeDisk_)->Fill((float)charge);
710  (meSizeDisk_)->Fill((int)size);
711  if (!reducedSet) {
712  (meMinRowDisk_)->Fill((int)minPixelRow);
713  (meMaxRowDisk_)->Fill((int)maxPixelRow);
714  (meMinColDisk_)->Fill((int)minPixelCol);
715  (meMaxColDisk_)->Fill((int)maxPixelCol);
716  (meXDisk_)->Fill((float)x);
717  (meYDisk_)->Fill((float)y);
718  (meSizeXDisk_)->Fill((int)sizeX);
719  (meSizeYDisk_)->Fill((int)sizeY);
720  }
721  }
722 
723  if (ringon && endcap) {
724  (meChargeRing_)->Fill((float)charge);
725  (meSizeRing_)->Fill((int)size);
726  if (!reducedSet) {
727  (meMinRowRing_)->Fill((int)minPixelRow);
728  (meMaxRowRing_)->Fill((int)maxPixelRow);
729  (meMinColRing_)->Fill((int)minPixelCol);
730  (meMaxColRing_)->Fill((int)maxPixelCol);
731  (meXRing_)->Fill((float)x);
732  (meYRing_)->Fill((float)y);
733  (meSizeXRing_)->Fill((int)sizeX);
734  (meSizeYRing_)->Fill((int)sizeY);
735  if (twoD)
736  (mePixClustersRing_)->Fill((float)y, (float)x);
737  else {
738  (mePixClustersRing_px_)->Fill((float)y);
739  (mePixClustersRing_py_)->Fill((float)x);
740  }
741  }
742  }
743  }
744  if (modon)
745  (meNClusters_)->Fill((float)numberOfClusters);
746  if (ladon && barrel)
747  (meNClustersLad_)->Fill((float)numberOfClusters);
748  if (layon && barrel)
749  (meNClustersLay_)->Fill((float)numberOfClusters);
750  if (phion && barrel)
751  (meNClustersPhi_)->Fill((float)numberOfClusters);
752  if (bladeon && endcap)
753  (meNClustersBlade_)->Fill((float)numberOfClusters);
754  if (diskon && endcap)
755  (meNClustersDisk_)->Fill((float)numberOfClusters);
756  if (ringon && endcap)
757  (meNClustersRing_)->Fill((float)numberOfClusters);
758  }
759 
760  // std::cout<<"number of detector units="<<numberOfDetUnits<<std::endl;
761  return numberOfFpixClusters;
762 }
SiPixelClusterModule::meNClustersDisk_
MonitorElement * meNClustersDisk_
Definition: SiPixelClusterModule.h:169
SiPixelClusterModule::meXDisk_
MonitorElement * meXDisk_
Definition: SiPixelClusterModule.h:171
SiPixelClusterModule::meSizeLad_
MonitorElement * meSizeLad_
Definition: SiPixelClusterModule.h:113
SiPixelClusterModule::meNClustersPhi_
MonitorElement * meNClustersPhi_
Definition: SiPixelClusterModule.h:141
SiPixelClusterModule::meSizeYLay_
MonitorElement * meSizeYLay_
Definition: SiPixelClusterModule.h:132
SiPixelClusterModule::meMaxColRing_
MonitorElement * meMaxColRing_
Definition: SiPixelClusterModule.h:191
SiPixelClusterModule::meNClustersBlade_
MonitorElement * meNClustersBlade_
Definition: SiPixelClusterModule.h:157
SiPixelClusterModule::ncols_
int ncols_
Definition: SiPixelClusterModule.h:79
DDAxes::y
SiPixelClusterModule::meXPhi_
MonitorElement * meXPhi_
Definition: SiPixelClusterModule.h:143
hgcalPlots.ncols
ncols
Definition: hgcalPlots.py:105
SiPixelClusterModule::meSizeYBlade_
MonitorElement * meSizeYBlade_
Definition: SiPixelClusterModule.h:163
SiPixelClusterModule::meMinColBlade_
MonitorElement * meMinColBlade_
Definition: SiPixelClusterModule.h:166
PixelSubdetector.h
input
static const std::string input
Definition: EdmProvDump.cc:48
PixelBarrelName.h
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
SiPixelClusterModule::meChargeLad_
MonitorElement * meChargeLad_
Definition: SiPixelClusterModule.h:112
SiPixelClusterModule::mePixClustersPhi_py_
MonitorElement * mePixClustersPhi_py_
Definition: SiPixelClusterModule.h:154
SiPixelClusterModule::meChargeRing_
MonitorElement * meChargeRing_
Definition: SiPixelClusterModule.h:184
SiPixelClusterModule::meMinRowLay_
MonitorElement * meMinRowLay_
Definition: SiPixelClusterModule.h:133
SiPixelClusterModule::meSizeYvsEtaBarrel_
MonitorElement * meSizeYvsEtaBarrel_
Definition: SiPixelClusterModule.h:124
SiPixelClusterModule::id_
uint32_t id_
Definition: SiPixelClusterModule.h:78
SiPixelClusterModule::meChargeBlade_
MonitorElement * meChargeBlade_
Definition: SiPixelClusterModule.h:160
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiPixelOfflineDQM_source_cff.reducedSet
reducedSet
Definition: SiPixelOfflineDQM_source_cff.py:8
SiPixelClusterModule::meSizePhi_
MonitorElement * meSizePhi_
Definition: SiPixelClusterModule.h:145
SiPixelClusterModule::meSizeXLad_
MonitorElement * meSizeXLad_
Definition: SiPixelClusterModule.h:114
SiPixelClusterModule::meSizeXLay_
MonitorElement * meSizeXLay_
Definition: SiPixelClusterModule.h:131
SiPixelClusterModule::meMinRow_
MonitorElement * meMinRow_
Definition: SiPixelClusterModule.h:88
TrackerTopology
Definition: TrackerTopology.h:16
SiPixelClusterModule::nrows_
int nrows_
Definition: SiPixelClusterModule.h:80
SiPixelClusterModule::meYRing_
MonitorElement * meYRing_
Definition: SiPixelClusterModule.h:182
SiPixelClusterModule::mePixClusters_px_
MonitorElement * mePixClusters_px_
Definition: SiPixelClusterModule.h:93
SiPixelClusterModule::mePixClustersPhi_px_
MonitorElement * mePixClustersPhi_px_
Definition: SiPixelClusterModule.h:153
PixelBarrelName
Definition: PixelBarrelName.h:16
edmNew::DetSetVector::const_iterator
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetSetVectorNew.h:197
SiPixelClusterModule::book
void book(const edm::ParameterSet &iConfig, const TrackerTopology *pTT, DQMStore::IBooker &iBooker, int type=0, bool twoD=true, bool reducedSet=false, bool isUpgrade=false)
Book histograms.
Definition: SiPixelClusterModule.cc:58
SiPixelClusterModule::mePixClusters_py_
MonitorElement * mePixClusters_py_
Definition: SiPixelClusterModule.h:94
SiPixelClusterModule::meNClustersRing_
MonitorElement * meNClustersRing_
Definition: SiPixelClusterModule.h:181
DQMStore.h
SiPixelHistogramId.h
SiPixelClusterModule::meMaxRowPhi_
MonitorElement * meMaxRowPhi_
Definition: SiPixelClusterModule.h:149
edmNew::DetSetVector::begin
const_iterator begin(bool update=false) const
Definition: DetSetVectorNew.h:530
SiPixelClusterModule::meMinRowPhi_
MonitorElement * meMinRowPhi_
Definition: SiPixelClusterModule.h:148
DDAxes::x
SiPixelClusterModule::meSizeYLad_
MonitorElement * meSizeYLad_
Definition: SiPixelClusterModule.h:115
SiPixelClusterModule::meMaxRowDisk_
MonitorElement * meMaxRowDisk_
Definition: SiPixelClusterModule.h:177
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
PixelBarrelName::layerName
int layerName() const
layer id
Definition: PixelBarrelName.h:43
SiPixelClusterModule::mePixClustersRing_px_
MonitorElement * mePixClustersRing_px_
Definition: SiPixelClusterModule.h:193
PixelEndcapName::pannelName
int pannelName() const
pannel id
Definition: PixelEndcapName.h:51
SiPixelClusterModule::meMaxRowLad_
MonitorElement * meMaxRowLad_
Definition: SiPixelClusterModule.h:117
SiPixelClusterModule::meSizeLay_
MonitorElement * meSizeLay_
Definition: SiPixelClusterModule.h:130
PixelEndcapName::bladeName
int bladeName() const
blade id
Definition: PixelEndcapName.h:48
edmNew::DetSet::size
size_type size() const
Definition: DetSetNew.h:68
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
SiPixelClusterModule::meChargeLay_
MonitorElement * meChargeLay_
Definition: SiPixelClusterModule.h:129
SiPixelClusterModule::meSizeY_
MonitorElement * meSizeY_
Definition: SiPixelClusterModule.h:87
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
SiPixelClusterModule::mePixClustersLay_px_
MonitorElement * mePixClustersLay_px_
Definition: SiPixelClusterModule.h:138
SiPixelClusterModule::meNClusters_
MonitorElement * meNClusters_
Definition: SiPixelClusterModule.h:81
SiPixelClusterModule::meMaxColLad_
MonitorElement * meMaxColLad_
Definition: SiPixelClusterModule.h:119
TrackerTopologyRcd.h
PixelEndcapName
Definition: PixelEndcapName.h:16
SiPixelClusterModule::meSizeBlade_
MonitorElement * meSizeBlade_
Definition: SiPixelClusterModule.h:161
SiPixelClusterModule::meSize_
MonitorElement * meSize_
Definition: SiPixelClusterModule.h:85
SiPixelClusterModule::meMaxColDisk_
MonitorElement * meMaxColDisk_
Definition: SiPixelClusterModule.h:179
Service.h
PixelGeomDetUnit
Definition: PixelGeomDetUnit.h:15
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiPixelClusterModule::mePixClustersPhi_
MonitorElement * mePixClustersPhi_
Definition: SiPixelClusterModule.h:152
SiPixelClusterModule::meMinRowBlade_
MonitorElement * meMinRowBlade_
Definition: SiPixelClusterModule.h:164
SiPixelClusterModule::meXRing_
MonitorElement * meXRing_
Definition: SiPixelClusterModule.h:183
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
SiPixelClusterModule::meSizeDisk_
MonitorElement * meSizeDisk_
Definition: SiPixelClusterModule.h:173
SiPixelHistogramId::setHistoId
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
Definition: SiPixelHistogramId.cc:29
RecoTauValidation_cfi.sizeY
sizeY
Definition: RecoTauValidation_cfi.py:291
SiPixelClusterModule::meMinColRing_
MonitorElement * meMinColRing_
Definition: SiPixelClusterModule.h:190
SiPixelClusterModule::meMaxRowRing_
MonitorElement * meMaxRowRing_
Definition: SiPixelClusterModule.h:189
SiPixelClusterModule::mePixClustersLad_px_
MonitorElement * mePixClustersLad_px_
Definition: SiPixelClusterModule.h:121
Point3DBase< float, LocalTag >
PixelTopology
Definition: PixelTopology.h:10
SiPixelClusterModule::meSizeXPhi_
MonitorElement * meSizeXPhi_
Definition: SiPixelClusterModule.h:146
SiPixelClusterModule.h
PixelBarrelName::ladderName
int ladderName() const
ladder id (index in phi)
Definition: PixelBarrelName.h:49
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
SiPixelClusterModule::meMinColLay_
MonitorElement * meMinColLay_
Definition: SiPixelClusterModule.h:135
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
SiPixelClusterModule::meMaxColPhi_
MonitorElement * meMaxColPhi_
Definition: SiPixelClusterModule.h:151
SiPixelClusterModule::meXLad_
MonitorElement * meXLad_
Definition: SiPixelClusterModule.h:111
SiPixelClusterModule::meXLay_
MonitorElement * meXLay_
Definition: SiPixelClusterModule.h:128
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
MeasurementPoint
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
Definition: MeasurementPoint.h:12
SiPixelClusterModule::meMinColPhi_
MonitorElement * meMinColPhi_
Definition: SiPixelClusterModule.h:150
SiPixelClusterModule::meMaxRow_
MonitorElement * meMaxRow_
Definition: SiPixelClusterModule.h:89
SiPixelHistogramId
Definition: SiPixelHistogramId.h:25
edm::ParameterSet
Definition: ParameterSet.h:47
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
RecoTauValidation_cfi.sizeX
sizeX
Definition: RecoTauValidation_cfi.py:290
SiPixelClusterModule::meYDisk_
MonitorElement * meYDisk_
Definition: SiPixelClusterModule.h:170
SiPixelClusterModule::meSizeYDisk_
MonitorElement * meSizeYDisk_
Definition: SiPixelClusterModule.h:175
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
PixelGeomDetUnit::specificTopology
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
Definition: PixelGeomDetUnit.cc:17
SiPixelClusterModule::meSizeYRing_
MonitorElement * meSizeYRing_
Definition: SiPixelClusterModule.h:187
SiPixelClusterModule::meSizeRing_
MonitorElement * meSizeRing_
Definition: SiPixelClusterModule.h:185
PV3DBase::eta
T eta() const
Definition: PV3DBase.h:73
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
SiPixelClusterModule::meSizeXBlade_
MonitorElement * meSizeXBlade_
Definition: SiPixelClusterModule.h:162
SiPixelClusterModule::mePixClustersLad_
MonitorElement * mePixClustersLad_
Definition: SiPixelClusterModule.h:120
SiPixelClusterModule::meMinRowRing_
MonitorElement * meMinRowRing_
Definition: SiPixelClusterModule.h:188
SiPixelClusterModule::meMinRowDisk_
MonitorElement * meMinRowDisk_
Definition: SiPixelClusterModule.h:176
SiPixelClusterModule::meYLay_
MonitorElement * meYLay_
Definition: SiPixelClusterModule.h:127
PixelBarrelName::moduleName
int moduleName() const
module id (index in z)
Definition: PixelBarrelName.h:46
SiPixelClusterModule::meMinCol_
MonitorElement * meMinCol_
Definition: SiPixelClusterModule.h:90
SiPixelClusterModule::mePixClustersRing_
MonitorElement * mePixClustersRing_
Definition: SiPixelClusterModule.h:192
SiPixelClusterModule::meSizeX_
MonitorElement * meSizeX_
Definition: SiPixelClusterModule.h:86
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
SiPixelClusterModule::meMaxColBlade_
MonitorElement * meMaxColBlade_
Definition: SiPixelClusterModule.h:167
SiPixelClusterModule::mePixClusters_
MonitorElement * mePixClusters_
Definition: SiPixelClusterModule.h:92
edmNew::DetSetVector
Definition: DetSetNew.h:13
SiPixelClusterModule::meMaxCol_
MonitorElement * meMaxCol_
Definition: SiPixelClusterModule.h:91
SiPixelClusterModule::meChargePhi_
MonitorElement * meChargePhi_
Definition: SiPixelClusterModule.h:144
SiPixelClusterModule::mePixClustersLay_py_
MonitorElement * mePixClustersLay_py_
Definition: SiPixelClusterModule.h:139
PixelEndcapName::diskName
int diskName() const
disk id
Definition: PixelEndcapName.h:45
DetId.h
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
SiPixelClusterModule::fill
int fill(const edmNew::DetSetVector< SiPixelCluster > &input, const TrackerTopology *pTT, const TrackerGeometry *tracker, int *barrelClusterTotal, int *fpixPClusterTotal, int *fpixMClusterTotal, std::vector< MonitorElement * > &layers, std::vector< MonitorElement * > &diskspz, std::vector< MonitorElement * > &disksmz, bool modon=true, bool ladon=false, bool layon=false, bool phion=false, bool bladeon=false, bool diskon=false, bool ringon=false, bool twoD=true, bool reducedSet=false, bool smileyon=false, bool isUpgrade=false)
Fill histograms.
Definition: SiPixelClusterModule.cc:537
SiPixelClusterModule::meMaxRowLay_
MonitorElement * meMaxRowLay_
Definition: SiPixelClusterModule.h:134
edmNew::DetSetVector::end
const_iterator end(bool update=false) const
Definition: DetSetVectorNew.h:535
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
SiPixelClusterModule::mePixClustersRing_py_
MonitorElement * mePixClustersRing_py_
Definition: SiPixelClusterModule.h:194
SiPixelClusterModule::meSizeXDisk_
MonitorElement * meSizeXDisk_
Definition: SiPixelClusterModule.h:174
SiPixelClusterModule::mePixClustersLay_
MonitorElement * mePixClustersLay_
Definition: SiPixelClusterModule.h:137
SiPixelClusterModule::~SiPixelClusterModule
~SiPixelClusterModule()
Destructor.
Definition: SiPixelClusterModule.cc:54
SiPixelClusterModule::meMaxColLay_
MonitorElement * meMaxColLay_
Definition: SiPixelClusterModule.h:136
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
PixelEndcapNameUpgrade.h
SiPixelClusterModule::meY_
MonitorElement * meY_
Definition: SiPixelClusterModule.h:82
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiPixelClusterModule::meSizeYPhi_
MonitorElement * meSizeYPhi_
Definition: SiPixelClusterModule.h:147
SiPixelClusterModule::mePixClustersLad_py_
MonitorElement * mePixClustersLad_py_
Definition: SiPixelClusterModule.h:122
SiPixelClusterModule::meCharge_
MonitorElement * meCharge_
Definition: SiPixelClusterModule.h:84
SiPixelClusterModule::meMinColDisk_
MonitorElement * meMinColDisk_
Definition: SiPixelClusterModule.h:178
PixelEndcapName::plaquetteName
int plaquetteName() const
plaquetteId (in pannel)
Definition: PixelEndcapName.h:54
SiPixelClusterModule::meMaxRowBlade_
MonitorElement * meMaxRowBlade_
Definition: SiPixelClusterModule.h:165
SiPixelOfflineDQM_client_cff.isUpgrade
isUpgrade
Definition: SiPixelOfflineDQM_client_cff.py:19
PixelBarrelNameUpgrade.h
SiPixelClusterModule::meX_
MonitorElement * meX_
Definition: SiPixelClusterModule.h:83
SiPixelClusterModule::meNClustersLay_
MonitorElement * meNClustersLay_
Definition: SiPixelClusterModule.h:126
SiPixelClusterModule::meYBlade_
MonitorElement * meYBlade_
Definition: SiPixelClusterModule.h:158
SiPixelClusterModule::meYPhi_
MonitorElement * meYPhi_
Definition: SiPixelClusterModule.h:142
SiPixelClusterModule::meYLad_
MonitorElement * meYLad_
Definition: SiPixelClusterModule.h:110
SiPixelClusterModule::meSizeXRing_
MonitorElement * meSizeXRing_
Definition: SiPixelClusterModule.h:186
PixelBarrelName::isHalfModule
bool isHalfModule() const
full or half module
Definition: PixelBarrelName.cc:702
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
SiPixelClusterModule::meChargeDisk_
MonitorElement * meChargeDisk_
Definition: SiPixelClusterModule.h:172
SiPixelClusterModule::meMinRowLad_
MonitorElement * meMinRowLad_
Definition: SiPixelClusterModule.h:116
edm::InputTag
Definition: InputTag.h:15
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
SiPixelClusterModule::meNClustersLad_
MonitorElement * meNClustersLad_
Definition: SiPixelClusterModule.h:109
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
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
SiPixelClusterModule::meMinColLad_
MonitorElement * meMinColLad_
Definition: SiPixelClusterModule.h:118
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
SiPixelClusterModule::SiPixelClusterModule
SiPixelClusterModule()
Default constructor.
Definition: SiPixelClusterModule.cc:45
PixelEndcapName.h
TrackerGeometry
Definition: TrackerGeometry.h:14
SiPixelClusterModule::meXBlade_
MonitorElement * meXBlade_
Definition: SiPixelClusterModule.h:159
edmNew::DetSet::const_iterator
const data_type * const_iterator
Definition: DetSetNew.h:31