CMS 3D CMS Logo

EBIntegrityTask Class Reference

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

Inheritance diagram for EBIntegrityTask:

edm::EDAnalyzer

List of all members.

Public Member Functions

 EBIntegrityTask (const edm::ParameterSet &ps)
 Constructor.
virtual ~EBIntegrityTask ()
 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 EBDetIdCollection0_
edm::InputTag EBDetIdCollection1_
edm::InputTag EBDetIdCollection2_
edm::InputTag EBDetIdCollection3_
edm::InputTag EBDetIdCollection4_
edm::InputTag EcalElectronicsIdCollection1_
edm::InputTag EcalElectronicsIdCollection2_
edm::InputTag EcalElectronicsIdCollection3_
edm::InputTag EcalElectronicsIdCollection4_
edm::InputTag EcalElectronicsIdCollection5_
edm::InputTag EcalElectronicsIdCollection6_
bool enableCleanup_
int ievt_
bool init_
MonitorElementmeIntegrityChId [36]
MonitorElementmeIntegrityDCCSize
MonitorElementmeIntegrityGain [36]
MonitorElementmeIntegrityGainSwitch [36]
MonitorElementmeIntegrityMemChId [36]
MonitorElementmeIntegrityMemGain [36]
MonitorElementmeIntegrityMemTTBlockSize [36]
MonitorElementmeIntegrityMemTTId [36]
MonitorElementmeIntegrityTTBlockSize [36]
MonitorElementmeIntegrityTTId [36]
bool mergeRuns_
std::string prefixME_

Static Private Attributes

static const int chMemAbscissa [25]
static const int chMemOrdinate [25]


Detailed Description

Definition at line 21 of file EBIntegrityTask.h.


Constructor & Destructor Documentation

EBIntegrityTask::EBIntegrityTask ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 34 of file EBIntegrityTask.cc.

References dqmStore_, EBDetIdCollection0_, EBDetIdCollection1_, EBDetIdCollection2_, EBDetIdCollection3_, EcalElectronicsIdCollection1_, EcalElectronicsIdCollection2_, EcalElectronicsIdCollection3_, EcalElectronicsIdCollection4_, EcalElectronicsIdCollection5_, EcalElectronicsIdCollection6_, enableCleanup_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), i, init_, meIntegrityChId, meIntegrityDCCSize, meIntegrityGain, meIntegrityGainSwitch, meIntegrityMemChId, meIntegrityMemGain, meIntegrityMemTTBlockSize, meIntegrityMemTTId, meIntegrityTTBlockSize, meIntegrityTTId, mergeRuns_, and prefixME_.

00034                                                       {
00035 
00036   init_ = false;
00037 
00038   dqmStore_ = Service<DQMStore>().operator->();
00039 
00040   prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
00041 
00042   enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00043 
00044   mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false);
00045 
00046   EBDetIdCollection0_ =  ps.getParameter<edm::InputTag>("EBDetIdCollection0");
00047   EBDetIdCollection1_ =  ps.getParameter<edm::InputTag>("EBDetIdCollection1");
00048   EBDetIdCollection2_ =  ps.getParameter<edm::InputTag>("EBDetIdCollection2");
00049   EBDetIdCollection3_ =  ps.getParameter<edm::InputTag>("EBDetIdCollection3");
00050   EcalElectronicsIdCollection1_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection1");
00051   EcalElectronicsIdCollection2_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection2");
00052   EcalElectronicsIdCollection3_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection3");
00053   EcalElectronicsIdCollection4_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection4");
00054   EcalElectronicsIdCollection5_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection5");
00055   EcalElectronicsIdCollection6_ = ps.getParameter<edm::InputTag>("EcalElectronicsIdCollection6");
00056 
00057   meIntegrityDCCSize = 0;
00058   for (int i = 0; i < 36; i++) {
00059     meIntegrityGain[i] = 0;
00060     meIntegrityChId[i] = 0;
00061     meIntegrityGainSwitch[i] = 0;
00062     meIntegrityTTId[i] = 0;
00063     meIntegrityTTBlockSize[i] = 0;
00064     meIntegrityMemChId[i] = 0;
00065     meIntegrityMemGain[i] = 0;
00066     meIntegrityMemTTId[i] = 0;
00067     meIntegrityMemTTBlockSize[i] = 0;
00068   }
00069 
00070 }

EBIntegrityTask::~EBIntegrityTask (  )  [virtual]

Destructor.

Definition at line 73 of file EBIntegrityTask.cc.

00073                                  {
00074 
00075 }


Member Function Documentation

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

Analyze.

Implements edm::EDAnalyzer.

Definition at line 308 of file EBIntegrityTask.cc.

References chMemAbscissa, chMemOrdinate, EBDetIdCollection0_, EBDetIdCollection1_, EBDetIdCollection2_, EBDetIdCollection3_, EcalBarrel, EcalElectronicsIdCollection1_, EcalElectronicsIdCollection2_, EcalElectronicsIdCollection3_, EcalElectronicsIdCollection4_, EcalElectronicsIdCollection5_, EcalElectronicsIdCollection6_, MonitorElement::Fill(), edm::Event::getByLabel(), ievt_, init_, Numbers::iSM(), meIntegrityChId, meIntegrityDCCSize, meIntegrityGain, meIntegrityGainSwitch, meIntegrityMemChId, meIntegrityMemGain, meIntegrityMemTTBlockSize, meIntegrityMemTTId, meIntegrityTTBlockSize, meIntegrityTTId, setup(), and Numbers::subDet().

00308                                                                 {
00309 
00310   if ( ! init_ ) this->setup();
00311 
00312   ievt_++;
00313 
00314   Handle<EBDetIdCollection> ids0;
00315 
00316   if ( e.getByLabel(EBDetIdCollection0_, ids0) ) {
00317 
00318     for ( EBDetIdCollection::const_iterator idItr = ids0->begin(); idItr != ids0->end(); ++idItr ) {
00319 
00320       int ism = Numbers::iSM( *idItr );
00321 
00322       float xism = ism - 0.5;
00323 
00324       if ( meIntegrityDCCSize ) meIntegrityDCCSize->Fill(xism);
00325 
00326     }
00327 
00328   } else {
00329 
00330 //    LogWarning("EBIntegrityTask") << EBDetIdCollection0_ << " not available";
00331 
00332   }
00333 
00334   Handle<EBDetIdCollection> ids1;
00335 
00336   if ( e.getByLabel(EBDetIdCollection1_, ids1) ) {
00337 
00338     for ( EBDetIdCollection::const_iterator idItr = ids1->begin(); idItr != ids1->end(); ++idItr ) {
00339 
00340       EBDetId id = (*idItr);
00341 
00342       int ic = id.ic();
00343       int ie = (ic-1)/20 + 1;
00344       int ip = (ic-1)%20 + 1;
00345 
00346       int ism = Numbers::iSM( id );
00347 
00348       float xie = ie - 0.5;
00349       float xip = ip - 0.5;
00350 
00351       if ( meIntegrityGain[ism-1] ) meIntegrityGain[ism-1]->Fill(xie, xip);
00352 
00353     }
00354 
00355   } else {
00356 
00357     LogWarning("EBIntegrityTask") << EBDetIdCollection1_ << " not available";
00358 
00359   }
00360 
00361   Handle<EBDetIdCollection> ids2;
00362 
00363   if ( e.getByLabel(EBDetIdCollection2_, ids2) ) {
00364 
00365     for ( EBDetIdCollection::const_iterator idItr = ids2->begin(); idItr != ids2->end(); ++idItr ) {
00366 
00367       EBDetId id = (*idItr);
00368 
00369       int ic = id.ic();
00370       int ie = (ic-1)/20 + 1;
00371       int ip = (ic-1)%20 + 1;
00372 
00373       int ism = Numbers::iSM( id );
00374 
00375       float xie = ie - 0.5;
00376       float xip = ip - 0.5;
00377 
00378       if ( meIntegrityChId[ism-1] ) meIntegrityChId[ism-1]->Fill(xie, xip);
00379 
00380     }
00381 
00382   } else {
00383 
00384     LogWarning("EBIntegrityTask") << EBDetIdCollection2_ << " not available";
00385 
00386   }
00387 
00388   Handle<EBDetIdCollection> ids3;
00389 
00390   if ( e.getByLabel(EBDetIdCollection3_, ids3) ) {
00391 
00392     for ( EBDetIdCollection::const_iterator idItr = ids3->begin(); idItr != ids3->end(); ++idItr ) {
00393 
00394       EBDetId id = (*idItr);
00395 
00396       int ic = id.ic();
00397       int ie = (ic-1)/20 + 1;
00398       int ip = (ic-1)%20 + 1;
00399 
00400       int ism = Numbers::iSM( id );
00401 
00402       float xie = ie - 0.5;
00403       float xip = ip - 0.5;
00404 
00405       if ( meIntegrityGainSwitch[ism-1] ) meIntegrityGainSwitch[ism-1]->Fill(xie, xip);
00406 
00407     }
00408 
00409   } else {
00410 
00411     LogWarning("EBIntegrityTask") << EBDetIdCollection3_ << " not available";
00412 
00413   }
00414 
00415   Handle<EcalElectronicsIdCollection> ids4;
00416 
00417   if ( e.getByLabel(EcalElectronicsIdCollection1_, ids4) ) {
00418 
00419     for ( EcalElectronicsIdCollection::const_iterator idItr = ids4->begin(); idItr != ids4->end(); ++idItr ) {
00420 
00421       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00422 
00423       int itt = idItr->towerId();
00424 
00425       int iet = (itt-1)/4 + 1;
00426       int ipt = (itt-1)%4 + 1;
00427 
00428       int ismt = Numbers::iSM( *idItr );
00429 
00430       float xiet = iet - 0.5;
00431       float xipt = ipt - 0.5;
00432 
00433       if ( meIntegrityTTId[ismt-1] ) meIntegrityTTId[ismt-1]->Fill(xiet, xipt);
00434 
00435     }
00436 
00437   } else {
00438 
00439     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection1_ << " not available";
00440 
00441   }
00442 
00443   Handle<EcalElectronicsIdCollection> ids5;
00444 
00445   if ( e.getByLabel(EcalElectronicsIdCollection2_, ids5) ) {
00446 
00447     for ( EcalElectronicsIdCollection::const_iterator idItr = ids5->begin(); idItr != ids5->end(); ++idItr ) {
00448 
00449       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00450 
00451       int itt = idItr->towerId();
00452 
00453       int iet = (itt-1)/4 + 1;
00454       int ipt = (itt-1)%4 + 1;
00455 
00456       int ismt = Numbers::iSM( *idItr );
00457 
00458       float xiet = iet - 0.5;
00459       float xipt = ipt - 0.5;
00460 
00461       if ( meIntegrityTTBlockSize[ismt-1] ) meIntegrityTTBlockSize[ismt-1]->Fill(xiet, xipt);
00462 
00463     }
00464 
00465   } else {
00466 
00467     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection2_ << " not available";
00468 
00469   }
00470 
00471   Handle<EcalElectronicsIdCollection> ids6;
00472 
00473   if ( e.getByLabel(EcalElectronicsIdCollection3_, ids6) ) {
00474 
00475     for ( EcalElectronicsIdCollection::const_iterator idItr = ids6->begin(); idItr != ids6->end(); ++idItr ) {
00476 
00477       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00478 
00479       int ism = Numbers::iSM( *idItr );
00480 
00481       int itt   = idItr->towerId();
00482       float iTt = itt + 0.5 - 69;
00483 
00484       if ( meIntegrityMemTTId[ism-1] ) meIntegrityMemTTId[ism-1]->Fill(iTt,0);
00485 
00486     }
00487 
00488   } else {
00489 
00490     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection3_ << " not available";
00491 
00492   }
00493 
00494   Handle<EcalElectronicsIdCollection> ids7;
00495 
00496   if ( e.getByLabel(EcalElectronicsIdCollection4_, ids7) ) {
00497 
00498     for ( EcalElectronicsIdCollection::const_iterator idItr = ids7->begin(); idItr != ids7->end(); ++idItr ) {
00499 
00500       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00501 
00502       int ism = Numbers::iSM( *idItr );
00503 
00504       int itt   = idItr->towerId();
00505       float iTt = itt + 0.5 - 69;
00506 
00507       if ( meIntegrityMemTTBlockSize[ism-1] ) meIntegrityMemTTBlockSize[ism-1]->Fill(iTt,0);
00508 
00509     }
00510 
00511   } else {
00512 
00513     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection4_ << " not available";
00514 
00515   }
00516 
00517   Handle<EcalElectronicsIdCollection> ids8;
00518 
00519   if ( e.getByLabel(EcalElectronicsIdCollection5_, ids8) ) {
00520 
00521     for ( EcalElectronicsIdCollection::const_iterator idItr = ids8->begin(); idItr != ids8->end(); ++idItr ) {
00522 
00523       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00524 
00525       int ism = Numbers::iSM( *idItr );
00526 
00527       int chid = idItr->channelId();
00528       int ie = EBIntegrityTask::chMemAbscissa[chid-1];
00529       int ip = EBIntegrityTask::chMemOrdinate[chid-1];
00530 
00531       int itt = idItr->towerId();
00532       ie += (itt-69)*5;
00533 
00534       float xie = ie - 0.5;
00535       float xip = ip - 0.5;
00536 
00537       if ( meIntegrityMemChId[ism-1] ) meIntegrityMemChId[ism-1]->Fill(xie,xip);
00538 
00539     }
00540 
00541   } else {
00542 
00543     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection5_ << " not available";
00544 
00545   }
00546 
00547   Handle<EcalElectronicsIdCollection> ids9;
00548 
00549   if ( e.getByLabel(EcalElectronicsIdCollection6_, ids9) ) {
00550 
00551     for ( EcalElectronicsIdCollection::const_iterator idItr = ids9->begin(); idItr != ids9->end(); ++idItr ) {
00552 
00553       if ( Numbers::subDet( *idItr ) != EcalBarrel ) continue;
00554 
00555       int ism = Numbers::iSM( *idItr );
00556 
00557       int chid = idItr->channelId();
00558       int ie = EBIntegrityTask::chMemAbscissa[chid-1];
00559       int ip = EBIntegrityTask::chMemOrdinate[chid-1];
00560 
00561       int itt = idItr->towerId();
00562       ie += (itt-69)*5;
00563 
00564       float xie = ie - 0.5;
00565       float xip = ip - 0.5;
00566 
00567       if ( meIntegrityMemGain[ism-1] ) meIntegrityMemGain[ism-1]->Fill(xie,xip);
00568 
00569     }
00570 
00571   } else {
00572 
00573     LogWarning("EBIntegrityTask") << EcalElectronicsIdCollection6_ << " not available";
00574 
00575   }
00576 
00577 }//  end analyze

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

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 77 of file EBIntegrityTask.cc.

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

00077                                                  {
00078 
00079   ievt_ = 0;
00080 
00081   if ( dqmStore_ ) {
00082     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask");
00083     dqmStore_->rmdir(prefixME_ + "/EBIntegrityTask");
00084   }
00085 
00086   Numbers::initGeometry(c, false);
00087 
00088 }

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

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 90 of file EBIntegrityTask.cc.

References mergeRuns_, and reset().

00090                                                                 {
00091 
00092   if ( ! mergeRuns_ ) this->reset();
00093 
00094 }

void EBIntegrityTask::cleanup ( void   )  [protected]

Cleanup.

Definition at line 230 of file EBIntegrityTask.cc.

References dqmStore_, edm::getName(), MonitorElement::getName(), i, init_, meIntegrityChId, meIntegrityDCCSize, meIntegrityGain, meIntegrityGainSwitch, meIntegrityMemChId, meIntegrityMemGain, meIntegrityMemTTBlockSize, meIntegrityMemTTId, meIntegrityTTBlockSize, meIntegrityTTId, prefixME_, DQMStore::removeElement(), and DQMStore::setCurrentFolder().

Referenced by endJob().

00230                                  {
00231 
00232   if ( ! init_ ) return;
00233 
00234   if ( dqmStore_ ) {
00235     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask");
00236 
00237     if ( meIntegrityDCCSize ) dqmStore_->removeElement( meIntegrityDCCSize->getName() );
00238     meIntegrityDCCSize = 0;
00239 
00240     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/Gain");
00241     for (int i = 0; i < 36; i++) {
00242       if ( meIntegrityGain[i] ) dqmStore_->removeElement( meIntegrityGain[i]->getName() );
00243       meIntegrityGain[i] = 0;
00244     }
00245 
00246     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/ChId");
00247     for (int i = 0; i < 36; i++) {
00248       if ( meIntegrityChId[i] ) dqmStore_->removeElement( meIntegrityChId[i]->getName() );
00249       meIntegrityChId[i] = 0;
00250     }
00251 
00252     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/GainSwitch");
00253     for (int i = 0; i < 36; i++) {
00254       if ( meIntegrityGainSwitch[i] ) dqmStore_->removeElement( meIntegrityGainSwitch[i]->getName() );
00255       meIntegrityGainSwitch[i] = 0;
00256     }
00257 
00258     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/TTId");
00259     for (int i = 0; i < 36; i++) {
00260       if ( meIntegrityTTId[i] ) dqmStore_->removeElement( meIntegrityTTId[i]->getName() );
00261       meIntegrityTTId[i] = 0;
00262     }
00263 
00264     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/TTBlockSize");
00265     for (int i = 0; i < 36; i++) {
00266       if ( meIntegrityTTBlockSize[i] ) dqmStore_->removeElement( meIntegrityTTBlockSize[i]->getName() );
00267       meIntegrityTTBlockSize[i] = 0;
00268     }
00269 
00270     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemChId");
00271     for (int i = 0; i < 36; i++) {
00272       if ( meIntegrityMemChId[i] ) dqmStore_->removeElement( meIntegrityMemChId[i]->getName() );
00273       meIntegrityMemChId[i] = 0;
00274     }
00275 
00276     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemGain");
00277     for (int i = 0; i < 36; i++) {
00278       if ( meIntegrityMemGain[i] ) dqmStore_->removeElement( meIntegrityMemGain[i]->getName() );
00279       meIntegrityMemGain[i] = 0;
00280     }
00281 
00282     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemTTId");
00283     for (int i = 0; i < 36; i++) {
00284       if ( meIntegrityMemTTId[i] ) dqmStore_->removeElement( meIntegrityMemTTId[i]->getName() );
00285       meIntegrityMemTTId[i] = 0;
00286     }
00287 
00288     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemSize");
00289     for (int i = 0; i < 36; i++) {
00290       if ( meIntegrityMemTTBlockSize[i] ) dqmStore_->removeElement( meIntegrityMemTTBlockSize[i]->getName() );
00291       meIntegrityMemTTBlockSize[i] = 0;
00292     }
00293 
00294   }
00295 
00296   init_ = false;
00297 
00298 }

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

EndJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 300 of file EBIntegrityTask.cc.

References cleanup(), enableCleanup_, and ievt_.

00300                                 {
00301 
00302   LogInfo("EBIntegrityTask") << "analyzed " << ievt_ << " events";
00303 
00304   if ( enableCleanup_ ) this->cleanup();
00305 
00306 }

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

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 96 of file EBIntegrityTask.cc.

00096                                                               {
00097 
00098 }

void EBIntegrityTask::reset ( void   )  [protected]

Reset.

Definition at line 100 of file EBIntegrityTask.cc.

References i, meIntegrityChId, meIntegrityDCCSize, meIntegrityGain, meIntegrityGainSwitch, meIntegrityMemChId, meIntegrityMemGain, meIntegrityMemTTBlockSize, meIntegrityMemTTId, meIntegrityTTBlockSize, meIntegrityTTId, and MonitorElement::Reset().

Referenced by beginRun().

00100                                 {
00101 
00102   if ( meIntegrityDCCSize ) meIntegrityDCCSize->Reset();
00103   for (int i = 0; i < 36; i++) {
00104     if ( meIntegrityGain[i] ) meIntegrityGain[i]->Reset();
00105     if ( meIntegrityChId[i] ) meIntegrityChId[i]->Reset();
00106     if ( meIntegrityGainSwitch[i] ) meIntegrityGainSwitch[i]->Reset();
00107     if ( meIntegrityTTId[i] ) meIntegrityTTId[i]->Reset();
00108     if ( meIntegrityTTBlockSize[i] ) meIntegrityTTBlockSize[i]->Reset();
00109     if ( meIntegrityMemChId[i] ) meIntegrityMemChId[i]->Reset();
00110     if ( meIntegrityMemGain[i] ) meIntegrityMemGain[i]->Reset();
00111     if ( meIntegrityMemTTId[i] ) meIntegrityMemTTId[i]->Reset();
00112     if ( meIntegrityMemTTBlockSize[i] ) meIntegrityMemTTBlockSize[i]->Reset();
00113   }
00114 
00115 }

void EBIntegrityTask::setup ( void   )  [protected]

Setup.

Definition at line 117 of file EBIntegrityTask.cc.

References DQMStore::book1D(), DQMStore::book2D(), dqmStore_, histo, i, init_, meIntegrityChId, meIntegrityDCCSize, meIntegrityGain, meIntegrityGainSwitch, meIntegrityMemChId, meIntegrityMemGain, meIntegrityMemTTBlockSize, meIntegrityMemTTId, meIntegrityTTBlockSize, meIntegrityTTId, prefixME_, Numbers::sEB(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), and DQMStore::tag().

Referenced by analyze().

00117                                {
00118 
00119   init_ = true;
00120 
00121   char histo[200];
00122 
00123   if ( dqmStore_ ) {
00124     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask");
00125 
00126     // checking when number of towers in data different than expected from header
00127     sprintf(histo, "EBIT DCC size error");
00128     meIntegrityDCCSize = dqmStore_->book1D(histo, histo, 36, 1, 37.);
00129     for (int i = 0; i < 36; i++) {
00130       meIntegrityDCCSize->setBinLabel(i+1, Numbers::sEB(i+1).c_str(), 1);
00131     }
00132 
00133     // checking when the gain is 0
00134     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/Gain");
00135     for (int i = 0; i < 36; i++) {
00136       sprintf(histo, "EBIT gain %s", Numbers::sEB(i+1).c_str());
00137       meIntegrityGain[i] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
00138       meIntegrityGain[i]->setAxisTitle("ieta", 1);
00139       meIntegrityGain[i]->setAxisTitle("iphi", 2);
00140       dqmStore_->tag(meIntegrityGain[i], i+1);
00141     }
00142 
00143     // checking when channel has unexpected or invalid ID
00144     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/ChId");
00145     for (int i = 0; i < 36; i++) {
00146       sprintf(histo, "EBIT ChId %s", Numbers::sEB(i+1).c_str());
00147       meIntegrityChId[i] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
00148       meIntegrityChId[i]->setAxisTitle("ieta", 1);
00149       meIntegrityChId[i]->setAxisTitle("iphi", 2);
00150       dqmStore_->tag(meIntegrityChId[i], i+1);
00151     }
00152 
00153     // checking when channel has unexpected or invalid ID
00154     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/GainSwitch");
00155     for (int i = 0; i < 36; i++) {
00156       sprintf(histo, "EBIT gain switch %s", Numbers::sEB(i+1).c_str());
00157       meIntegrityGainSwitch[i] = dqmStore_->book2D(histo, histo, 85, 0., 85., 20, 0., 20.);
00158       meIntegrityGainSwitch[i]->setAxisTitle("ieta", 1);
00159       meIntegrityGainSwitch[i]->setAxisTitle("iphi", 2);
00160       dqmStore_->tag(meIntegrityGainSwitch[i], i+1);
00161     }
00162 
00163     // checking when trigger tower has unexpected or invalid ID
00164     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/TTId");
00165     for (int i = 0; i < 36; i++) {
00166       sprintf(histo, "EBIT TTId %s", Numbers::sEB(i+1).c_str());
00167       meIntegrityTTId[i] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00168       meIntegrityTTId[i]->setAxisTitle("ieta'", 1);
00169       meIntegrityTTId[i]->setAxisTitle("iphi'", 2);
00170       dqmStore_->tag(meIntegrityTTId[i], i+1);
00171     }
00172 
00173     // checking when trigger tower has unexpected or invalid size
00174     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/TTBlockSize");
00175     for (int i = 0; i < 36; i++) {
00176       sprintf(histo, "EBIT TTBlockSize %s", Numbers::sEB(i+1).c_str());
00177       meIntegrityTTBlockSize[i] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00178       meIntegrityTTBlockSize[i]->setAxisTitle("ieta'", 1);
00179       meIntegrityTTBlockSize[i]->setAxisTitle("iphi'", 2);
00180       dqmStore_->tag(meIntegrityTTBlockSize[i], i+1);
00181     }
00182 
00183     // checking when mem channels have unexpected ID
00184     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemChId");
00185     for (int i = 0; i < 36; i++) {
00186       sprintf(histo, "EBIT MemChId %s", Numbers::sEB(i+1).c_str());
00187       meIntegrityMemChId[i] = dqmStore_->book2D(histo, histo, 10, 0., 10., 5, 0., 5.);
00188       meIntegrityMemChId[i]->setAxisTitle("pseudo-strip", 1);
00189       meIntegrityMemChId[i]->setAxisTitle("channel", 2);
00190       dqmStore_->tag(meIntegrityMemChId[i], i+1);
00191     }
00192 
00193     // checking when mem samples have second bit encoding the gain different from 0
00194     // note: strictly speaking, this does not corrupt the mem sample gain value (since only first bit is considered)
00195     // but indicates that data are not completely correct
00196     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemGain");
00197     for (int i = 0; i < 36; i++) {
00198       sprintf(histo, "EBIT MemGain %s", Numbers::sEB(i+1).c_str());
00199       meIntegrityMemGain[i] = dqmStore_->book2D(histo, histo, 10, 0., 10., 5, 0., 5.);
00200       meIntegrityMemGain[i]->setAxisTitle("pseudo-strip", 1);
00201       meIntegrityMemGain[i]->setAxisTitle("channel", 2);
00202       dqmStore_->tag(meIntegrityMemGain[i], i+1);
00203     }
00204 
00205     // checking when mem tower block has unexpected ID
00206     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemTTId");
00207     for (int i = 0; i < 36; i++) {
00208       sprintf(histo, "EBIT MemTTId %s", Numbers::sEB(i+1).c_str());
00209       meIntegrityMemTTId[i] = dqmStore_->book2D(histo, histo, 2, 0., 2., 1, 0., 1.);
00210       meIntegrityMemTTId[i]->setAxisTitle("pseudo-strip", 1);
00211       meIntegrityMemTTId[i]->setAxisTitle("channel", 2);
00212       dqmStore_->tag(meIntegrityMemTTId[i], i+1);
00213     }
00214 
00215     // checking when mem tower block has invalid size
00216     dqmStore_->setCurrentFolder(prefixME_ + "/EBIntegrityTask/MemSize");
00217     for (int i = 0; i < 36; i++) {
00218       sprintf(histo, "EBIT MemSize %s", Numbers::sEB(i+1).c_str());
00219       meIntegrityMemTTBlockSize[i] = dqmStore_->book2D(histo, histo, 2, 0., 2., 1, 0., 1.);
00220       meIntegrityMemTTBlockSize[i]->setAxisTitle("pseudo-strip", 1);
00221       meIntegrityMemTTId[i]->setAxisTitle("pseudo-strip", 1);
00222       meIntegrityMemTTId[i]->setAxisTitle("channel", 2);
00223       dqmStore_->tag(meIntegrityMemTTBlockSize[i], i+1);
00224     }
00225 
00226   }
00227 
00228 }


Member Data Documentation

const int EBIntegrityTask::chMemAbscissa [static, private]

Initial value:

 {
    1, 1, 1, 1, 1,
    2, 2, 2, 2, 2,
    3, 3, 3, 3, 3,
    4, 4, 4, 4, 4,
    5, 5, 5, 5, 5
}

Definition at line 94 of file EBIntegrityTask.h.

Referenced by analyze().

const int EBIntegrityTask::chMemOrdinate [static, private]

Initial value:

 {
    1, 2, 3, 4, 5,
    5, 4, 3, 2, 1,
    1, 2, 3, 4, 5,
    5, 4, 3, 2, 1,
    1, 2, 3, 4, 5
}

Definition at line 95 of file EBIntegrityTask.h.

Referenced by analyze().

DQMStore* EBIntegrityTask::dqmStore_ [private]

Definition at line 61 of file EBIntegrityTask.h.

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

edm::InputTag EBIntegrityTask::EBDetIdCollection0_ [private]

Definition at line 69 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EBDetIdCollection1_ [private]

Definition at line 70 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EBDetIdCollection2_ [private]

Definition at line 71 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EBDetIdCollection3_ [private]

Definition at line 72 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EBDetIdCollection4_ [private]

Definition at line 73 of file EBIntegrityTask.h.

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection1_ [private]

Definition at line 74 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection2_ [private]

Definition at line 75 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection3_ [private]

Definition at line 76 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection4_ [private]

Definition at line 77 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection5_ [private]

Definition at line 78 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

edm::InputTag EBIntegrityTask::EcalElectronicsIdCollection6_ [private]

Definition at line 79 of file EBIntegrityTask.h.

Referenced by analyze(), and EBIntegrityTask().

bool EBIntegrityTask::enableCleanup_ [private]

Definition at line 65 of file EBIntegrityTask.h.

Referenced by EBIntegrityTask(), and endJob().

int EBIntegrityTask::ievt_ [private]

Definition at line 59 of file EBIntegrityTask.h.

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

bool EBIntegrityTask::init_ [private]

Definition at line 92 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityChId[36] [private]

Definition at line 81 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityDCCSize [private]

Definition at line 90 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityGain[36] [private]

Definition at line 82 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityGainSwitch[36] [private]

Definition at line 83 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityMemChId[36] [private]

Definition at line 86 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityMemGain[36] [private]

Definition at line 87 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityMemTTBlockSize[36] [private]

Definition at line 89 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityMemTTId[36] [private]

Definition at line 88 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityTTBlockSize[36] [private]

Definition at line 85 of file EBIntegrityTask.h.

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

MonitorElement* EBIntegrityTask::meIntegrityTTId[36] [private]

Definition at line 84 of file EBIntegrityTask.h.

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

bool EBIntegrityTask::mergeRuns_ [private]

Definition at line 67 of file EBIntegrityTask.h.

Referenced by beginRun(), and EBIntegrityTask().

std::string EBIntegrityTask::prefixME_ [private]

Definition at line 63 of file EBIntegrityTask.h.

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


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