CMS 3D CMS Logo

EBOccupancyTask Class Reference

#include <DQM/EcalBarrelMonitorTasks/interface/EBOccupancyTask.h>

Inheritance diagram for EBOccupancyTask:

edm::EDAnalyzer

List of all members.

Public Member Functions

 EBOccupancyTask (const edm::ParameterSet &ps)
 Constructor.
virtual ~EBOccupancyTask ()
 Destructor.

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Analyze.
void beginJob (const edm::EventSetup &c)
 BeginJob.
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun.
void cleanup (void)
 Cleanup.
void endJob (void)
 EndJob.
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun.
void reset (void)
 Reset.
void setup (void)
 Setup.

Private Attributes

DQMStoredqmStore_
edm::InputTag EBDigiCollection_
edm::InputTag EcalPnDiodeDigiCollection_
edm::InputTag EcalRawDataCollection_
edm::InputTag EcalRecHitCollection_
edm::InputTag EcalTrigPrimDigiCollection_
bool enableCleanup_
int ievt_
bool init_
MonitorElementmeEBDigiOccupancy_
MonitorElementmeEBDigiOccupancyProjEta_
MonitorElementmeEBDigiOccupancyProjPhi_
MonitorElementmeEBLaserDigiOccupancy_
MonitorElementmeEBPedestalDigiOccupancy_
MonitorElementmeEBRecHitOccupancy_
MonitorElementmeEBRecHitOccupancyProjEta_
MonitorElementmeEBRecHitOccupancyProjEtaThr_
MonitorElementmeEBRecHitOccupancyProjPhi_
MonitorElementmeEBRecHitOccupancyProjPhiThr_
MonitorElementmeEBRecHitOccupancyThr_
MonitorElementmeEBTestPulseDigiOccupancy_
MonitorElementmeEBTrigPrimDigiOccupancy_
MonitorElementmeEBTrigPrimDigiOccupancyProjEta_
MonitorElementmeEBTrigPrimDigiOccupancyProjEtaThr_
MonitorElementmeEBTrigPrimDigiOccupancyProjPhi_
MonitorElementmeEBTrigPrimDigiOccupancyProjPhiThr_
MonitorElementmeEBTrigPrimDigiOccupancyThr_
MonitorElementmeEvent_ [36]
MonitorElementmeOccupancy_ [36]
MonitorElementmeOccupancyMem_ [36]
bool mergeRuns_
std::string prefixME_
float recHitEnergyMin_
float trigPrimEtMin_


Detailed Description

Definition at line 20 of file EBOccupancyTask.h.


Constructor & Destructor Documentation

EBOccupancyTask::EBOccupancyTask ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 37 of file EBOccupancyTask.cc.

References dqmStore_, EBDigiCollection_, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, meEBDigiOccupancy_, meEBDigiOccupancyProjEta_, meEBDigiOccupancyProjPhi_, meEBLaserDigiOccupancy_, meEBPedestalDigiOccupancy_, meEBRecHitOccupancy_, meEBRecHitOccupancyProjEta_, meEBRecHitOccupancyProjEtaThr_, meEBRecHitOccupancyProjPhi_, meEBRecHitOccupancyProjPhiThr_, meEBRecHitOccupancyThr_, meEBTestPulseDigiOccupancy_, meEBTrigPrimDigiOccupancy_, meEBTrigPrimDigiOccupancyProjEta_, meEBTrigPrimDigiOccupancyProjEtaThr_, meEBTrigPrimDigiOccupancyProjPhi_, meEBTrigPrimDigiOccupancyProjPhiThr_, meEBTrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, mergeRuns_, prefixME_, recHitEnergyMin_, and trigPrimEtMin_.

00037                                                       {
00038 
00039   init_ = false;
00040 
00041   dqmStore_ = Service<DQMStore>().operator->();
00042 
00043   prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
00044 
00045   enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00046 
00047   mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
00048 
00049   EcalRawDataCollection_ = ps.getParameter<edm::InputTag>("EcalRawDataCollection");
00050   EBDigiCollection_ = ps.getParameter<edm::InputTag>("EBDigiCollection");
00051   EcalPnDiodeDigiCollection_ = ps.getParameter<edm::InputTag>("EcalPnDiodeDigiCollection");
00052   EcalRecHitCollection_ = ps.getParameter<edm::InputTag>("EcalRecHitCollection");
00053   EcalTrigPrimDigiCollection_ = ps.getParameter<edm::InputTag>("EcalTrigPrimDigiCollection");
00054 
00055   for (int i = 0; i < 36; i++) {
00056     meOccupancy_[i]    = 0;
00057     meOccupancyMem_[i] = 0;
00058   }
00059 
00060   meEBDigiOccupancy_ = 0;
00061   meEBDigiOccupancyProjEta_ = 0;
00062   meEBDigiOccupancyProjPhi_ = 0;
00063 
00064   meEBRecHitOccupancy_ = 0;
00065   meEBRecHitOccupancyProjEta_ = 0;
00066   meEBRecHitOccupancyProjPhi_ = 0;
00067 
00068   meEBRecHitOccupancyThr_ = 0;
00069   meEBRecHitOccupancyProjEtaThr_ = 0;
00070   meEBRecHitOccupancyProjPhiThr_ = 0;
00071 
00072   meEBTrigPrimDigiOccupancy_ = 0;
00073   meEBTrigPrimDigiOccupancyProjEta_ = 0;
00074   meEBTrigPrimDigiOccupancyProjPhi_ = 0;
00075 
00076   meEBTrigPrimDigiOccupancyThr_ = 0;
00077   meEBTrigPrimDigiOccupancyProjEtaThr_ = 0;
00078   meEBTrigPrimDigiOccupancyProjPhiThr_ = 0;
00079 
00080   meEBTestPulseDigiOccupancy_ = 0;
00081   meEBLaserDigiOccupancy_ = 0;
00082   meEBPedestalDigiOccupancy_ = 0;
00083 
00084   recHitEnergyMin_ = 1.; // GeV
00085   trigPrimEtMin_ = 5.; // GeV
00086 
00087 }

EBOccupancyTask::~EBOccupancyTask (  )  [virtual]

Destructor.

Definition at line 89 of file EBOccupancyTask.cc.

00089                                  {
00090 
00091 }


Member Function Documentation

void EBOccupancyTask::analyze ( const edm::Event e,
const edm::EventSetup c 
) [protected, virtual]

Analyze.

Implements edm::EDAnalyzer.

Definition at line 329 of file EBOccupancyTask.cc.

References EBDigiCollection_, EcalBarrel, EcalPnDiodeDigiCollection_, EcalRawDataCollection_, EcalRecHitCollection_, EcalTrigPrimDigiCollection_, MonitorElement::Fill(), edm::Event::getByLabel(), ievt_, init_, Numbers::iSM(), edm::Handle< T >::isValid(), EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, LogDebug, meEBDigiOccupancy_, meEBDigiOccupancyProjEta_, meEBDigiOccupancyProjPhi_, meEBLaserDigiOccupancy_, meEBPedestalDigiOccupancy_, meEBRecHitOccupancy_, meEBRecHitOccupancyProjEta_, meEBRecHitOccupancyProjEtaThr_, meEBRecHitOccupancyProjPhi_, meEBRecHitOccupancyProjPhiThr_, meEBRecHitOccupancyThr_, meEBTestPulseDigiOccupancy_, meEBTrigPrimDigiOccupancy_, meEBTrigPrimDigiOccupancyProjEta_, meEBTrigPrimDigiOccupancyProjEtaThr_, meEBTrigPrimDigiOccupancyProjPhi_, meEBTrigPrimDigiOccupancyProjPhiThr_, meEBTrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, EcalDCCHeaderBlock::PEDESTAL_GAP, EcalDCCHeaderBlock::PEDESTAL_STD, recHitEnergyMin_, setup(), st, Numbers::subDet(), EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, and trigPrimEtMin_.

00329                                                                 {
00330 
00331   if ( ! init_ ) this->setup();
00332 
00333   ievt_++;
00334 
00335   Handle<EcalRawDataCollection> dcchs;
00336 
00337   if ( ! e.getByLabel(EcalRawDataCollection_, dcchs) ) {
00338     LogWarning("EBOccupancyTask") << EcalRawDataCollection_ << " not available";
00339   }
00340 
00341   Handle<EBDigiCollection> digis;
00342 
00343   if ( e.getByLabel(EBDigiCollection_, digis) ) {
00344 
00345     int nebd = digis->size();
00346     LogDebug("EBOccupancyTask") << "event " << ievt_ << " digi collection size " << nebd;
00347 
00348     for ( EBDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr ) {
00349 
00350       EBDetId id = digiItr->id();
00351 
00352       int ic = id.ic();
00353       int ie = (ic-1)/20 + 1;
00354       int ip = (ic-1)%20 + 1;
00355 
00356       int ism = Numbers::iSM( id );
00357 
00358       float xie = ie - 0.5;
00359       float xip = ip - 0.5;
00360 
00361       LogDebug("EBOccupancyTask") << " det id = " << id;
00362       LogDebug("EBOccupancyTask") << " sm, ieta, iphi " << ism << " " << ie << " " << ip;
00363 
00364       if ( xie <= 0. || xie >= 85. || xip <= 0. || xip >= 20. ) {
00365         LogWarning("EBOccupancyTask") << " det id = " << id;
00366         LogWarning("EBOccupancyTask") << " sm, ieta, iphi " << ism << " " << ie << " " << ip;
00367         LogWarning("EBOccupancyTask") << " xie, xip " << xie << " " << xip;
00368       }
00369 
00370       if ( meOccupancy_[ism-1] ) meOccupancy_[ism-1]->Fill(xie, xip);
00371 
00372       int ebeta = id.ieta();
00373       int ebphi = id.iphi();
00374 
00375       float xebeta = ebeta - 0.5*id.zside();
00376       float xebphi = ebphi - 0.5;
00377 
00378       if ( meEBDigiOccupancy_ ) meEBDigiOccupancy_->Fill( xebphi, xebeta );
00379       if ( meEBDigiOccupancyProjEta_ ) meEBDigiOccupancyProjEta_->Fill( xebeta );
00380       if ( meEBDigiOccupancyProjPhi_ ) meEBDigiOccupancyProjPhi_->Fill( xebphi );
00381 
00382       if ( dcchs.isValid() ) {
00383 
00384         for ( EcalRawDataCollection::const_iterator dcchItr = dcchs->begin(); dcchItr != dcchs->end(); ++dcchItr ) {
00385 
00386           if ( Numbers::subDet( *dcchItr ) != EcalBarrel ) continue;
00387 
00388           if ( Numbers::iSM( *dcchItr, EcalBarrel ) != ism ) continue;
00389 
00390           if ( dcchItr->getRunType() == EcalDCCHeaderBlock::TESTPULSE_MGPA ||
00391                dcchItr->getRunType() == EcalDCCHeaderBlock::TESTPULSE_GAP ) {
00392 
00393             if ( meEBTestPulseDigiOccupancy_ ) meEBTestPulseDigiOccupancy_->Fill( xebphi, xebeta );
00394 
00395           }
00396 
00397           if ( dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_STD ||
00398                dcchItr->getRunType() == EcalDCCHeaderBlock::LASER_GAP ) {
00399 
00400             if ( meEBLaserDigiOccupancy_ ) meEBLaserDigiOccupancy_->Fill( xebphi, xebeta );
00401 
00402           }
00403 
00404           if ( dcchItr->getRunType() == EcalDCCHeaderBlock::PEDESTAL_STD ||
00405                dcchItr->getRunType() == EcalDCCHeaderBlock::PEDESTAL_GAP ) {
00406 
00407             if ( meEBPedestalDigiOccupancy_ ) meEBPedestalDigiOccupancy_->Fill( xebphi, xebeta );
00408 
00409           }
00410 
00411         }
00412 
00413       }
00414 
00415     }
00416 
00417   } else {
00418 
00419     LogWarning("EBOccupancyTask") << EBDigiCollection_ << " not available";
00420 
00421   }
00422 
00423   Handle<EcalPnDiodeDigiCollection> PNs;
00424 
00425   if ( e.getByLabel(EcalPnDiodeDigiCollection_, PNs) ) {
00426 
00427     // filling mem occupancy only for the 5 channels belonging
00428     // to a fully reconstructed PN's
00429 
00430     for ( EcalPnDiodeDigiCollection::const_iterator pnItr = PNs->begin(); pnItr != PNs->end(); ++pnItr ) {
00431 
00432       if ( Numbers::subDet( pnItr->id() ) != EcalBarrel ) continue;
00433 
00434       int   ism   = Numbers::iSM( pnItr->id() );
00435 
00436       float PnId  = pnItr->id().iPnId();
00437 
00438       PnId        = PnId - 0.5;
00439       float st    = 0.0;
00440 
00441       for (int chInStrip = 1; chInStrip <= 5; chInStrip++){
00442         if ( meOccupancyMem_[ism-1] ) {
00443            st = chInStrip - 0.5;
00444            meOccupancyMem_[ism-1]->Fill(PnId, st);
00445         }
00446       }
00447 
00448     }
00449 
00450   } else {
00451 
00452     LogWarning("EBOccupancyTask") << EcalPnDiodeDigiCollection_ << " not available";
00453 
00454   }
00455 
00456   Handle<EcalRecHitCollection> rechits;
00457 
00458   if ( e.getByLabel(EcalRecHitCollection_, rechits) ) {
00459 
00460     int nebrh = rechits->size();
00461     LogDebug("EBOccupancyTask") << "event " << ievt_ << " rec hits collection size " << nebrh;
00462 
00463     for ( EcalRecHitCollection::const_iterator rechitItr = rechits->begin(); rechitItr != rechits->end(); ++rechitItr ) {
00464 
00465       EBDetId id = rechitItr->id();
00466 
00467       int ebeta = id.ieta();
00468       int ebphi = id.iphi();
00469 
00470       float xebeta = ebeta - 0.5*id.zside();
00471       float xebphi = ebphi - 0.5;
00472 
00473       if ( meEBRecHitOccupancy_ ) meEBRecHitOccupancy_->Fill( xebphi, xebeta );
00474       if ( meEBRecHitOccupancyProjEta_ ) meEBRecHitOccupancyProjEta_->Fill( xebeta );
00475       if ( meEBRecHitOccupancyProjPhi_ ) meEBRecHitOccupancyProjPhi_->Fill( xebphi );
00476 
00477       if ( rechitItr->energy() > recHitEnergyMin_ ) {
00478 
00479         if ( meEBRecHitOccupancyThr_ ) meEBRecHitOccupancyThr_->Fill( xebphi, xebeta );
00480         if ( meEBRecHitOccupancyProjEtaThr_ ) meEBRecHitOccupancyProjEtaThr_->Fill( xebeta );
00481         if ( meEBRecHitOccupancyProjPhiThr_ ) meEBRecHitOccupancyProjPhiThr_->Fill( xebphi );
00482 
00483       }
00484 
00485     }
00486 
00487   } else {
00488 
00489     LogWarning("EBOccupancyTask") << EcalRecHitCollection_ << " not available";
00490 
00491   }
00492 
00493   Handle<EcalTrigPrimDigiCollection> trigPrimDigis;
00494 
00495   if ( e.getByLabel(EcalTrigPrimDigiCollection_, trigPrimDigis) ) {
00496 
00497     int nebtpg = trigPrimDigis->size();
00498     LogDebug("EBOccupancyTask") << "event " << ievt_ << " trigger primitives digis collection size " << nebtpg;
00499 
00500     for ( EcalTrigPrimDigiCollection::const_iterator tpdigiItr = trigPrimDigis->begin(); tpdigiItr != trigPrimDigis->end(); ++tpdigiItr ) {
00501 
00502       int ebeta = tpdigiItr->id().ieta();
00503       int ebphi = tpdigiItr->id().iphi();
00504 
00505       // phi_tower: change the range from global to SM-local
00506       // phi==0 is in the middle of a SM
00507       ebphi = ebphi + 2;
00508       if ( ebphi > 72 ) ebphi = ebphi - 72;
00509 
00510       float xebeta = ebeta-0.5*tpdigiItr->id().zside();
00511       float xebphi = ebphi-0.5;
00512 
00513       if ( meEBTrigPrimDigiOccupancy_ ) meEBTrigPrimDigiOccupancy_->Fill( xebphi, xebeta );
00514       if ( meEBTrigPrimDigiOccupancyProjEta_ ) meEBTrigPrimDigiOccupancyProjEta_->Fill( xebeta );
00515       if ( meEBTrigPrimDigiOccupancyProjPhi_ ) meEBTrigPrimDigiOccupancyProjPhi_->Fill( xebphi );
00516 
00517       if ( tpdigiItr->compressedEt() > trigPrimEtMin_ ) {
00518 
00519         if ( meEBTrigPrimDigiOccupancyThr_ ) meEBTrigPrimDigiOccupancyThr_->Fill( xebphi, xebeta );
00520         if ( meEBTrigPrimDigiOccupancyProjEtaThr_ ) meEBTrigPrimDigiOccupancyProjEtaThr_->Fill( xebeta );
00521         if ( meEBTrigPrimDigiOccupancyProjPhiThr_ ) meEBTrigPrimDigiOccupancyProjPhiThr_->Fill( xebphi );
00522 
00523       }
00524 
00525     }
00526 
00527   } else {
00528 
00529     LogWarning("EBOccupancyTask") << EcalTrigPrimDigiCollection_ << " not available";
00530 
00531   }
00532 
00533 }

void EBOccupancyTask::beginJob ( const edm::EventSetup c  )  [protected, virtual]

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 93 of file EBOccupancyTask.cc.

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

00093                                                  {
00094 
00095   ievt_ = 0;
00096 
00097   if ( dqmStore_ ) {
00098     dqmStore_->setCurrentFolder(prefixME_ + "/EBOccupancyTask");
00099     dqmStore_->rmdir(prefixME_ + "/EBOccupancyTask");
00100   }
00101 
00102   Numbers::initGeometry(c, false);
00103 
00104 }

void EBOccupancyTask::beginRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 106 of file EBOccupancyTask.cc.

References mergeRuns_, and reset().

00106                                                                 {
00107 
00108   if ( ! mergeRuns_ ) this->reset();
00109 
00110 }

void EBOccupancyTask::cleanup ( void   )  [protected]

Cleanup.

Definition at line 257 of file EBOccupancyTask.cc.

References dqmStore_, edm::getName(), MonitorElement::getName(), i, init_, meEBDigiOccupancy_, meEBDigiOccupancyProjEta_, meEBDigiOccupancyProjPhi_, meEBLaserDigiOccupancy_, meEBPedestalDigiOccupancy_, meEBRecHitOccupancy_, meEBRecHitOccupancyProjEta_, meEBRecHitOccupancyProjEtaThr_, meEBRecHitOccupancyProjPhi_, meEBRecHitOccupancyProjPhiThr_, meEBRecHitOccupancyThr_, meEBTestPulseDigiOccupancy_, meEBTrigPrimDigiOccupancy_, meEBTrigPrimDigiOccupancyProjEta_, meEBTrigPrimDigiOccupancyProjEtaThr_, meEBTrigPrimDigiOccupancyProjPhi_, meEBTrigPrimDigiOccupancyProjPhiThr_, meEBTrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

00257                                  {
00258 
00259   if ( ! init_ ) return;
00260 
00261   if ( dqmStore_ ) {
00262     dqmStore_->setCurrentFolder(prefixME_ + "/EBOccupancyTask");
00263 
00264     for (int i = 0; i < 36; i++) {
00265       if ( meOccupancy_[i] ) dqmStore_->removeElement( meOccupancy_[i]->getName() );
00266       meOccupancy_[i] = 0;
00267       if ( meOccupancyMem_[i] ) dqmStore_->removeElement( meOccupancyMem_[i]->getName() );
00268       meOccupancyMem_[i] = 0;
00269     }
00270 
00271     if ( meEBDigiOccupancy_ ) dqmStore_->removeElement( meEBDigiOccupancy_->getName() );
00272     meEBDigiOccupancy_ = 0;
00273     if ( meEBDigiOccupancyProjEta_ ) dqmStore_->removeElement( meEBDigiOccupancyProjEta_->getName() );
00274     meEBDigiOccupancyProjEta_ = 0;
00275     if ( meEBDigiOccupancyProjPhi_ ) dqmStore_->removeElement( meEBDigiOccupancyProjPhi_->getName() );
00276     meEBDigiOccupancyProjPhi_ = 0;
00277 
00278     if ( meEBRecHitOccupancy_ ) dqmStore_->removeElement( meEBRecHitOccupancy_->getName() );
00279     meEBRecHitOccupancy_ = 0;
00280     if ( meEBRecHitOccupancyProjEta_ ) dqmStore_->removeElement( meEBRecHitOccupancyProjEta_->getName() );
00281     meEBRecHitOccupancyProjEta_ = 0;
00282     if ( meEBRecHitOccupancyProjPhi_ ) dqmStore_->removeElement( meEBRecHitOccupancyProjPhi_->getName() );
00283     meEBRecHitOccupancyProjPhi_ = 0;
00284 
00285     if ( meEBRecHitOccupancyThr_ ) dqmStore_->removeElement( meEBRecHitOccupancyThr_->getName() );
00286     meEBRecHitOccupancyThr_ = 0;
00287     if ( meEBRecHitOccupancyProjEtaThr_ ) dqmStore_->removeElement( meEBRecHitOccupancyProjEtaThr_->getName() );
00288     meEBRecHitOccupancyProjEtaThr_ = 0;
00289     if ( meEBRecHitOccupancyProjPhiThr_ ) dqmStore_->removeElement( meEBRecHitOccupancyProjPhiThr_->getName() );
00290     meEBRecHitOccupancyProjPhiThr_ = 0;
00291 
00292     if ( meEBTrigPrimDigiOccupancy_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancy_->getName() );
00293     meEBTrigPrimDigiOccupancy_ = 0;
00294     if ( meEBTrigPrimDigiOccupancyProjEta_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancyProjEta_->getName() );
00295     meEBTrigPrimDigiOccupancyProjEta_ = 0;
00296     if ( meEBTrigPrimDigiOccupancyProjPhi_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancyProjPhi_->getName() );
00297     meEBTrigPrimDigiOccupancyProjPhi_ = 0;
00298 
00299     if ( meEBTrigPrimDigiOccupancyThr_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancyThr_->getName() );
00300     meEBTrigPrimDigiOccupancyThr_ = 0;
00301     if ( meEBTrigPrimDigiOccupancyProjEtaThr_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancyProjEtaThr_->getName() );
00302     meEBTrigPrimDigiOccupancyProjEtaThr_ = 0;
00303     if ( meEBTrigPrimDigiOccupancyProjPhiThr_ ) dqmStore_->removeElement( meEBTrigPrimDigiOccupancyProjPhiThr_->getName() );
00304     meEBTrigPrimDigiOccupancyProjPhiThr_ = 0;
00305 
00306     if ( meEBTestPulseDigiOccupancy_ ) dqmStore_->removeElement( meEBTestPulseDigiOccupancy_->getName() );
00307     meEBTestPulseDigiOccupancy_ = 0;
00308 
00309     if ( meEBLaserDigiOccupancy_ ) dqmStore_->removeElement( meEBLaserDigiOccupancy_->getName() );
00310     meEBLaserDigiOccupancy_ = 0;
00311 
00312     if ( meEBPedestalDigiOccupancy_ ) dqmStore_->removeElement( meEBPedestalDigiOccupancy_->getName() );
00313     meEBPedestalDigiOccupancy_ = 0;
00314 
00315   }
00316 
00317   init_ = false;
00318 
00319 }

void EBOccupancyTask::endJob ( void   )  [protected, virtual]

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 321 of file EBOccupancyTask.cc.

References cleanup(), enableCleanup_, and ievt_.

00321                                  {
00322 
00323   LogInfo("EBOccupancyTask") << "analyzed " << ievt_ << " events";
00324 
00325   if ( enableCleanup_ ) this->cleanup();
00326 
00327 }

void EBOccupancyTask::endRun ( const edm::Run r,
const edm::EventSetup c 
) [protected, virtual]

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 112 of file EBOccupancyTask.cc.

00112                                                               {
00113 
00114 }

void EBOccupancyTask::reset ( void   )  [protected]

Reset.

Definition at line 116 of file EBOccupancyTask.cc.

References i, meEBDigiOccupancy_, meEBDigiOccupancyProjEta_, meEBDigiOccupancyProjPhi_, meEBLaserDigiOccupancy_, meEBPedestalDigiOccupancy_, meEBRecHitOccupancy_, meEBRecHitOccupancyProjEta_, meEBRecHitOccupancyProjEtaThr_, meEBRecHitOccupancyProjPhi_, meEBRecHitOccupancyProjPhiThr_, meEBRecHitOccupancyThr_, meEBTestPulseDigiOccupancy_, meEBTrigPrimDigiOccupancy_, meEBTrigPrimDigiOccupancyProjEta_, meEBTrigPrimDigiOccupancyProjEtaThr_, meEBTrigPrimDigiOccupancyProjPhi_, meEBTrigPrimDigiOccupancyProjPhiThr_, meEBTrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, and MonitorElement::Reset().

Referenced by beginRun().

00116                                 {
00117 
00118   for (int i = 0; i < 36; i++) {
00119     if ( meOccupancy_[i] ) meOccupancy_[i]->Reset();
00120     if ( meOccupancyMem_[i] ) meOccupancyMem_[i]->Reset();
00121   }
00122 
00123   if ( meEBDigiOccupancy_ ) meEBDigiOccupancy_->Reset();
00124   if ( meEBDigiOccupancyProjEta_ ) meEBDigiOccupancyProjEta_->Reset();
00125   if ( meEBDigiOccupancyProjPhi_ ) meEBDigiOccupancyProjPhi_->Reset();
00126 
00127   if ( meEBRecHitOccupancy_ ) meEBRecHitOccupancy_->Reset();
00128   if ( meEBRecHitOccupancyProjEta_ ) meEBRecHitOccupancyProjEta_->Reset();
00129   if ( meEBRecHitOccupancyProjPhi_ ) meEBRecHitOccupancyProjPhi_->Reset();
00130 
00131   if ( meEBRecHitOccupancyThr_ ) meEBRecHitOccupancyThr_->Reset();
00132   if ( meEBRecHitOccupancyProjEtaThr_ ) meEBRecHitOccupancyProjEtaThr_->Reset();
00133   if ( meEBRecHitOccupancyProjPhiThr_ ) meEBRecHitOccupancyProjPhiThr_->Reset();
00134 
00135   if ( meEBTrigPrimDigiOccupancy_ ) meEBTrigPrimDigiOccupancy_->Reset();
00136   if ( meEBTrigPrimDigiOccupancyProjEta_ ) meEBTrigPrimDigiOccupancyProjEta_->Reset();
00137   if ( meEBTrigPrimDigiOccupancyProjPhi_ ) meEBTrigPrimDigiOccupancyProjPhi_->Reset();
00138 
00139   if ( meEBTrigPrimDigiOccupancyThr_ ) meEBTrigPrimDigiOccupancyThr_->Reset();
00140   if ( meEBTrigPrimDigiOccupancyProjEtaThr_ ) meEBTrigPrimDigiOccupancyProjEtaThr_->Reset();
00141   if ( meEBTrigPrimDigiOccupancyProjPhiThr_ ) meEBTrigPrimDigiOccupancyProjPhiThr_->Reset();
00142 
00143   if ( meEBTestPulseDigiOccupancy_ ) meEBTestPulseDigiOccupancy_->Reset();
00144   if ( meEBLaserDigiOccupancy_ ) meEBLaserDigiOccupancy_->Reset();
00145   if ( meEBPedestalDigiOccupancy_ ) meEBPedestalDigiOccupancy_->Reset();
00146 
00147 }

void EBOccupancyTask::setup ( void   )  [protected]

Setup.

Definition at line 149 of file EBOccupancyTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), dqmStore_, histo, i, init_, meEBDigiOccupancy_, meEBDigiOccupancyProjEta_, meEBDigiOccupancyProjPhi_, meEBLaserDigiOccupancy_, meEBPedestalDigiOccupancy_, meEBRecHitOccupancy_, meEBRecHitOccupancyProjEta_, meEBRecHitOccupancyProjEtaThr_, meEBRecHitOccupancyProjPhi_, meEBRecHitOccupancyProjPhiThr_, meEBRecHitOccupancyThr_, meEBTestPulseDigiOccupancy_, meEBTrigPrimDigiOccupancy_, meEBTrigPrimDigiOccupancyProjEta_, meEBTrigPrimDigiOccupancyProjEtaThr_, meEBTrigPrimDigiOccupancyProjPhi_, meEBTrigPrimDigiOccupancyProjPhiThr_, meEBTrigPrimDigiOccupancyThr_, meOccupancy_, meOccupancyMem_, prefixME_, Numbers::sEB(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and DQMStore::tag().

Referenced by analyze().

00149                                {
00150 
00151   init_ = true;
00152 
00153   char histo[200];
00154 
00155   if ( dqmStore_ ) {
00156     dqmStore_->setCurrentFolder(prefixME_ + "/EBOccupancyTask");
00157 
00158     for (int i = 0; i < 36; i++) {
00159       sprintf(histo, "EBOT digi occupancy %s", Numbers::sEB(i+1).c_str());
00160       meOccupancy_[i] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
00161       meOccupancy_[i]->setAxisTitle("ieta", 1);
00162       meOccupancy_[i]->setAxisTitle("iphi", 2);
00163       dqmStore_->tag(meOccupancy_[i], i+1);
00164     }
00165     for (int i = 0; i < 36; i++) {
00166       sprintf(histo, "EBOT MEM digi occupancy %s", Numbers::sEB(i+1).c_str());
00167       meOccupancyMem_[i] = dqmStore_->book2D(histo, histo, 10, 0., 10., 5, 0., 5.);
00168       meOccupancyMem_[i]->setAxisTitle("pseudo-strip", 1);
00169       meOccupancyMem_[i]->setAxisTitle("channel", 2);
00170       dqmStore_->tag(meOccupancyMem_[i], i+1);
00171     }
00172 
00173     sprintf(histo, "EBOT digi occupancy");
00174     meEBDigiOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00175     meEBDigiOccupancy_->setAxisTitle("jphi", 1);
00176     meEBDigiOccupancy_->setAxisTitle("jeta", 2);
00177     sprintf(histo, "EBOT digi occupancy projection eta");
00178     meEBDigiOccupancyProjEta_ = dqmStore_->book1D(histo, histo, 34, -85., 85.);
00179     meEBDigiOccupancyProjEta_->setAxisTitle("jeta", 1);
00180     meEBDigiOccupancyProjEta_->setAxisTitle("number of digis", 2);
00181     sprintf(histo, "EBOT digi occupancy projection phi");
00182     meEBDigiOccupancyProjPhi_ = dqmStore_->book1D(histo, histo, 72, 0., 360.);
00183     meEBDigiOccupancyProjPhi_->setAxisTitle("jphi", 1);
00184     meEBDigiOccupancyProjPhi_->setAxisTitle("number of digis", 2);
00185 
00186     sprintf(histo, "EBOT rec hit occupancy");
00187     meEBRecHitOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00188     meEBRecHitOccupancy_->setAxisTitle("jphi", 1);
00189     meEBRecHitOccupancy_->setAxisTitle("jeta", 2);
00190     sprintf(histo, "EBOT rec hit occupancy projection eta");
00191     meEBRecHitOccupancyProjEta_ = dqmStore_->book1D(histo, histo, 34, -85., 85.);
00192     meEBRecHitOccupancyProjEta_->setAxisTitle("jeta", 1);
00193     meEBRecHitOccupancyProjEta_->setAxisTitle("number of hits", 2);
00194     sprintf(histo, "EBOT rec hit occupancy projection phi");
00195     meEBRecHitOccupancyProjPhi_ = dqmStore_->book1D(histo, histo, 72, 0., 360.);
00196     meEBRecHitOccupancyProjPhi_->setAxisTitle("jphi", 1);
00197     meEBRecHitOccupancyProjPhi_->setAxisTitle("number of hits", 2);
00198 
00199     sprintf(histo, "EBOT rec hit thr occupancy");
00200     meEBRecHitOccupancyThr_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00201     meEBRecHitOccupancyThr_->setAxisTitle("jphi", 1);
00202     meEBRecHitOccupancyThr_->setAxisTitle("jeta", 2);
00203     sprintf(histo, "EBOT rec hit thr occupancy projection eta");
00204     meEBRecHitOccupancyProjEtaThr_ = dqmStore_->book1D(histo, histo, 34, -85., 85.);
00205     meEBRecHitOccupancyProjEtaThr_->setAxisTitle("jeta", 1);
00206     meEBRecHitOccupancyProjEtaThr_->setAxisTitle("number of hits", 2);
00207     sprintf(histo, "EBOT rec hit thr occupancy projection phi");
00208     meEBRecHitOccupancyProjPhiThr_ = dqmStore_->book1D(histo, histo, 72, 0., 360.);
00209     meEBRecHitOccupancyProjPhiThr_->setAxisTitle("jphi", 1);
00210     meEBRecHitOccupancyProjPhiThr_->setAxisTitle("number of hits", 2);
00211 
00212     sprintf(histo, "EBOT TP digi occupancy");
00213     meEBTrigPrimDigiOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 72., 34, -17., 17.);
00214     meEBTrigPrimDigiOccupancy_->setAxisTitle("jphi'", 1);
00215     meEBTrigPrimDigiOccupancy_->setAxisTitle("jeta'", 2);
00216     sprintf(histo, "EBOT TP digi occupancy projection eta");
00217     meEBTrigPrimDigiOccupancyProjEta_ = dqmStore_->book1D(histo, histo, 34, -17., 17.);
00218     meEBTrigPrimDigiOccupancyProjEta_->setAxisTitle("jeta'", 1);
00219     meEBTrigPrimDigiOccupancyProjEta_->setAxisTitle("number of TP digis", 2);
00220     sprintf(histo, "EBOT TP digi occupancy projection phi");
00221     meEBTrigPrimDigiOccupancyProjPhi_ = dqmStore_->book1D(histo, histo, 72, 0., 72.);
00222     meEBTrigPrimDigiOccupancyProjPhi_->setAxisTitle("jphi'", 1);
00223     meEBTrigPrimDigiOccupancyProjPhi_->setAxisTitle("number of TP digis", 2);
00224 
00225     sprintf(histo, "EBOT TP digi thr occupancy");
00226     meEBTrigPrimDigiOccupancyThr_ = dqmStore_->book2D(histo, histo, 72, 0., 72., 34, -17., 17.);
00227     meEBTrigPrimDigiOccupancyThr_->setAxisTitle("jphi'", 1);
00228     meEBTrigPrimDigiOccupancyThr_->setAxisTitle("jeta'", 2);
00229     sprintf(histo, "EBOT TP digi thr occupancy projection eta");
00230     meEBTrigPrimDigiOccupancyProjEtaThr_ = dqmStore_->book1D(histo, histo, 34, -17., 17.);
00231     meEBTrigPrimDigiOccupancyProjEtaThr_->setAxisTitle("jeta'", 1);
00232     meEBTrigPrimDigiOccupancyProjEtaThr_->setAxisTitle("number of TP digis", 2);
00233     sprintf(histo, "EBOT TP digi thr occupancy projection phi");
00234     meEBTrigPrimDigiOccupancyProjPhiThr_ = dqmStore_->book1D(histo, histo, 72, 0., 72.);
00235     meEBTrigPrimDigiOccupancyProjPhiThr_->setAxisTitle("jphi'", 1);
00236     meEBTrigPrimDigiOccupancyProjPhiThr_->setAxisTitle("number of TP digis", 2);
00237 
00238     sprintf(histo, "EBOT test pulse digi occupancy");
00239     meEBTestPulseDigiOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00240     meEBTestPulseDigiOccupancy_->setAxisTitle("jphi'", 1);
00241     meEBTestPulseDigiOccupancy_->setAxisTitle("jeta'", 2);
00242 
00243     sprintf(histo, "EBOT laser digi occupancy");
00244     meEBLaserDigiOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00245     meEBLaserDigiOccupancy_->setAxisTitle("jphi'", 1);
00246     meEBLaserDigiOccupancy_->setAxisTitle("jeta'", 2);
00247 
00248     sprintf(histo, "EBOT pedestal digi occupancy");
00249     meEBPedestalDigiOccupancy_ = dqmStore_->book2D(histo, histo, 72, 0., 360., 34, -85., 85.);
00250     meEBPedestalDigiOccupancy_->setAxisTitle("jphi'", 1);
00251     meEBPedestalDigiOccupancy_->setAxisTitle("jeta'", 2);
00252 
00253   }
00254 
00255 }


Member Data Documentation

DQMStore* EBOccupancyTask::dqmStore_ [private]

Definition at line 60 of file EBOccupancyTask.h.

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

edm::InputTag EBOccupancyTask::EBDigiCollection_ [private]

Definition at line 69 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

edm::InputTag EBOccupancyTask::EcalPnDiodeDigiCollection_ [private]

Definition at line 70 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

edm::InputTag EBOccupancyTask::EcalRawDataCollection_ [private]

Definition at line 68 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

edm::InputTag EBOccupancyTask::EcalRecHitCollection_ [private]

Definition at line 71 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

edm::InputTag EBOccupancyTask::EcalTrigPrimDigiCollection_ [private]

Definition at line 72 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

bool EBOccupancyTask::enableCleanup_ [private]

Definition at line 64 of file EBOccupancyTask.h.

Referenced by EBOccupancyTask(), and endJob().

int EBOccupancyTask::ievt_ [private]

Definition at line 58 of file EBOccupancyTask.h.

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

bool EBOccupancyTask::init_ [private]

Definition at line 100 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBDigiOccupancy_ [private]

Definition at line 78 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBDigiOccupancyProjEta_ [private]

Definition at line 79 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBDigiOccupancyProjPhi_ [private]

Definition at line 80 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBLaserDigiOccupancy_ [private]

Definition at line 94 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBPedestalDigiOccupancy_ [private]

Definition at line 95 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancy_ [private]

Definition at line 81 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancyProjEta_ [private]

Definition at line 82 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancyProjEtaThr_ [private]

Definition at line 85 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancyProjPhi_ [private]

Definition at line 83 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancyProjPhiThr_ [private]

Definition at line 86 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBRecHitOccupancyThr_ [private]

Definition at line 84 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTestPulseDigiOccupancy_ [private]

Definition at line 93 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancy_ [private]

Definition at line 87 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancyProjEta_ [private]

Definition at line 88 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancyProjEtaThr_ [private]

Definition at line 91 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancyProjPhi_ [private]

Definition at line 89 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancyProjPhiThr_ [private]

Definition at line 92 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEBTrigPrimDigiOccupancyThr_ [private]

Definition at line 90 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meEvent_[36] [private]

Definition at line 74 of file EBOccupancyTask.h.

MonitorElement* EBOccupancyTask::meOccupancy_[36] [private]

Definition at line 75 of file EBOccupancyTask.h.

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

MonitorElement* EBOccupancyTask::meOccupancyMem_[36] [private]

Definition at line 76 of file EBOccupancyTask.h.

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

bool EBOccupancyTask::mergeRuns_ [private]

Definition at line 66 of file EBOccupancyTask.h.

Referenced by beginRun(), and EBOccupancyTask().

std::string EBOccupancyTask::prefixME_ [private]

Definition at line 62 of file EBOccupancyTask.h.

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

float EBOccupancyTask::recHitEnergyMin_ [private]

Definition at line 97 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().

float EBOccupancyTask::trigPrimEtMin_ [private]

Definition at line 98 of file EBOccupancyTask.h.

Referenced by analyze(), and EBOccupancyTask().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:19:20 2009 for CMSSW by  doxygen 1.5.4