CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Types | Private Attributes
EEOccupancyTask Class Reference

#include <EEOccupancyTask.h>

Inheritance diagram for EEOccupancyTask:
edm::EDAnalyzer

Public Member Functions

 EEOccupancyTask (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~EEOccupancyTask ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void cleanup (void)
 Cleanup. More...
 
void endJob (void)
 EndJob. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun. More...
 
void reset (void)
 Reset. More...
 
void setup (void)
 Setup. More...
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Types

enum  runClassification {
  notdata, physics, testpulse, laser,
  led, pedestal
}
 

Private Attributes

DQMStoredqmStore_
 
edm::InputTag EcalPnDiodeDigiCollection_
 
edm::InputTag EcalRawDataCollection_
 
edm::InputTag EcalRecHitCollection_
 
edm::InputTag EcalTrigPrimDigiCollection_
 
edm::InputTag EEDigiCollection_
 
bool enableCleanup_
 
float geometryEE [EEDetId::kSizeForDenseIndexing][2]
 
int ievt_
 
bool init_
 
bool initCaloGeometry_
 
MonitorElementmeEEDigiOccupancy_ [2]
 
MonitorElementmeEEDigiOccupancyProEta_ [2]
 
MonitorElementmeEEDigiOccupancyProPhi_ [2]
 
MonitorElementmeEELaserDigiOccupancy_ [2]
 
MonitorElementmeEELedDigiOccupancy_ [2]
 
MonitorElementmeEEPedestalDigiOccupancy_ [2]
 
MonitorElementmeEERecHitEnergy_ [18]
 
MonitorElementmeEERecHitOccupancy_ [2]
 
MonitorElementmeEERecHitOccupancyProEta_ [2]
 
MonitorElementmeEERecHitOccupancyProEtaThr_ [2]
 
MonitorElementmeEERecHitOccupancyProPhi_ [2]
 
MonitorElementmeEERecHitOccupancyProPhiThr_ [2]
 
MonitorElementmeEERecHitOccupancyThr_ [2]
 
MonitorElementmeEERecHitSpectrum_ [2]
 
MonitorElementmeEETestPulseDigiOccupancy_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancy_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancyProEta_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancyProEtaThr_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancyProPhi_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancyProPhiThr_ [2]
 
MonitorElementmeEETrigPrimDigiOccupancyThr_ [2]
 
MonitorElementmeEvent_ [18]
 
MonitorElementmeOccupancy_ [18]
 
MonitorElementmeOccupancyMem_ [18]
 
bool mergeRuns_
 
MonitorElementmeSpectrum_ [18]
 
edm::ESHandle< CaloGeometrypGeometry_
 
std::string prefixME_
 
float recHitEnergyMin_
 
float trigPrimEtMin_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 28 of file EEOccupancyTask.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

EEOccupancyTask::EEOccupancyTask ( const edm::ParameterSet ps)

Constructor.

Definition at line 39 of file EEOccupancyTask.cc.

References dqmStore_, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, EEDigiCollection_, enableCleanup_, geometryEE, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, initCaloGeometry_, EEDetId::kSizeForDenseIndexing, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, mergeRuns_, meSpectrum_, cmsCodeRules.cppFunctionSkipper::operator, prefixME_, recHitEnergyMin_, and trigPrimEtMin_.

39  {
40 
41  init_ = false;
42 
43  initCaloGeometry_ = false;
44 
46 
47  prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", "");
48 
49  enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
50 
51  mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
52 
53  EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
54  EEDigiCollection_ = ps.getParameter<edm::InputTag>("EEDigiCollection");
55  EcalPnDiodeDigiCollection_ = ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection");
56  EcalRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalRecHitCollection");
57  EcalTrigPrimDigiCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollection");
58 
59  for (int i = 0; i < 18; i++) {
60  meOccupancy_[i] = 0;
61  meOccupancyMem_[i] = 0;
62  meEERecHitEnergy_[i] = 0;
63  meSpectrum_[i] = 0;
64  }
65 
66  meEERecHitSpectrum_[0] = 0;
67  meEERecHitSpectrum_[1] = 0;
68 
69  meEEDigiOccupancy_[0] = 0;
72  meEEDigiOccupancy_[1] = 0;
75 
76  meEERecHitOccupancy_[0] = 0;
79  meEERecHitOccupancy_[1] = 0;
82 
89 
96 
103 
106 
109 
110  meEELedDigiOccupancy_[0] = 0;
111  meEELedDigiOccupancy_[1] = 0;
112 
115 
116  recHitEnergyMin_ = 0.500; // GeV
117  trigPrimEtMin_ = 4.; // 4 ADCs == 1 GeV
118 
119  for (int i = 0; i < EEDetId::kSizeForDenseIndexing; i++) {
120  geometryEE[i][0] = 0;
121  geometryEE[i][1] = 0;
122  }
123 
124 }
MonitorElement * meEEPedestalDigiOccupancy_[2]
T getParameter(std::string const &) const
MonitorElement * meEETrigPrimDigiOccupancyProEtaThr_[2]
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
MonitorElement * meEETestPulseDigiOccupancy_[2]
MonitorElement * meEERecHitEnergy_[18]
MonitorElement * meEETrigPrimDigiOccupancyProPhi_[2]
MonitorElement * meEELaserDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyProEtaThr_[2]
edm::InputTag EcalPnDiodeDigiCollection_
MonitorElement * meSpectrum_[18]
MonitorElement * meEEDigiOccupancyProEta_[2]
MonitorElement * meEERecHitOccupancyProPhi_[2]
float geometryEE[EEDetId::kSizeForDenseIndexing][2]
MonitorElement * meOccupancyMem_[18]
MonitorElement * meEETrigPrimDigiOccupancyThr_[2]
edm::InputTag EcalTrigPrimDigiCollection_
edm::InputTag EcalRawDataCollection_
MonitorElement * meEERecHitOccupancyProPhiThr_[2]
MonitorElement * meEERecHitOccupancy_[2]
MonitorElement * meEEDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyThr_[2]
MonitorElement * meEEDigiOccupancyProPhi_[2]
DQMStore * dqmStore_
MonitorElement * meEELedDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEta_[2]
edm::InputTag EcalRecHitCollection_
MonitorElement * meOccupancy_[18]
MonitorElement * meEERecHitOccupancyProEta_[2]
std::string prefixME_
edm::InputTag EEDigiCollection_
MonitorElement * meEETrigPrimDigiOccupancyProPhiThr_[2]
MonitorElement * meEERecHitSpectrum_[2]
EEOccupancyTask::~EEOccupancyTask ( )
virtual

Destructor.

Definition at line 126 of file EEOccupancyTask.cc.

126  {
127 
128 }

Member Function Documentation

void EEOccupancyTask::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Analyze.

Implements edm::EDAnalyzer.

Definition at line 565 of file EEOccupancyTask.cc.

References EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, Numbers::crystals(), EcalEndcap, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, EEDigiCollection_, PV3DBase< T, PVType, FrameType >::eta(), eta(), MonitorElement::Fill(), geometryEE, edm::EventSetup::get(), edm::Event::getByLabel(), i, ExpressReco_HICollisions_FallBack::id, ievt_, init_, ecalpyutils::ism(), Numbers::iSM(), EEDetId::ix(), EcalRecHit::kGood, EcalSeverityLevelAlgo::kGood, laser, EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, led, EcalDCCHeaderBlock::LED_GAP, EcalDCCHeaderBlock::LED_STD, LogDebug, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, EcalDCCHeaderBlock::MTCC, notdata, pedestal, EcalDCCHeaderBlock::PEDESTAL_GAP, EcalDCCHeaderBlock::PEDESTAL_STD, pGeometry_, phi, PV3DBase< T, PVType, FrameType >::phi(), physics, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, pos, edm::ESHandle< class >::product(), recHitEnergyMin_, ExpressReco_HICollisions_FallBack::runType, setup(), EcalSeverityLevelAlgo::severityLevel(), Numbers::subDet(), testpulse, EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, and trigPrimEtMin_.

565  {
566 
567  if ( ! init_ ) this->setup();
568 
569  ievt_++;
570 
571  int runType[18] = { notdata };
572 
574 
575  if ( e.getByLabel(EcalRawDataCollection_, dcchs) ) {
576 
577  for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
578 
579  if ( Numbers::subDet( *dcchItr ) != EcalEndcap ) continue;
580 
581  int ism = Numbers::iSM( *dcchItr, EcalEndcap );
582 
583  int runtype = dcchItr->getRunType();
584 
585  if ( runtype == EcalDCCHeaderBlock::COSMIC ||
586  runtype == EcalDCCHeaderBlock::MTCC ||
590  runtype == EcalDCCHeaderBlock::PHYSICS_LOCAL ) runType[ism-1] = physics;
591  if ( runtype == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
592  runtype == EcalDCCHeaderBlock::TESTPULSE_GAP ) runType[ism-1] = testpulse;
593  if ( runtype == EcalDCCHeaderBlock::LASER_STD ||
594  runtype == EcalDCCHeaderBlock::LASER_GAP ) runType[ism-1] = laser;
595  if ( runtype == EcalDCCHeaderBlock::LED_STD ||
596  runtype == EcalDCCHeaderBlock::LED_GAP ) runType[ism-1] = led;
597  if ( runtype == EcalDCCHeaderBlock::PEDESTAL_STD ||
598  runtype == EcalDCCHeaderBlock::PEDESTAL_GAP ) runType[ism-1] = pedestal;
599 
600  }
601 
602  } else {
603  edm::LogWarning("EEOccupancyTask") << EcalRawDataCollection_ << " not available";
604  }
605 
607 
608  if ( e.getByLabel(EEDigiCollection_, digis) ) {
609 
610  int need = digis->size();
611  LogDebug("EEOccupancyTask") << "event " << ievt_ << " digi collection size " << need;
612 
613  for ( EEDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
614 
615  EEDetId id = digiItr->id();
616 
617  int ix = id.ix();
618  int iy = id.iy();
619 
620  int hi = id.hashedIndex();
621 
622  if ( geometryEE[hi][0] == 0 ) {
623  const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
624  geometryEE[hi][0] = pos.eta();
625  geometryEE[hi][1] = pos.phi();
626  }
627 
628  float eta = geometryEE[hi][0];
629  float phi = geometryEE[hi][1];
630 
631  int ism = Numbers::iSM( id );
632 
633  if ( ism >= 1 && ism <= 9 ) ix = 101 - ix;
634 
635  float xix = ix - 0.5;
636  float xiy = iy - 0.5;
637 
638  if ( xix <= 0. || xix >= 100. || xiy <= 0. || xiy >= 100. ) {
639  edm::LogWarning("EEOccupancyTask") << " det id = " << id;
640  edm::LogWarning("EEOccupancyTask") << " sm, ix, iw " << ism << " " << ix << " " << iy;
641  edm::LogWarning("EEOccupancyTask") << " xix, xiy " << xix << " " << xiy;
642  }
643 
644  if ( meOccupancy_[ism-1] ) meOccupancy_[ism-1]->Fill( xix, xiy );
645 
646  int eex = id.ix();
647  int eey = id.iy();
648 
649  float xeex = eex - 0.5;
650  float xeey = eey - 0.5;
651 
652  if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {
653 
654  if ( ism >=1 && ism <= 9 ) {
655  if ( meEEDigiOccupancy_[0] ) meEEDigiOccupancy_[0]->Fill( xeex, xeey );
658  } else {
659  if ( meEEDigiOccupancy_[1] ) meEEDigiOccupancy_[1]->Fill( xeex, xeey );
662  }
663 
664  }
665 
666  if ( runType[ism-1] == testpulse ) {
667 
668  if ( ism >=1 && ism <= 9 ) {
670  } else {
672  }
673 
674  }
675 
676  if ( runType[ism-1] == laser ) {
677 
678  if ( ism >=1 && ism <= 9 ) {
679  if ( meEELaserDigiOccupancy_[0] ) meEELaserDigiOccupancy_[0]->Fill( xeex, xeey );
680  } else {
681  if ( meEELaserDigiOccupancy_[1] ) meEELaserDigiOccupancy_[1]->Fill( xeex, xeey );
682  }
683 
684  }
685 
686  if ( runType[ism-1] == led ) {
687 
688  if ( ism >=1 && ism <= 9 ) {
689  if ( meEELedDigiOccupancy_[0] ) meEELedDigiOccupancy_[0]->Fill( xeex, xeey );
690  } else {
691  if ( meEELedDigiOccupancy_[1] ) meEELedDigiOccupancy_[1]->Fill( xeex, xeey );
692  }
693 
694  }
695 
696  if ( runType[ism-1] == pedestal ) {
697 
698  if ( ism >=1 && ism <= 9 ) {
699  if ( meEEPedestalDigiOccupancy_[0] ) meEEPedestalDigiOccupancy_[0]->Fill( xeex, xeey );
700  } else {
701  if ( meEEPedestalDigiOccupancy_[1] ) meEEPedestalDigiOccupancy_[1]->Fill( xeex, xeey );
702  }
703 
704  }
705 
706  }
707 
708  } else {
709 
710  edm::LogWarning("EEOccupancyTask") << EEDigiCollection_ << " not available";
711 
712  }
713 
715 
716  if ( e.getByLabel(EcalPnDiodeDigiCollection_, PNs) ) {
717 
718  // filling mem occupancy only for the 5 channels belonging
719  // to a fully reconstructed PN's
720 
721  for ( EcalPnDiodeDigiCollection::const_iterator pnItr = PNs->begin(); pnItr != PNs->end(); ++pnItr ) {
722 
723  if ( Numbers::subDet( pnItr->id() ) != EcalEndcap ) continue;
724 
725  int ism = Numbers::iSM( pnItr->id() );
726 
727  float PnId = pnItr->id().iPnId();
728 
729  PnId = PnId - 0.5;
730  float st = 0.0;
731 
732  for (int chInStrip = 1; chInStrip <= 5; chInStrip++){
733  if ( meOccupancyMem_[ism-1] ) {
734  st = chInStrip - 0.5;
735  meOccupancyMem_[ism-1]->Fill(PnId, st);
736  }
737  }
738 
739  }
740 
741  } else {
742 
743  edm::LogWarning("EEOccupancyTask") << EcalPnDiodeDigiCollection_ << " not available";
744 
745  }
746 
747  // channel status
748  edm::ESHandle<EcalChannelStatus> pChannelStatus;
749  c.get<EcalChannelStatusRcd>().get(pChannelStatus);
750  const EcalChannelStatus* chStatus = pChannelStatus.product();
751 
753 
754  if ( e.getByLabel(EcalRecHitCollection_, rechits) ) {
755 
756  int nebrh = rechits->size();
757  LogDebug("EEOccupancyTask") << "event " << ievt_ << " rec hits collection size " << nebrh;
758 
759  for ( EcalRecHitCollection::const_iterator rechitItr = rechits->begin(); rechitItr != rechits->end(); ++rechitItr ) {
760 
761  EEDetId id = rechitItr->id();
762 
763  int eex = id.ix();
764  int eey = id.iy();
765 
766  int hi = id.hashedIndex();
767 
768  if ( geometryEE[hi][0] == 0 ) {
769  const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
770  geometryEE[hi][0] = pos.eta();
771  geometryEE[hi][1] = pos.phi();
772  }
773 
774  float eta = geometryEE[hi][0];
775  float phi = geometryEE[hi][1];
776 
777  int ism = Numbers::iSM( id );
778 
779  // sector view (from electronics)
780  float xix = ( ism >= 1 && ism <= 9 ) ? 101 - eex - 0.5 : eex - 0.5;
781  float xiy = eey - 0.5;
782 
783  // physics view (from IP)
784  float xeex = eex - 0.5;
785  float xeey = eey - 0.5;
786 
787  if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {
788 
789  if ( ism >= 1 && ism <= 9 ) {
790  if ( meEERecHitOccupancy_[0] ) meEERecHitOccupancy_[0]->Fill( xeex, xeey );
793  } else {
794  if ( meEERecHitOccupancy_[1] ) meEERecHitOccupancy_[1]->Fill( xeex, xeey );
797  }
798 
799  uint32_t flag = rechitItr->recoFlag();
800  uint32_t sev = EcalSeverityLevelAlgo::severityLevel(id, *rechits, *chStatus );
801 
802  if ( rechitItr->energy() > recHitEnergyMin_ && flag == EcalRecHit::kGood && sev == EcalSeverityLevelAlgo::kGood ) {
803 
804  if ( ism >= 1 && ism <= 9 ) {
805  if ( meEERecHitOccupancyThr_[0] ) meEERecHitOccupancyThr_[0]->Fill( xeex, xeey );
808  } else {
809  if ( meEERecHitOccupancyThr_[1] ) meEERecHitOccupancyThr_[1]->Fill( xeex, xeey );
812  }
813 
814  }
815 
816  if ( flag == EcalRecHit::kGood && sev == EcalSeverityLevelAlgo::kGood ) {
817  if ( meEERecHitEnergy_[ism-1] ) meEERecHitEnergy_[ism-1]->Fill( xix, xiy, rechitItr->energy() );
818  if ( meSpectrum_[ism-1] ) meSpectrum_[ism-1]->Fill( rechitItr->energy() );
819  if ( ism >= 1 && ism <= 9 ) meEERecHitSpectrum_[0]->Fill( rechitItr->energy() );
820  else meEERecHitSpectrum_[1]->Fill( rechitItr->energy() );
821  }
822 
823  }
824  }
825 
826  } else {
827 
828  edm::LogWarning("EEOccupancyTask") << EcalRecHitCollection_ << " not available";
829 
830  }
831 
833 
834  if ( e.getByLabel(EcalTrigPrimDigiCollection_, trigPrimDigis) ) {
835 
836  int nebtpg = trigPrimDigis->size();
837  LogDebug("EEOccupancyTask") << "event " << ievt_ << " trigger primitives digis collection size " << nebtpg;
838 
839  for ( EcalTrigPrimDigiCollection::const_iterator tpdigiItr = trigPrimDigis->begin(); tpdigiItr != trigPrimDigis->end(); ++tpdigiItr ) {
840 
841  if ( Numbers::subDet( tpdigiItr->id() ) != EcalEndcap ) continue;
842 
843  int ism = Numbers::iSM( tpdigiItr->id() );
844 
845  std::vector<DetId>* crystals = Numbers::crystals( tpdigiItr->id() );
846 
847  for ( unsigned int i=0; i<crystals->size(); i++ ) {
848 
849  EEDetId id = (*crystals)[i];
850 
851  int eex = id.ix();
852  int eey = id.iy();
853 
854  int hi = id.hashedIndex();
855 
856  if ( geometryEE[hi][0] == 0 ) {
857  const GlobalPoint& pos = pGeometry_->getGeometry(id)->getPosition();
858  geometryEE[hi][0] = pos.eta();
859  geometryEE[hi][1] = pos.phi();
860  }
861 
862  float eta = geometryEE[hi][0];
863  float phi = geometryEE[hi][1];
864 
865  float xeex = eex - 0.5;
866  float xeey = eey - 0.5;
867 
868  if ( runType[ism-1] == physics || runType[ism-1] == notdata ) {
869 
870  if ( ism >= 1 && ism <= 9 ) {
871  if ( meEETrigPrimDigiOccupancy_[0] ) meEETrigPrimDigiOccupancy_[0]->Fill( xeex, xeey );
874  } else {
875  if ( meEETrigPrimDigiOccupancy_[1] ) meEETrigPrimDigiOccupancy_[1]->Fill( xeex, xeey );
878  }
879 
880  if ( tpdigiItr->compressedEt() > trigPrimEtMin_ ) {
881 
882  if ( ism >= 1 && ism <= 9 ) {
886  } else {
890  }
891 
892  }
893 
894  }
895  }
896  }
897 
898  } else {
899 
900  edm::LogWarning("EEOccupancyTask") << EcalTrigPrimDigiCollection_ << " not available";
901 
902  }
903 
904 }
#define LogDebug(id)
MonitorElement * meEEPedestalDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEtaThr_[2]
int i
Definition: DBlmapReader.cc:9
long int flag
Definition: mlp_lapack.h:47
MonitorElement * meEETestPulseDigiOccupancy_[2]
int ix() const
Definition: EEDetId.h:71
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
MonitorElement * meEERecHitEnergy_[18]
void setup(void)
Setup.
MonitorElement * meEETrigPrimDigiOccupancyProPhi_[2]
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
std::vector< T >::const_iterator const_iterator
MonitorElement * meEELaserDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyProEtaThr_[2]
edm::InputTag EcalPnDiodeDigiCollection_
MonitorElement * meSpectrum_[18]
MonitorElement * meEEDigiOccupancyProEta_[2]
edm::ESHandle< CaloGeometry > pGeometry_
T eta() const
MonitorElement * meEERecHitOccupancyProPhi_[2]
float geometryEE[EEDetId::kSizeForDenseIndexing][2]
void Fill(long long x)
MonitorElement * meOccupancyMem_[18]
MonitorElement * meEETrigPrimDigiOccupancyThr_[2]
edm::InputTag EcalTrigPrimDigiCollection_
static std::vector< DetId > * crystals(const EcalTrigTowerDetId &id)
Definition: Numbers.cc:734
static int iSM(const int ism, const EcalSubdetector subdet)
Definition: Numbers.cc:216
edm::InputTag EcalRawDataCollection_
MonitorElement * meEERecHitOccupancyProPhiThr_[2]
MonitorElement * meEERecHitOccupancy_[2]
MonitorElement * meEEDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancy_[2]
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
MonitorElement * meEERecHitOccupancyThr_[2]
MonitorElement * meEEDigiOccupancyProPhi_[2]
const T & get() const
Definition: EventSetup.h:55
T const * product() const
Definition: ESHandle.h:62
MonitorElement * meEELedDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEta_[2]
edm::InputTag EcalRecHitCollection_
T eta() const
Definition: PV3DBase.h:70
MonitorElement * meOccupancy_[18]
MonitorElement * meEERecHitOccupancyProEta_[2]
static int severityLevel(const DetId, const EcalRecHitCollection &, const EcalChannelStatus &, float recHitEtThreshold=5., SpikeId spId=kSwissCross, float spIdThreshold=0.95, float recHitEnergyThresholdForTiming=2., float recHitEnergyThresholdForEE=15, float spIdThresholdIEta85=0.999)
edm::InputTag EEDigiCollection_
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:130
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
MonitorElement * meEETrigPrimDigiOccupancyProPhiThr_[2]
MonitorElement * meEERecHitSpectrum_[2]
Definition: DDAxes.h:10
void EEOccupancyTask::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 130 of file EEOccupancyTask.cc.

References dqmStore_, ievt_, prefixME_, DQMStore::rmdir(), and DQMStore::setCurrentFolder().

130  {
131 
132  ievt_ = 0;
133 
134  if ( dqmStore_ ) {
135  dqmStore_->setCurrentFolder(prefixME_ + "/EEOccupancyTask");
136  dqmStore_->rmdir(prefixME_ + "/EEOccupancyTask");
137  }
138 
139 }
void rmdir(const std::string &fullpath)
Definition: DQMStore.cc:2296
DQMStore * dqmStore_
std::string prefixME_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void EEOccupancyTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 141 of file EEOccupancyTask.cc.

References edm::EventSetup::get(), initCaloGeometry_, Numbers::initGeometry(), mergeRuns_, pGeometry_, and reset().

141  {
142 
143  Numbers::initGeometry(c, false);
144 
145  if( !initCaloGeometry_ ) {
147  initCaloGeometry_ = true;
148  }
149 
150  if ( ! mergeRuns_ ) this->reset();
151 
152 }
edm::ESHandle< CaloGeometry > pGeometry_
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:43
const T & get() const
Definition: EventSetup.h:55
void reset(void)
Reset.
void EEOccupancyTask::cleanup ( void  )
protected

Cleanup.

Definition at line 438 of file EEOccupancyTask.cc.

References dqmStore_, edm::getName(), i, init_, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

438  {
439 
440  if ( ! init_ ) return;
441 
442  if ( dqmStore_ ) {
443  dqmStore_->setCurrentFolder(prefixME_ + "/EEOccupancyTask");
444 
445  for (int i = 0; i < 18; i++) {
447  meOccupancy_[i] = 0;
449  meOccupancyMem_[i] = 0;
451  meEERecHitEnergy_[i] = 0;
453  meSpectrum_[i] = 0;
454  }
455 
457  meEERecHitSpectrum_[0] = 0;
459  meEERecHitSpectrum_[1] = 0;
460 
462  meEEDigiOccupancy_[0] = 0;
467 
469  meEEDigiOccupancy_[1] = 0;
474 
476  meEERecHitOccupancy_[0] = 0;
481 
483  meEERecHitOccupancy_[1] = 0;
488 
495 
502 
509 
516 
523 
530 
535 
540 
542  meEELedDigiOccupancy_[0] = 0;
544  meEELedDigiOccupancy_[1] = 0;
545 
550 
551  }
552 
553  init_ = false;
554 
555 }
MonitorElement * meEEPedestalDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEtaThr_[2]
int i
Definition: DBlmapReader.cc:9
MonitorElement * meEETestPulseDigiOccupancy_[2]
MonitorElement * meEERecHitEnergy_[18]
MonitorElement * meEETrigPrimDigiOccupancyProPhi_[2]
MonitorElement * meEELaserDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyProEtaThr_[2]
MonitorElement * meSpectrum_[18]
MonitorElement * meEEDigiOccupancyProEta_[2]
MonitorElement * meEERecHitOccupancyProPhi_[2]
MonitorElement * meOccupancyMem_[18]
MonitorElement * meEETrigPrimDigiOccupancyThr_[2]
void removeElement(const std::string &name)
Definition: DQMStore.cc:2338
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
MonitorElement * meEERecHitOccupancyProPhiThr_[2]
MonitorElement * meEERecHitOccupancy_[2]
MonitorElement * meEEDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyThr_[2]
MonitorElement * meEEDigiOccupancyProPhi_[2]
DQMStore * dqmStore_
MonitorElement * meEELedDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEta_[2]
MonitorElement * meOccupancy_[18]
MonitorElement * meEERecHitOccupancyProEta_[2]
std::string prefixME_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
MonitorElement * meEETrigPrimDigiOccupancyProPhiThr_[2]
MonitorElement * meEERecHitSpectrum_[2]
void EEOccupancyTask::endJob ( void  )
protectedvirtual

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 557 of file EEOccupancyTask.cc.

References cleanup(), enableCleanup_, and ievt_.

557  {
558 
559  edm::LogInfo("EEOccupancyTask") << "analyzed " << ievt_ << " events";
560 
561  if ( enableCleanup_ ) this->cleanup();
562 
563 }
void cleanup(void)
Cleanup.
void EEOccupancyTask::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 154 of file EEOccupancyTask.cc.

154  {
155 
156 }
void EEOccupancyTask::reset ( void  )
protected

Reset.

Definition at line 158 of file EEOccupancyTask.cc.

References i, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, and MonitorElement::Reset().

Referenced by beginRun().

158  {
159 
160  for (int i = 0; i < 18; i++) {
161  if ( meOccupancy_[i] ) meOccupancy_[i]->Reset();
162  if ( meOccupancyMem_[i] ) meOccupancyMem_[i]->Reset();
164  if ( meSpectrum_[i] ) meSpectrum_[i]->Reset();
165  }
166 
169 
176 
183 
190 
197 
204 
207 
210 
213 
216 
217 }
MonitorElement * meEEPedestalDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEtaThr_[2]
int i
Definition: DBlmapReader.cc:9
MonitorElement * meEETestPulseDigiOccupancy_[2]
MonitorElement * meEERecHitEnergy_[18]
MonitorElement * meEETrigPrimDigiOccupancyProPhi_[2]
MonitorElement * meEELaserDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyProEtaThr_[2]
MonitorElement * meSpectrum_[18]
MonitorElement * meEEDigiOccupancyProEta_[2]
MonitorElement * meEERecHitOccupancyProPhi_[2]
MonitorElement * meOccupancyMem_[18]
MonitorElement * meEETrigPrimDigiOccupancyThr_[2]
MonitorElement * meEERecHitOccupancyProPhiThr_[2]
MonitorElement * meEERecHitOccupancy_[2]
MonitorElement * meEEDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyThr_[2]
MonitorElement * meEEDigiOccupancyProPhi_[2]
MonitorElement * meEELedDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEta_[2]
MonitorElement * meOccupancy_[18]
MonitorElement * meEERecHitOccupancyProEta_[2]
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * meEETrigPrimDigiOccupancyProPhiThr_[2]
MonitorElement * meEERecHitSpectrum_[2]
void EEOccupancyTask::setup ( void  )
protected

Setup.

Definition at line 219 of file EEOccupancyTask.cc.

References DQMStore::book1D(), DQMStore::book1DD(), DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, trackerHits::histo, i, init_, Numbers::ix0EE(), Numbers::iy0EE(), M_PI, meEEDigiOccupancy_, meEEDigiOccupancyProEta_, meEEDigiOccupancyProPhi_, meEELaserDigiOccupancy_, meEELedDigiOccupancy_, meEEPedestalDigiOccupancy_, meEERecHitEnergy_, meEERecHitOccupancy_, meEERecHitOccupancyProEta_, meEERecHitOccupancyProEtaThr_, meEERecHitOccupancyProPhi_, meEERecHitOccupancyProPhiThr_, meEERecHitOccupancyThr_, meEERecHitSpectrum_, meEETestPulseDigiOccupancy_, meEETrigPrimDigiOccupancy_, meEETrigPrimDigiOccupancyProEta_, meEETrigPrimDigiOccupancyProEtaThr_, meEETrigPrimDigiOccupancyProPhi_, meEETrigPrimDigiOccupancyProPhiThr_, meEETrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, meSpectrum_, prefixME_, Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and DQMStore::tag().

Referenced by analyze().

219  {
220 
221  init_ = true;
222 
223  char histo[200];
224 
225  if ( dqmStore_ ) {
226  dqmStore_->setCurrentFolder(prefixME_ + "/EEOccupancyTask");
227 
228  for (int i = 0; i < 18; i++) {
229  sprintf(histo, "EEOT digi occupancy %s", Numbers::sEE(i+1).c_str());
230  meOccupancy_[i] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50.);
231  meOccupancy_[i]->setAxisTitle("ix", 1);
232  if ( i+1 >= 1 && i+1 <= 9 ) meOccupancy_[i]->setAxisTitle("101-ix", 1);
233  meOccupancy_[i]->setAxisTitle("iy", 2);
234  dqmStore_->tag(meOccupancy_[i], i+1);
235 
236  sprintf(histo, "EEOT MEM digi occupancy %s", Numbers::sEE(i+1).c_str());
237  meOccupancyMem_[i] = dqmStore_->book2D(histo, histo, 10, 0., 10., 5, 0., 5.);
238  meOccupancyMem_[i]->setAxisTitle("pseudo-strip", 1);
239  meOccupancyMem_[i]->setAxisTitle("channel", 2);
240  dqmStore_->tag(meOccupancyMem_[i], i+1);
241 
242  sprintf(histo, "EEOT rec hit energy %s", Numbers::sEE(i+1).c_str());
243  meEERecHitEnergy_[i] = dqmStore_->bookProfile2D(histo, histo, 50, Numbers::ix0EE(i+1)+0., Numbers::ix0EE(i+1)+50., 50, Numbers::iy0EE(i+1)+0., Numbers::iy0EE(i+1)+50., 4096, 0., 4096., "s");
244  meEERecHitEnergy_[i]->setAxisTitle("ix", 1);
245  if ( i+1 >= 1 && i+1 <= 9 ) meEERecHitEnergy_[i]->setAxisTitle("101-ix", 1);
246  meEERecHitEnergy_[i]->setAxisTitle("iy", 2);
247  meEERecHitEnergy_[i]->setAxisTitle("energy (GeV)", 3);
248  dqmStore_->tag(meEERecHitEnergy_[i], i+1);
249 
250  sprintf(histo, "EEOT energy spectrum %s", Numbers::sEE(i+1).c_str());
251  meSpectrum_[i] = dqmStore_->book1D(histo, histo, 100, 0., 1.5);
252  meSpectrum_[i]->setAxisTitle("energy (GeV)", 1);
253  dqmStore_->tag(meSpectrum_[i], i+1);
254  }
255 
256  sprintf(histo, "EEOT rec hit spectrum EE -");
257  meEERecHitSpectrum_[0] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
258  meEERecHitSpectrum_[0]->setAxisTitle("energy (GeV)", 1);
259 
260  sprintf(histo, "EEOT rec hit spectrum EE +");
261  meEERecHitSpectrum_[1] = dqmStore_->book1D(histo, histo, 100, 0., 10.);
262  meEERecHitSpectrum_[1]->setAxisTitle("energy (GeV)", 1);
263 
264  sprintf(histo, "EEOT digi occupancy EE -");
265  meEEDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
266  meEEDigiOccupancy_[0]->setAxisTitle("jx", 1);
267  meEEDigiOccupancy_[0]->setAxisTitle("jy", 2);
268  sprintf(histo, "EEOT digi occupancy EE - projection eta");
269  meEEDigiOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
271  meEEDigiOccupancyProEta_[0]->setAxisTitle("number of digis", 2);
272  sprintf(histo, "EEOT digi occupancy EE - projection phi");
273  meEEDigiOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
275  meEEDigiOccupancyProPhi_[0]->setAxisTitle("number of digis", 2);
276 
277  sprintf(histo, "EEOT digi occupancy EE +");
278  meEEDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
279  meEEDigiOccupancy_[1]->setAxisTitle("jx", 1);
280  meEEDigiOccupancy_[1]->setAxisTitle("jy", 2);
281  sprintf(histo, "EEOT digi occupancy EE + projection eta");
282  meEEDigiOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
284  meEEDigiOccupancyProEta_[1]->setAxisTitle("number of digis", 2);
285  sprintf(histo, "EEOT digi occupancy EE + projection phi");
286  meEEDigiOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
288  meEEDigiOccupancyProPhi_[1]->setAxisTitle("number of digis", 2);
289 
290  sprintf(histo, "EEOT rec hit occupancy EE -");
291  meEERecHitOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
292  meEERecHitOccupancy_[0]->setAxisTitle("jx", 1);
293  meEERecHitOccupancy_[0]->setAxisTitle("jy", 2);
294  sprintf(histo, "EEOT rec hit occupancy EE - projection eta");
295  meEERecHitOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
297  meEERecHitOccupancyProEta_[0]->setAxisTitle("number of hits", 2);
298  sprintf(histo, "EEOT rec hit occupancy EE - projection phi");
299  meEERecHitOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
301  meEERecHitOccupancyProPhi_[0]->setAxisTitle("number of hits", 2);
302 
303  sprintf(histo, "EEOT rec hit occupancy EE +");
304  meEERecHitOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
305  meEERecHitOccupancy_[1]->setAxisTitle("jx", 1);
306  meEERecHitOccupancy_[1]->setAxisTitle("jy", 2);
307  sprintf(histo, "EEOT rec hit occupancy EE + projection eta");
308  meEERecHitOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
310  meEERecHitOccupancyProEta_[1]->setAxisTitle("number of hits", 2);
311  sprintf(histo, "EEOT rec hit occupancy EE + projection phi");
312  meEERecHitOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
314  meEERecHitOccupancyProPhi_[1]->setAxisTitle("number of hits", 2);
315 
316  sprintf(histo, "EEOT rec hit thr occupancy EE -");
317  meEERecHitOccupancyThr_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
320  sprintf(histo, "EEOT rec hit thr occupancy EE - projection eta");
321  meEERecHitOccupancyProEtaThr_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
323  meEERecHitOccupancyProEtaThr_[0]->setAxisTitle("number of hits", 2);
324  sprintf(histo, "EEOT rec hit thr occupancy EE - projection phi");
325  meEERecHitOccupancyProPhiThr_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
327  meEERecHitOccupancyProPhiThr_[0]->setAxisTitle("number of hits", 2);
328 
329  sprintf(histo, "EEOT rec hit thr occupancy EE +");
330  meEERecHitOccupancyThr_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
333  sprintf(histo, "EEOT rec hit thr occupancy EE + projection eta");
334  meEERecHitOccupancyProEtaThr_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
336  meEERecHitOccupancyProEtaThr_[1]->setAxisTitle("number of hits", 2);
337  sprintf(histo, "EEOT rec hit thr occupancy EE + projection phi");
338  meEERecHitOccupancyProPhiThr_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
340  meEERecHitOccupancyProPhiThr_[1]->setAxisTitle("number of hits", 2);
341 
342  sprintf(histo, "EEOT TP digi occupancy EE -");
343  meEETrigPrimDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
346  sprintf(histo, "EEOT TP digi occupancy EE - projection eta");
347  meEETrigPrimDigiOccupancyProEta_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
349  meEETrigPrimDigiOccupancyProEta_[0]->setAxisTitle("number of TP digis", 2);
350  sprintf(histo, "EEOT TP digi occupancy EE - projection phi");
351  meEETrigPrimDigiOccupancyProPhi_[0] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
353  meEETrigPrimDigiOccupancyProPhi_[0]->setAxisTitle("number of TP digis", 2);
354 
355  sprintf(histo, "EEOT TP digi occupancy EE +");
356  meEETrigPrimDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
359  sprintf(histo, "EEOT TP digi occupancy EE + projection eta");
360  meEETrigPrimDigiOccupancyProEta_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
362  meEETrigPrimDigiOccupancyProEta_[1]->setAxisTitle("number of TP digis", 2);
363  sprintf(histo, "EEOT TP digi occupancy EE + projection phi");
364  meEETrigPrimDigiOccupancyProPhi_[1] = dqmStore_->book1DD(histo, histo, 50, -M_PI, M_PI);
366  meEETrigPrimDigiOccupancyProPhi_[1]->setAxisTitle("number of TP digis", 2);
367 
368  sprintf(histo, "EEOT TP digi thr occupancy EE -");
369  meEETrigPrimDigiOccupancyThr_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
372  sprintf(histo, "EEOT TP digi thr occupancy EE - projection eta");
373  meEETrigPrimDigiOccupancyProEtaThr_[0] = dqmStore_->book1DD(histo, histo, 22, -3.0, -1.479);
375  meEETrigPrimDigiOccupancyProEtaThr_[0]->setAxisTitle("number of TP digis", 2);
376  sprintf(histo, "EEOT TP digi thr occupancy EE - projection phi");
379  meEETrigPrimDigiOccupancyProPhiThr_[0]->setAxisTitle("number of TP digis", 2);
380 
381  sprintf(histo, "EEOT TP digi thr occupancy EE +");
382  meEETrigPrimDigiOccupancyThr_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
385  sprintf(histo, "EEOT TP digi thr occupancy EE + projection eta");
386  meEETrigPrimDigiOccupancyProEtaThr_[1] = dqmStore_->book1DD(histo, histo, 22, 1.479, 3.0);
388  meEETrigPrimDigiOccupancyProEtaThr_[1]->setAxisTitle("number of TP digis", 2);
389  sprintf(histo, "EEOT TP digi thr occupancy EE + projection phi");
392  meEETrigPrimDigiOccupancyProPhiThr_[1]->setAxisTitle("number of TP digis", 2);
393 
394  sprintf(histo, "EEOT test pulse digi occupancy EE -");
395  meEETestPulseDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
398 
399  sprintf(histo, "EEOT test pulse digi occupancy EE +");
400  meEETestPulseDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
403 
404  sprintf(histo, "EEOT led digi occupancy EE -");
405  meEELedDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
406  meEELedDigiOccupancy_[0]->setAxisTitle("jx", 1);
407  meEELedDigiOccupancy_[0]->setAxisTitle("jy", 2);
408 
409  sprintf(histo, "EEOT led digi occupancy EE +");
410  meEELedDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
411  meEELedDigiOccupancy_[1]->setAxisTitle("jx", 1);
412  meEELedDigiOccupancy_[1]->setAxisTitle("jy", 2);
413 
414  sprintf(histo, "EEOT laser digi occupancy EE -");
415  meEELaserDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
418 
419  sprintf(histo, "EEOT laser digi occupancy EE +");
420  meEELaserDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
423 
424  sprintf(histo, "EEOT pedestal digi occupancy EE -");
425  meEEPedestalDigiOccupancy_[0] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
428 
429  sprintf(histo, "EEOT pedestal digi occupancy EE +");
430  meEEPedestalDigiOccupancy_[1] = dqmStore_->book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
433 
434  }
435 
436 }
MonitorElement * meEEPedestalDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEtaThr_[2]
int i
Definition: DBlmapReader.cc:9
MonitorElement * meEETestPulseDigiOccupancy_[2]
MonitorElement * meEERecHitEnergy_[18]
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
static int iy0EE(const int ism)
Definition: Numbers.cc:964
MonitorElement * meEETrigPrimDigiOccupancyProPhi_[2]
static std::string sEE(const int ism)
Definition: Numbers.cc:199
MonitorElement * meEELaserDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyProEtaThr_[2]
MonitorElement * meSpectrum_[18]
MonitorElement * meEEDigiOccupancyProEta_[2]
tuple histo
Definition: trackerHits.py:12
MonitorElement * book1DD(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1S histogram.
Definition: DQMStore.cc:551
MonitorElement * meEERecHitOccupancyProPhi_[2]
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1156
MonitorElement * meOccupancyMem_[18]
MonitorElement * meEETrigPrimDigiOccupancyThr_[2]
MonitorElement * meEERecHitOccupancyProPhiThr_[2]
MonitorElement * meEERecHitOccupancy_[2]
MonitorElement * meEEDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancy_[2]
MonitorElement * meEERecHitOccupancyThr_[2]
MonitorElement * meEEDigiOccupancyProPhi_[2]
#define M_PI
Definition: BFit3D.cc:3
DQMStore * dqmStore_
MonitorElement * meEELedDigiOccupancy_[2]
MonitorElement * meEETrigPrimDigiOccupancyProEta_[2]
MonitorElement * meOccupancy_[18]
MonitorElement * meEERecHitOccupancyProEta_[2]
static int ix0EE(const int ism)
Definition: Numbers.cc:946
std::string prefixME_
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
MonitorElement * meEETrigPrimDigiOccupancyProPhiThr_[2]
MonitorElement * meEERecHitSpectrum_[2]
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:977

Member Data Documentation

DQMStore* EEOccupancyTask::dqmStore_
private

Definition at line 68 of file EEOccupancyTask.h.

Referenced by beginJob(), cleanup(), EEOccupancyTask(), and setup().

edm::InputTag EEOccupancyTask::EcalPnDiodeDigiCollection_
private

Definition at line 78 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

edm::InputTag EEOccupancyTask::EcalRawDataCollection_
private

Definition at line 76 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

edm::InputTag EEOccupancyTask::EcalRecHitCollection_
private

Definition at line 79 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

edm::InputTag EEOccupancyTask::EcalTrigPrimDigiCollection_
private

Definition at line 80 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

edm::InputTag EEOccupancyTask::EEDigiCollection_
private

Definition at line 77 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

bool EEOccupancyTask::enableCleanup_
private

Definition at line 72 of file EEOccupancyTask.h.

Referenced by EEOccupancyTask(), and endJob().

float EEOccupancyTask::geometryEE[EEDetId::kSizeForDenseIndexing][2]
private

Definition at line 116 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

int EEOccupancyTask::ievt_
private

Definition at line 66 of file EEOccupancyTask.h.

Referenced by analyze(), beginJob(), and endJob().

bool EEOccupancyTask::init_
private

Definition at line 118 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), and setup().

bool EEOccupancyTask::initCaloGeometry_
private

Definition at line 119 of file EEOccupancyTask.h.

Referenced by beginRun(), and EEOccupancyTask().

MonitorElement* EEOccupancyTask::meEEDigiOccupancy_[2]
private

Definition at line 91 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEEDigiOccupancyProEta_[2]
private

Definition at line 92 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEEDigiOccupancyProPhi_[2]
private

Definition at line 93 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEELaserDigiOccupancy_[2]
private

Definition at line 107 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEELedDigiOccupancy_[2]
private

Definition at line 108 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEEPedestalDigiOccupancy_[2]
private

Definition at line 109 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitEnergy_[18]
private

Definition at line 87 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancy_[2]
private

Definition at line 94 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancyProEta_[2]
private

Definition at line 95 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancyProEtaThr_[2]
private

Definition at line 98 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancyProPhi_[2]
private

Definition at line 96 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancyProPhiThr_[2]
private

Definition at line 99 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitOccupancyThr_[2]
private

Definition at line 97 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEERecHitSpectrum_[2]
private

Definition at line 90 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETestPulseDigiOccupancy_[2]
private

Definition at line 106 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancy_[2]
private

Definition at line 100 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancyProEta_[2]
private

Definition at line 101 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancyProEtaThr_[2]
private

Definition at line 104 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancyProPhi_[2]
private

Definition at line 102 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancyProPhiThr_[2]
private

Definition at line 105 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEETrigPrimDigiOccupancyThr_[2]
private

Definition at line 103 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meEvent_[18]
private

Definition at line 84 of file EEOccupancyTask.h.

MonitorElement* EEOccupancyTask::meOccupancy_[18]
private

Definition at line 85 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

MonitorElement* EEOccupancyTask::meOccupancyMem_[18]
private

Definition at line 86 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

bool EEOccupancyTask::mergeRuns_
private

Definition at line 74 of file EEOccupancyTask.h.

Referenced by beginRun(), and EEOccupancyTask().

MonitorElement* EEOccupancyTask::meSpectrum_[18]
private

Definition at line 88 of file EEOccupancyTask.h.

Referenced by analyze(), cleanup(), EEOccupancyTask(), reset(), and setup().

edm::ESHandle<CaloGeometry> EEOccupancyTask::pGeometry_
private

Definition at line 114 of file EEOccupancyTask.h.

Referenced by analyze(), and beginRun().

std::string EEOccupancyTask::prefixME_
private

Definition at line 70 of file EEOccupancyTask.h.

Referenced by beginJob(), cleanup(), EEOccupancyTask(), and setup().

float EEOccupancyTask::recHitEnergyMin_
private

Definition at line 111 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().

float EEOccupancyTask::trigPrimEtMin_
private

Definition at line 112 of file EEOccupancyTask.h.

Referenced by analyze(), and EEOccupancyTask().