CMS 3D CMS Logo

EBTriggerTowerClient Class Reference

#include <DQM/EcalBarrelMonitorClient/interface/EBTriggerTowerClient.h>

Inheritance diagram for EBTriggerTowerClient:

EBClient

List of all members.

Public Member Functions

void analyze (void)
 Analyze.
void beginJob (DQMStore *dqmStore)
 BeginJob.
void beginRun (void)
 BeginRun.
void cleanup (void)
 Cleanup.
 EBTriggerTowerClient (const edm::ParameterSet &ps)
 Constructor.
void endJob (void)
 EndJob.
void endRun (void)
 EndRun.
int getEvtPerJob ()
 Get Functions.
int getEvtPerRun ()
 Returns the number of processed events in this Run.
void htmlOutput (int run, std::string &htmlDir, std::string &htmlName)
 HtmlOutput.
void setup (void)
 Setup.
void softReset (bool flag)
 SoftReset.
bool writeDb (EcalCondDBInterface *econn, RunIOV *runiov, MonRunIOV *moniov, bool &status, bool flag)
 WriteDB.
virtual ~EBTriggerTowerClient ()
 Destructor.

Private Member Functions

void analyze (const char *nameext, const char *folder, bool emulated)

Private Attributes

bool cloneME_
bool debug_
DQMStoredqmStore_
bool enableCleanup_
TH2F * h01_
TH2F * h02_
TH3F * i01_ [36]
TH3F * i02_ [36]
int ievt_
TH3F * j01_ [36]
TH3F * j02_ [36]
int jevt_
TH2F * l01_ [36]
TH3F * m01_ [36]
MonitorElementme_h01_ [36]
MonitorElementme_h02_ [36]
MonitorElementme_i01_ [36][2]
MonitorElementme_i02_ [36][2]
MonitorElementme_j01_ [36][6]
MonitorElementme_j02_ [36][6]
MonitorElementme_m01_ [36][6]
MonitorElementme_n01_ [36][2]
MonitorElementme_o01_ [36]
MonitorElementmeh01_
MonitorElementmeh02_
MonitorElementmei01_ [36]
MonitorElementmei02_ [36]
MonitorElementmej01_ [36]
MonitorElementmej02_ [36]
MonitorElementmel01_ [36]
MonitorElementmem01_ [36]
MonitorElementmen01_ [36]
MonitorElementmeo01_ [36]
TH3F * n01_ [36]
TH3F * o01_ [36]
std::string prefixME_
std::vector< intsuperModules_
bool verbose_

Friends

class EBSummaryClient


Detailed Description

Definition at line 33 of file EBTriggerTowerClient.h.


Constructor & Destructor Documentation

EBTriggerTowerClient::EBTriggerTowerClient ( const edm::ParameterSet ps  ) 

Constructor.

Definition at line 32 of file EBTriggerTowerClient.cc.

References cloneME_, debug_, enableCleanup_, edm::ParameterSet::getUntrackedParameter(), h01_, h02_, i, i01_, i02_, j, j01_, j02_, l01_, m01_, me_h01_, me_h02_, me_i01_, me_i02_, me_j01_, me_j02_, me_m01_, me_n01_, me_o01_, meh01_, meh02_, mei01_, mei02_, mej01_, mej02_, mel01_, mem01_, men01_, meo01_, n01_, o01_, prefixME_, superModules_, and verbose_.

00032                                                                  {
00033 
00034   // cloneME switch
00035   cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true);
00036 
00037   // verbose switch
00038   verbose_ = ps.getUntrackedParameter<bool>("verbose", true);
00039 
00040   // debug switch
00041   debug_ = ps.getUntrackedParameter<bool>("debug", false);
00042 
00043   // prefixME path
00044   prefixME_ = ps.getUntrackedParameter<string>("prefixME", "");
00045 
00046   // enableCleanup_ switch
00047   enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false);
00048 
00049   // vector of selected Super Modules (Defaults to all 36).
00050   superModules_.reserve(36);
00051   for ( unsigned int i = 1; i <= 36; i++ ) superModules_.push_back(i);
00052   superModules_ = ps.getUntrackedParameter<vector<int> >("superModules", superModules_);
00053 
00054   h01_ = 0;
00055   h02_ = 0;
00056 
00057   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00058 
00059     int ism = superModules_[i];
00060 
00061     i01_[ism-1] = 0;
00062     i02_[ism-1] = 0;
00063     j01_[ism-1] = 0;
00064     j02_[ism-1] = 0;
00065 
00066     l01_[ism-1] = 0;
00067     m01_[ism-1] = 0;
00068     n01_[ism-1] = 0;
00069     o01_[ism-1] = 0;
00070 
00071     meh01_ = 0;
00072     meh02_ = 0;
00073 
00074     mei01_[ism-1] = 0;
00075     mei02_[ism-1] = 0;
00076     mej01_[ism-1] = 0;
00077     mej02_[ism-1] = 0;
00078 
00079     mel01_[ism-1] = 0;
00080     mem01_[ism-1] = 0;
00081     men01_[ism-1] = 0;
00082     meo01_[ism-1] = 0;
00083 
00084 //     for (int j=0; j<68; j++) {
00085 //
00086 //       k01_[ism-1][j] = 0;
00087 //       k02_[ism-1][j] = 0;
00088 //
00089 //       mek01_[ism-1][j] = 0;
00090 //       mek02_[ism-1][j] = 0;
00091 //
00092 //     }
00093 
00094     me_h01_[ism-1] = 0;
00095     me_h02_[ism-1] = 0;
00096     for (int j=0; j<2; j++) {
00097       me_i01_[ism-1][j] = 0;
00098       me_i02_[ism-1][j] = 0;
00099       me_n01_[ism-1][j] = 0;
00100     }
00101     for (int j=0; j<6; j++) {
00102       me_j01_[ism-1][j] = 0;
00103       me_j02_[ism-1][j] = 0;
00104       me_m01_[ism-1][j] = 0;
00105     }
00106     me_o01_[ism-1] = 0;
00107 
00108   }
00109 
00110 }

EBTriggerTowerClient::~EBTriggerTowerClient (  )  [virtual]

Destructor.

Definition at line 112 of file EBTriggerTowerClient.cc.

00112                                             {
00113 
00114 }


Member Function Documentation

void EBTriggerTowerClient::analyze ( const char *  nameext,
const char *  folder,
bool  emulated 
) [private]

Definition at line 388 of file EBTriggerTowerClient.cc.

References cloneME_, dqmStore_, MonitorElement::Fill(), find(), DQMStore::get(), h01_, h02_, histo, i, i01_, i02_, index, iter, j, j01_, j02_, l01_, m01_, max, me, me_h01_, me_h02_, me_i01_, me_i02_, me_j01_, me_j02_, me_m01_, me_n01_, me_o01_, meh01_, meh02_, mei01_, mei02_, mej01_, mej02_, mel01_, mem01_, men01_, meo01_, n01_, o01_, prefixME_, MonitorElement::Reset(), Numbers::sEB(), MonitorElement::setBinContent(), and superModules_.

00390                                                   {
00391   char histo[200];
00392 
00393   MonitorElement* me;
00394 
00395   sprintf(histo, (prefixME_ + "/%s/EBTTT Et map %s").c_str(), folder, nameext);
00396   me = dqmStore_->get(histo);
00397   if(!emulated) {
00398     h01_ = UtilsClient::getHisto<TH2F*>( me, cloneME_, h01_ );
00399     meh01_ = me;
00400   }
00401   else {
00402     h02_ = UtilsClient::getHisto<TH2F*>( me, cloneME_, h02_ );
00403     meh02_ = me;
00404   }
00405 
00406   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00407 
00408     int ism = superModules_[i];
00409 
00410     sprintf(histo, (prefixME_ + "/%s/EBTTT FineGrainVeto %s %s").c_str(), folder, nameext, Numbers::sEB(ism).c_str());
00411     me = dqmStore_->get(histo);
00412     if(!emulated) {
00413       i01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, i01_[ism-1] );
00414       mei01_[ism-1] = me;
00415     }
00416     else {
00417       i02_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, i02_[ism-1] );
00418       mei02_[ism-1] = me;
00419     }
00420 
00421     sprintf(histo, (prefixME_ + "/%s/EBTTT Flags %s %s").c_str(), folder, nameext, Numbers::sEB(ism).c_str());
00422     me = dqmStore_->get(histo);
00423     if(!emulated) {
00424       j01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, j01_[ism-1] );
00425       mej01_[ism-1] = me;
00426     }
00427     else {
00428       j02_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, j02_[ism-1] );
00429       mej02_[ism-1] = me;
00430     }
00431 
00432     if(!emulated) {
00433       sprintf(histo, (prefixME_ + "/%s/EBTTT EmulError %s").c_str(), folder, Numbers::sEB(ism).c_str());
00434       me = dqmStore_->get(histo);
00435       l01_[ism-1] = UtilsClient::getHisto<TH2F*>( me, cloneME_, l01_[ism-1] );
00436       mel01_[ism-1] = me;
00437 
00438       sprintf(histo, (prefixME_ + "/%s/EBTTT EmulFlagError %s").c_str(), folder, Numbers::sEB(ism).c_str());
00439       me = dqmStore_->get(histo);
00440       m01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, m01_[ism-1] );
00441       mem01_[ism-1] = me;
00442 
00443       sprintf(histo, (prefixME_ + "/%s/EBTTT EmulFineGrainVetoError %s").c_str(), folder, Numbers::sEB(ism).c_str());
00444       me = dqmStore_->get(histo);
00445       n01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, n01_[ism-1] );
00446       men01_[ism-1] = me;
00447 
00448       sprintf(histo, (prefixME_ + "/%s/EBTTT EmulMatch %s").c_str(), folder, Numbers::sEB(ism).c_str());
00449       me = dqmStore_->get(histo);
00450       o01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, o01_[ism-1] );
00451       meo01_[ism-1] = me;
00452 
00453     }
00454 
00455 //     for (int j=0; j<68; j++) {
00456 //
00457 //       sprintf(histo, (prefixME_ + "/EBTriggerTowerTask/EnergyMaps/EBTTT Et T %s TT%02d").c_str(), ism, j+1);
00458 //       me = dqmStore_->get(histo);
00459 //       k01_[ism-1][j] = UtilsClient::getHisto<TH1F*>( me, cloneME_, k01_[ism-1][j] );
00460 //       mek01_[ism-1][j] = me;
00461 //
00462 //       sprintf(histo, (prefixME_ + "/EBTriggerTowerTask/EnergyMaps/EBTTT Et R %s TT%02d").c_str(), ism, j+1);
00463 //       me = dqmStore_->get(histo);
00464 //       k02_[ism-1][j] = UtilsClient::getHisto<TH1F*>( me, cloneME_, k02_[ism-1][j] );
00465 //       mek02_[ism-1][j] = me;
00466 //
00467 //     }
00468 
00469     if ( me_h01_[ism-1] ) me_h01_[ism-1]->Reset();
00470     if ( me_h02_[ism-1] ) me_h02_[ism-1]->Reset();
00471     for (int j=0; j<2; j++) {
00472       if ( me_i01_[ism-1][j] ) me_i01_[ism-1][j]->Reset();
00473       if ( me_i02_[ism-1][j] ) me_i02_[ism-1][j]->Reset();
00474       if ( me_n01_[ism-1][j] ) me_n01_[ism-1][j]->Reset();
00475     }
00476     for (int j=0; j<6; j++) {
00477       if ( me_j01_[ism-1][j] ) me_j01_[ism-1][j]->Reset();
00478       if ( me_j02_[ism-1][j] ) me_j02_[ism-1][j]->Reset();
00479       if ( me_m01_[ism-1][j] ) me_m01_[ism-1][j]->Reset();
00480     }
00481     if ( me_o01_[ism-1] ) me_o01_[ism-1]->Reset();
00482 
00483     for (int ie = 1; ie <= 17; ie++) {
00484       for (int ip = 1; ip <= 4; ip++) {
00485 
00486         for (int j=0; j<2; j++) {
00487           if ( i01_[ism-1] ) me_i01_[ism-1][j]->Fill(ie-0.5, ip-0.5, i01_[ism-1]->GetBinContent(ie, ip, j+1));
00488           if ( i02_[ism-1] ) me_i02_[ism-1][j]->Fill(ie-0.5, ip-0.5, i02_[ism-1]->GetBinContent(ie, ip, j+1));
00489           if ( n01_[ism-1] ) me_n01_[ism-1][j]->Fill(ie-0.5, ip-0.5, n01_[ism-1]->GetBinContent(ie, ip, j+1));
00490         }
00491         for (int j=0; j<6; j++) {
00492           if ( j == 0 ) {
00493             if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+1));
00494             if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+1));
00495             if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+1));
00496           }
00497           if ( j == 1 ) {
00498             if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+1));
00499             if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+1));
00500             if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+1));
00501           }
00502           if ( j == 2 ) {
00503             if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+2));
00504             if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+2));
00505             if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+2));
00506           }
00507           if ( j == 3 ) {
00508             if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+2));
00509             if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+2));
00510             if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+2));
00511           }
00512           if ( j == 4 ) {
00513             if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+2));
00514             if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+2));
00515             if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+2));
00516           }
00517           if ( j == 5 ) {
00518             if ( j01_[ism-1] ) {
00519               me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+2));
00520               me_j01_[ism-1][j]->Fill(ie-0.5, ip-0.5, j01_[ism-1]->GetBinContent(ie, ip, j+3));
00521             }
00522             if ( j02_[ism-1] ) {
00523               me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+2));
00524               me_j02_[ism-1][j]->Fill(ie-0.5, ip-0.5, j02_[ism-1]->GetBinContent(ie, ip, j+3));
00525             }
00526             if ( m01_[ism-1] ) {
00527               me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+2));
00528               me_m01_[ism-1][j]->Fill(ie-0.5, ip-0.5, m01_[ism-1]->GetBinContent(ie, ip, j+3));
00529             }
00530           }
00531         }
00532         if ( o01_[ism-1] ) {
00533           float index=-1;
00534           double max=0;
00535           for (int j=0; j<6; j++) {
00536             double sampleEntries = o01_[ism-1]->GetBinContent(ie, ip, j+1);
00537             if(sampleEntries > max) {
00538               index=j;
00539               max = sampleEntries;
00540             }
00541           }
00542           if ( max > 0 ) {
00543             if ( index == 0 ) me_o01_[ism-1]->setBinContent(ie, ip, -1);
00544             else me_o01_[ism-1]->setBinContent(ie, ip, index );
00545           }
00546         }
00547 
00548       }
00549     }
00550 
00551   }
00552 
00553   for (int xttindex = 0; xttindex<68*36; xttindex++) {
00554 
00555     int ttindex = xttindex%68;
00556 
00557     int ie = (ttindex-1)/4 + 1;
00558     int ip = (ttindex-1)%4 + 1;
00559 
00560     int ism = xttindex/68 + 1;
00561 
00562     vector<int>::const_iterator iter = find(superModules_.begin(), superModules_.end(), ism);
00563     if ( iter == superModules_.end() ) continue;
00564 
00565     for (int j = 0; j <= 256; j++) {
00566       if ( h01_ ) me_h01_[ism-1]->Fill(ie-0.5, ip-0.5, j-0.5, h01_->GetBinContent(xttindex, j+1));
00567       if ( h02_ ) me_h02_[ism-1]->Fill(ie-0.5, ip-0.5, j-0.5, h02_->GetBinContent(xttindex, j+1));
00568     }
00569 
00570   }
00571 
00572 }

void EBTriggerTowerClient::analyze ( void   )  [virtual]

Analyze.

Implements EBClient.

Definition at line 372 of file EBTriggerTowerClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), ievt_, and jevt_.

00372                                        {
00373 
00374   ievt_++;
00375   jevt_++;
00376   if ( ievt_ % 10 == 0 ) {
00377     if ( debug_ ) cout << "EBTriggerTowerClient: ievt/jevt = " << ievt_ << "/" << jevt_ << endl;
00378   }
00379 
00380   analyze("Real Digis",
00381           "EBTriggerTowerTask", false );
00382 
00383   analyze("Emulated Digis",
00384           "EBTriggerTowerTask/Emulated", true );
00385 
00386 }

void EBTriggerTowerClient::beginJob ( DQMStore dqmStore  )  [virtual]

BeginJob.

Implements EBClient.

Definition at line 116 of file EBTriggerTowerClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, debug_, dqmStore_, lat::endl(), ievt_, and jevt_.

00116                                                       {
00117 
00118   dqmStore_ = dqmStore;
00119 
00120   if ( debug_ ) cout << "EBTriggerTowerClient: beginJob" << endl;
00121 
00122   ievt_ = 0;
00123   jevt_ = 0;
00124 
00125 }

void EBTriggerTowerClient::beginRun ( void   )  [virtual]

BeginRun.

Implements EBClient.

Definition at line 127 of file EBTriggerTowerClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), jevt_, and setup().

00127                                         {
00128 
00129   if ( debug_ ) cout << "EBTriggerTowerClient: beginRun" << endl;
00130 
00131   jevt_ = 0;
00132 
00133   this->setup();
00134 
00135 }

void EBTriggerTowerClient::cleanup ( void   )  [virtual]

Cleanup.

Implements EBClient.

Definition at line 244 of file EBTriggerTowerClient.cc.

References cloneME_, dqmStore_, enableCleanup_, edm::getName(), h01_, h02_, i, i01_, i02_, j, j01_, j02_, l01_, m01_, me_h01_, me_h02_, me_i01_, me_i02_, me_j01_, me_j02_, me_m01_, me_n01_, me_o01_, meh01_, meh02_, mei01_, mei02_, mej01_, mej02_, mel01_, mem01_, men01_, meo01_, n01_, o01_, prefixME_, DQMStore::removeElement(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by endJob(), and endRun().

00244                                        {
00245 
00246   if ( ! enableCleanup_ ) return;
00247 
00248   if ( cloneME_ ) {
00249     if ( h01_ ) delete h01_;
00250     if ( h02_ ) delete h02_;
00251   }
00252 
00253   h01_ = 0;
00254   h02_ = 0;
00255 
00256   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00257 
00258     int ism = superModules_[i];
00259 
00260     if ( cloneME_ ) {
00261       if ( i01_[ism-1] ) delete i01_[ism-1];
00262       if ( i02_[ism-1] ) delete i02_[ism-1];
00263       if ( j01_[ism-1] ) delete j01_[ism-1];
00264       if ( j02_[ism-1] ) delete j02_[ism-1];
00265       if ( l01_[ism-1] ) delete l01_[ism-1];
00266       if ( m01_[ism-1] ) delete m01_[ism-1];
00267       if ( n01_[ism-1] ) delete n01_[ism-1];
00268       if ( o01_[ism-1] ) delete o01_[ism-1];
00269     }
00270 
00271     i01_[ism-1] = 0;
00272     i02_[ism-1] = 0;
00273     j01_[ism-1] = 0;
00274     j02_[ism-1] = 0;
00275 
00276     l01_[ism-1] = 0;
00277     m01_[ism-1] = 0;
00278     n01_[ism-1] = 0;
00279     o01_[ism-1] = 0;
00280 
00281     meh01_ = 0;
00282     meh02_ = 0;
00283 
00284     mei01_[ism-1] = 0;
00285     mei02_[ism-1] = 0;
00286     mej01_[ism-1] = 0;
00287     mej02_[ism-1] = 0;
00288 
00289     mel01_[ism-1] = 0;
00290     mem01_[ism-1] = 0;
00291     men01_[ism-1] = 0;
00292     meo01_[ism-1] = 0;
00293 
00294 //     for (int j=0; j<68; j++) {
00295 //
00296 //       if ( cloneME_ ) {
00297 //         if ( k01_[ism-1][j] ) delete k01_[ism-1][j];
00298 //         if ( k02_[ism-1][j] ) delete k02_[ism-1][j];
00299 //       }
00300 //
00301 //       k01_[ism-1][j] = 0;
00302 //       k02_[ism-1][j] = 0;
00303 //
00304 //       mek01_[ism-1][j] = 0;
00305 //       mek02_[ism-1][j] = 0;
00306 //
00307 //     }
00308 
00309   }
00310 
00311   dqmStore_->setCurrentFolder( prefixME_ + "/EBTriggerTowerClient" );
00312 
00313   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00314 
00315     int ism = superModules_[i];
00316 
00317     if ( me_h01_[ism-1] ) dqmStore_->removeElement( me_h01_[ism-1]->getName() );
00318     me_h01_[ism-1] = 0;
00319     if ( me_h02_[ism-1] ) dqmStore_->removeElement( me_h02_[ism-1]->getName() );
00320     me_h02_[ism-1] = 0;
00321     for (int j=0; j<2; j++) {
00322       if ( me_i01_[ism-1][j] ) dqmStore_->removeElement( me_i01_[ism-1][j]->getName() );
00323       me_i01_[ism-1][j] = 0;
00324       if ( me_i02_[ism-1][j] ) dqmStore_->removeElement( me_i02_[ism-1][j]->getName() );
00325       me_i02_[ism-1][j] = 0;
00326       if ( me_n01_[ism-1][j] ) dqmStore_->removeElement( me_n01_[ism-1][j]->getName() );
00327       me_n01_[ism-1][j] = 0;
00328     }
00329     for (int j=0; j<6; j++) {
00330       if ( me_j01_[ism-1][j] ) dqmStore_->removeElement( me_j01_[ism-1][j]->getName() );
00331       me_j01_[ism-1][j] = 0;
00332       if ( me_j02_[ism-1][j] ) dqmStore_->removeElement( me_j02_[ism-1][j]->getName() );
00333       me_j02_[ism-1][j] = 0;
00334       if ( me_m01_[ism-1][j] ) dqmStore_->removeElement( me_m01_[ism-1][j]->getName() );
00335       me_m01_[ism-1][j] = 0;
00336     }
00337     if ( me_o01_[ism-1] ) dqmStore_->removeElement( me_o01_[ism-1]->getName() );
00338     me_o01_[ism-1] = 0;
00339 
00340   }
00341 
00342 }

void EBTriggerTowerClient::endJob ( void   )  [virtual]

EndJob.

Implements EBClient.

Definition at line 137 of file EBTriggerTowerClient.cc.

References cleanup(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and ievt_.

00137                                       {
00138 
00139   if ( debug_ ) cout << "EBTriggerTowerClient: endJob, ievt = " << ievt_ << endl;
00140 
00141   this->cleanup();
00142 
00143 }

void EBTriggerTowerClient::endRun ( void   )  [virtual]

EndRun.

Implements EBClient.

Definition at line 145 of file EBTriggerTowerClient.cc.

References cleanup(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and jevt_.

00145                                       {
00146 
00147   if ( debug_ ) cout << "EBTriggerTowerClient: endRun, jevt = " << jevt_ << endl;
00148 
00149   this->cleanup();
00150 
00151 }

int EBTriggerTowerClient::getEvtPerJob ( void   )  [inline, virtual]

Get Functions.

Implements EBClient.

Definition at line 76 of file EBTriggerTowerClient.h.

References ievt_.

00076 { return ievt_; }

int EBTriggerTowerClient::getEvtPerRun ( void   )  [inline, virtual]

Returns the number of processed events in this Run.

Implements EBClient.

Definition at line 77 of file EBTriggerTowerClient.h.

References jevt_.

00077 { return jevt_; }

void EBTriggerTowerClient::htmlOutput ( int  run,
std::string &  htmlDir,
std::string &  htmlName 
) [virtual]

HtmlOutput.

Implements EBClient.

void EBTriggerTowerClient::setup ( void   )  [virtual]

Setup.

Implements EBClient.

Definition at line 153 of file EBTriggerTowerClient.cc.

References bits, DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, edm::getName(), histo, i, j, me_h01_, me_h02_, me_i01_, me_i02_, me_j01_, me_j02_, me_m01_, me_n01_, me_o01_, prefixME_, DQMStore::removeElement(), MonitorElement::Reset(), Numbers::sEB(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and superModules_.

Referenced by beginRun().

00153                                      {
00154 
00155   char histo[200];
00156 
00157   dqmStore_->setCurrentFolder( prefixME_ + "/EBTriggerTowerClient" );
00158 
00159   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00160 
00161     int ism = superModules_[i];
00162 
00163     if ( me_h01_[ism-1] ) dqmStore_->removeElement( me_h01_[ism-1]->getName() );
00164     sprintf(histo, "EBTTT Et map Real Digis %s", Numbers::sEB(ism).c_str());
00165     me_h01_[ism-1] = dqmStore_->bookProfile2D(histo, histo, 17, 0., 17., 4, 0., 4., 256, 0., 256., "s");
00166     me_h01_[ism-1]->setAxisTitle("ieta'", 1);
00167     me_h01_[ism-1]->setAxisTitle("iphi'", 2);
00168     if ( me_h02_[ism-1] ) dqmStore_->removeElement( me_h02_[ism-1]->getName() );
00169     sprintf(histo, "EBTTT Et map Emulated Digis %s", Numbers::sEB(ism).c_str());
00170     me_h02_[ism-1] = dqmStore_->bookProfile2D(histo, histo, 17, 0., 17., 4, 0., 4., 256, 0., 256., "s");
00171     me_h02_[ism-1]->setAxisTitle("ieta'", 1);
00172     me_h02_[ism-1]->setAxisTitle("iphi'", 2);
00173     for (int j=0; j<2; j++) {
00174       if ( me_i01_[ism-1][j] ) dqmStore_->removeElement( me_i01_[ism-1][j]->getName() );
00175       sprintf(histo, "EBTTT FineGrainVeto Real Digis Flag %d %s", j, Numbers::sEB(ism).c_str());
00176       me_i01_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00177       me_i01_[ism-1][j]->setAxisTitle("ieta'", 1);
00178       me_i01_[ism-1][j]->setAxisTitle("iphi'", 2);
00179       if ( me_i02_[ism-1][j] ) dqmStore_->removeElement( me_i02_[ism-1][j]->getName() );
00180       sprintf(histo, "EBTTT FineGrainVeto Emulated Digis Flag %d %s", j, Numbers::sEB(ism).c_str());
00181       me_i02_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00182       me_i02_[ism-1][j]->setAxisTitle("ieta'", 1);
00183       me_i02_[ism-1][j]->setAxisTitle("iphi'", 2);
00184       if ( me_n01_[ism-1][j] ) dqmStore_->removeElement( me_n01_[ism-1][j]->getName() );
00185       sprintf(histo, "EBTTT EmulFineGrainVetoError Flag %d %s", j, Numbers::sEB(ism).c_str());
00186       me_n01_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00187       me_n01_[ism-1][j]->setAxisTitle("ieta'", 1);
00188       me_n01_[ism-1][j]->setAxisTitle("iphi'", 2);
00189     }
00190     for (int j=0; j<6; j++) {
00191       string bits;
00192       if ( j == 0 ) bits = "Bit 000";
00193       if ( j == 1 ) bits = "Bit 001";
00194       if ( j == 2 ) bits = "Bit 011";
00195       if ( j == 3 ) bits = "Bit 100";
00196       if ( j == 4 ) bits = "Bit 101";
00197       if ( j == 5 ) bits = "Bits 110+111";
00198       if ( me_j01_[ism-1][j] ) dqmStore_->removeElement( me_j01_[ism-1][j]->getName() );
00199       sprintf(histo, "EBTTT Flags Real Digis %s %s", bits.c_str(), Numbers::sEB(ism).c_str());
00200       me_j01_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00201       me_j01_[ism-1][j]->setAxisTitle("ieta'", 1);
00202       me_j01_[ism-1][j]->setAxisTitle("iphi'", 2);
00203       if ( me_j02_[ism-1][j] ) dqmStore_->removeElement( me_j02_[ism-1][j]->getName() );
00204       sprintf(histo, "EBTTT Flags Emulated Digis %s %s", bits.c_str(), Numbers::sEB(ism).c_str());
00205       me_j02_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00206       me_j02_[ism-1][j]->setAxisTitle("ieta'", 1);
00207       me_j02_[ism-1][j]->setAxisTitle("iphi'", 2);
00208       if ( me_m01_[ism-1][j] ) dqmStore_->removeElement( me_m01_[ism-1][j]->getName() );
00209       sprintf(histo, "EBTTT EmulFlagError %s %s", bits.c_str(), Numbers::sEB(ism).c_str());
00210       me_m01_[ism-1][j] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00211       me_m01_[ism-1][j]->setAxisTitle("ieta'", 1);
00212       me_m01_[ism-1][j]->setAxisTitle("iphi'", 2);
00213     }
00214     if ( me_o01_[ism-1] ) dqmStore_->removeElement( me_o01_[ism-1]->getName() );
00215     sprintf(histo, "EBTTT Trigger Primitives Timing %s", Numbers::sEB(ism).c_str());
00216     me_o01_[ism-1] = dqmStore_->book2D(histo, histo, 17, 0., 17., 4, 0., 4.);
00217     me_o01_[ism-1]->setAxisTitle("ieta'", 1);
00218     me_o01_[ism-1]->setAxisTitle("iphi'", 2);
00219 
00220   }
00221 
00222   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00223 
00224     int ism = superModules_[i];
00225 
00226     if ( me_h01_[ism-1] ) me_h01_[ism-1]->Reset();
00227     if ( me_h02_[ism-1] ) me_h02_[ism-1]->Reset();
00228     for (int j=0; j<2; j++) {
00229       if ( me_i01_[ism-1][j] ) me_i01_[ism-1][j]->Reset();
00230       if ( me_i02_[ism-1][j] ) me_i02_[ism-1][j]->Reset();
00231       if ( me_n01_[ism-1][j] ) me_n01_[ism-1][j]->Reset();
00232     }
00233     for (int j=0; j<6; j++) {
00234       if ( me_j01_[ism-1][j] ) me_j01_[ism-1][j]->Reset();
00235       if ( me_j02_[ism-1][j] ) me_j02_[ism-1][j]->Reset();
00236       if ( me_m01_[ism-1][j] ) me_m01_[ism-1][j]->Reset();
00237     }
00238     if ( me_o01_[ism-1] ) me_o01_[ism-1]->Reset();
00239 
00240   }
00241 
00242 }

void EBTriggerTowerClient::softReset ( bool  flag  )  [virtual]

SoftReset.

Implements EBClient.

Definition at line 574 of file EBTriggerTowerClient.cc.

00574                                               {
00575 
00576 }

bool EBTriggerTowerClient::writeDb ( EcalCondDBInterface econn,
RunIOV runiov,
MonRunIOV moniov,
bool status,
bool  flag 
) [virtual]

WriteDB.

Implements EBClient.

Definition at line 344 of file EBTriggerTowerClient.cc.

References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), i, j, me_m01_, me_n01_, mel01_, UtilsClient::printBadChannels(), Numbers::sEB(), superModules_, and verbose_.

00344                                                                                                                          {
00345 
00346   status = true;
00347 
00348   if ( ! flag ) return false;
00349 
00350   for ( unsigned int i=0; i<superModules_.size(); i++ ) {
00351 
00352     int ism = superModules_[i];
00353 
00354     if ( verbose_ ) {
00355       cout << " " << Numbers::sEB(ism) << " (ism=" << ism << ")" << endl;
00356       cout << endl;
00357       UtilsClient::printBadChannels(mel01_[ism-1], UtilsClient::getHisto<TH2F*>(mel01_[ism-1]), true);
00358       for (int j=0; j<2; j++) {
00359         UtilsClient::printBadChannels(me_n01_[ism-1][j], UtilsClient::getHisto<TH2F*>(me_n01_[ism-1][j]), true);
00360       }
00361       for (int j=0; j<6; j++) {
00362        UtilsClient::printBadChannels(me_m01_[ism-1][j], UtilsClient::getHisto<TH2F*>(me_m01_[ism-1][j]), true);
00363       }
00364     }
00365 
00366   }
00367 
00368   return true;
00369 
00370 }


Friends And Related Function Documentation

friend class EBSummaryClient [friend]

Definition at line 35 of file EBTriggerTowerClient.h.


Member Data Documentation

bool EBTriggerTowerClient::cloneME_ [private]

Definition at line 86 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

bool EBTriggerTowerClient::debug_ [private]

Definition at line 89 of file EBTriggerTowerClient.h.

Referenced by analyze(), beginJob(), beginRun(), EBTriggerTowerClient(), endJob(), and endRun().

DQMStore* EBTriggerTowerClient::dqmStore_ [private]

Definition at line 97 of file EBTriggerTowerClient.h.

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

bool EBTriggerTowerClient::enableCleanup_ [private]

Definition at line 93 of file EBTriggerTowerClient.h.

Referenced by cleanup(), and EBTriggerTowerClient().

TH2F* EBTriggerTowerClient::h01_ [private]

Definition at line 112 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH2F* EBTriggerTowerClient::h02_ [private]

Definition at line 113 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::i01_[36] [private]

Definition at line 114 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::i02_[36] [private]

Definition at line 115 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

int EBTriggerTowerClient::ievt_ [private]

Definition at line 83 of file EBTriggerTowerClient.h.

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

TH3F* EBTriggerTowerClient::j01_[36] [private]

Definition at line 116 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::j02_[36] [private]

Definition at line 117 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

int EBTriggerTowerClient::jevt_ [private]

Definition at line 84 of file EBTriggerTowerClient.h.

Referenced by analyze(), beginJob(), beginRun(), endRun(), and getEvtPerRun().

TH2F* EBTriggerTowerClient::l01_[36] [private]

Definition at line 119 of file EBTriggerTowerClient.h.

Referenced by analyze(), EBSummaryClient::analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::m01_[36] [private]

Definition at line 120 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::me_h01_[36] [private]

Definition at line 130 of file EBTriggerTowerClient.h.

Referenced by analyze(), EBSummaryClient::analyze(), cleanup(), EBTriggerTowerClient(), and setup().

MonitorElement* EBTriggerTowerClient::me_h02_[36] [private]

Definition at line 131 of file EBTriggerTowerClient.h.

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

MonitorElement* EBTriggerTowerClient::me_i01_[36][2] [private]

Definition at line 133 of file EBTriggerTowerClient.h.

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

MonitorElement* EBTriggerTowerClient::me_i02_[36][2] [private]

Definition at line 134 of file EBTriggerTowerClient.h.

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

MonitorElement* EBTriggerTowerClient::me_j01_[36][6] [private]

Definition at line 137 of file EBTriggerTowerClient.h.

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

MonitorElement* EBTriggerTowerClient::me_j02_[36][6] [private]

Definition at line 138 of file EBTriggerTowerClient.h.

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

MonitorElement* EBTriggerTowerClient::me_m01_[36][6] [private]

Definition at line 139 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), EBTriggerTowerClient(), setup(), and writeDb().

MonitorElement* EBTriggerTowerClient::me_n01_[36][2] [private]

Definition at line 135 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), EBTriggerTowerClient(), setup(), and writeDb().

MonitorElement* EBTriggerTowerClient::me_o01_[36] [private]

Definition at line 140 of file EBTriggerTowerClient.h.

Referenced by analyze(), EBSummaryClient::analyze(), cleanup(), EBTriggerTowerClient(), and setup().

MonitorElement* EBTriggerTowerClient::meh01_ [private]

Definition at line 99 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::meh02_ [private]

Definition at line 100 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::mei01_[36] [private]

Definition at line 102 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::mei02_[36] [private]

Definition at line 103 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::mej01_[36] [private]

Definition at line 104 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::mej02_[36] [private]

Definition at line 105 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::mel01_[36] [private]

Definition at line 107 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), EBTriggerTowerClient(), and writeDb().

MonitorElement* EBTriggerTowerClient::mem01_[36] [private]

Definition at line 108 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::men01_[36] [private]

Definition at line 109 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

MonitorElement* EBTriggerTowerClient::meo01_[36] [private]

Definition at line 110 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::n01_[36] [private]

Definition at line 121 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

TH3F* EBTriggerTowerClient::o01_[36] [private]

Definition at line 122 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), and EBTriggerTowerClient().

std::string EBTriggerTowerClient::prefixME_ [private]

Definition at line 91 of file EBTriggerTowerClient.h.

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

std::vector<int> EBTriggerTowerClient::superModules_ [private]

Definition at line 95 of file EBTriggerTowerClient.h.

Referenced by analyze(), cleanup(), EBTriggerTowerClient(), setup(), and writeDb().

bool EBTriggerTowerClient::verbose_ [private]

Definition at line 88 of file EBTriggerTowerClient.h.

Referenced by EBTriggerTowerClient(), and writeDb().


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