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