CMS 3D CMS Logo

SiPixelHitEfficiencyModule.cc
Go to the documentation of this file.
1 // Package: SiPixelMonitorTrack
2 // Class: SiPixelHitEfficiencyModule
3 //
4 // class SiPixelHitEfficiencyModule SiPixelHitEfficiencyModule.cc
5 // DQM/SiPixelMonitorTrack/src/SiPixelHitEfficiencyModule.cc
6 //
7 // Description: SiPixel hit efficiency data quality monitoring modules
8 // Implementation: prototype -> improved -> never final - end of the 1st step
9 //
10 // Original Authors: Romain Rougny & Luca Mucibello
11 // Created: Mar Nov 10 13:29:00 CET nbinangle9
12 
13 #include <iostream>
14 #include <string>
15 
23 
24 // Data Formats
35 
36 using namespace std;
37 
39 
41 
43 
45  edm::EventSetup const &iSetup,
46  DQMStore::IBooker &iBooker,
47  int type,
48  bool isUpgrade) {
50  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
51  const TrackerTopology *pTT = tTopoHandle.product();
52 
53  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
54  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
55  bool isHalfModule = false;
56  if (barrel) {
57  isHalfModule = PixelBarrelName(DetId(id_), pTT, isUpgrade).isHalfModule();
58  }
59 
60  edm::InputTag src = iConfig.getParameter<edm::InputTag>("src");
61  debug_ = iConfig.getUntrackedParameter<bool>("debug", false);
62  updateEfficiencies = iConfig.getUntrackedParameter<bool>("updateEfficiencies", false);
63  std::string hisID;
64 
65  int nbinangle = 28;
66  int nbinX = 45;
67  int nbinY = 40;
68 
69  if (type == 0) {
70  SiPixelHistogramId *theHistogramId = new SiPixelHistogramId(src.label());
71 
72  if (updateEfficiencies) {
73  // EFFICIENCY
74  hisID = theHistogramId->setHistoId("efficiency", id_);
75  meEfficiency_ = iBooker.book1D(hisID, "Hit efficiency", 1, 0, 1.);
76  meEfficiency_->setAxisTitle("Hit efficiency", 1);
77 
78  hisID = theHistogramId->setHistoId("efficiencyX", id_);
79  meEfficiencyX_ = iBooker.book1D(hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
80  meEfficiencyX_->setAxisTitle("Hit efficiency in X", 1);
81 
82  hisID = theHistogramId->setHistoId("efficiencyY", id_);
83  meEfficiencyY_ = iBooker.book1D(hisID, "Hit efficiency in Y", nbinY, -4., 4.);
84  meEfficiencyY_->setAxisTitle("Hit efficiency in Y", 1);
85 
86  hisID = theHistogramId->setHistoId("efficiencyAlpha", id_);
87  meEfficiencyAlpha_ = iBooker.book1D(hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
88  meEfficiencyAlpha_->setAxisTitle("Hit efficiency in Alpha", 1);
89 
90  hisID = theHistogramId->setHistoId("efficiencyBeta", id_);
91  meEfficiencyBeta_ = iBooker.book1D(hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
92  meEfficiencyBeta_->setAxisTitle("Hit efficiency in Beta", 1);
93  }
94 
95  // VALID
96  hisID = theHistogramId->setHistoId("valid", id_);
97  meValid_ = iBooker.book1D(hisID, "# Valid hits", 1, 0, 1.);
98  meValid_->setAxisTitle("# Valid hits", 1);
99 
100  // MISSING
101  hisID = theHistogramId->setHistoId("missing", id_);
102  meMissing_ = iBooker.book1D(hisID, "# Missing hits", 1, 0, 1.);
103  meMissing_->setAxisTitle("# Missing hits", 1);
104 
105  delete theHistogramId;
106  }
107 
108  if (type == 1 && barrel) {
109  uint32_t DBladder;
110  DBladder = PixelBarrelName(DetId(id_), pTT, isUpgrade).ladderName();
111  char sladder[80];
112  sprintf(sladder, "Ladder_%02i", DBladder);
113  hisID = src.label() + "_" + sladder;
114  if (isHalfModule)
115  hisID += "H";
116  else
117  hisID += "F";
118 
119  if (updateEfficiencies) {
120  // EFFICIENCY
121  meEfficiencyLad_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
122  meEfficiencyLad_->setAxisTitle("Hit efficiency", 1);
123 
124  meEfficiencyXLad_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
125  meEfficiencyXLad_->setAxisTitle("Hit efficiency in X", 1);
126 
127  meEfficiencyYLad_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
128  meEfficiencyYLad_->setAxisTitle("Hit efficiency in Y", 1);
129 
131  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
132  meEfficiencyAlphaLad_->setAxisTitle("Hit efficiency in Alpha", 1);
133 
134  meEfficiencyBetaLad_ = iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
135  meEfficiencyBetaLad_->setAxisTitle("Hit efficiency in Beta", 1);
136  }
137 
138  // VALID
139  meValidLad_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 1, 0, 1.);
140  meValidLad_->setAxisTitle("# Valid hits", 1);
141 
142  meValidXLad_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
143  meValidXLad_->setAxisTitle("# Valid hits in X", 1);
144 
145  meValidYLad_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
146  meValidYLad_->setAxisTitle("# Valid hits in Y", 1);
147 
148  meValidModLad_ = iBooker.book1D("validMod_" + hisID, "# Valid hits on Module", 4, 0.5, 4.5);
149  meValidModLad_->setAxisTitle("# Valid hits on Module", 1);
150 
151  meValidAlphaLad_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
152  meValidAlphaLad_->setAxisTitle("# Valid hits in Alpha", 1);
153 
154  meValidBetaLad_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
155  meValidBetaLad_->setAxisTitle("# Valid hits in Beta", 1);
156 
157  // MISSING
158  meMissingLad_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 1, 0, 1.);
159  meMissingLad_->setAxisTitle("# Missing hits", 1);
160 
161  meMissingXLad_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
162  meMissingXLad_->setAxisTitle("# Missing hits in X", 1);
163 
164  meMissingYLad_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
165  meMissingYLad_->setAxisTitle("# Missing hits in Y", 1);
166 
167  meMissingModLad_ = iBooker.book1D("missingMod_" + hisID, "# Missing hits on Module", 4, 0.5, 4.5);
168  meMissingModLad_->setAxisTitle("# Missing hits on Module", 1);
169 
170  meMissingAlphaLad_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
171  meMissingAlphaLad_->setAxisTitle("# Missing hits in Alpha", 1);
172 
173  meMissingBetaLad_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
174  meMissingBetaLad_->setAxisTitle("# Missing hits in Beta", 1);
175  }
176 
177  if (type == 2 && barrel) {
178  uint32_t DBlayer;
179  DBlayer = PixelBarrelName(DetId(id_), pTT, isUpgrade).layerName();
180  char slayer[80];
181  sprintf(slayer, "Layer_%i", DBlayer);
182  hisID = src.label() + "_" + slayer;
183 
184  if (updateEfficiencies) {
185  // EFFICIENCY
186  meEfficiencyLay_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
187  meEfficiencyLay_->setAxisTitle("Hit efficiency", 1);
188 
189  meEfficiencyXLay_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
190  meEfficiencyXLay_->setAxisTitle("Hit efficiency in X", 1);
191 
192  meEfficiencyYLay_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
193  meEfficiencyYLay_->setAxisTitle("Hit efficiency in Y", 1);
194 
196  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
197  meEfficiencyAlphaLay_->setAxisTitle("Hit efficiency in Alpha", 1);
198 
199  meEfficiencyBetaLay_ = iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
200  meEfficiencyBetaLay_->setAxisTitle("Hit efficiency in Beta", 1);
201  }
202 
203  // VALID
204  meValidLay_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 1, 0, 1.);
205  meValidLay_->setAxisTitle("# Valid hits", 1);
206 
207  meValidXLay_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
208  meValidXLay_->setAxisTitle("# Valid hits in X", 1);
209 
210  meValidYLay_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
211  meValidYLay_->setAxisTitle("# Valid hits in Y", 1);
212 
213  meValidAlphaLay_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
214  meValidAlphaLay_->setAxisTitle("# Valid hits in Alpha", 1);
215 
216  meValidBetaLay_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
217  meValidBetaLay_->setAxisTitle("# Valid hits in Beta", 1);
218 
219  // MISSING
220  meMissingLay_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 1, 0, 1.);
221  meMissingLay_->setAxisTitle("# Missing hits", 1);
222 
223  meMissingXLay_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
224  meMissingXLay_->setAxisTitle("# Missing hits in X", 1);
225 
226  meMissingYLay_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
227  meMissingYLay_->setAxisTitle("# Missing hits in Y", 1);
228 
229  meMissingAlphaLay_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
230  meMissingAlphaLay_->setAxisTitle("# Missing hits in Alpha", 1);
231 
232  meMissingBetaLay_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
233  meMissingBetaLay_->setAxisTitle("# Missing hits in Beta", 1);
234  }
235 
236  if (type == 3 && barrel) {
237  uint32_t DBmodule;
238  DBmodule = PixelBarrelName(DetId(id_), pTT, isUpgrade).moduleName();
239  char smodule[80];
240  sprintf(smodule, "Ring_%i", DBmodule);
241  hisID = src.label() + "_" + smodule;
242 
243  if (updateEfficiencies) {
244  // EFFICIENCY
245  meEfficiencyPhi_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
246  meEfficiencyPhi_->setAxisTitle("Hit efficiency", 1);
247 
248  meEfficiencyXPhi_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
249  meEfficiencyXPhi_->setAxisTitle("Hit efficiency in X", 1);
250 
251  meEfficiencyYPhi_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
252  meEfficiencyYPhi_->setAxisTitle("Hit efficiency in Y", 1);
253 
255  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
256  meEfficiencyAlphaPhi_->setAxisTitle("Hit efficiency in Alpha", 1);
257 
258  meEfficiencyBetaPhi_ = iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
259  meEfficiencyBetaPhi_->setAxisTitle("Hit efficiency in Beta", 1);
260  }
261 
262  // VALID
263  meValidPhi_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 1, 0, 1.);
264  meValidPhi_->setAxisTitle("# Valid hits", 1);
265 
266  meValidXPhi_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
267  meValidXPhi_->setAxisTitle("# Valid hits in X", 1);
268 
269  meValidYPhi_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
270  meValidYPhi_->setAxisTitle("# Valid hits in Y", 1);
271 
272  meValidAlphaPhi_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
273  meValidAlphaPhi_->setAxisTitle("# Valid hits in Alpha", 1);
274 
275  meValidBetaPhi_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
276  meValidBetaPhi_->setAxisTitle("# Valid hits in Beta", 1);
277 
278  // MISSING
279  meMissingPhi_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 1, 0, 1.);
280  meMissingPhi_->setAxisTitle("# Missing hits", 1);
281 
282  meMissingXPhi_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
283  meMissingXPhi_->setAxisTitle("# Missing hits in X", 1);
284 
285  meMissingYPhi_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
286  meMissingYPhi_->setAxisTitle("# Missing hits in Y", 1);
287 
288  meMissingAlphaPhi_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
289  meMissingAlphaPhi_->setAxisTitle("# Missing hits in Alpha", 1);
290 
291  meMissingBetaPhi_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
292  meMissingBetaPhi_->setAxisTitle("# Missing hits in Beta", 1);
293  }
294 
295  if (type == 4 && endcap) {
296  uint32_t blade;
297  blade = PixelEndcapName(DetId(id_), pTT, isUpgrade).bladeName();
298 
299  char sblade[80];
300  sprintf(sblade, "Blade_%02i", blade);
301  hisID = src.label() + "_" + sblade;
302 
303  if (updateEfficiencies) {
304  // EFFICIENCY
305  meEfficiencyBlade_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
306  meEfficiencyBlade_->setAxisTitle("Hit efficiency", 1);
307 
308  meEfficiencyXBlade_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
309  meEfficiencyXBlade_->setAxisTitle("Hit efficiency in X", 1);
310 
311  meEfficiencyYBlade_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
312  meEfficiencyYBlade_->setAxisTitle("Hit efficiency in Y", 1);
313 
315  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
316  meEfficiencyAlphaBlade_->setAxisTitle("Hit efficiency in Alpha", 1);
317 
319  iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
320  meEfficiencyBetaBlade_->setAxisTitle("Hit efficiency in Beta", 1);
321  }
322 
323  // VALID
324  meValidBlade_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 2, 0.5, 2.5);
325  meValidBlade_->setAxisTitle("# Valid hits", 1);
326 
327  meValidXBlade_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
328  meValidXBlade_->setAxisTitle("# Valid hits in X", 1);
329 
330  meValidYBlade_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
331  meValidYBlade_->setAxisTitle("# Valid hits in Y", 1);
332 
333  meValidAlphaBlade_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
334  meValidAlphaBlade_->setAxisTitle("# Valid hits in Alpha", 1);
335 
336  meValidBetaBlade_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
337  meValidBetaBlade_->setAxisTitle("# Valid hits in Beta", 1);
338 
339  // MISSING
340  meMissingBlade_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 2, 0.5, 2.5);
341  meMissingBlade_->setAxisTitle("# Missing hits", 1);
342 
343  meMissingXBlade_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
344  meMissingXBlade_->setAxisTitle("# Missing hits in X", 1);
345 
346  meMissingYBlade_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
347  meMissingYBlade_->setAxisTitle("# Missing hits in Y", 1);
348 
349  meMissingAlphaBlade_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
350  meMissingAlphaBlade_->setAxisTitle("# Missing hits in Alpha", 1);
351 
352  meMissingBetaBlade_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
353  meMissingBetaBlade_->setAxisTitle("# Missing hits in Beta", 1);
354  }
355 
356  if (type == 5 && endcap) {
357  uint32_t disk;
358  disk = PixelEndcapName(DetId(id_), pTT, isUpgrade).diskName();
359 
360  char sdisk[80];
361  sprintf(sdisk, "Disk_%i", disk);
362  hisID = src.label() + "_" + sdisk;
363 
364  if (updateEfficiencies) {
365  // EFFICIENCY
366  meEfficiencyDisk_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
367  meEfficiencyDisk_->setAxisTitle("Hit efficiency", 1);
368 
369  meEfficiencyXDisk_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
370  meEfficiencyXDisk_->setAxisTitle("Hit efficiency in X", 1);
371 
372  meEfficiencyYDisk_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
373  meEfficiencyYDisk_->setAxisTitle("Hit efficiency in Y", 1);
374 
376  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
377  meEfficiencyAlphaDisk_->setAxisTitle("Hit efficiency in Alpha", 1);
378 
379  meEfficiencyBetaDisk_ = iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
380  meEfficiencyBetaDisk_->setAxisTitle("Hit efficiency in Beta", 1);
381  }
382 
383  // VALID
384  meValidDisk_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 1, 0, 1.);
385  meValidDisk_->setAxisTitle("# Valid hits", 1);
386 
387  meValidXDisk_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
388  meValidXDisk_->setAxisTitle("# Valid hits in X", 1);
389 
390  meValidYDisk_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
391  meValidYDisk_->setAxisTitle("# Valid hits in Y", 1);
392 
393  meValidAlphaDisk_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
394  meValidAlphaDisk_->setAxisTitle("# Valid hits in Alpha", 1);
395 
396  meValidBetaDisk_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
397  meValidBetaDisk_->setAxisTitle("# Valid hits in Beta", 1);
398 
399  // MISSING
400  meMissingDisk_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 1, 0, 1.);
401  meMissingDisk_->setAxisTitle("# Missing hits", 1);
402 
403  meMissingXDisk_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
404  meMissingXDisk_->setAxisTitle("# Missing hits in X", 1);
405 
406  meMissingYDisk_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
407  meMissingYDisk_->setAxisTitle("# Missing hits in Y", 1);
408 
409  meMissingAlphaDisk_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
410  meMissingAlphaDisk_->setAxisTitle("# Missing hits in Alpha", 1);
411 
412  meMissingBetaDisk_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
413  meMissingBetaDisk_->setAxisTitle("# Missing hits in Beta", 1);
414  }
415 
416  if (type == 6 && endcap) {
417  uint32_t panel;
418  uint32_t module;
419  panel = PixelEndcapName(DetId(id_), pTT, isUpgrade).pannelName();
421 
422  char slab[80];
423  sprintf(slab, "Panel_%i_Ring_%i", panel, module);
424  hisID = src.label() + "_" + slab;
425 
426  if (updateEfficiencies) {
427  // EFFICIENCY
428  meEfficiencyRing_ = iBooker.book1D("efficiency_" + hisID, "Hit efficiency", 1, 0, 1.);
429  meEfficiencyRing_->setAxisTitle("Hit efficiency", 1);
430 
431  meEfficiencyXRing_ = iBooker.book1D("efficiencyX_" + hisID, "Hit efficiency in X", nbinX, -1.5, 1.5);
432  meEfficiencyXRing_->setAxisTitle("Hit efficiency in X", 1);
433 
434  meEfficiencyYRing_ = iBooker.book1D("efficiencyY_" + hisID, "Hit efficiency in Y", nbinY, -4., 4.);
435  meEfficiencyYRing_->setAxisTitle("Hit efficiency in Y", 1);
436 
438  iBooker.book1D("efficiencyAlpha_" + hisID, "Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
439  meEfficiencyAlphaRing_->setAxisTitle("Hit efficiency in Alpha", 1);
440 
441  meEfficiencyBetaRing_ = iBooker.book1D("efficiencyBeta_" + hisID, "Hit efficiency in Beta", nbinangle, -3.5, 3.5);
442  meEfficiencyBetaRing_->setAxisTitle("Hit efficiency in Beta", 1);
443  }
444 
445  // VALID
446  meValidRing_ = iBooker.book1D("valid_" + hisID, "# Valid hits", 1, 0, 1.);
447  meValidRing_->setAxisTitle("# Valid hits", 1);
448 
449  meValidXRing_ = iBooker.book1D("validX_" + hisID, "# Valid hits in X", nbinX, -1.5, 1.5);
450  meValidXRing_->setAxisTitle("# Valid hits in X", 1);
451 
452  meValidYRing_ = iBooker.book1D("validY_" + hisID, "# Valid hits in Y", nbinY, -4., 4.);
453  meValidYRing_->setAxisTitle("# Valid hits in Y", 1);
454 
455  meValidAlphaRing_ = iBooker.book1D("validAlpha_" + hisID, "# Valid hits in Alpha", nbinangle, -3.5, 3.5);
456  meValidAlphaRing_->setAxisTitle("# Valid hits in Alpha", 1);
457 
458  meValidBetaRing_ = iBooker.book1D("validBeta_" + hisID, "# Valid hits in Beta", nbinangle, -3.5, 3.5);
459  meValidBetaRing_->setAxisTitle("# Valid hits in Beta", 1);
460 
461  // MISSING
462  meMissingRing_ = iBooker.book1D("missing_" + hisID, "# Missing hits", 1, 0, 1.);
463  meMissingRing_->setAxisTitle("# Missing hits", 1);
464 
465  meMissingXRing_ = iBooker.book1D("missingX_" + hisID, "# Missing hits in X", nbinX, -1.5, 1.5);
466  meMissingXRing_->setAxisTitle("# Missing hits in X", 1);
467 
468  meMissingYRing_ = iBooker.book1D("missingY_" + hisID, "# Missing hits in Y", nbinY, -4., 4.);
469  meMissingYRing_->setAxisTitle("# Missing hits in Y", 1);
470 
471  meMissingAlphaRing_ = iBooker.book1D("missingAlpha_" + hisID, "# Missing hits in Alpha", nbinangle, -3.5, 3.5);
472  meMissingAlphaRing_->setAxisTitle("# Missing hits in Alpha", 1);
473 
474  meMissingBetaRing_ = iBooker.book1D("missingBeta_" + hisID, "# Missing hits in Beta", nbinangle, -3.5, 3.5);
475  meMissingBetaRing_->setAxisTitle("# Missing hits in Beta", 1);
476  }
477 }
478 
480  const LocalTrajectoryParameters &ltp,
481  bool isHitValid,
482  bool modon,
483  bool ladon,
484  bool layon,
485  bool phion,
486  bool bladeon,
487  bool diskon,
488  bool ringon) {
489  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
490  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
491 
492  LocalVector localDir = ltp.momentum() / ltp.momentum().mag();
493  float prediction_alpha = atan2(localDir.z(), localDir.x());
494  float prediction_beta = atan2(localDir.z(), localDir.y());
495  float prediction_x = ltp.position().x();
496  float prediction_y = ltp.position().y();
497 
499  int imod = PBN.moduleName();
501  int ipan = PEN.pannelName();
502 
503  if (isHitValid) {
504  if (modon) {
505  meValid_->Fill(0.5);
506  }
507  if (barrel && ladon) {
508  meValidLad_->Fill(0.5);
509  meValidXLad_->Fill(prediction_x);
510  meValidYLad_->Fill(prediction_y);
511  meValidModLad_->Fill(imod);
512  meValidAlphaLad_->Fill(prediction_alpha);
513  meValidBetaLad_->Fill(prediction_beta);
514  }
515  if (barrel && layon) {
516  meValidLay_->Fill(0.5);
517  meValidXLay_->Fill(prediction_x);
518  meValidYLay_->Fill(prediction_y);
519  meValidAlphaLay_->Fill(prediction_alpha);
520  meValidBetaLay_->Fill(prediction_beta);
521  }
522  if (barrel && phion) {
523  meValidPhi_->Fill(0.5);
524  meValidXPhi_->Fill(prediction_x);
525  meValidYPhi_->Fill(prediction_y);
526  meValidAlphaPhi_->Fill(prediction_alpha);
527  meValidBetaPhi_->Fill(prediction_beta);
528  }
529  if (endcap && bladeon) {
530  meValidBlade_->Fill(ipan);
531  meValidXBlade_->Fill(prediction_x);
532  meValidYBlade_->Fill(prediction_y);
533  meValidAlphaBlade_->Fill(prediction_alpha);
534  meValidBetaBlade_->Fill(prediction_beta);
535  }
536  if (endcap && diskon) {
537  meValidDisk_->Fill(0.5);
538  meValidXDisk_->Fill(prediction_x);
539  meValidYDisk_->Fill(prediction_y);
540  meValidAlphaDisk_->Fill(prediction_alpha);
541  meValidBetaDisk_->Fill(prediction_beta);
542  }
543  if (endcap && ringon) {
544  meValidRing_->Fill(0.5);
545  meValidXRing_->Fill(prediction_x);
546  meValidYRing_->Fill(prediction_y);
547  meValidAlphaRing_->Fill(prediction_alpha);
548  meValidBetaRing_->Fill(prediction_beta);
549  }
550  } else {
551  if (modon) {
552  meMissing_->Fill(0.5);
553  }
554  if (barrel && ladon) {
555  meMissingLad_->Fill(0.5);
556  meMissingXLad_->Fill(prediction_x);
557  meMissingYLad_->Fill(prediction_y);
558  meMissingModLad_->Fill(imod);
559  meMissingAlphaLad_->Fill(prediction_alpha);
560  meMissingBetaLad_->Fill(prediction_beta);
561  }
562  if (barrel && layon) {
563  meMissingLay_->Fill(0.5);
564  meMissingXLay_->Fill(prediction_x);
565  meMissingYLay_->Fill(prediction_y);
566  meMissingAlphaLay_->Fill(prediction_alpha);
567  meMissingBetaLay_->Fill(prediction_beta);
568  }
569  if (barrel && phion) {
570  meMissingPhi_->Fill(0.5);
571  meMissingXPhi_->Fill(prediction_x);
572  meMissingYPhi_->Fill(prediction_y);
573  meMissingAlphaPhi_->Fill(prediction_alpha);
574  meMissingBetaPhi_->Fill(prediction_beta);
575  }
576  if (endcap && bladeon) {
577  meMissingBlade_->Fill(ipan);
578  meMissingXBlade_->Fill(prediction_x);
579  meMissingYBlade_->Fill(prediction_y);
580  meMissingAlphaBlade_->Fill(prediction_alpha);
581  meMissingBetaBlade_->Fill(prediction_beta);
582  }
583  if (endcap && diskon) {
584  meMissingDisk_->Fill(0.5);
585  meMissingXDisk_->Fill(prediction_x);
586  meMissingYDisk_->Fill(prediction_y);
587  meMissingAlphaDisk_->Fill(prediction_alpha);
588  meMissingBetaDisk_->Fill(prediction_beta);
589  }
590  if (endcap && ringon) {
591  meMissingRing_->Fill(0.5);
592  meMissingXRing_->Fill(prediction_x);
593  meMissingYRing_->Fill(prediction_y);
594  meMissingAlphaRing_->Fill(prediction_alpha);
595  meMissingBetaRing_->Fill(prediction_beta);
596  }
597  }
598 
599  if (updateEfficiencies)
600  computeEfficiencies(modon, ladon, layon, phion, bladeon, diskon, ringon);
601 }
602 
604  bool modon, bool ladon, bool layon, bool phion, bool bladeon, bool diskon, bool ringon) {
605  if (debug_)
606  std::cout << "Now Filling histos for detid " << id_ << std::endl;
607 
608  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
609  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
610 
611  if (modon) {
614  }
615  if (ladon && barrel) {
618  for (int i = 1; i <= meValidXLad_->getNbinsX(); ++i) {
622  }
623  for (int i = 1; i <= meValidYLad_->getNbinsX(); ++i) {
627  }
628  for (int i = 1; i <= meValidAlphaLad_->getNbinsX(); ++i) {
633  }
634  for (int i = 1; i <= meValidBetaLad_->getNbinsX(); ++i) {
639  }
640  }
641 
642  if (layon && barrel) {
645  for (int i = 1; i <= meValidXLay_->getNbinsX(); ++i) {
649  }
650  for (int i = 1; i <= meValidYLay_->getNbinsX(); ++i) {
654  }
655  for (int i = 1; i <= meValidAlphaLay_->getNbinsX(); ++i) {
660  }
661  for (int i = 1; i <= meValidBetaLay_->getNbinsX(); ++i) {
666  }
667  }
668 
669  if (phion && barrel) {
672  for (int i = 1; i <= meValidXPhi_->getNbinsX(); ++i) {
676  }
677  for (int i = 1; i <= meValidYPhi_->getNbinsX(); ++i) {
681  }
682  for (int i = 1; i <= meValidAlphaPhi_->getNbinsX(); ++i) {
687  }
688  for (int i = 1; i <= meValidBetaPhi_->getNbinsX(); ++i) {
693  }
694  }
695  if (bladeon && endcap) {
700  for (int i = 1; i <= meValidXBlade_->getNbinsX(); ++i) {
705  }
706  for (int i = 1; i <= meValidYBlade_->getNbinsX(); ++i) {
711  }
712  for (int i = 1; i <= meValidAlphaBlade_->getNbinsX(); ++i) {
717  }
718  for (int i = 1; i <= meValidBetaBlade_->getNbinsX(); ++i) {
723  }
724  }
725  if (diskon && endcap) {
728  for (int i = 1; i <= meValidXDisk_->getNbinsX(); ++i) {
733  }
734  for (int i = 1; i <= meValidYDisk_->getNbinsX(); ++i) {
739  }
740  for (int i = 1; i <= meValidAlphaDisk_->getNbinsX(); ++i) {
745  }
746  for (int i = 1; i <= meValidBetaDisk_->getNbinsX(); ++i) {
751  }
752  }
753  if (ringon && endcap) {
756  for (int i = 1; i <= meValidXRing_->getNbinsX(); ++i) {
761  }
762  for (int i = 1; i <= meValidYRing_->getNbinsX(); ++i) {
767  }
768  for (int i = 1; i <= meValidAlphaRing_->getNbinsX(); ++i) {
773  }
774  for (int i = 1; i <= meValidBetaRing_->getNbinsX(); ++i) {
779  }
780  }
781 }
782 
783 std::pair<double, double> SiPixelHitEfficiencyModule::eff(double nValid, double nMissing) {
784  double efficiency = 0, error = 0;
785  if (nValid + nMissing != 0) {
786  efficiency = nValid / (nValid + nMissing);
787  error = sqrt(efficiency * (1. - efficiency) / (nValid + nMissing));
788  }
789  return make_pair(efficiency, error);
790 }
SiPixelHitEfficiencyModule::meEfficiencyYPhi_
MonitorElement * meEfficiencyYPhi_
Definition: SiPixelHitEfficiencyModule.h:87
Vector3DBase< float, LocalTag >
SiPixelHitEfficiencyModule::meValidPhi_
MonitorElement * meValidPhi_
Definition: SiPixelHitEfficiencyModule.h:129
SiPixelHitEfficiencyModule::meMissingBetaBlade_
MonitorElement * meMissingBetaBlade_
Definition: SiPixelHitEfficiencyModule.h:183
SiPixelHitEfficiencyModule::meMissingRing_
MonitorElement * meMissingRing_
Definition: SiPixelHitEfficiencyModule.h:191
SiPixelHitEfficiencyModule::meMissingPhi_
MonitorElement * meMissingPhi_
Definition: SiPixelHitEfficiencyModule.h:173
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
SiPixelHitEfficiencyModule::meValidAlphaPhi_
MonitorElement * meValidAlphaPhi_
Definition: SiPixelHitEfficiencyModule.h:132
SiPixelHitEfficiencyModule::meValidYLad_
MonitorElement * meValidYLad_
Definition: SiPixelHitEfficiencyModule.h:118
SiPixelHitEfficiencyModule::meValidYBlade_
MonitorElement * meValidYBlade_
Definition: SiPixelHitEfficiencyModule.h:137
mps_fire.i
i
Definition: mps_fire.py:355
PixelSubdetector.h
PixelBarrelName.h
Reference_intrackfit_cff.barrel
list barrel
Definition: Reference_intrackfit_cff.py:37
SiPixelHitEfficiencyModule::meValidXRing_
MonitorElement * meValidXRing_
Definition: SiPixelHitEfficiencyModule.h:148
SiPixelHitEfficiencyModule::computeEfficiencies
void computeEfficiencies(bool modon=true, bool ladon=true, bool layon=true, bool phion=true, bool bladeon=true, bool diskon=true, bool ringon=true)
Definition: SiPixelHitEfficiencyModule.cc:603
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
SiPixelHitEfficiencyModule::meEfficiencyYLad_
MonitorElement * meEfficiencyYLad_
Definition: SiPixelHitEfficiencyModule.h:75
ESHandle.h
SiPixelHitEfficiencyModule::meValidYPhi_
MonitorElement * meValidYPhi_
Definition: SiPixelHitEfficiencyModule.h:131
SiPixelHitEfficiencyModule::meEfficiency_
MonitorElement * meEfficiency_
Definition: SiPixelHitEfficiencyModule.h:67
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
SiPixelHitEfficiencyModule::meMissingXBlade_
MonitorElement * meMissingXBlade_
Definition: SiPixelHitEfficiencyModule.h:180
SiPixelHitEfficiencyModule::meEfficiencyLad_
MonitorElement * meEfficiencyLad_
Definition: SiPixelHitEfficiencyModule.h:73
SiPixelHitEfficiencyModule::meEfficiencyAlpha_
MonitorElement * meEfficiencyAlpha_
Definition: SiPixelHitEfficiencyModule.h:70
SiPixelHitEfficiencyModule::meEfficiencyLay_
MonitorElement * meEfficiencyLay_
Definition: SiPixelHitEfficiencyModule.h:79
SiPixelHitEfficiencyModule::meValidXLay_
MonitorElement * meValidXLay_
Definition: SiPixelHitEfficiencyModule.h:124
TrackerTopology
Definition: TrackerTopology.h:16
gather_cfg.cout
cout
Definition: gather_cfg.py:144
SiPixelHitEfficiencyModule.h
SiPixelHitEfficiencyModule::meEfficiencyBetaDisk_
MonitorElement * meEfficiencyBetaDisk_
Definition: SiPixelHitEfficiencyModule.h:101
PixelBarrelName
Definition: PixelBarrelName.h:16
SiPixelHitEfficiencyModule::meMissingYLad_
MonitorElement * meMissingYLad_
Definition: SiPixelHitEfficiencyModule.h:162
SiPixelHitEfficiencyModule::meValidLay_
MonitorElement * meValidLay_
Definition: SiPixelHitEfficiencyModule.h:123
SiPixelHitEfficiencyModule::meEfficiencyPhi_
MonitorElement * meEfficiencyPhi_
Definition: SiPixelHitEfficiencyModule.h:85
DQMStore.h
SiPixelHistogramId.h
SiPixelHitEfficiencyModule::meEfficiencyAlphaBlade_
MonitorElement * meEfficiencyAlphaBlade_
Definition: SiPixelHitEfficiencyModule.h:94
SiPixelHitEfficiencyModule::id_
uint32_t id_
Definition: SiPixelHitEfficiencyModule.h:61
SiPixelHitEfficiencyModule::meMissingBetaRing_
MonitorElement * meMissingBetaRing_
Definition: SiPixelHitEfficiencyModule.h:195
SiPixelHitEfficiencyModule::meEfficiencyBetaPhi_
MonitorElement * meEfficiencyBetaPhi_
Definition: SiPixelHitEfficiencyModule.h:89
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
SiPixelHitEfficiencyModule::meValidAlphaRing_
MonitorElement * meValidAlphaRing_
Definition: SiPixelHitEfficiencyModule.h:150
L1TObjectsTimingClient_cff.efficiency
efficiency
Definition: L1TObjectsTimingClient_cff.py:10
SiPixelHitEfficiencyModule::meMissingYPhi_
MonitorElement * meMissingYPhi_
Definition: SiPixelHitEfficiencyModule.h:175
SiPixelHitEfficiencyModule::meMissing_
MonitorElement * meMissing_
Definition: SiPixelHitEfficiencyModule.h:154
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
PixelBarrelName::layerName
int layerName() const
layer id
Definition: PixelBarrelName.h:43
SiPixelHitEfficiencyModule::meMissingAlphaRing_
MonitorElement * meMissingAlphaRing_
Definition: SiPixelHitEfficiencyModule.h:194
SiPixelHitEfficiencyModule::meEfficiencyYDisk_
MonitorElement * meEfficiencyYDisk_
Definition: SiPixelHitEfficiencyModule.h:99
PixelEndcapName::pannelName
int pannelName() const
pannel id
Definition: PixelEndcapName.h:51
relativeConstraints.error
error
Definition: relativeConstraints.py:53
PixelEndcapName::bladeName
int bladeName() const
blade id
Definition: PixelEndcapName.h:48
SiPixelHitEfficiencyModule::meValidModLad_
MonitorElement * meValidModLad_
Definition: SiPixelHitEfficiencyModule.h:119
SiPixelHitEfficiencyModule::meValidXBlade_
MonitorElement * meValidXBlade_
Definition: SiPixelHitEfficiencyModule.h:136
SiPixelHitEfficiencyModule::meEfficiencyXDisk_
MonitorElement * meEfficiencyXDisk_
Definition: SiPixelHitEfficiencyModule.h:98
SiPixelHitEfficiencyModule::meValidBetaBlade_
MonitorElement * meValidBetaBlade_
Definition: SiPixelHitEfficiencyModule.h:139
SiPixelHitEfficiencyModule::meEfficiencyAlphaDisk_
MonitorElement * meEfficiencyAlphaDisk_
Definition: SiPixelHitEfficiencyModule.h:100
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
DetId
Definition: DetId.h:17
SiPixelHitEfficiencyModule::SiPixelHitEfficiencyModule
SiPixelHitEfficiencyModule()
Definition: SiPixelHitEfficiencyModule.cc:38
TrackerTopology.h
SiPixelHitEfficiencyModule::meValidBetaPhi_
MonitorElement * meValidBetaPhi_
Definition: SiPixelHitEfficiencyModule.h:133
TrackerTopologyRcd.h
PixelEndcapName
Definition: PixelEndcapName.h:16
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
LocalTrajectoryParameters::position
LocalPoint position() const
Local x and y position coordinates.
Definition: LocalTrajectoryParameters.h:85
SiPixelHitEfficiencyModule::meMissingBetaDisk_
MonitorElement * meMissingBetaDisk_
Definition: SiPixelHitEfficiencyModule.h:189
Service.h
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
SiPixelHistogramId::setHistoId
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
Definition: SiPixelHistogramId.cc:29
edm::ESHandle< TrackerTopology >
SiPixelHitEfficiencyModule::meMissingYLay_
MonitorElement * meMissingYLay_
Definition: SiPixelHitEfficiencyModule.h:169
SiPixelHitEfficiencyModule::meEfficiencyXLay_
MonitorElement * meEfficiencyXLay_
Definition: SiPixelHitEfficiencyModule.h:80
SiPixelHitEfficiencyModule::fill
void fill(const TrackerTopology *pTT, const LocalTrajectoryParameters &ltp, bool isHitValid, bool modon=true, bool ladon=true, bool layon=true, bool phion=true, bool bladeon=true, bool diskon=true, bool ringon=true)
Definition: SiPixelHitEfficiencyModule.cc:479
SiPixelHitEfficiencyModule::meMissingYDisk_
MonitorElement * meMissingYDisk_
Definition: SiPixelHitEfficiencyModule.h:187
SiPixelHitEfficiencyModule::meEfficiencyAlphaLay_
MonitorElement * meEfficiencyAlphaLay_
Definition: SiPixelHitEfficiencyModule.h:82
SiPixelHitEfficiencyModule::meEfficiencyX_
MonitorElement * meEfficiencyX_
Definition: SiPixelHitEfficiencyModule.h:68
SiPixelHitEfficiencyModule::meMissingLay_
MonitorElement * meMissingLay_
Definition: SiPixelHitEfficiencyModule.h:167
PixelBarrelName::ladderName
int ladderName() const
ladder id (index in phi)
Definition: PixelBarrelName.h:49
SiPixelHitEfficiencyModule::meEfficiencyXLad_
MonitorElement * meEfficiencyXLad_
Definition: SiPixelHitEfficiencyModule.h:74
SiPixelHitEfficiencyModule::meValidDisk_
MonitorElement * meValidDisk_
Definition: SiPixelHitEfficiencyModule.h:141
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
SiPixelHitEfficiencyModule::book
void book(const edm::ParameterSet &, edm::EventSetup const &, DQMStore::IBooker &, int type=0, bool isUpgrade=false)
Definition: SiPixelHitEfficiencyModule.cc:44
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Vertex.h
SiPixelHitEfficiencyModule::meMissingXLay_
MonitorElement * meMissingXLay_
Definition: SiPixelHitEfficiencyModule.h:168
SiPixelHitEfficiencyModule::meMissingYBlade_
MonitorElement * meMissingYBlade_
Definition: SiPixelHitEfficiencyModule.h:181
SiPixelHitEfficiencyModule::meMissingModLad_
MonitorElement * meMissingModLad_
Definition: SiPixelHitEfficiencyModule.h:163
SiPixelHistogramId
Definition: SiPixelHistogramId.h:25
edm::ParameterSet
Definition: ParameterSet.h:36
TrackRefitter_38T_cff.src
src
Definition: TrackRefitter_38T_cff.py:24
SiPixelHitEfficiencyModule::meEfficiencyYRing_
MonitorElement * meEfficiencyYRing_
Definition: SiPixelHitEfficiencyModule.h:105
SiPixelHitEfficiencyModule::meEfficiencyXBlade_
MonitorElement * meEfficiencyXBlade_
Definition: SiPixelHitEfficiencyModule.h:92
SiPixelHitEfficiencyModule::meValidYDisk_
MonitorElement * meValidYDisk_
Definition: SiPixelHitEfficiencyModule.h:143
SiPixelHitEfficiencyModule::meEfficiencyAlphaRing_
MonitorElement * meEfficiencyAlphaRing_
Definition: SiPixelHitEfficiencyModule.h:106
SiPixelHitEfficiencyModule::meEfficiencyXPhi_
MonitorElement * meEfficiencyXPhi_
Definition: SiPixelHitEfficiencyModule.h:86
SiPixelHitEfficiencyModule::updateEfficiencies
bool updateEfficiencies
Definition: SiPixelHitEfficiencyModule.h:64
SiPixelHitEfficiencyModule::meMissingDisk_
MonitorElement * meMissingDisk_
Definition: SiPixelHitEfficiencyModule.h:185
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
SiPixelHitEfficiencyModule::meMissingXRing_
MonitorElement * meMissingXRing_
Definition: SiPixelHitEfficiencyModule.h:192
SiPixelHitEfficiencyModule::meMissingXDisk_
MonitorElement * meMissingXDisk_
Definition: SiPixelHitEfficiencyModule.h:186
SiPixelHitEfficiencyModule::meMissingAlphaDisk_
MonitorElement * meMissingAlphaDisk_
Definition: SiPixelHitEfficiencyModule.h:188
SiPixelHitEfficiencyModule::meEfficiencyAlphaPhi_
MonitorElement * meEfficiencyAlphaPhi_
Definition: SiPixelHitEfficiencyModule.h:88
SiPixelHitEfficiencyModule::meValidAlphaDisk_
MonitorElement * meValidAlphaDisk_
Definition: SiPixelHitEfficiencyModule.h:144
SiPixelHitEfficiencyModule::meValidYRing_
MonitorElement * meValidYRing_
Definition: SiPixelHitEfficiencyModule.h:149
SiPixelHitEfficiencyModule::meValidBetaLay_
MonitorElement * meValidBetaLay_
Definition: SiPixelHitEfficiencyModule.h:127
edm::EventSetup
Definition: EventSetup.h:57
PixelBarrelName::moduleName
int moduleName() const
module id (index in z)
Definition: PixelBarrelName.h:46
module
Definition: vlib.h:198
get
#define get
SiPixelHitEfficiencyModule::meValidXLad_
MonitorElement * meValidXLad_
Definition: SiPixelHitEfficiencyModule.h:117
InputTag.h
SiPixelHitEfficiencyModule::meEfficiencyXRing_
MonitorElement * meEfficiencyXRing_
Definition: SiPixelHitEfficiencyModule.h:104
SiPixelHitEfficiencyModule::meEfficiencyYBlade_
MonitorElement * meEfficiencyYBlade_
Definition: SiPixelHitEfficiencyModule.h:93
VertexFwd.h
SiPixelHitEfficiencyModule::meEfficiencyDisk_
MonitorElement * meEfficiencyDisk_
Definition: SiPixelHitEfficiencyModule.h:97
SiPixelHitEfficiencyModule::meValidXPhi_
MonitorElement * meValidXPhi_
Definition: SiPixelHitEfficiencyModule.h:130
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
SiPixelHitEfficiencyModule::meValidAlphaLad_
MonitorElement * meValidAlphaLad_
Definition: SiPixelHitEfficiencyModule.h:120
SiPixelHitEfficiencyModule::meEfficiencyRing_
MonitorElement * meEfficiencyRing_
Definition: SiPixelHitEfficiencyModule.h:103
SiPixelHitEfficiencyModule::meEfficiencyBetaLay_
MonitorElement * meEfficiencyBetaLay_
Definition: SiPixelHitEfficiencyModule.h:83
dqm::impl::MonitorElement::setBinContent
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
Definition: MonitorElement.cc:691
SiPixelHitEfficiencyModule::meMissingLad_
MonitorElement * meMissingLad_
Definition: SiPixelHitEfficiencyModule.h:160
SiPixelHitEfficiencyModule::meMissingXLad_
MonitorElement * meMissingXLad_
Definition: SiPixelHitEfficiencyModule.h:161
SiPixelHitEfficiencyModule::meMissingBlade_
MonitorElement * meMissingBlade_
Definition: SiPixelHitEfficiencyModule.h:179
type
type
Definition: HCALResponse.h:21
std
Definition: JetResolutionObject.h:76
PixelEndcapName::diskName
int diskName() const
disk id
Definition: PixelEndcapName.h:45
SiPixelHitEfficiencyModule::meMissingAlphaLay_
MonitorElement * meMissingAlphaLay_
Definition: SiPixelHitEfficiencyModule.h:170
SiPixelHitEfficiencyModule::meMissingAlphaBlade_
MonitorElement * meMissingAlphaBlade_
Definition: SiPixelHitEfficiencyModule.h:182
SiPixelHitEfficiencyModule::meValidBetaRing_
MonitorElement * meValidBetaRing_
Definition: SiPixelHitEfficiencyModule.h:151
DetId.h
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
LocalTrajectoryParameters::momentum
LocalVector momentum() const
Momentum vector in the local frame.
Definition: LocalTrajectoryParameters.h:88
SiPixelHitEfficiencyModule::meValidAlphaBlade_
MonitorElement * meValidAlphaBlade_
Definition: SiPixelHitEfficiencyModule.h:138
dqm::impl::MonitorElement::getNbinsX
virtual int getNbinsX() const
get # of bins in X-axis
Definition: MonitorElement.cc:574
SiPixelHitEfficiencyModule::meMissingBetaLay_
MonitorElement * meMissingBetaLay_
Definition: SiPixelHitEfficiencyModule.h:171
SiPixelHitEfficiencyModule::meValid_
MonitorElement * meValid_
Definition: SiPixelHitEfficiencyModule.h:110
SiPixelHitEfficiencyModule::meValidRing_
MonitorElement * meValidRing_
Definition: SiPixelHitEfficiencyModule.h:147
SiPixelHitEfficiencyModule::meMissingYRing_
MonitorElement * meMissingYRing_
Definition: SiPixelHitEfficiencyModule.h:193
dqm::impl::MonitorElement::setBinError
virtual void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
Definition: MonitorElement.cc:709
SiPixelHitEfficiencyModule::meEfficiencyYLay_
MonitorElement * meEfficiencyYLay_
Definition: SiPixelHitEfficiencyModule.h:81
PixelEndcapNameUpgrade.h
dqm::implementation::IBooker
Definition: DQMStore.h:43
SiPixelHitEfficiencyModule::~SiPixelHitEfficiencyModule
~SiPixelHitEfficiencyModule()
Definition: SiPixelHitEfficiencyModule.cc:42
SiPixelHitEfficiencyModule::meValidLad_
MonitorElement * meValidLad_
Definition: SiPixelHitEfficiencyModule.h:116
SiPixelHitEfficiencyModule::meEfficiencyAlphaLad_
MonitorElement * meEfficiencyAlphaLad_
Definition: SiPixelHitEfficiencyModule.h:76
SiPixelHitEfficiencyModule::meMissingBetaLad_
MonitorElement * meMissingBetaLad_
Definition: SiPixelHitEfficiencyModule.h:165
SiPixelHitEfficiencyModule::meEfficiencyY_
MonitorElement * meEfficiencyY_
Definition: SiPixelHitEfficiencyModule.h:69
PixelEndcapName::plaquetteName
int plaquetteName() const
plaquetteId (in pannel)
Definition: PixelEndcapName.h:54
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
SiPixelHitEfficiencyModule::meMissingAlphaPhi_
MonitorElement * meMissingAlphaPhi_
Definition: SiPixelHitEfficiencyModule.h:176
SiPixelHitEfficiencyModule::eff
std::pair< double, double > eff(double nValid, double nMissing)
Definition: SiPixelHitEfficiencyModule.cc:783
SiPixelHitEfficiencyModule::debug_
bool debug_
Definition: SiPixelHitEfficiencyModule.h:63
SiPixelOfflineDQM_client_cff.isUpgrade
isUpgrade
Definition: SiPixelOfflineDQM_client_cff.py:19
SiPixelHitEfficiencyModule::meValidAlphaLay_
MonitorElement * meValidAlphaLay_
Definition: SiPixelHitEfficiencyModule.h:126
SiPixelHitEfficiencyModule::bBookTracks
bool bBookTracks
Definition: SiPixelHitEfficiencyModule.h:62
PixelBarrelNameUpgrade.h
SiPixelHitEfficiencyModule::meValidBetaLad_
MonitorElement * meValidBetaLad_
Definition: SiPixelHitEfficiencyModule.h:121
SiPixelHitEfficiencyModule::meEfficiencyBeta_
MonitorElement * meEfficiencyBeta_
Definition: SiPixelHitEfficiencyModule.h:71
SiPixelHitEfficiencyModule::meEfficiencyBetaLad_
MonitorElement * meEfficiencyBetaLad_
Definition: SiPixelHitEfficiencyModule.h:77
SiPixelHitEfficiencyModule::meEfficiencyBetaBlade_
MonitorElement * meEfficiencyBetaBlade_
Definition: SiPixelHitEfficiencyModule.h:95
SiPixelHitEfficiencyModule::meValidBetaDisk_
MonitorElement * meValidBetaDisk_
Definition: SiPixelHitEfficiencyModule.h:145
SiPixelHitEfficiencyModule::meMissingAlphaLad_
MonitorElement * meMissingAlphaLad_
Definition: SiPixelHitEfficiencyModule.h:164
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
dqm::impl::MonitorElement::getBinContent
virtual double getBinContent(int binx) const
get content of bin (1-D)
Definition: MonitorElement.cc:592
edm::InputTag
Definition: InputTag.h:15
SiPixelHitEfficiencyModule::meEfficiencyBetaRing_
MonitorElement * meEfficiencyBetaRing_
Definition: SiPixelHitEfficiencyModule.h:107
SiPixelHitEfficiencyModule::meMissingXPhi_
MonitorElement * meMissingXPhi_
Definition: SiPixelHitEfficiencyModule.h:174
SiPixelHitEfficiencyModule::meEfficiencyBlade_
MonitorElement * meEfficiencyBlade_
Definition: SiPixelHitEfficiencyModule.h:91
SiPixelHitEfficiencyModule::meMissingBetaPhi_
MonitorElement * meMissingBetaPhi_
Definition: SiPixelHitEfficiencyModule.h:177
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
SiPixelHitEfficiencyModule::meValidBlade_
MonitorElement * meValidBlade_
Definition: SiPixelHitEfficiencyModule.h:135
SiPixelHitEfficiencyModule::meValidYLay_
MonitorElement * meValidYLay_
Definition: SiPixelHitEfficiencyModule.h:125
SiPixelHitEfficiencyModule::meValidXDisk_
MonitorElement * meValidXDisk_
Definition: SiPixelHitEfficiencyModule.h:142
PixelEndcapName.h