CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EBLaserTask.cc
Go to the documentation of this file.
1 /*
2  * \file EBLaserTask.cc
3  *
4  * $Date: 2012/04/27 13:46:02 $
5  * $Revision: 1.139 $
6  * \author G. Della Ricca
7  *
8 */
9 
10 #include <iostream>
11 #include <fstream>
12 #include <vector>
13 #include <algorithm>
14 
17 
19 
21 
28 
30 
32 
34 
35  init_ = false;
36 
38 
39  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
40 
41  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
42 
43  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
44 
45  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
46  EBDigiCollection_ = ps.getParameter<edm::InputTag>("EBDigiCollection");
47  EcalPnDiodeDigiCollection_ = ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection");
48  EcalUncalibratedRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalUncalibratedRecHitCollection");
49 
50  // vector of enabled wavelengths (Default to all 4)
51  laserWavelengths_.reserve(4);
52  for ( unsigned int i = 1; i <= 4; i++ ) laserWavelengths_.push_back(i);
53  laserWavelengths_ = ps.getUntrackedParameter<std::vector<int> >("laserWavelengths", laserWavelengths_);
54 
55  for (int i = 0; i < 36; i++) {
56  meShapeMapL1_[i] = 0;
57  meAmplMapL1_[i] = 0;
58  meTimeMapL1_[i] = 0;
59  meAmplPNMapL1_[i] = 0;
60  mePnAmplMapG01L1_[i] = 0;
61  mePnPedMapG01L1_[i] = 0;
62  mePnAmplMapG16L1_[i] = 0;
63  mePnPedMapG16L1_[i] = 0;
64 
65  meShapeMapL2_[i] = 0;
66  meAmplMapL2_[i] = 0;
67  meTimeMapL2_[i] = 0;
68  meAmplPNMapL2_[i] = 0;
69  mePnAmplMapG01L2_[i] = 0;
70  mePnPedMapG01L2_[i] = 0;
71  mePnAmplMapG16L2_[i] = 0;
72  mePnPedMapG16L2_[i] = 0;
73 
74  meShapeMapL3_[i] = 0;
75  meAmplMapL3_[i] = 0;
76  meTimeMapL3_[i] = 0;
77  meAmplPNMapL3_[i] = 0;
78  mePnAmplMapG01L3_[i] = 0;
79  mePnPedMapG01L3_[i] = 0;
80  mePnAmplMapG16L3_[i] = 0;
81  mePnPedMapG16L3_[i] = 0;
82 
83  meShapeMapL4_[i] = 0;
84  meAmplMapL4_[i] = 0;
85  meTimeMapL4_[i] = 0;
86  meAmplPNMapL4_[i] = 0;
87  mePnAmplMapG01L4_[i] = 0;
88  mePnPedMapG01L4_[i] = 0;
89  mePnAmplMapG16L4_[i] = 0;
90  mePnPedMapG16L4_[i] = 0;
91  }
92 
97 
98 }
99 
101 
102 }
103 
105 
106  ievt_ = 0;
107 
108  if ( dqmStore_ ) {
109  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
110  dqmStore_->rmdir(prefixME_ + "/EBLaserTask");
111  }
112 
113 }
114 
116 
117  Numbers::initGeometry(c, false);
118 
119  if ( ! mergeRuns_ ) this->reset();
120 
121 }
122 
124 
125 }
126 
127 void EBLaserTask::reset(void) {
128 
129  for (int i = 0; i < 36; i++) {
130  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
131  if ( meShapeMapL1_[i] ) meShapeMapL1_[i]->Reset();
132  if ( meAmplMapL1_[i] ) meAmplMapL1_[i]->Reset();
133  if ( meTimeMapL1_[i] ) meTimeMapL1_[i]->Reset();
134  if ( meAmplPNMapL1_[i] ) meAmplPNMapL1_[i]->Reset();
135  }
136 
137  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
138  if ( meShapeMapL2_[i] ) meShapeMapL2_[i]->Reset();
139  if ( meAmplMapL2_[i] ) meAmplMapL2_[i]->Reset();
140  if ( meTimeMapL2_[i] ) meTimeMapL2_[i]->Reset();
141  if ( meAmplPNMapL2_[i] ) meAmplPNMapL2_[i]->Reset();
142  }
143 
144  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
145  if ( meShapeMapL3_[i] ) meShapeMapL3_[i]->Reset();
146  if ( meAmplMapL3_[i] ) meAmplMapL3_[i]->Reset();
147  if ( meTimeMapL3_[i] ) meTimeMapL3_[i]->Reset();
148  if ( meAmplPNMapL3_[i] ) meAmplPNMapL3_[i]->Reset();
149  }
150 
151  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
152  if ( meShapeMapL4_[i] ) meShapeMapL4_[i]->Reset();
153  if ( meAmplMapL4_[i] ) meAmplMapL4_[i]->Reset();
154  if ( meTimeMapL4_[i] ) meTimeMapL4_[i]->Reset();
155  if ( meAmplPNMapL4_[i] ) meAmplPNMapL4_[i]->Reset();
156  }
157 
158  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
161 
164  }
165 
166  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
169 
172  }
173 
174  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
177 
180  }
181 
182  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
185 
188  }
189  }
190 
195 
196 }
197 
199 
200  init_ = true;
201 
202  std::string name;
203  std::stringstream LaserN, LN;
204 
205  if ( dqmStore_ ) {
206  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
207 
208  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
209 
210  LaserN.str("");
211  LaserN << "Laser" << 1;
212  LN.str("");
213  LN << "L" << 1;
214 
215  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
216  for (int i = 0; i < 36; i++) {
217  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
218  meShapeMapL1_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
219  meShapeMapL1_[i]->setAxisTitle("channel", 1);
220  meShapeMapL1_[i]->setAxisTitle("sample", 2);
221  meShapeMapL1_[i]->setAxisTitle("amplitude", 3);
222  dqmStore_->tag(meShapeMapL1_[i], i+1);
223  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
224  meAmplMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
225  meAmplMapL1_[i]->setAxisTitle("ieta", 1);
226  meAmplMapL1_[i]->setAxisTitle("iphi", 2);
227  dqmStore_->tag(meAmplMapL1_[i], i+1);
228  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
229  meTimeMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
230  meTimeMapL1_[i]->setAxisTitle("ieta", 1);
231  meTimeMapL1_[i]->setAxisTitle("iphi", 2);
232  dqmStore_->tag(meTimeMapL1_[i], i+1);
233  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
234  meAmplPNMapL1_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
235  meAmplPNMapL1_[i]->setAxisTitle("ieta", 1);
236  meAmplPNMapL1_[i]->setAxisTitle("iphi", 2);
237  dqmStore_->tag(meAmplPNMapL1_[i], i+1);
238  }
239 
240  name = "EBLT amplitude map " + LN.str();
241  meAmplSummaryMapL1_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
242  meAmplSummaryMapL1_->setAxisTitle("jphi", 1);
243  meAmplSummaryMapL1_->setAxisTitle("jeta", 2);
244 
245  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
246 
247  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
248  for (int i = 0; i < 36; i++) {
249  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
250  mePnAmplMapG01L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
251  mePnAmplMapG01L1_[i]->setAxisTitle("channel", 1);
252  mePnAmplMapG01L1_[i]->setAxisTitle("amplitude", 2);
254 
255  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
256  mePnPedMapG01L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
257  mePnPedMapG01L1_[i]->setAxisTitle("channel", 1);
258  mePnPedMapG01L1_[i]->setAxisTitle("pedestal", 2);
259  dqmStore_->tag(mePnPedMapG01L1_[i], i+1);
260  }
261 
262  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
263  for (int i = 0; i < 36; i++) {
264  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
265  mePnAmplMapG16L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
266  mePnAmplMapG16L1_[i]->setAxisTitle("channel", 1);
267  mePnAmplMapG16L1_[i]->setAxisTitle("amplitude", 2);
269 
270  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
271  mePnPedMapG16L1_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
272  mePnPedMapG16L1_[i]->setAxisTitle("channel", 1);
273  mePnPedMapG16L1_[i]->setAxisTitle("pedestal", 2);
274  dqmStore_->tag(mePnPedMapG16L1_[i], i+1);
275  }
276 
277 
278  }
279 
280  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
281 
282  LaserN.str("");
283  LaserN << "Laser" << 2;
284  LN.str("");
285  LN << "L" << 2;
286 
287  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
288  for (int i = 0; i < 36; i++) {
289  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
290  meShapeMapL2_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
291  meShapeMapL2_[i]->setAxisTitle("channel", 1);
292  meShapeMapL2_[i]->setAxisTitle("sample", 2);
293  meShapeMapL2_[i]->setAxisTitle("amplitude", 3);
294  dqmStore_->tag(meShapeMapL2_[i], i+1);
295  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
296  meAmplMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
297  meAmplMapL2_[i]->setAxisTitle("ieta", 1);
298  meAmplMapL2_[i]->setAxisTitle("iphi", 2);
299  dqmStore_->tag(meAmplMapL2_[i], i+1);
300  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
301  meTimeMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
302  meTimeMapL2_[i]->setAxisTitle("ieta", 1);
303  meTimeMapL2_[i]->setAxisTitle("iphi", 2);
304  dqmStore_->tag(meTimeMapL2_[i], i+1);
305  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
306  meAmplPNMapL2_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
307  meAmplPNMapL2_[i]->setAxisTitle("ieta", 1);
308  meAmplPNMapL2_[i]->setAxisTitle("iphi", 2);
309  dqmStore_->tag(meAmplPNMapL2_[i], i+1);
310  }
311 
312  name = "EBLT amplitude map " + LN.str();
313  meAmplSummaryMapL2_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
314  meAmplSummaryMapL2_->setAxisTitle("jphi", 1);
315  meAmplSummaryMapL2_->setAxisTitle("jeta", 2);
316 
317  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
318 
319  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
320  for (int i = 0; i < 36; i++) {
321  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
322  mePnAmplMapG01L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
323  mePnAmplMapG01L2_[i]->setAxisTitle("channel", 1);
324  mePnAmplMapG01L2_[i]->setAxisTitle("amplitude", 2);
326 
327  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
328  mePnPedMapG01L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
329  mePnPedMapG01L2_[i]->setAxisTitle("channel", 1);
330  mePnPedMapG01L2_[i]->setAxisTitle("pedestal", 2);
331  dqmStore_->tag(mePnPedMapG01L2_[i], i+1);
332  }
333 
334  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
335  for (int i = 0; i < 36; i++) {
336  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
337  mePnAmplMapG16L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
338  mePnAmplMapG16L2_[i]->setAxisTitle("channel", 1);
339  mePnAmplMapG16L2_[i]->setAxisTitle("amplitude", 2);
341 
342  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
343  mePnPedMapG16L2_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
344  mePnPedMapG16L2_[i]->setAxisTitle("channel", 1);
345  mePnPedMapG16L2_[i]->setAxisTitle("pedestal", 2);
346  dqmStore_->tag(mePnPedMapG16L2_[i], i+1);
347  }
348 
349 
350  }
351 
352  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
353 
354  LaserN.str("");
355  LaserN << "Laser" << 3;
356  LN.str("");
357  LN << "L" << 3;
358 
359  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
360  for (int i = 0; i < 36; i++) {
361  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
362  meShapeMapL3_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
363  meShapeMapL3_[i]->setAxisTitle("channel", 1);
364  meShapeMapL3_[i]->setAxisTitle("sample", 2);
365  meShapeMapL3_[i]->setAxisTitle("amplitude", 3);
366  dqmStore_->tag(meShapeMapL3_[i], i+1);
367  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
368  meAmplMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
369  meAmplMapL3_[i]->setAxisTitle("ieta", 1);
370  meAmplMapL3_[i]->setAxisTitle("iphi", 2);
371  dqmStore_->tag(meAmplMapL3_[i], i+1);
372  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
373  meTimeMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
374  meTimeMapL3_[i]->setAxisTitle("ieta", 1);
375  meTimeMapL3_[i]->setAxisTitle("iphi", 2);
376  dqmStore_->tag(meTimeMapL3_[i], i+1);
377  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
378  meAmplPNMapL3_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
379  meAmplPNMapL3_[i]->setAxisTitle("ieta", 1);
380  meAmplPNMapL3_[i]->setAxisTitle("iphi", 2);
381  dqmStore_->tag(meAmplPNMapL3_[i], i+1);
382  }
383 
384  name = "EBLT amplitude map " + LN.str();
385  meAmplSummaryMapL3_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
386  meAmplSummaryMapL3_->setAxisTitle("jphi", 1);
387  meAmplSummaryMapL3_->setAxisTitle("jeta", 2);
388 
389  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
390 
391  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
392  for (int i = 0; i < 36; i++) {
393  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
394  mePnAmplMapG01L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
395  mePnAmplMapG01L3_[i]->setAxisTitle("channel", 1);
396  mePnAmplMapG01L3_[i]->setAxisTitle("amplitude", 2);
398 
399  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
400  mePnPedMapG01L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
401  mePnPedMapG01L3_[i]->setAxisTitle("channel", 1);
402  mePnPedMapG01L3_[i]->setAxisTitle("pedestal", 2);
403  dqmStore_->tag(mePnPedMapG01L3_[i], i+1);
404  }
405 
406  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
407  for (int i = 0; i < 36; i++) {
408  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
409  mePnAmplMapG16L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
410  mePnAmplMapG16L3_[i]->setAxisTitle("channel", 1);
411  mePnAmplMapG16L3_[i]->setAxisTitle("amplitude", 2);
413 
414  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
415  mePnPedMapG16L3_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
416  mePnPedMapG16L3_[i]->setAxisTitle("channel", 1);
417  mePnPedMapG16L3_[i]->setAxisTitle("pedestal", 2);
418  dqmStore_->tag(mePnPedMapG16L3_[i], i+1);
419  }
420 
421  }
422 
423  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
424 
425  LaserN.str("");
426  LaserN << "Laser" << 4;
427  LN.str("");
428  LN << "L" << 4;
429 
430  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str());
431  for (int i = 0; i < 36; i++) {
432  name = "EBLT shape " + Numbers::sEB(i+1) + " " + LN.str();
433  meShapeMapL4_[i] = dqmStore_->bookProfile2D(name, name, 1700, 0., 1700., 10, 0., 10., 4096, 0., 4096., "s");
434  meShapeMapL4_[i]->setAxisTitle("channel", 1);
435  meShapeMapL4_[i]->setAxisTitle("sample", 2);
436  meShapeMapL4_[i]->setAxisTitle("amplitude", 3);
437  dqmStore_->tag(meShapeMapL4_[i], i+1);
438  name = "EBLT amplitude " + Numbers::sEB(i+1) + " " + LN.str();
439  meAmplMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
440  meAmplMapL4_[i]->setAxisTitle("ieta", 1);
441  meAmplMapL4_[i]->setAxisTitle("iphi", 2);
442  dqmStore_->tag(meAmplMapL4_[i], i+1);
443  name = "EBLT timing " + Numbers::sEB(i+1) + " " + LN.str();
444  meTimeMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 250, 0., 10., "s");
445  meTimeMapL4_[i]->setAxisTitle("ieta", 1);
446  meTimeMapL4_[i]->setAxisTitle("iphi", 2);
447  dqmStore_->tag(meTimeMapL4_[i], i+1);
448  name = "EBLT amplitude over PN " + Numbers::sEB(i+1) + " " + LN.str();
449  meAmplPNMapL4_[i] = dqmStore_->bookProfile2D(name, name, 85, 0., 85., 20, 0., 20., 4096, 0., 4096.*12., "s");
450  meAmplPNMapL4_[i]->setAxisTitle("ieta", 1);
451  meAmplPNMapL4_[i]->setAxisTitle("iphi", 2);
452  dqmStore_->tag(meAmplPNMapL4_[i], i+1);
453  }
454 
455  name = "EBLT amplitude map " + LN.str();
456  meAmplSummaryMapL4_ = dqmStore_->bookProfile2D(name, name, 72, 0., 360., 34, -85., 85., 0., 4096.);
457  meAmplSummaryMapL4_->setAxisTitle("jphi", 1);
458  meAmplSummaryMapL4_->setAxisTitle("jeta", 2);
459 
460  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN");
461 
462  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain01");
463  for (int i = 0; i < 36; i++) {
464  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G01 " + LN.str();
465  mePnAmplMapG01L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
466  mePnAmplMapG01L4_[i]->setAxisTitle("channel", 1);
467  mePnAmplMapG01L4_[i]->setAxisTitle("amplitude", 2);
469 
470  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G01 " + LN.str();
471  mePnPedMapG01L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
472  mePnPedMapG01L4_[i]->setAxisTitle("channel", 1);
473  mePnPedMapG01L4_[i]->setAxisTitle("pedestal", 2);
474  dqmStore_->tag(mePnPedMapG01L4_[i], i+1);
475  }
476 
477  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/" + LaserN.str() + "/PN/Gain16");
478  for (int i = 0; i < 36; i++) {
479  name = "EBLT PNs amplitude " + Numbers::sEB(i+1) + " G16 " + LN.str(),
480  mePnAmplMapG16L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
481  mePnAmplMapG16L4_[i]->setAxisTitle("channel", 1);
482  mePnAmplMapG16L4_[i]->setAxisTitle("amplitude", 2);
484 
485  name = "EBLT PNs pedestal " + Numbers::sEB(i+1) + " G16 " + LN.str();
486  mePnPedMapG16L4_[i] = dqmStore_->bookProfile(name, name, 10, 0., 10., 4096, 0., 4096., "s");
487  mePnPedMapG16L4_[i]->setAxisTitle("channel", 1);
488  mePnPedMapG16L4_[i]->setAxisTitle("pedestal", 2);
489  dqmStore_->tag(mePnPedMapG16L4_[i], i+1);
490  }
491 
492  }
493 
494  }
495 
496 }
497 
499 
500  if ( ! init_ ) return;
501 
502  if ( dqmStore_ ) {
503  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask");
504 
505  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
506  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1");
507  for (int i = 0; i < 36; i++) {
509  meShapeMapL1_[i] = 0;
511  meAmplMapL1_[i] = 0;
513  meTimeMapL1_[i] = 0;
515  meAmplPNMapL1_[i] = 0;
516  }
519  }
520 
521  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
522  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2");
523  for (int i = 0; i < 36; i++) {
525  meShapeMapL2_[i] = 0;
527  meAmplMapL2_[i] = 0;
529  meTimeMapL2_[i] = 0;
531  meAmplPNMapL2_[i] = 0;
532  }
535  }
536 
537  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
538  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3");
539  for (int i = 0; i < 36; i++) {
541  meShapeMapL3_[i] = 0;
543  meAmplMapL3_[i] = 0;
545  meTimeMapL3_[i] = 0;
547  meAmplPNMapL3_[i] = 0;
548  }
551  }
552 
553  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
554  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4");
555  for (int i = 0; i < 36; i++) {
557  meShapeMapL4_[i] = 0;
559  meAmplMapL4_[i] = 0;
561  meTimeMapL4_[i] = 0;
563  meAmplPNMapL4_[i] = 0;
564  }
567  }
568 
569  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 1) != laserWavelengths_.end() ) {
570  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN");
571 
572  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN/Gain01");
573  for (int i = 0; i < 36; i++) {
575  mePnAmplMapG01L1_[i] = 0;
577  mePnPedMapG01L1_[i] = 0;
578  }
579 
580  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser1/PN/Gain16");
581  for (int i = 0; i < 36; i++) {
583  mePnAmplMapG16L1_[i] = 0;
585  mePnPedMapG16L1_[i] = 0;
586  }
587  }
588 
589  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 2) != laserWavelengths_.end() ) {
590  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN");
591 
592  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN/Gain01");
593  for (int i = 0; i < 36; i++) {
595  mePnAmplMapG01L2_[i] = 0;
597  mePnPedMapG01L2_[i] = 0;
598  }
599 
600  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser2/PN/Gain16");
601  for (int i = 0; i < 36; i++) {
603  mePnAmplMapG16L2_[i] = 0;
605  mePnPedMapG16L2_[i] = 0;
606  }
607  }
608 
609  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 3) != laserWavelengths_.end() ) {
610  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN");
611 
612  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN/Gain01");
613  for (int i = 0; i < 36; i++) {
615  mePnAmplMapG01L3_[i] = 0;
617  mePnPedMapG01L3_[i] = 0;
618  }
619 
620  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser3/PN/Gain16");
621  for (int i = 0; i < 36; i++) {
623  mePnAmplMapG16L3_[i] = 0;
625  mePnPedMapG16L3_[i] = 0;
626  }
627  }
628 
629  if ( find(laserWavelengths_.begin(), laserWavelengths_.end(), 4) != laserWavelengths_.end() ) {
630  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN");
631 
632  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN/Gain01");
633  for (int i = 0; i < 36; i++) {
635  mePnAmplMapG01L4_[i] = 0;
637  mePnPedMapG01L4_[i] = 0;
638  }
639 
640  dqmStore_->setCurrentFolder(prefixME_ + "/EBLaserTask/Laser4/PN/Gain16");
641  for (int i = 0; i < 36; i++) {
643  mePnAmplMapG16L4_[i] = 0;
645  mePnPedMapG16L4_[i] = 0;
646  }
647 
648  }
649 
650  }
651 
652  init_ = false;
653 
654 }
655 
657 
658  edm::LogInfo("EBLaserTask") << "analyzed " << ievt_ << " events";
659 
660  if ( enableCleanup_ ) this->cleanup();
661 
662 }
663 
665 
666  bool enable = false;
667  int runType[36];
668  for (int i=0; i<36; i++) runType[i] = -1;
669  unsigned rtHalf[36];
670  for (int i=0; i<36; i++) rtHalf[i] = -1;
671  int waveLength[36];
672  for (int i=0; i<36; i++) waveLength[i] = -1;
673 
675 
676  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {
677 
678  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
679 
680  if ( Numbers::subDet( *dcchItr ) != EcalBarrel ) continue;
681 
682  int ism = Numbers::iSM( *dcchItr, EcalBarrel );
683 
684  runType[ism-1] = dcchItr->getRunType();
685  rtHalf[ism-1] = dcchItr->getRtHalf();
686  waveLength[ism-1] = dcchItr->getEventSettings().wavelength;
687 
688  if ( dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_STD ||
689  dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_GAP ) enable = true;
690 
691  }
692 
693  } else {
694 
695  edm::LogWarning("EBLaserTask") << EcalRawDataCollection_ << " not available";
696 
697  }
698 
699  if ( ! enable ) return;
700 
701  if ( ! init_ ) this->setup();
702 
703  ievt_++;
704 
706 
707  if ( e.getByLabel(EBDigiCollection_, digis) ) {
708 
709  int maxpos[10];
710  for(int i(0); i < 10; i++)
711  maxpos[i] = 0;
712 
713  int nReadouts(0);
714 
715  for ( EBDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
716 
717  EBDetId id = digiItr->id();
718 
719  int ism = Numbers::iSM( id );
720 
721  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
722  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
723 
724  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
725 
726  nReadouts++;
727 
728  EBDataFrame dataframe = (*digiItr);
729 
730  int iMax(-1);
731  float max(0.);
732  float min(4096.);
733  for (int i = 0; i < 10; i++) {
734  int adc = dataframe.sample(i).adc();
735  if(adc > max){
736  max = adc;
737  iMax = i;
738  }
739  if(adc < min)
740  min = adc;
741  }
742  if(iMax >= 0 && max - min > 20.)
743  maxpos[iMax] += 1;
744 
745  }
746 
747  int threshold(nReadouts / 2);
748  enable = false;
749  for(int i(0); i < 10; i++){
750  if(maxpos[i] > threshold){
751  enable = true;
752  break;
753  }
754  }
755 
756  if(!enable) return;
757 
758  int nebd = digis->size();
759  LogDebug("EBLaserTask") << "event " << ievt_ << " digi collection size " << nebd;
760 
761  for ( EBDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
762 
763  EBDetId id = digiItr->id();
764 
765  int ic = id.ic();
766 
767  int ism = Numbers::iSM( id );
768 
769  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
770  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
771 
772  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
773 
774  EBDataFrame dataframe = (*digiItr);
775 
776  for (int i = 0; i < 10; i++) {
777 
778  int adc = dataframe.sample(i).adc();
779 
780  MonitorElement* meShapeMap = 0;
781 
782  if ( rtHalf[ism-1] == 0 || rtHalf[ism-1] == 1 ) {
783 
784  if ( waveLength[ism-1] == 0 ) meShapeMap = meShapeMapL1_[ism-1];
785  if ( waveLength[ism-1] == 1 ) meShapeMap = meShapeMapL2_[ism-1];
786  if ( waveLength[ism-1] == 2 ) meShapeMap = meShapeMapL3_[ism-1];
787  if ( waveLength[ism-1] == 3 ) meShapeMap = meShapeMapL4_[ism-1];
788 
789  } else {
790 
791  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
792 
793  }
794 
795  float xval = float(adc);
796 
797  if ( meShapeMap ) meShapeMap->Fill(ic - 0.5, i + 0.5, xval);
798 
799  }
800 
801  }
802 
803  } else {
804 
805  edm::LogWarning("EBLaserTask") << EBDigiCollection_ << " not available";
806 
807  }
808 
809  float adcA[36];
810  float adcB[36];
811 
812  for ( int i = 0; i < 36; i++ ) {
813  adcA[i] = 0.;
814  adcB[i] = 0.;
815  }
816 
818 
819  if ( e.getByLabel(EcalPnDiodeDigiCollection_, pns) ) {
820 
821  int nep = pns->size();
822  LogDebug("EBLaserTask") << "event " << ievt_ << " pns collection size " << nep;
823 
824  for ( EcalPnDiodeDigiCollection::const_iterator pnItr = pns->begin(); pnItr != pns->end(); ++pnItr ) {
825 
826  if ( Numbers::subDet( pnItr->id() ) != EcalBarrel ) continue;
827 
828  int ism = Numbers::iSM( pnItr->id() );
829 
830  int num = pnItr->id().iPnId();
831 
832  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
833  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
834 
835  float xvalped = 0.;
836 
837  for (int i = 0; i < 4; i++) {
838 
839  int adc = pnItr->sample(i).adc();
840 
841  MonitorElement* mePNPed = 0;
842 
843  if ( pnItr->sample(i).gainId() == 0 ) {
844  if ( waveLength[ism-1] == 0 ) mePNPed = mePnPedMapG01L1_[ism-1];
845  if ( waveLength[ism-1] == 1 ) mePNPed = mePnPedMapG01L2_[ism-1];
846  if ( waveLength[ism-1] == 2 ) mePNPed = mePnPedMapG01L3_[ism-1];
847  if ( waveLength[ism-1] == 3 ) mePNPed = mePnPedMapG01L4_[ism-1];
848  }
849  if ( pnItr->sample(i).gainId() == 1 ) {
850  if ( waveLength[ism-1] == 0 ) mePNPed = mePnPedMapG16L1_[ism-1];
851  if ( waveLength[ism-1] == 1 ) mePNPed = mePnPedMapG16L2_[ism-1];
852  if ( waveLength[ism-1] == 2 ) mePNPed = mePnPedMapG16L3_[ism-1];
853  if ( waveLength[ism-1] == 3 ) mePNPed = mePnPedMapG16L4_[ism-1];
854  }
855 
856  float xval = float(adc);
857 
858  if ( mePNPed ) mePNPed->Fill(num - 0.5, xval);
859 
860  xvalped = xvalped + xval;
861 
862  }
863 
864  xvalped = xvalped / 4;
865 
866  float xvalmax = 0.;
867 
868  MonitorElement* mePN = 0;
869 
870  for (int i = 0; i < 50; i++) {
871 
872  int adc = pnItr->sample(i).adc();
873 
874  float xval = float(adc);
875 
876  if ( xval >= xvalmax ) xvalmax = xval;
877 
878  }
879 
880  xvalmax = xvalmax - xvalped;
881 
882  if ( pnItr->sample(0).gainId() == 0 ) {
883  if ( waveLength[ism-1] == 0 ) mePN = mePnAmplMapG01L1_[ism-1];
884  if ( waveLength[ism-1] == 1 ) mePN = mePnAmplMapG01L2_[ism-1];
885  if ( waveLength[ism-1] == 2 ) mePN = mePnAmplMapG01L3_[ism-1];
886  if ( waveLength[ism-1] == 3 ) mePN = mePnAmplMapG01L4_[ism-1];
887  }
888  if ( pnItr->sample(0).gainId() == 1 ) {
889  if ( waveLength[ism-1] == 0 ) mePN = mePnAmplMapG16L1_[ism-1];
890  if ( waveLength[ism-1] == 1 ) mePN = mePnAmplMapG16L2_[ism-1];
891  if ( waveLength[ism-1] == 2 ) mePN = mePnAmplMapG16L3_[ism-1];
892  if ( waveLength[ism-1] == 3 ) mePN = mePnAmplMapG16L4_[ism-1];
893  }
894 
895  if ( mePN ) mePN->Fill(num - 0.5, xvalmax);
896 
897  if ( num == 1 ) adcA[ism-1] = xvalmax;
898  if ( num == 6 ) adcB[ism-1] = xvalmax;
899 
900  }
901 
902  } else {
903 
904  edm::LogWarning("EBLaserTask") << EcalPnDiodeDigiCollection_ << " not available";
905 
906  }
907 
909 
911 
912  int neh = hits->size();
913  LogDebug("EBLaserTask") << "event " << ievt_ << " hits collection size " << neh;
914 
915  for ( EcalUncalibratedRecHitCollection::const_iterator hitItr = hits->begin(); hitItr != hits->end(); ++hitItr ) {
916 
917  EBDetId id = hitItr->id();
918 
919  int ic = id.ic();
920  int ie = (ic-1)/20 + 1;
921  int ip = (ic-1)%20 + 1;
922 
923  int ism = Numbers::iSM( id );
924 
925  float xie = ie - 0.5;
926  float xip = ip - 0.5;
927 
928  if ( ! ( runType[ism-1] == EcalDCCHeaderBlock::LASER_STD ||
929  runType[ism-1] == EcalDCCHeaderBlock::LASER_GAP ) ) continue;
930 
931  if ( rtHalf[ism-1] != Numbers::RtHalf(id) ) continue;
932 
933  MonitorElement* meAmplMap = 0;
934  MonitorElement* meTimeMap = 0;
935  MonitorElement* meAmplPNMap = 0;
936  MonitorElement* meAmplSummaryMap = 0;
937 
938  if ( rtHalf[ism-1] == 0 || rtHalf[ism-1] == 1 ) {
939 
940  if ( waveLength[ism-1] == 0 ) {
941  meAmplMap = meAmplMapL1_[ism-1];
942  meTimeMap = meTimeMapL1_[ism-1];
943  meAmplPNMap = meAmplPNMapL1_[ism-1];
944  meAmplSummaryMap = meAmplSummaryMapL1_;
945  }
946  if ( waveLength[ism-1] == 1 ) {
947  meAmplMap = meAmplMapL2_[ism-1];
948  meTimeMap = meTimeMapL2_[ism-1];
949  meAmplPNMap = meAmplPNMapL2_[ism-1];
950  meAmplSummaryMap = meAmplSummaryMapL2_;
951  }
952  if ( waveLength[ism-1] == 2 ) {
953  meAmplMap = meAmplMapL3_[ism-1];
954  meTimeMap = meTimeMapL3_[ism-1];
955  meAmplPNMap = meAmplPNMapL3_[ism-1];
956  meAmplSummaryMap = meAmplSummaryMapL3_;
957  }
958  if ( waveLength[ism-1] == 3 ) {
959  meAmplMap = meAmplMapL4_[ism-1];
960  meTimeMap = meTimeMapL4_[ism-1];
961  meAmplPNMap = meAmplPNMapL4_[ism-1];
962  meAmplSummaryMap = meAmplSummaryMapL4_;
963  }
964 
965  } else {
966 
967  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
968 
969  }
970 
971  float xval = hitItr->amplitude();
972  if ( xval <= 0. ) xval = 0.0;
973  float yval = hitItr->jitter() + 5.0;
974  if ( yval <= 0. ) yval = 0.0;
975  float zval = hitItr->pedestal();
976  if ( zval <= 0. ) zval = 0.0;
977 
978  if ( meAmplMap ) meAmplMap->Fill(xie, xip, xval);
979 
980  if ( xval > 12. ) {
981  if ( meTimeMap ) meTimeMap->Fill(xie, xip, yval);
982  }
983 
984  float wval = 0.;
985 
986  if ( rtHalf[ism-1] == 0 ) {
987 
988  if ( adcA[ism-1] != 0. ) wval = xval / adcA[ism-1];
989 
990  } else if ( rtHalf[ism-1] == 1 ) {
991 
992  if ( adcB[ism-1] != 0. ) wval = xval / adcB[ism-1];
993 
994  } else {
995 
996  edm::LogWarning("EBLaserTask") << " RtHalf = " << rtHalf[ism-1];
997 
998  }
999 
1000  if ( meAmplPNMap ) meAmplPNMap->Fill(xie, xip, wval);
1001 
1002  float xjp = id.iphi() - 0.5;
1003  float xje = id.ieta() - 0.5 * id.zside();
1004 
1005  if( meAmplSummaryMap ) meAmplSummaryMap->Fill(xjp, xje, xval);
1006 
1007  }
1008 
1009  } else {
1010 
1011  edm::LogWarning("EBLaserTask") << EcalUncalibratedRecHitCollection_ << " not available";
1012 
1013  }
1014 
1015 }
1016 
#define LogDebug(id)
int adc(sample_type sample)
get the ADC sample (12 bits)
MonitorElement * mePnAmplMapG16L3_[36]
Definition: EBLaserTask.h:98
MonitorElement * meTimeMapL4_[36]
Definition: EBLaserTask.h:103
MonitorElement * meShapeMapL3_[36]
Definition: EBLaserTask.h:92
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
int i
Definition: DBlmapReader.cc:9
MonitorElement * meTimeMapL2_[36]
Definition: EBLaserTask.h:85
MonitorElement * meAmplSummaryMapL4_
Definition: EBLaserTask.h:113
void cleanup(void)
Cleanup.
Definition: EBLaserTask.cc:498
MonitorElement * meAmplSummaryMapL1_
Definition: EBLaserTask.h:110
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
edm::InputTag EcalUncalibratedRecHitCollection_
Definition: EBLaserTask.h:71
MonitorElement * mePnPedMapG16L3_[36]
Definition: EBLaserTask.h:99
void beginJob(void)
BeginJob.
Definition: EBLaserTask.cc:104
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2530
MonitorElement * meAmplMapL2_[36]
Definition: EBLaserTask.h:84
Some &quot;id&quot; conversions.
static std::string sEB(const unsigned ism)
Definition: Numbers.cc:94
std::vector< int > laserWavelengths_
Definition: EBLaserTask.h:72
edm::InputTag EBDigiCollection_
Definition: EBLaserTask.h:69
std::vector< T >::const_iterator const_iterator
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:30
MonitorElement * meAmplPNMapL4_[36]
Definition: EBLaserTask.h:104
#define min(a, b)
Definition: mlp_lapack.h:161
edm::InputTag EcalRawDataCollection_
Definition: EBLaserTask.h:68
virtual ~EBLaserTask()
Destructor.
Definition: EBLaserTask.cc:100
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
MonitorElement * meTimeMapL1_[36]
Definition: EBLaserTask.h:76
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
Definition: EBLaserTask.cc:123
MonitorElement * mePnAmplMapG01L2_[36]
Definition: EBLaserTask.h:87
void endJob(void)
EndJob.
Definition: EBLaserTask.cc:656
EBLaserTask(const edm::ParameterSet &ps)
Constructor.
Definition: EBLaserTask.cc:33
void Fill(long long x)
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1354
MonitorElement * mePnPedMapG16L2_[36]
Definition: EBLaserTask.h:90
void reset(void)
Reset.
Definition: EBLaserTask.cc:127
edm::InputTag EcalPnDiodeDigiCollection_
Definition: EBLaserTask.h:70
MonitorElement * meTimeMapL3_[36]
Definition: EBLaserTask.h:94
const T & max(const T &a, const T &b)
MonitorElement * mePnAmplMapG01L4_[36]
Definition: EBLaserTask.h:105
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
Definition: EBLaserTask.cc:664
MonitorElement * meAmplMapL4_[36]
Definition: EBLaserTask.h:102
void removeElement(const std::string &name)
Definition: DQMStore.cc:2572
MonitorElement * mePnPedMapG01L3_[36]
Definition: EBLaserTask.h:97
MonitorElement * mePnAmplMapG16L2_[36]
Definition: EBLaserTask.h:89
MonitorElement * meAmplSummaryMapL2_
Definition: EBLaserTask.h:111
MonitorElement * meShapeMapL4_[36]
Definition: EBLaserTask.h:101
DQMStore * dqmStore_
Definition: EBLaserTask.h:60
MonitorElement * meAmplPNMapL1_[36]
Definition: EBLaserTask.h:77
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1031
void setup(void)
Setup.
Definition: EBLaserTask.cc:198
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
MonitorElement * mePnPedMapG01L1_[36]
Definition: EBLaserTask.h:79
MonitorElement * mePnAmplMapG16L4_[36]
Definition: EBLaserTask.h:107
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
int ic() const
get ECAL/crystal number inside SM
Definition: EBDetId.cc:94
MonitorElement * meAmplPNMapL2_[36]
Definition: EBLaserTask.h:86
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
Definition: EBLaserTask.cc:115
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:50
MonitorElement * meAmplMapL1_[36]
Definition: EBLaserTask.h:75
long long int num
Definition: procUtils.cc:71
MonitorElement * meShapeMapL2_[36]
Definition: EBLaserTask.h:83
MonitorElement * meShapeMapL1_[36]
Definition: EBLaserTask.h:74
bool mergeRuns_
Definition: EBLaserTask.h:66
static unsigned iSM(const unsigned ism, const EcalSubdetector subdet)
Definition: Numbers.cc:246
bool enableCleanup_
Definition: EBLaserTask.h:64
MonitorElement * mePnAmplMapG01L3_[36]
Definition: EBLaserTask.h:96
static unsigned RtHalf(const EBDetId &id)
Definition: Numbers.cc:608
MonitorElement * mePnAmplMapG16L1_[36]
Definition: EBLaserTask.h:80
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:145
MonitorElement * mePnAmplMapG01L1_[36]
Definition: EBLaserTask.h:78
MonitorElement * mePnPedMapG01L4_[36]
Definition: EBLaserTask.h:106
MonitorElement * mePnPedMapG16L1_[36]
Definition: EBLaserTask.h:81
std::string prefixME_
Definition: EBLaserTask.h:62
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:56
MonitorElement * meAmplMapL3_[36]
Definition: EBLaserTask.h:93
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meAmplPNMapL3_[36]
Definition: EBLaserTask.h:95
MonitorElement * mePnPedMapG16L4_[36]
Definition: EBLaserTask.h:108
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
MonitorElement * mePnPedMapG01L2_[36]
Definition: EBLaserTask.h:88
Definition: Run.h:33
int adc() const
get the ADC sample (12 bits)
MonitorElement * meAmplSummaryMapL3_
Definition: EBLaserTask.h:112
MonitorElement * bookProfile2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, int nchZ, double lowZ, double highZ, const char *option="s")
Definition: DQMStore.cc:1175