![]() |
![]() |
#include <DQM/EcalBarrelMonitorClient/interface/EBTriggerTowerClient.h>
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_ |
DQMStore * | dqmStore_ |
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] |
MonitorElement * | me_h01_ [36] |
MonitorElement * | me_h02_ [36] |
MonitorElement * | me_i01_ [36][2] |
MonitorElement * | me_i02_ [36][2] |
MonitorElement * | me_j01_ [36][6] |
MonitorElement * | me_j02_ [36][6] |
MonitorElement * | me_m01_ [36][6] |
MonitorElement * | me_n01_ [36][2] |
MonitorElement * | me_o01_ [36] |
MonitorElement * | meh01_ |
MonitorElement * | meh02_ |
MonitorElement * | mei01_ [36] |
MonitorElement * | mei02_ [36] |
MonitorElement * | mej01_ [36] |
MonitorElement * | mej02_ [36] |
MonitorElement * | mel01_ [36] |
MonitorElement * | mem01_ [36] |
MonitorElement * | men01_ [36] |
MonitorElement * | meo01_ [36] |
TH3F * | n01_ [36] |
TH3F * | o01_ [36] |
std::string | prefixME_ |
std::vector< int > | superModules_ |
bool | verbose_ |
Friends | |
class | EBSummaryClient |
Definition at line 33 of file EBTriggerTowerClient.h.
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] |
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 }
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 }
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 }
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 }
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 }
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 }
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 }
Get Functions.
Implements EBClient.
Definition at line 76 of file EBTriggerTowerClient.h.
References ievt_.
00076 { return ievt_; }
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 }
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 }
friend class EBSummaryClient [friend] |
Definition at line 35 of file EBTriggerTowerClient.h.
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().