CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EETrendTask.cc
Go to the documentation of this file.
1 /*
2  * \file EETrendTask.cc
3  *
4  * $Date: 2012/04/27 13:46:16 $
5  * $Revision: 1.16 $
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  EEDigiCollection_ = ps.getParameter<edm::InputTag>("EEDigiCollection");
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  EEDetIdCollection0_ = ps.getParameter<edm::InputTag>("EEDetIdCollection0");
65  EEDetIdCollection1_ = ps.getParameter<edm::InputTag>("EEDetIdCollection1");
66  EEDetIdCollection2_ = ps.getParameter<edm::InputTag>("EEDetIdCollection2");
67  EEDetIdCollection3_ = ps.getParameter<edm::InputTag>("EEDetIdCollection3");
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  EESRFlagCollection_ = ps.getParameter<edm::InputTag>("EESRFlagCollection");
76 
77  // histograms...
78  nEEDigiMinutely_ = 0;
90 
91  nEEDigiHourly_ = 0;
102  nEESRFlagHourly_ = 0;
103 }
104 
105 
107 }
108 
109 
111 
112  ievt_ = 0;
113 
114  if ( dqmStore_ ) {
115  dqmStore_->setCurrentFolder(prefixME_ + "/EETrendTask");
116  dqmStore_->rmdir(prefixME_ + "/EETrendTask");
117  }
118 
119 }
120 
121 
123 
124  Numbers::initGeometry(c, false);
125 
126  if ( ! mergeRuns_ ) this->reset();
127 
128  start_time_ = time(NULL);
129 
130 }
131 
132 
134 
135 }
136 
137 
138 void EETrendTask::reset(void) {
139 
152 
165 
166 }
167 
168 
170 
171  init_ = true;
172 
174 
175  if ( dqmStore_ ) {
176  dqmStore_->setCurrentFolder(prefixME_ + "/EETrendTask");
177 
178  // minutely
179 
180  name = "AverageNumberOfEEDigiVs5Minutes";
181  nEEDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
182  nEEDigiMinutely_->setAxisTitle("Minutes", 1);
183  nEEDigiMinutely_->setAxisTitle("Average Number of EEDigi / 5 minutes", 2);
184 
185  name = "AverageNumberOfEcalPnDiodeDigiVs5Minutes";
186  nEcalPnDiodeDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
188  nEcalPnDiodeDigiMinutely_->setAxisTitle("Average Number of EcalPnDiodeDigi / 5 minutes", 2);
189 
190  name = "AverageNumberOfEcalRecHitVs5Minutes";
191  nEcalRecHitMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
192  nEcalRecHitMinutely_->setAxisTitle("Minutes", 1);
193  nEcalRecHitMinutely_->setAxisTitle("Average Number of EcalRecHit / 5 minutes", 2);
194 
195  name = "AverageNumberOfEcalTrigPrimDigiVs5Minutes";
196  nEcalTrigPrimDigiMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
198  nEcalTrigPrimDigiMinutely_->setAxisTitle("Average Number of EcalTrigPrimDigi / 5 minutes", 2);
199 
200  name = "AverageNumberOfBasicClusterVs5Minutes";
201  nBasicClusterMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
202  nBasicClusterMinutely_->setAxisTitle("Minutes", 1);
203  nBasicClusterMinutely_->setAxisTitle("Average Number of BasicClusters / 5 minutes", 2);
204 
205  name = "AverageNumberOfBasicClusterSizeVs5Minutes";
206  nBasicClusterSizeMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
208  nBasicClusterSizeMinutely_->setAxisTitle("Average Size of BasicClusters / 5 minutes", 2);
209 
210  name = "AverageNumberOfSuperClusterVs5Minutes";
211  nSuperClusterMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
212  nSuperClusterMinutely_->setAxisTitle("Minutes", 1);
213  nSuperClusterMinutely_->setAxisTitle("Average Number of SuperClusters / 5 minutes", 2);
214 
215  name = "AverageNumberOfSuperClusterSizeVs5Minutes";
216  nSuperClusterSizeMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
218  nSuperClusterSizeMinutely_->setAxisTitle("Average Size of SuperClusters / 5 minutes", 2);
219 
220  name = "AverageNumberOfIntegrityErrorVs5Minutes";
221  nIntegrityErrorMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
222  nIntegrityErrorMinutely_->setAxisTitle("Minutes", 1);
223  nIntegrityErrorMinutely_->setAxisTitle("Average IntegrityErrors / 5 minutes", 2);
224 
225  name = "AverageNumberOfFEDEEminusRawDataVs5Minutes";
226  nFEDEEminusRawDataMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
228  nFEDEEminusRawDataMinutely_->setAxisTitle("Average Number of FEDRawData in EE- / 5 minutes", 2);
229 
230  name = "AverageNumberOfFEDEEplusRawDataVs5Minutes";
231  nFEDEEplusRawDataMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
233  nFEDEEplusRawDataMinutely_->setAxisTitle("Average Number of FEDRawData in EE+ / 5 minutes", 2);
234 
235  name = "AverageNumberOfEESRFlagVs5Minutes";
236  nEESRFlagMinutely_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
237  nEESRFlagMinutely_->setAxisTitle("Minutes", 1);
238  nEESRFlagMinutely_->setAxisTitle("Average Number of EESRFlag / 5 minutes", 2);
239 
240 
241  // hourly
242 
243  name = "AverageNumberOfEEDigiVs1Hour";
244  nEEDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
245  nEEDigiHourly_->setAxisTitle("Hours", 1);
246  nEEDigiHourly_->setAxisTitle("Average Number of EEDigi / hour", 2);
247 
248  name = "AverageNumberOfEcalPnDiodeDigiVs1Hour";
249  nEcalPnDiodeDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
251  nEcalPnDiodeDigiHourly_->setAxisTitle("Average Number of EcalPnDiodeDigi / hour", 2);
252 
253  name = "AverageNumberOfEcalRecHitVs1Hour";
254  nEcalRecHitHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
255  nEcalRecHitHourly_->setAxisTitle("Hours", 1);
256  nEcalRecHitHourly_->setAxisTitle("Average Number of EcalRecHit / hour", 2);
257 
258  name = "AverageNumberOfEcalTrigPrimDigiVs1Hour";
259  nEcalTrigPrimDigiHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
261  nEcalTrigPrimDigiHourly_->setAxisTitle("Average Number of EcalTrigPrimDigi / hour", 2);
262 
263  name = "AverageNumberOfBasicClusterVs1Hour";
264  nBasicClusterHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
265  nBasicClusterHourly_->setAxisTitle("Hours", 1);
266  nBasicClusterHourly_->setAxisTitle("Average Number of BasicClusters / hour", 2);
267 
268  name = "AverageNumberOfBasicClusterSizeVs1Hour";
269  nBasicClusterSizeHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
271  nBasicClusterSizeHourly_->setAxisTitle("Average Size of BasicClusters / hour", 2);
272 
273  name = "AverageNumberOfSuperClusterVs1Hour";
274  nSuperClusterHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
275  nSuperClusterHourly_->setAxisTitle("Hours", 1);
276  nSuperClusterHourly_->setAxisTitle("Average Number of SuperClusters / hour", 2);
277 
278  name = "AverageNumberOfSuperClusterSizeVs1Hour";
279  nSuperClusterSizeHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
281  nSuperClusterSizeHourly_->setAxisTitle("Average Size of SuperClusters / hour", 2);
282 
283  name = "AverageNumberOfIntegrityErrorVs1Hour";
284  nIntegrityErrorHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
286  nIntegrityErrorHourly_->setAxisTitle("Average IntegrityErrors / hour", 2);
287 
288  name = "AverageNumberOfFEDEEminusRawDataVs1Hour";
289  nFEDEEminusRawDataHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
291  nFEDEEminusRawDataHourly_->setAxisTitle("Average Number of FEDRawData in EE- / hour", 2);
292 
293  name = "AverageNumberOfFEDEEplusRawDataVs1Hour";
294  nFEDEEplusRawDataHourly_ = dqmStore_->bookProfile(name, name, 24, 0.0, 24.0, 100, 0.0, 1.0e6, "s");
296  nFEDEEplusRawDataHourly_->setAxisTitle("Average Number of FEDRawData in EE+ / hour", 2);
297 
298  name = "AverageNumberOfEESRFlagVs1Hour";
299  nEESRFlagHourly_ = dqmStore_->bookProfile(name, name, 12, 0.0, 60.0, 100, 0.0, 1.0e6, "s");
300  nEESRFlagHourly_->setAxisTitle("Hours", 1);
301  nEESRFlagHourly_->setAxisTitle("Average Number of EESRFlag / hour", 2);
302 
303  }
304 
305 }
306 
307 
309 
310  if ( ! init_ ) return;
311 
312  if ( dqmStore_ ) {
313  dqmStore_->setCurrentFolder(prefixME_ + "/EETrendTask");
314 
316  nEEDigiMinutely_ = 0;
338  nEESRFlagMinutely_ = 0;
339 
341  nEEDigiHourly_ = 0;
345  nEcalRecHitHourly_ = 0;
363  nEESRFlagHourly_ = 0;
364 
365  }
366 
367  init_ = false;
368 
369 }
370 
371 
373 
374  edm::LogInfo("EETrendTask") << "analyzed " << ievt_ << " events";
375 
376  if ( enableCleanup_ ) this->cleanup();
377 
378 }
379 
380 
382 
383  if ( ! init_ ) this->setup();
384 
385  ievt_++;
386 
387  // --------------------------------------------------
388  // Collect time information
389  // --------------------------------------------------
390 
391  updateTime();
392 
393  long int minuteBinDiff = -1;
394  long int minuteDiff = -1;
395  ecaldqm::calcBins(5,60,start_time_,last_time_,current_time_,minuteBinDiff,minuteDiff);
396 
397  long int hourBinDiff = -1;
398  long int hourDiff = -1;
399  ecaldqm::calcBins(1,3600,start_time_,last_time_,current_time_,hourBinDiff,hourDiff);
400 
401 
402  // --------------------------------------------------
403  // EEDigiCollection
404  // --------------------------------------------------
405  int ndc = 0;
407  if ( e.getByLabel(EEDigiCollection_, digis) ) ndc = digis->size();
408  else edm::LogWarning("EETrendTask") << EEDigiCollection_ << " is not available";
409 
411  nEEDigiMinutely_->Fill(minuteDiff,ndc);
412 
414  nEEDigiHourly_->Fill(hourDiff,ndc);
415 
416 
417  // --------------------------------------------------
418  // EcalPnDiodeDigiCollection
419  // --------------------------------------------------
420  int npdc = 0;
422  if ( e.getByLabel(EcalPnDiodeDigiCollection_, pns) ) npdc = pns->size();
423  else edm::LogWarning("EETrendTask") << EcalPnDiodeDigiCollection_ << " is not available";
424 
426  nEcalPnDiodeDigiMinutely_->Fill(minuteDiff,npdc);
427 
429  nEcalPnDiodeDigiHourly_->Fill(hourDiff,npdc);
430 
431 
432  // --------------------------------------------------
433  // EcalRecHitCollection
434  // --------------------------------------------------
435  int nrhc = 0;
437  if ( e.getByLabel(EcalRecHitCollection_, hits) ) nrhc = hits->size();
438  else edm::LogWarning("EETrendTask") << EcalRecHitCollection_ << " is not available";
439 
441  nEcalRecHitMinutely_->Fill(minuteDiff,nrhc);
442 
444  nEcalRecHitHourly_->Fill(hourDiff,nrhc);
445 
446 
447  // --------------------------------------------------
448  // EcalTrigPrimDigiCollection
449  // --------------------------------------------------
450  int ntpdc = 0;
452  if ( e.getByLabel(EcalTrigPrimDigiCollection_, tpdigis) ) ntpdc = tpdigis->size();
453  else edm::LogWarning("EETrendTask") << EcalTrigPrimDigiCollection_ << " is not available";
454 
456  nEcalTrigPrimDigiMinutely_->Fill(minuteDiff,ntpdc);
457 
459  nEcalTrigPrimDigiHourly_->Fill(hourDiff,ntpdc);
460 
461 
462  // --------------------------------------------------
463  // BasicClusters
464  // --------------------------------------------------
465  int nbcc = 0;
466  float nbcc_size = 0.0;
468  if ( e.getByLabel(BasicClusterCollection_, pBasicClusters) ) {
469  nbcc = pBasicClusters->size();
470  for(reco::BasicClusterCollection::const_iterator it = pBasicClusters->begin();
471  it != pBasicClusters->end(); it++){
472  nbcc_size += it->size();
473  }
474  if(nbcc == 0) nbcc_size = 0;
475  else nbcc_size = nbcc_size / nbcc;
476  }
477  else edm::LogWarning("EETrendTask") << BasicClusterCollection_ << " is not available";
478 
480  nBasicClusterMinutely_->Fill(minuteDiff,nbcc);
481 
483  nBasicClusterHourly_->Fill(hourDiff,nbcc);
484 
486  nBasicClusterSizeMinutely_->Fill(minuteDiff,nbcc);
487 
489  nBasicClusterSizeHourly_->Fill(hourDiff,nbcc);
490 
491  // --------------------------------------------------
492  // SuperClusters
493  // --------------------------------------------------
494  int nscc = 0;
495  float nscc_size = 0.0;
497  if ( e.getByLabel(SuperClusterCollection_, pSuperClusters) ) {
498  nscc = pSuperClusters->size();
499  for(reco::SuperClusterCollection::const_iterator it = pSuperClusters->begin();
500  it != pSuperClusters->end(); it++){
501  nscc_size += it->clustersSize();
502  }
503  if(nscc == 0) nscc_size = 0;
504  else nscc_size = nscc_size / nscc;
505  }
506  else edm::LogWarning("EETrendTask") << SuperClusterCollection_ << " is not available";
507 
509  nSuperClusterMinutely_->Fill(minuteDiff,nscc);
510 
512  nSuperClusterHourly_->Fill(hourDiff,nscc);
513 
515  nSuperClusterSizeMinutely_->Fill(minuteDiff,nscc);
516 
518  nSuperClusterSizeHourly_->Fill(hourDiff,nscc);
519 
520 
521  // --------------------------------------------------
522  // Integrity errors (sum of collections' sizes)
523  // --------------------------------------------------
524  // double errorSum = 0.0;
525 
526  // --------------------------------------------------
527  // EEDetIdCollection0
528  // --------------------------------------------------
529  int ndic0 = 0;
531  if ( e.getByLabel(EEDetIdCollection0_, ids0) ) ndic0 = ids0->size();
532  else edm::LogWarning("EETrendTask") << EEDetIdCollection0_ << " is not available";
533 
534 
535  // --------------------------------------------------
536  // EEDetIdCollection1
537  // --------------------------------------------------
538  int ndic1 = 0;
540  if ( e.getByLabel(EEDetIdCollection1_, ids1) ) ndic1 = ids1->size();
541  else edm::LogWarning("EETrendTask") << EEDetIdCollection1_ << " is not available";
542 
543 
544  // --------------------------------------------------
545  // EEDetIdCollection2
546  // --------------------------------------------------
547  int ndic2 = 0;
549  if ( e.getByLabel(EEDetIdCollection2_, ids2) ) ndic2 = ids2->size();
550  else edm::LogWarning("EETrendTask") << EEDetIdCollection2_ << " is not available";
551 
552 
553  // --------------------------------------------------
554  // EEDetIdCollection3
555  // --------------------------------------------------
556  int ndic3 = 0;
558  if ( e.getByLabel(EEDetIdCollection3_, ids3) ) ndic3 = ids3->size();
559  else edm::LogWarning("EETrendTask") << EEDetIdCollection3_ << " is not available";
560 
561 
562  // --------------------------------------------------
563  // EcalElectronicsIdCollection1
564  // --------------------------------------------------
565  int neic1 = 0;
567  if ( e.getByLabel(EcalElectronicsIdCollection1_, eids1) ) neic1 = eids1->size();
568  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection1_ << " is not available";
569 
570 
571  // --------------------------------------------------
572  // EcalElectronicsIdCollection2
573  // --------------------------------------------------
574  int neic2 = 0;
576  if ( e.getByLabel(EcalElectronicsIdCollection2_, eids2) ) neic2 = eids2->size();
577  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection2_ << " is not available";
578 
579 
580  // --------------------------------------------------
581  // EcalElectronicsIdCollection3
582  // --------------------------------------------------
583  int neic3 = 0;
585  if ( e.getByLabel(EcalElectronicsIdCollection3_, eids3) ) neic3 = eids3->size();
586  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection3_ << " is not available";
587 
588 
589  // --------------------------------------------------
590  // EcalElectronicsIdCollection4
591  // --------------------------------------------------
592  int neic4 = 0;
594  if ( e.getByLabel(EcalElectronicsIdCollection4_, eids4) ) neic4 = eids4->size();
595  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection4_ << " is not available";
596 
597 
598  // --------------------------------------------------
599  // EcalElectronicsIdCollection5
600  // --------------------------------------------------
601  int neic5 = 0;
603  if ( e.getByLabel(EcalElectronicsIdCollection5_, eids5) ) neic5 = eids5->size();
604  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection5_ << " is not available";
605 
606 
607  // --------------------------------------------------
608  // EcalElectronicsIdCollection6
609  // --------------------------------------------------
610  int neic6 = 0;
612  if ( e.getByLabel(EcalElectronicsIdCollection6_, eids6) ) neic6 = eids6->size();
613  else edm::LogWarning("EETrendTask") << EcalElectronicsIdCollection6_ << " is not available";
614 
615 
616  // --------------------------------------------------
617  // Integrity errors (sum of collections' sizes)
618  // --------------------------------------------------
619  double errorSum = ndic0 + ndic1 + ndic2 + ndic3 +
620  neic1 + neic2 + neic3 + neic4 + neic5 + neic6;
621 
623  nIntegrityErrorMinutely_->Fill(minuteDiff,errorSum);
624 
626  nIntegrityErrorHourly_->Fill(hourDiff,errorSum);
627 
628 
629  // --------------------------------------------------
630  // FEDRawDataCollection
631  // --------------------------------------------------
632  int nfedEEminus = 0;
633  int nfedEEplus = 0;
634 
635  // Barrel FEDs : 610 - 645
636  // Endcap FEDs : 601-609 (EE-) and 646-654 (EE+)
637  int eem1 = 601;
638  int eem2 = 609;
639  int eep1 = 646;
640  int eep2 = 654;
641  int kByte = 1024;
642 
643  edm::Handle<FEDRawDataCollection> allFedRawData;
644  if ( e.getByLabel(FEDRawDataCollection_, allFedRawData) ) {
645  for ( int iDcc = eem1; iDcc <= eep2; ++iDcc ) {
646  int sizeInKB = allFedRawData->FEDData(iDcc).size()/kByte;
647  if(iDcc >= eem1 && iDcc <= eem2) nfedEEminus += sizeInKB;
648  if(iDcc >= eep1 && iDcc <= eep2) nfedEEplus += sizeInKB;
649  }
650  }
651  else edm::LogWarning("EETrendTask") << FEDRawDataCollection_ << " is not available";
652 
654  nFEDEEminusRawDataMinutely_->Fill(minuteDiff,nfedEEminus);
655 
657  nFEDEEplusRawDataMinutely_->Fill(minuteDiff,nfedEEplus);
658 
660  nFEDEEminusRawDataHourly_->Fill(hourDiff,nfedEEminus);
661 
663  nFEDEEplusRawDataHourly_->Fill(hourDiff,nfedEEplus);
664 
665  // --------------------------------------------------
666  // EESRFlagCollection
667  // --------------------------------------------------
668  int nsfc = 0;
670  if ( e.getByLabel(EESRFlagCollection_,eeSrFlags) ) nsfc = eeSrFlags->size();
671  else edm::LogWarning("EETrendTask") << EESRFlagCollection_ << " is not available";
672 
674  nEESRFlagMinutely_->Fill(minuteDiff,nsfc);
675 
677  nEESRFlagHourly_->Fill(hourDiff,nsfc);
678 
679 }
680 
681 
683 
686 
687 }
688 
edm::InputTag EEDetIdCollection0_
Definition: EETrendTask.h:82
MonitorElement * nSuperClusterMinutely_
Definition: EETrendTask.h:102
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
MonitorElement * nEEDigiMinutely_
Definition: EETrendTask.h:96
edm::InputTag EcalElectronicsIdCollection2_
Definition: EETrendTask.h:88
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2535
void endJob(void)
Definition: EETrendTask.cc:372
MonitorElement * nBasicClusterMinutely_
Definition: EETrendTask.h:100
Some &quot;id&quot; conversions.
edm::InputTag EcalElectronicsIdCollection1_
Definition: EETrendTask.h:87
bool verbose_
Definition: EETrendTask.h:74
#define NULL
Definition: scimark2.h:8
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: EETrendTask.cc:381
edm::InputTag EcalElectronicsIdCollection3_
Definition: EETrendTask.h:89
void beginRun(const edm::Run &r, const edm::EventSetup &c)
Definition: EETrendTask.cc:122
bool enableCleanup_
Definition: EETrendTask.h:70
MonitorElement * nFEDEEplusRawDataHourly_
Definition: EETrendTask.h:119
MonitorElement * nEcalRecHitMinutely_
Definition: EETrendTask.h:98
virtual ~EETrendTask()
Definition: EETrendTask.cc:106
edm::InputTag EcalElectronicsIdCollection4_
Definition: EETrendTask.h:90
void Fill(long long x)
EETrendTask(const edm::ParameterSet &ps)
Definition: EETrendTask.cc:46
MonitorElement * nEEDigiHourly_
Definition: EETrendTask.h:109
MonitorElement * nEcalPnDiodeDigiMinutely_
Definition: EETrendTask.h:97
edm::InputTag BasicClusterCollection_
Definition: EETrendTask.h:80
void updateTime(void)
Definition: EETrendTask.cc:682
MonitorElement * nEcalPnDiodeDigiHourly_
Definition: EETrendTask.h:110
void removeElement(const std::string &name)
Definition: DQMStore.cc:2577
edm::InputTag EESRFlagCollection_
Definition: EETrendTask.h:94
MonitorElement * nEESRFlagHourly_
Definition: EETrendTask.h:120
MonitorElement * nBasicClusterSizeHourly_
Definition: EETrendTask.h:114
edm::InputTag EEDigiCollection_
Definition: EETrendTask.h:76
MonitorElement * nFEDEEminusRawDataMinutely_
Definition: EETrendTask.h:105
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:1036
MonitorElement * nEcalRecHitHourly_
Definition: EETrendTask.h:111
MonitorElement * nFEDEEplusRawDataMinutely_
Definition: EETrendTask.h:106
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
DQMStore * dqmStore_
Definition: EETrendTask.h:66
MonitorElement * nFEDEEminusRawDataHourly_
Definition: EETrendTask.h:118
std::string prefixME_
Definition: EETrendTask.h:68
Ecal Monitor Utility functions.
void reset(void)
Definition: EETrendTask.cc:138
void cleanup(void)
Definition: EETrendTask.cc:308
edm::InputTag EcalElectronicsIdCollection6_
Definition: EETrendTask.h:92
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:50
MonitorElement * nSuperClusterHourly_
Definition: EETrendTask.h:115
void beginJob(void)
Definition: EETrendTask.cc:110
void setup(void)
Definition: EETrendTask.cc:169
edm::InputTag EcalTrigPrimDigiCollection_
Definition: EETrendTask.h:79
MonitorElement * nBasicClusterHourly_
Definition: EETrendTask.h:113
edm::InputTag SuperClusterCollection_
Definition: EETrendTask.h:81
MonitorElement * nEESRFlagMinutely_
Definition: EETrendTask.h:107
MonitorElement * nSuperClusterSizeMinutely_
Definition: EETrendTask.h:103
MonitorElement * nSuperClusterSizeHourly_
Definition: EETrendTask.h:116
edm::InputTag EcalRecHitCollection_
Definition: EETrendTask.h:78
int current_time_
Definition: EETrendTask.h:125
TProfile * getTProfile(void) const
bool mergeRuns_
Definition: EETrendTask.h:72
edm::InputTag EEDetIdCollection1_
Definition: EETrendTask.h:83
MonitorElement * nIntegrityErrorHourly_
Definition: EETrendTask.h:117
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::InputTag FEDRawDataCollection_
Definition: EETrendTask.h:93
MonitorElement * nEcalTrigPrimDigiMinutely_
Definition: EETrendTask.h:99
void shift2Right(TH1 *h, int bins)
MonitorElement * nEcalTrigPrimDigiHourly_
Definition: EETrendTask.h:112
MonitorElement * nIntegrityErrorMinutely_
Definition: EETrendTask.h:104
edm::InputTag EcalPnDiodeDigiCollection_
Definition: EETrendTask.h:77
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)
edm::InputTag EcalElectronicsIdCollection5_
Definition: EETrendTask.h:91
void endRun(const edm::Run &r, const edm::EventSetup &c)
Definition: EETrendTask.cc:133
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
edm::InputTag EEDetIdCollection2_
Definition: EETrendTask.h:84
edm::InputTag EEDetIdCollection3_
Definition: EETrendTask.h:85
Definition: Run.h:36
MonitorElement * nBasicClusterSizeMinutely_
Definition: EETrendTask.h:101