CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EBTrendTask.cc
Go to the documentation of this file.
1 /*
2  * \file EBTrendTask.cc
3  *
4  * \author Dongwook Jang, Soon Yung Jun
5  *
6 */
7 
8 #include <iostream>
9 #include <fstream>
10 #include <math.h>
11 
14 
17 
25 
31 
34 
35 #include "TProfile.h"
36 
38 
39  init_ = false;
40 
42 
43  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
44  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
45  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
46  verbose_ = ps.getUntrackedParameter<bool>("verbose", false);
47 
48  // parameters...
49  EBDigiCollection_ = consumes<EBDigiCollection>(ps.getParameter<edm::InputTag>("EBDigiCollection"));
50  EcalPnDiodeDigiCollection_ = consumes<EcalPnDiodeDigiCollection>(ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection"));
51  EcalTrigPrimDigiCollection_ = consumes<EcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollection"));
52  EcalRecHitCollection_ = consumes<EcalRecHitCollection>(ps.getParameter<edm::InputTag>("EcalRecHitCollection"));
53  BasicClusterCollection_ = consumes<reco::BasicClusterCollection>(ps.getParameter<edm::InputTag>("BasicClusterCollection"));
54  SuperClusterCollection_ = consumes<reco::SuperClusterCollection>(ps.getParameter<edm::InputTag>("SuperClusterCollection"));
55  EBDetIdCollection0_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("EBDetIdCollection0"));
56  EBDetIdCollection1_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("EBDetIdCollection1"));
57  EBDetIdCollection2_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("EBDetIdCollection2"));
58  EBDetIdCollection3_ = consumes<EBDetIdCollection>(ps.getParameter<edm::InputTag>("EBDetIdCollection3"));
59  EcalElectronicsIdCollection1_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection1"));
60  EcalElectronicsIdCollection2_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection2"));
61  EcalElectronicsIdCollection3_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection3"));
62  EcalElectronicsIdCollection4_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection4"));
63  EcalElectronicsIdCollection5_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection5"));
64  EcalElectronicsIdCollection6_ = consumes<EcalElectronicsIdCollection>(ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection6"));
65  FEDRawDataCollection_ = consumes<FEDRawDataCollection>(ps.getParameter<edm::InputTag>("FEDRawDataCollection"));
66  EBSRFlagCollection_ = consumes<EBSrFlagCollection>(ps.getParameter<edm::InputTag>("EBSRFlagCollection"));
67 
68  // histograms...
69  nEBDigiMinutely_ = 0;
80 
81  nEBDigiHourly_ = 0;
91  nEBSRFlagHourly_ = 0;
92 }
93 
94 
96 }
97 
98 
100 
101  ievt_ = 0;
102 
103  if ( dqmStore_ ) {
104  dqmStore_->setCurrentFolder(prefixME_ + "/EBTrendTask");
105  dqmStore_->rmdir(prefixME_ + "/EBTrendTask");
106  }
107 
108 }
109 
110 
112 
113  Numbers::initGeometry(c, false);
114 
115  if ( ! mergeRuns_ ) this->reset();
116 
117  start_time_ = time(NULL);
118 
119 }
120 
121 
123 
124 }
125 
126 
127 void EBTrendTask::reset(void) {
128 
140 
152 
153 }
154 
155 
157 
158  init_ = true;
159 
161 
162  if ( dqmStore_ ) {
163  dqmStore_->setCurrentFolder(prefixME_ + "/EBTrendTask");
164 
165  // minutely
166 
167  name = "AverageNumberOfEBDigiVs5Minutes";
168  nEBDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
169  nEBDigiMinutely_->setAxisTitle("Minutes", 1);
170  nEBDigiMinutely_->setAxisTitle("Average Number of EBDigi / 5 minutes", 2);
171 
172  name = "AverageNumberOfEcalPnDiodeDigiVs5Minutes";
173  nEcalPnDiodeDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
175  nEcalPnDiodeDigiMinutely_->setAxisTitle("Average Number of EcalPnDiodeDigi / 5 minutes", 2);
176 
177  name = "AverageNumberOfEcalRecHitVs5Minutes";
178  nEcalRecHitMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
179  nEcalRecHitMinutely_->setAxisTitle("Minutes", 1);
180  nEcalRecHitMinutely_->setAxisTitle("Average Number of EcalRecHit / 5 minutes", 2);
181 
182  name = "AverageNumberOfEcalTrigPrimDigiVs5Minutes";
183  nEcalTrigPrimDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
185  nEcalTrigPrimDigiMinutely_->setAxisTitle("Average Number of EcalTrigPrimDigi / 5 minutes", 2);
186 
187  name = "AverageNumberOfBasicClusterVs5Minutes";
188  nBasicClusterMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
189  nBasicClusterMinutely_->setAxisTitle("Minutes", 1);
190  nBasicClusterMinutely_->setAxisTitle("Average Number of BasicClusters / 5 minutes", 2);
191 
192  name = "AverageNumberOfBasicClusterSizeVs5Minutes";
193  nBasicClusterSizeMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
195  nBasicClusterSizeMinutely_->setAxisTitle("Average Size of BasicClusters / 5 minutes", 2);
196 
197  name = "AverageNumberOfSuperClusterVs5Minutes";
198  nSuperClusterMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
199  nSuperClusterMinutely_->setAxisTitle("Minutes", 1);
200  nSuperClusterMinutely_->setAxisTitle("Average Number of SuperClusters / 5 minutes", 2);
201 
202  name = "AverageNumberOfSuperClusterSizeVs5Minutes";
203  nSuperClusterSizeMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
205  nSuperClusterSizeMinutely_->setAxisTitle("Average Size of SuperClusters / 5 minutes", 2);
206 
207  name = "AverageNumberOfIntegrityErrorVs5Minutes";
208  nIntegrityErrorMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
209  nIntegrityErrorMinutely_->setAxisTitle("Minutes", 1);
210  nIntegrityErrorMinutely_->setAxisTitle("Average IntegrityErrors / 5 minutes", 2);
211 
212  name = "AverageNumberOfFEDEBRawDataVs5Minutes";
213  nFEDEBRawDataMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
214  nFEDEBRawDataMinutely_->setAxisTitle("Minutes", 1);
215  nFEDEBRawDataMinutely_->setAxisTitle("Average Number of FEDRawData in EB / 5 minutes", 2);
216 
217  name = "AverageNumberOfEBSRFlagVs5Minutes";
218  nEBSRFlagMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
219  nEBSRFlagMinutely_->setAxisTitle("Minutes", 1);
220  nEBSRFlagMinutely_->setAxisTitle("Average Number of EBSRFlag / 5 minutes", 2);
221 
222  // hourly
223 
224  name = "AverageNumberOfEBDigiVs1Hour";
225  nEBDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
226  nEBDigiHourly_->setAxisTitle("Hours", 1);
227  nEBDigiHourly_->setAxisTitle("Average Number of EBDigi / hour", 2);
228 
229  name = "AverageNumberOfEcalPnDiodeDigiVs1Hour";
230  nEcalPnDiodeDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
232  nEcalPnDiodeDigiHourly_->setAxisTitle("Average Number of EcalPnDiodeDigi / hour", 2);
233 
234  name = "AverageNumberOfEcalRecHitVs1Hour";
235  nEcalRecHitHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
236  nEcalRecHitHourly_->setAxisTitle("Hours", 1);
237  nEcalRecHitHourly_->setAxisTitle("Average Number of EcalRecHit / hour", 2);
238 
239  name = "AverageNumberOfEcalTrigPrimDigiVs1Hour";
240  nEcalTrigPrimDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
242  nEcalTrigPrimDigiHourly_->setAxisTitle("Average Number of EcalTrigPrimDigi / hour", 2);
243 
244  name = "AverageNumberOfBasicClusterVs1Hour";
245  nBasicClusterHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
246  nBasicClusterHourly_->setAxisTitle("Hours", 1);
247  nBasicClusterHourly_->setAxisTitle("Average Number of BasicClusters / hour", 2);
248 
249  name = "AverageNumberOfBasicClusterSizeVs1Hour";
250  nBasicClusterSizeHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
252  nBasicClusterSizeHourly_->setAxisTitle("Average Size of BasicClusters / hour", 2);
253 
254  name = "AverageNumberOfSuperClusterVs1Hour";
255  nSuperClusterHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
256  nSuperClusterHourly_->setAxisTitle("Hours", 1);
257  nSuperClusterHourly_->setAxisTitle("Average Number of SuperClusters / hour", 2);
258 
259  name = "AverageNumberOfSuperClusterSizeVs1Hour";
260  nSuperClusterSizeHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
262  nSuperClusterSizeHourly_->setAxisTitle("Average Size of SuperClusters / hour", 2);
263 
264  name = "AverageNumberOfIntegrityErrorVs1Hour";
265  nIntegrityErrorHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
267  nIntegrityErrorHourly_->setAxisTitle("Average IntegrityErrors / hour", 2);
268 
269  name = "AverageNumberOfFEDEBRawDataVs1Hour";
270  nFEDEBRawDataHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
271  nFEDEBRawDataHourly_->setAxisTitle("Hours", 1);
272  nFEDEBRawDataHourly_->setAxisTitle("Average Number of FEDRawData in EB / hour", 2);
273 
274  name = "AverageNumberOfEBSRFlagVs1Hour";
275  nEBSRFlagHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
276  nEBSRFlagHourly_->setAxisTitle("Hours", 1);
277  nEBSRFlagHourly_->setAxisTitle("Average Number of EBSRFlag / hour", 2);
278 
279  }
280 
281 }
282 
283 
285 
286  if ( ! init_ ) return;
287 
288  if ( dqmStore_ ) {
289  dqmStore_->setCurrentFolder(prefixME_ + "/EBTrendTask");
290 
292  nEBDigiMinutely_ = 0;
313 
315  nEBDigiHourly_ = 0;
319  nEcalRecHitHourly_ = 0;
335  nEBSRFlagHourly_ = 0;
336 
337  }
338 
339  init_ = false;
340 
341 }
342 
343 
345 
346  edm::LogInfo("EBTrendTask") << "analyzed " << ievt_ << " events";
347 
348  if ( enableCleanup_ ) this->cleanup();
349 
350 }
351 
352 
354 
355  if ( ! init_ ) this->setup();
356 
357  ievt_++;
358 
359  // --------------------------------------------------
360  // Collect time information
361  // --------------------------------------------------
362 
363  updateTime();
364 
365  long int minuteBinDiff = -1;
366  long int minuteDiff = -1;
367  ecaldqm::calcBins(5,60,start_time_,last_time_,current_time_,minuteBinDiff,minuteDiff);
368 
369  long int hourBinDiff = -1;
370  long int hourDiff = -1;
371  ecaldqm::calcBins(1,3600,start_time_,last_time_,current_time_,hourBinDiff,hourDiff);
372 
373 
374  // --------------------------------------------------
375  // EBDigiCollection
376  // --------------------------------------------------
377  int ndc = 0;
379  if ( e.getByToken(EBDigiCollection_, digis) ) ndc = digis->size();
380  else edm::LogWarning("EBTrendTask") << "EBDigiCollection is not available";
381 
383  nEBDigiMinutely_->Fill(minuteDiff,ndc);
384 
386  nEBDigiHourly_->Fill(hourDiff,ndc);
387 
388 
389  // --------------------------------------------------
390  // EcalPnDiodeDigiCollection
391  // --------------------------------------------------
392  int npdc = 0;
394  if ( e.getByToken(EcalPnDiodeDigiCollection_, pns) ) npdc = pns->size();
395  else edm::LogWarning("EBTrendTask") << "EcalPnDiodeDigiCollection is not available";
396 
398  nEcalPnDiodeDigiMinutely_->Fill(minuteDiff,npdc);
399 
401  nEcalPnDiodeDigiHourly_->Fill(hourDiff,npdc);
402 
403 
404  // --------------------------------------------------
405  // EcalRecHitCollection
406  // --------------------------------------------------
407  int nrhc = 0;
409  if ( e.getByToken(EcalRecHitCollection_, hits) ) nrhc = hits->size();
410  else edm::LogWarning("EBTrendTask") << "EcalRecHitCollection is not available";
411 
413  nEcalRecHitMinutely_->Fill(minuteDiff,nrhc);
414 
416  nEcalRecHitHourly_->Fill(hourDiff,nrhc);
417 
418  // --------------------------------------------------
419  // EcalTrigPrimDigiCollection
420  // --------------------------------------------------
421  int ntpdc = 0;
423  if ( e.getByToken(EcalTrigPrimDigiCollection_, tpdigis) ) ntpdc = tpdigis->size();
424  else edm::LogWarning("EBTrendTask") << "EcalTrigPrimDigiCollection is not available";
425 
427  nEcalTrigPrimDigiMinutely_->Fill(minuteDiff,ntpdc);
428 
430  nEcalTrigPrimDigiHourly_->Fill(hourDiff,ntpdc);
431 
432  // --------------------------------------------------
433  // BasicClusters
434  // --------------------------------------------------
435  int nbcc = 0;
436  float nbcc_size = 0.0;
438  if ( e.getByToken(BasicClusterCollection_, pBasicClusters) ) {
439  nbcc = pBasicClusters->size();
440  for(reco::BasicClusterCollection::const_iterator it = pBasicClusters->begin();
441  it != pBasicClusters->end(); it++){
442  nbcc_size += it->size();
443  }
444  if(nbcc == 0) nbcc_size = 0;
445  else nbcc_size = nbcc_size / nbcc;
446  }
447  else edm::LogWarning("EBTrendTask") << "BasicClusterCollection is not available";
448 
450  nBasicClusterMinutely_->Fill(minuteDiff,nbcc);
451 
453  nBasicClusterHourly_->Fill(hourDiff,nbcc);
454 
456  nBasicClusterSizeMinutely_->Fill(minuteDiff,nbcc);
457 
459  nBasicClusterSizeHourly_->Fill(hourDiff,nbcc);
460 
461  // --------------------------------------------------
462  // SuperClusters
463  // --------------------------------------------------
464  int nscc = 0;
465  float nscc_size = 0.0;
467  if ( e.getByToken(SuperClusterCollection_, pSuperClusters) ) {
468  nscc = pSuperClusters->size();
469  for(reco::SuperClusterCollection::const_iterator it = pSuperClusters->begin();
470  it != pSuperClusters->end(); it++){
471  nscc_size += it->clustersSize();
472  }
473  if(nscc == 0) nscc_size = 0;
474  else nscc_size = nscc_size / nscc;
475  }
476  else edm::LogWarning("EBTrendTask") << "SuperClusterCollection is not available";
477 
479  nSuperClusterMinutely_->Fill(minuteDiff,nscc);
480 
482  nSuperClusterHourly_->Fill(hourDiff,nscc);
483 
485  nSuperClusterSizeMinutely_->Fill(minuteDiff,nscc);
486 
488  nSuperClusterSizeHourly_->Fill(hourDiff,nscc);
489 
490 
491  // --------------------------------------------------
492  // Integrity errors (sum of collections' sizes)
493  // --------------------------------------------------
494  // double errorSum = 0.0;
495 
496  // --------------------------------------------------
497  // EBDetIdCollection0
498  // --------------------------------------------------
499  int ndic0 = 0;
501  if ( e.getByToken(EBDetIdCollection0_, ids0) ) ndic0 = ids0->size();
502  else edm::LogWarning("EBTrendTask") << "EBDetIdCollection0 is not available";
503 
504 
505  // --------------------------------------------------
506  // EBDetIdCollection1
507  // --------------------------------------------------
508  int ndic1 = 0;
510  if ( e.getByToken(EBDetIdCollection1_, ids1) ) ndic1 = ids1->size();
511  else edm::LogWarning("EBTrendTask") << "EBDetIdCollection1 is not available";
512 
513 
514  // --------------------------------------------------
515  // EBDetIdCollection2
516  // --------------------------------------------------
517  int ndic2 = 0;
519  if ( e.getByToken(EBDetIdCollection2_, ids2) ) ndic2 = ids2->size();
520  else edm::LogWarning("EBTrendTask") << "EBDetIdCollection2 is not available";
521 
522 
523  // --------------------------------------------------
524  // EBDetIdCollection3
525  // --------------------------------------------------
526  int ndic3 = 0;
528  if ( e.getByToken(EBDetIdCollection3_, ids3) ) ndic3 = ids3->size();
529  else edm::LogWarning("EBTrendTask") << "EBDetIdCollection3 is not available";
530 
531 
532  // --------------------------------------------------
533  // EcalElectronicsIdCollection1
534  // --------------------------------------------------
535  int neic1 = 0;
537  if ( e.getByToken(EcalElectronicsIdCollection1_, eids1) ) neic1 = eids1->size();
538  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection1 is not available";
539 
540 
541  // --------------------------------------------------
542  // EcalElectronicsIdCollection2
543  // --------------------------------------------------
544  int neic2 = 0;
546  if ( e.getByToken(EcalElectronicsIdCollection2_, eids2) ) neic2 = eids2->size();
547  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection2 is not available";
548 
549 
550  // --------------------------------------------------
551  // EcalElectronicsIdCollection3
552  // --------------------------------------------------
553  int neic3 = 0;
555  if ( e.getByToken(EcalElectronicsIdCollection3_, eids3) ) neic3 = eids3->size();
556  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection3 is not available";
557 
558 
559  // --------------------------------------------------
560  // EcalElectronicsIdCollection4
561  // --------------------------------------------------
562  int neic4 = 0;
564  if ( e.getByToken(EcalElectronicsIdCollection4_, eids4) ) neic4 = eids4->size();
565  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection4 is not available";
566 
567 
568  // --------------------------------------------------
569  // EcalElectronicsIdCollection5
570  // --------------------------------------------------
571  int neic5 = 0;
573  if ( e.getByToken(EcalElectronicsIdCollection5_, eids5) ) neic5 = eids5->size();
574  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection5 is not available";
575 
576 
577  // --------------------------------------------------
578  // EcalElectronicsIdCollection6
579  // --------------------------------------------------
580  int neic6 = 0;
582  if ( e.getByToken(EcalElectronicsIdCollection6_, eids6) ) neic6 = eids6->size();
583  else edm::LogWarning("EBTrendTask") << "EcalElectronicsIdCollection6 is not available";
584 
585 
586  // --------------------------------------------------
587  // Integrity errors (sum of collections' sizes)
588  // --------------------------------------------------
589  double errorSum = ndic0 + ndic1 + ndic2 + ndic3 +
590  neic1 + neic2 + neic3 + neic4 + neic5 + neic6;
591 
593  nIntegrityErrorMinutely_->Fill(minuteDiff,errorSum);
594 
596  nIntegrityErrorHourly_->Fill(hourDiff,errorSum);
597 
598  // --------------------------------------------------
599  // FEDRawDataCollection
600  // --------------------------------------------------
601  int nfedEB = 0;
602 
603  // Barrel FEDs : 610 - 645
604  // Endcap FEDs : 601-609 (EE-) and 646-654 (EE+)
605  int eb1 = 610;
606  int eb2 = 645;
607  int kByte = 1024;
608 
609  edm::Handle<FEDRawDataCollection> allFedRawData;
610  if ( e.getByToken(FEDRawDataCollection_, allFedRawData) ) {
611  for ( int iDcc = eb1; iDcc <= eb2; ++iDcc ) {
612  int sizeInKB = allFedRawData->FEDData(iDcc).size()/kByte;
613  if(iDcc >= eb1 && iDcc <= eb2) nfedEB += sizeInKB;
614  }
615  }
616  else edm::LogWarning("EBTrendTask") << "FEDRawDataCollection is not available";
617 
619  nFEDEBRawDataMinutely_->Fill(minuteDiff,nfedEB);
620 
622  nFEDEBRawDataHourly_->Fill(hourDiff,nfedEB);
623 
624 
625  // --------------------------------------------------
626  // EBSRFlagCollection
627  // --------------------------------------------------
628  int nsfc = 0;
630  if ( e.getByToken(EBSRFlagCollection_,ebSrFlags) ) nsfc = ebSrFlags->size();
631  else edm::LogWarning("EBTrendTask") << "EBSRFlagCollection is not available";
632 
634  nEBSRFlagMinutely_->Fill(minuteDiff,nsfc);
635 
637  nEBSRFlagHourly_->Fill(hourDiff,nsfc);
638 
639 
640  if(verbose_){
641  printf("run(%d), event(%d), ndc(%d), npdc(%d), nrhc(%d), ntpdc(%d), nbcc(%d), ",
642  e.id().run(),e.id().event(), ndc, npdc, nrhc, ntpdc, nbcc);
643  printf("nscc(%d), ndic0(%d), ndic1(%d), ndic2(%d), ndic3(%d), neic1(%d), neic2(%d), neic3(%d), ",
644  nscc, ndic0, ndic1, ndic2, ndic3, neic1, neic2, neic3);
645  printf("neic4(%d), neic5(%d), neic6(%d), errorSum(%f), nsfc(%d), ",
646  neic4, neic5, neic6, errorSum, nsfc);
647  }
648 
649 }
650 
651 
653 
656 
657 }
658 
RunNumber_t run() const
Definition: EventID.h:42
edm::EDGetTokenT< reco::BasicClusterCollection > BasicClusterCollection_
Definition: EBTrendTask.h:86
T getParameter(std::string const &) const
EventNumber_t event() const
Definition: EventID.h:44
MonitorElement * nSuperClusterSizeMinutely_
Definition: EBTrendTask.h:109
MonitorElement * nEBDigiHourly_
Definition: EBTrendTask.h:114
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
MonitorElement * nBasicClusterHourly_
Definition: EBTrendTask.h:118
EBTrendTask(const edm::ParameterSet &ps)
Definition: EBTrendTask.cc:37
MonitorElement * nEcalTrigPrimDigiMinutely_
Definition: EBTrendTask.h:105
edm::EDGetTokenT< EcalRecHitCollection > EcalRecHitCollection_
Definition: EBTrendTask.h:84
DQMStore * dqmStore_
Definition: EBTrendTask.h:72
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2730
edm::EDGetTokenT< EBDetIdCollection > EBDetIdCollection0_
Definition: EBTrendTask.h:88
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
Some &quot;id&quot; conversions.
edm::EDGetTokenT< EBDetIdCollection > EBDetIdCollection3_
Definition: EBTrendTask.h:91
edm::EDGetTokenT< EBDigiCollection > EBDigiCollection_
Definition: EBTrendTask.h:82
void updateTime(void)
Definition: EBTrendTask.cc:652
void endRun(const edm::Run &r, const edm::EventSetup &c)
Definition: EBTrendTask.cc:122
MonitorElement * nBasicClusterSizeHourly_
Definition: EBTrendTask.h:119
#define NULL
Definition: scimark2.h:8
bool verbose_
Definition: EBTrendTask.h:80
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection4_
Definition: EBTrendTask.h:96
MonitorElement * nSuperClusterHourly_
Definition: EBTrendTask.h:120
edm::EDGetTokenT< EcalPnDiodeDigiCollection > EcalPnDiodeDigiCollection_
Definition: EBTrendTask.h:83
void beginRun(const edm::Run &r, const edm::EventSetup &c)
Definition: EBTrendTask.cc:111
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection1_
Definition: EBTrendTask.h:93
MonitorElement * nFEDEBRawDataMinutely_
Definition: EBTrendTask.h:111
MonitorElement * nEcalPnDiodeDigiHourly_
Definition: EBTrendTask.h:115
void reset(void)
Definition: EBTrendTask.cc:127
void Fill(long long x)
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection2_
Definition: EBTrendTask.h:94
edm::EDGetTokenT< EBDetIdCollection > EBDetIdCollection2_
Definition: EBTrendTask.h:90
void endJob(void)
Definition: EBTrendTask.cc:344
edm::EDGetTokenT< reco::SuperClusterCollection > SuperClusterCollection_
Definition: EBTrendTask.h:87
MonitorElement * nBasicClusterMinutely_
Definition: EBTrendTask.h:106
edm::EDGetTokenT< EBDetIdCollection > EBDetIdCollection1_
Definition: EBTrendTask.h:89
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection3_
Definition: EBTrendTask.h:95
MonitorElement * nEcalTrigPrimDigiHourly_
Definition: EBTrendTask.h:117
void removeElement(const std::string &name)
Definition: DQMStore.cc:2772
void setup(void)
Definition: EBTrendTask.cc:156
edm::EDGetTokenT< EcalTrigPrimDigiCollection > EcalTrigPrimDigiCollection_
Definition: EBTrendTask.h:85
void beginJob(void)
Definition: EBTrendTask.cc:99
std::string prefixME_
Definition: EBTrendTask.h:74
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:1186
MonitorElement * nEBDigiMinutely_
Definition: EBTrendTask.h:102
virtual ~EBTrendTask()
Definition: EBTrendTask.cc:95
edm::EDGetTokenT< EBSrFlagCollection > EBSRFlagCollection_
Definition: EBTrendTask.h:100
Ecal Monitor Utility functions.
edm::EDGetTokenT< FEDRawDataCollection > FEDRawDataCollection_
Definition: EBTrendTask.h:99
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:47
bool mergeRuns_
Definition: EBTrendTask.h:78
MonitorElement * nEcalRecHitHourly_
Definition: EBTrendTask.h:116
edm::EventID id() const
Definition: EventBase.h:56
MonitorElement * nBasicClusterSizeMinutely_
Definition: EBTrendTask.h:107
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection6_
Definition: EBTrendTask.h:98
bool enableCleanup_
Definition: EBTrendTask.h:76
MonitorElement * nEBSRFlagMinutely_
Definition: EBTrendTask.h:112
MonitorElement * nFEDEBRawDataHourly_
Definition: EBTrendTask.h:123
TProfile * getTProfile(void) const
MonitorElement * nIntegrityErrorHourly_
Definition: EBTrendTask.h:122
MonitorElement * nEBSRFlagHourly_
Definition: EBTrendTask.h:124
MonitorElement * nSuperClusterMinutely_
Definition: EBTrendTask.h:108
MonitorElement * nEcalRecHitMinutely_
Definition: EBTrendTask.h:104
void calcBins(int binWidth, int divisor, long int start_time, long int last_time, long int current_time, long int &binDiff, long int &diff)
edm::EDGetTokenT< EcalElectronicsIdCollection > EcalElectronicsIdCollection5_
Definition: EBTrendTask.h:97
void shift2Right(TH1 *h, int bins)
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: EBTrendTask.cc:353
MonitorElement * nSuperClusterSizeHourly_
Definition: EBTrendTask.h:121
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 * nIntegrityErrorMinutely_
Definition: EBTrendTask.h:110
MonitorElement * nEcalPnDiodeDigiMinutely_
Definition: EBTrendTask.h:103
void cleanup(void)
Definition: EBTrendTask.cc:284
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
Definition: Run.h:41
int current_time_
Definition: EBTrendTask.h:129