#include <DQM/EcalEndcapMonitorClient/interface/EETriggerTowerClient.h>
Public Member Functions | |
void | analyze (void) |
Analyze. | |
void | beginJob (DQMStore *dqmStore) |
BeginJob. | |
void | beginRun (void) |
BeginRun. | |
void | cleanup (void) |
Cleanup. | |
EETriggerTowerClient (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 | ~EETriggerTowerClient () |
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_ [18] |
TH3F * | i02_ [18] |
int | ievt_ |
TH3F * | j01_ [18] |
TH3F * | j02_ [18] |
int | jevt_ |
TH2F * | l01_ [18] |
TH3F * | m01_ [18] |
MonitorElement * | me_h01_ [18] |
MonitorElement * | me_h02_ [18] |
MonitorElement * | me_i01_ [18][2] |
MonitorElement * | me_i02_ [18][2] |
MonitorElement * | me_j01_ [18][6] |
MonitorElement * | me_j02_ [18][6] |
MonitorElement * | me_m01_ [18][6] |
MonitorElement * | me_n01_ [18][2] |
MonitorElement * | me_o01_ [18] |
MonitorElement * | meh01_ |
MonitorElement * | meh02_ |
MonitorElement * | mei01_ [18] |
MonitorElement * | mei02_ [18] |
MonitorElement * | mej01_ [18] |
MonitorElement * | mej02_ [18] |
MonitorElement * | mel01_ [18] |
MonitorElement * | mem01_ [18] |
MonitorElement * | men01_ [18] |
MonitorElement * | meo01_ [18] |
TH3F * | n01_ [18] |
TH3F * | o01_ [18] |
std::string | prefixME_ |
std::vector< int > | superModules_ |
bool | verbose_ |
Friends | |
class | EESummaryClient |
Definition at line 33 of file EETriggerTowerClient.h.
EETriggerTowerClient::EETriggerTowerClient | ( | const edm::ParameterSet & | ps | ) |
Constructor.
Definition at line 34 of file EETriggerTowerClient.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_.
00034 { 00035 00036 // cloneME switch 00037 cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true); 00038 00039 // verbose switch 00040 verbose_ = ps.getUntrackedParameter<bool>("verbose", true); 00041 00042 // debug switch 00043 debug_ = ps.getUntrackedParameter<bool>("debug", false); 00044 00045 // prefixME path 00046 prefixME_ = ps.getUntrackedParameter<string>("prefixME", ""); 00047 00048 // enableCleanup_ switch 00049 enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false); 00050 00051 // vector of selected Super Modules (Defaults to all 18). 00052 superModules_.reserve(18); 00053 for ( unsigned int i = 1; i <= 18; i++ ) superModules_.push_back(i); 00054 superModules_ = ps.getUntrackedParameter<vector<int> >("superModules", superModules_); 00055 00056 h01_ = 0; 00057 h02_ = 0; 00058 00059 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00060 00061 int ism = superModules_[i]; 00062 00063 i01_[ism-1] = 0; 00064 i02_[ism-1] = 0; 00065 j01_[ism-1] = 0; 00066 j02_[ism-1] = 0; 00067 00068 l01_[ism-1] = 0; 00069 m01_[ism-1] = 0; 00070 n01_[ism-1] = 0; 00071 o01_[ism-1] = 0; 00072 00073 meh01_ = 0; 00074 meh02_ = 0; 00075 00076 mei01_[ism-1] = 0; 00077 mei02_[ism-1] = 0; 00078 mej01_[ism-1] = 0; 00079 mej02_[ism-1] = 0; 00080 00081 mel01_[ism-1] = 0; 00082 mem01_[ism-1] = 0; 00083 men01_[ism-1] = 0; 00084 meo01_[ism-1] = 0; 00085 00086 // for (int j=0; j<34; j++) { 00087 // 00088 // k01_[ism-1][j] = 0; 00089 // k02_[ism-1][j] = 0; 00090 // 00091 // mek01_[ism-1][j] = 0; 00092 // mek02_[ism-1][j] = 0; 00093 // 00094 // } 00095 00096 me_h01_[ism-1] = 0; 00097 me_h02_[ism-1] = 0; 00098 for (int j=0; j<2; j++) { 00099 me_i01_[ism-1][j] = 0; 00100 me_i02_[ism-1][j] = 0; 00101 me_n01_[ism-1][j] = 0; 00102 } 00103 for (int j=0; j<6; j++) { 00104 me_j01_[ism-1][j] = 0; 00105 me_j02_[ism-1][j] = 0; 00106 me_m01_[ism-1][j] = 0; 00107 } 00108 me_o01_[ism-1] = 0; 00109 00110 } 00111 00112 }
EETriggerTowerClient::~EETriggerTowerClient | ( | ) | [virtual] |
void EETriggerTowerClient::analyze | ( | const char * | nameext, | |
const char * | folder, | |||
bool | emulated | |||
) | [private] |
Definition at line 390 of file EETriggerTowerClient.cc.
References cloneME_, Numbers::crystals(), dqmStore_, EcalEndcap, MonitorElement::Fill(), find(), DQMStore::get(), h01_, h02_, histo, i, i01_, i02_, index, iter, Numbers::ix0EE(), Numbers::iy0EE(), 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_, offset, prefixME_, MonitorElement::Reset(), Numbers::sEE(), MonitorElement::setBinContent(), and superModules_.
00392 { 00393 char histo[200]; 00394 00395 MonitorElement* me; 00396 00397 sprintf(histo, (prefixME_ + "/%s/EETTT Et map %s").c_str(), folder, nameext); 00398 me = dqmStore_->get(histo); 00399 if(!emulated) { 00400 h01_ = UtilsClient::getHisto<TH2F*>( me, cloneME_, h01_ ); 00401 meh01_ = me; 00402 } 00403 else { 00404 h02_ = UtilsClient::getHisto<TH2F*>( me, cloneME_, h02_ ); 00405 meh02_ = me; 00406 } 00407 00408 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00409 00410 int ism = superModules_[i]; 00411 00412 sprintf(histo, (prefixME_ + "/%s/EETTT FineGrainVeto %s %s").c_str(), folder, nameext, Numbers::sEE(ism).c_str()); 00413 me = dqmStore_->get(histo); 00414 if(!emulated) { 00415 i01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, i01_[ism-1] ); 00416 mei01_[ism-1] = me; 00417 } 00418 else { 00419 i02_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, i02_[ism-1] ); 00420 mei02_[ism-1] = me; 00421 } 00422 00423 sprintf(histo, (prefixME_ + "/%s/EETTT Flags %s %s").c_str(), folder, nameext, Numbers::sEE(ism).c_str()); 00424 me = dqmStore_->get(histo); 00425 if(!emulated) { 00426 j01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, j01_[ism-1] ); 00427 mej01_[ism-1] = me; 00428 } 00429 else { 00430 j02_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, j02_[ism-1] ); 00431 mej02_[ism-1] = me; 00432 } 00433 00434 if(!emulated) { 00435 sprintf(histo, (prefixME_ + "/%s/EETTT EmulError %s").c_str(), folder, Numbers::sEE(ism).c_str()); 00436 me = dqmStore_->get(histo); 00437 l01_[ism-1] = UtilsClient::getHisto<TH2F*>( me, cloneME_, l01_[ism-1] ); 00438 mel01_[ism-1] = me; 00439 00440 sprintf(histo, (prefixME_ + "/%s/EETTT EmulFlagError %s").c_str(), folder, Numbers::sEE(ism).c_str()); 00441 me = dqmStore_->get(histo); 00442 m01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, m01_[ism-1] ); 00443 mem01_[ism-1] = me; 00444 00445 sprintf(histo, (prefixME_ + "/%s/EETTT EmulFineGrainVetoError %s").c_str(), folder, Numbers::sEE(ism).c_str()); 00446 me = dqmStore_->get(histo); 00447 n01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, n01_[ism-1] ); 00448 men01_[ism-1] = me; 00449 00450 sprintf(histo, (prefixME_ + "/%s/EETTT EmulMatch %s").c_str(), folder, Numbers::sEE(ism).c_str()); 00451 me = dqmStore_->get(histo); 00452 o01_[ism-1] = UtilsClient::getHisto<TH3F*>( me, cloneME_, o01_[ism-1] ); 00453 meo01_[ism-1] = me; 00454 00455 } 00456 00457 // for (int j=0; j<34; j++) { 00458 // 00459 // sprintf(histo, (prefixME_ + "/EETriggerTowerTask/EnergyMaps/EETTT Et T %s TT%02d").c_str(), ism, j+1); 00460 // me = dqmStore_->get(histo); 00461 // k01_[ism-1][j] = UtilsClient::getHisto<TH1F*>( me, cloneME_, k01_[ism-1][j] ); 00462 // mek01_[ism-1][j] = me; 00463 // 00464 // sprintf(histo, (prefixME_ + "/EETriggerTowerTask/EnergyMaps/EETTT Et R %s TT%02d").c_str(), ism, j+1); 00465 // me = dqmStore_->get(histo); 00466 // k02_[ism-1][j] = UtilsClient::getHisto<TH1F*>( me, cloneME_, k02_[ism-1][j] ); 00467 // mek02_[ism-1][j] = me; 00468 // 00469 // } 00470 00471 if ( me_h01_[ism-1] ) me_h01_[ism-1]->Reset(); 00472 if ( me_h02_[ism-1] ) me_h02_[ism-1]->Reset(); 00473 for (int j=0; j<2; j++) { 00474 if ( me_i01_[ism-1][j] ) me_i01_[ism-1][j]->Reset(); 00475 if ( me_i02_[ism-1][j] ) me_i02_[ism-1][j]->Reset(); 00476 if ( me_n01_[ism-1][j] ) me_n01_[ism-1][j]->Reset(); 00477 } 00478 for (int j=0; j<6; j++) { 00479 if ( me_j01_[ism-1][j] ) me_j01_[ism-1][j]->Reset(); 00480 if ( me_j02_[ism-1][j] ) me_j02_[ism-1][j]->Reset(); 00481 if ( me_m01_[ism-1][j] ) me_m01_[ism-1][j]->Reset(); 00482 } 00483 if ( me_o01_[ism-1] ) me_o01_[ism-1]->Reset(); 00484 00485 for (int ix = 1; ix <= 50; ix++) { 00486 for (int iy = 1; iy <= 50; iy++) { 00487 00488 int jx = ix + Numbers::ix0EE(ism); 00489 int jy = iy + Numbers::iy0EE(ism); 00490 00491 for (int j=0; j<2; j++) { 00492 if ( i01_[ism-1] ) me_i01_[ism-1][j]->Fill(jx-0.5, jy-0.5, i01_[ism-1]->GetBinContent(ix, iy, j+1)); 00493 if ( i02_[ism-1] ) me_i02_[ism-1][j]->Fill(jx-0.5, jy-0.5, i02_[ism-1]->GetBinContent(ix, iy, j+1)); 00494 if ( n01_[ism-1] ) me_n01_[ism-1][j]->Fill(jx-0.5, jy-0.5, n01_[ism-1]->GetBinContent(ix, iy, j+1)); 00495 } 00496 for (int j=0; j<6; j++) { 00497 if ( j == 0 ) { 00498 if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+1)); 00499 if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+1)); 00500 if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+1)); 00501 } 00502 if ( j == 1 ) { 00503 if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+1)); 00504 if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+1)); 00505 if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+1)); 00506 } 00507 if ( j == 2 ) { 00508 if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+2)); 00509 if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+2)); 00510 if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+2)); 00511 } 00512 if ( j == 3 ) { 00513 if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+2)); 00514 if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+2)); 00515 if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+2)); 00516 } 00517 if ( j == 4 ) { 00518 if ( j01_[ism-1] ) me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+2)); 00519 if ( j02_[ism-1] ) me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+2)); 00520 if ( m01_[ism-1] ) me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+2)); 00521 } 00522 if ( j == 5 ) { 00523 if ( j01_[ism-1] ) { 00524 me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+2)); 00525 me_j01_[ism-1][j]->Fill(jx-0.5, jy-0.5, j01_[ism-1]->GetBinContent(ix, iy, j+3)); 00526 } 00527 if ( j02_[ism-1] ) { 00528 me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+2)); 00529 me_j02_[ism-1][j]->Fill(jx-0.5, jy-0.5, j02_[ism-1]->GetBinContent(ix, iy, j+3)); 00530 } 00531 if ( m01_[ism-1] ) { 00532 me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+2)); 00533 me_m01_[ism-1][j]->Fill(jx-0.5, jy-0.5, m01_[ism-1]->GetBinContent(ix, iy, j+3)); 00534 } 00535 } 00536 } 00537 if ( o01_[ism-1] ) { 00538 float index=-1; 00539 double max=0; 00540 for (int j=0; j<6; j++) { 00541 double sampleEntries = o01_[ism-1]->GetBinContent(jx, jy, j+1); 00542 if(sampleEntries > max) { 00543 index=j; 00544 max = sampleEntries; 00545 } 00546 } 00547 if ( max > 0 ) { 00548 if ( index == 0 ) me_o01_[ism-1]->setBinContent(jx, jy, -1); 00549 else me_o01_[ism-1]->setBinContent(jx, jy, index ); 00550 } 00551 } 00552 00553 } 00554 } 00555 00556 } 00557 00558 for(int xttindex = 0; xttindex<28*72; xttindex++) { 00559 00560 int tccindex=xttindex/28 + 1; 00561 if (tccindex > 36 ) tccindex += 36; 00562 int ttindex=xttindex%28 + 1; 00563 00564 int dcc = 0; 00565 int offset = 0; 00566 int tccid = tccindex; 00567 if (tccid >= 73) { 00568 tccid = tccid-72; 00569 offset = 45; 00570 } 00571 if (tccid == 24 || tccid == 25 || tccid == 6 || tccid == 7) dcc = 4; 00572 if (tccid == 26 || tccid == 27 || tccid == 8 || tccid == 9) dcc = 5; 00573 if (tccid == 28 || tccid == 29 || tccid == 10 || tccid == 11) dcc = 6; 00574 if (tccid == 30 || tccid == 31 || tccid == 12 || tccid == 13) dcc = 7; 00575 if (tccid == 32 || tccid == 33 || tccid == 14 || tccid == 15) dcc = 8; 00576 if (tccid == 34 || tccid == 35 || tccid == 16 || tccid == 17) dcc = 9; 00577 if (tccid == 36 || tccid == 19 || tccid == 18 || tccid == 1) dcc = 1; 00578 if (tccid == 20 || tccid == 21 || tccid == 2 || tccid == 3) dcc = 2; 00579 if (tccid == 22 || tccid == 23 || tccid == 4 || tccid == 5) dcc = 3; 00580 dcc += offset; 00581 00582 int ism = 0; 00583 00584 // EE- 00585 if( dcc >= 1 && dcc <= 9 ) ism = dcc; 00586 00587 // EE+ 00588 if( dcc >= 46 && dcc <= 54 ) ism = dcc - 45 + 9; 00589 00590 vector<int>::const_iterator iter = find(superModules_.begin(), superModules_.end(), ism); 00591 if ( iter == superModules_.end() ) continue; 00592 00593 vector<DetId> crystals = Numbers::crystals( EcalEndcap, tccindex, ttindex ); 00594 00595 for ( unsigned int i=0; i<crystals.size(); i++ ) { 00596 00597 EEDetId id = crystals[i]; 00598 00599 int jx = id.ix(); 00600 int jy = id.iy(); 00601 00602 if ( ism >= 1 && ism <= 9 ) jx = 101 - jx; 00603 00604 for (int j = 0; j <= 256; j++) { 00605 if ( h01_ ) me_h01_[ism-1]->Fill(jx-0.5, jy-0.5, j-0.5, h01_->GetBinContent(xttindex, j+1)); 00606 if ( h02_ ) me_h02_[ism-1]->Fill(jx-0.5, jy-0.5, j-0.5, h02_->GetBinContent(xttindex, j+1)); 00607 } 00608 00609 } 00610 00611 } 00612 00613 }
Analyze.
Implements EEClient.
Definition at line 374 of file EETriggerTowerClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), ievt_, and jevt_.
00374 { 00375 00376 ievt_++; 00377 jevt_++; 00378 if ( ievt_ % 10 == 0 ) { 00379 if ( debug_ ) cout << "EETriggerTowerClient: ievt/jevt = " << ievt_ << "/" << jevt_ << endl; 00380 } 00381 00382 analyze("Real Digis", 00383 "EETriggerTowerTask", false ); 00384 00385 analyze("Emulated Digis", 00386 "EETriggerTowerTask/Emulated", true ); 00387 00388 }
BeginJob.
Implements EEClient.
Definition at line 118 of file EETriggerTowerClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, debug_, dqmStore_, lat::endl(), ievt_, and jevt_.
00118 { 00119 00120 dqmStore_ = dqmStore; 00121 00122 if ( debug_ ) cout << "EETriggerTowerClient: beginJob" << endl; 00123 00124 ievt_ = 0; 00125 jevt_ = 0; 00126 00127 }
BeginRun.
Implements EEClient.
Definition at line 129 of file EETriggerTowerClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), jevt_, and setup().
00129 { 00130 00131 if ( debug_ ) cout << "EETriggerTowerClient: beginRun" << endl; 00132 00133 jevt_ = 0; 00134 00135 this->setup(); 00136 00137 }
Cleanup.
Implements EEClient.
Definition at line 246 of file EETriggerTowerClient.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().
00246 { 00247 00248 if ( ! enableCleanup_ ) return; 00249 00250 if ( cloneME_ ) { 00251 if ( h01_ ) delete h01_; 00252 if ( h02_ ) delete h02_; 00253 } 00254 00255 h01_ = 0; 00256 h02_ = 0; 00257 00258 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00259 00260 int ism = superModules_[i]; 00261 00262 if ( cloneME_ ) { 00263 if ( i01_[ism-1] ) delete i01_[ism-1]; 00264 if ( i02_[ism-1] ) delete i02_[ism-1]; 00265 if ( j01_[ism-1] ) delete j01_[ism-1]; 00266 if ( j02_[ism-1] ) delete j02_[ism-1]; 00267 if ( l01_[ism-1] ) delete l01_[ism-1]; 00268 if ( m01_[ism-1] ) delete m01_[ism-1]; 00269 if ( n01_[ism-1] ) delete n01_[ism-1]; 00270 if ( o01_[ism-1] ) delete o01_[ism-1]; 00271 } 00272 00273 i01_[ism-1] = 0; 00274 i02_[ism-1] = 0; 00275 j01_[ism-1] = 0; 00276 j02_[ism-1] = 0; 00277 00278 l01_[ism-1] = 0; 00279 m01_[ism-1] = 0; 00280 n01_[ism-1] = 0; 00281 o01_[ism-1] = 0; 00282 00283 meh01_ = 0; 00284 meh02_ = 0; 00285 00286 mei01_[ism-1] = 0; 00287 mei02_[ism-1] = 0; 00288 mej01_[ism-1] = 0; 00289 mej02_[ism-1] = 0; 00290 00291 mel01_[ism-1] = 0; 00292 mem01_[ism-1] = 0; 00293 men01_[ism-1] = 0; 00294 meo01_[ism-1] = 0; 00295 00296 // for (int j=0; j<34; j++) { 00297 // 00298 // if ( cloneME_ ) { 00299 // if ( k01_[ism-1][j] ) delete k01_[ism-1][j]; 00300 // if ( k02_[ism-1][j] ) delete k02_[ism-1][j]; 00301 // } 00302 // 00303 // k01_[ism-1][j] = 0; 00304 // k02_[ism-1][j] = 0; 00305 // 00306 // mek01_[ism-1][j] = 0; 00307 // mek02_[ism-1][j] = 0; 00308 // 00309 // } 00310 00311 } 00312 00313 dqmStore_->setCurrentFolder( prefixME_ + "/EETriggerTowerClient" ); 00314 00315 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00316 00317 int ism = superModules_[i]; 00318 00319 if ( me_h01_[ism-1] ) dqmStore_->removeElement( me_h01_[ism-1]->getName() ); 00320 me_h01_[ism-1] = 0; 00321 if ( me_h02_[ism-1] ) dqmStore_->removeElement( me_h02_[ism-1]->getName() ); 00322 me_h02_[ism-1] = 0; 00323 for (int j=0; j<2; j++) { 00324 if ( me_i01_[ism-1][j] ) dqmStore_->removeElement( me_i01_[ism-1][j]->getName() ); 00325 me_i01_[ism-1][j] = 0; 00326 if ( me_i02_[ism-1][j] ) dqmStore_->removeElement( me_i02_[ism-1][j]->getName() ); 00327 me_i02_[ism-1][j] = 0; 00328 if ( me_n01_[ism-1][j] ) dqmStore_->removeElement( me_n01_[ism-1][j]->getName() ); 00329 me_n01_[ism-1][j] = 0; 00330 } 00331 for (int j=0; j<6; j++) { 00332 if ( me_j01_[ism-1][j] ) dqmStore_->removeElement( me_j01_[ism-1][j]->getName() ); 00333 me_j01_[ism-1][j] = 0; 00334 if ( me_j02_[ism-1][j] ) dqmStore_->removeElement( me_j02_[ism-1][j]->getName() ); 00335 me_j02_[ism-1][j] = 0; 00336 if ( me_m01_[ism-1][j] ) dqmStore_->removeElement( me_m01_[ism-1][j]->getName() ); 00337 me_m01_[ism-1][j] = 0; 00338 } 00339 if ( me_o01_[ism-1] ) dqmStore_->removeElement( me_o01_[ism-1]->getName() ); 00340 me_o01_[ism-1] = 0; 00341 00342 } 00343 00344 }
EndJob.
Implements EEClient.
Definition at line 139 of file EETriggerTowerClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and ievt_.
00139 { 00140 00141 if ( debug_ ) cout << "EETriggerTowerClient: endJob, ievt = " << ievt_ << endl; 00142 00143 this->cleanup(); 00144 00145 }
EndRun.
Implements EEClient.
Definition at line 147 of file EETriggerTowerClient.cc.
References cleanup(), GenMuonPlsPt100GeV_cfg::cout, debug_, lat::endl(), and jevt_.
00147 { 00148 00149 if ( debug_ ) cout << "EETriggerTowerClient: endRun, jevt = " << jevt_ << endl; 00150 00151 this->cleanup(); 00152 00153 }
Get Functions.
Implements EEClient.
Definition at line 76 of file EETriggerTowerClient.h.
References ievt_.
00076 { return ievt_; }
Setup.
Implements EEClient.
Definition at line 155 of file EETriggerTowerClient.cc.
References bits, DQMStore::book2D(), DQMStore::bookProfile2D(), dqmStore_, edm::getName(), histo, i, Numbers::ix0EE(), Numbers::iy0EE(), 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(), Numbers::sEE(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), and superModules_.
Referenced by beginRun().
00155 { 00156 00157 char histo[200]; 00158 00159 dqmStore_->setCurrentFolder( prefixME_ + "/EETriggerTowerClient" ); 00160 00161 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00162 00163 int ism = superModules_[i]; 00164 00165 if ( me_h01_[ism-1] ) dqmStore_->removeElement( me_h01_[ism-1]->getName() ); 00166 sprintf(histo, "EETTT Et map Real Digis %s", Numbers::sEE(ism).c_str()); 00167 me_h01_[ism-1] = dqmStore_->bookProfile2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50., 256, 0., 256., "s"); 00168 me_h01_[ism-1]->setAxisTitle("jx", 1); 00169 me_h01_[ism-1]->setAxisTitle("jy", 2); 00170 if ( me_h02_[ism-1] ) dqmStore_->removeElement( me_h02_[ism-1]->getName() ); 00171 sprintf(histo, "EETTT Et map Emulated Digis %s", Numbers::sEE(ism).c_str()); 00172 me_h02_[ism-1] = dqmStore_->bookProfile2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50., 256, 0., 256., "s"); 00173 me_h02_[ism-1]->setAxisTitle("jx", 1); 00174 me_h02_[ism-1]->setAxisTitle("jy", 2); 00175 for (int j=0; j<2; j++) { 00176 if ( me_i01_[ism-1][j] ) dqmStore_->removeElement( me_i01_[ism-1][j]->getName() ); 00177 sprintf(histo, "EETTT FineGrainVeto Real Digis Flag %d %s", j, Numbers::sEE(ism).c_str()); 00178 me_i01_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00179 me_i01_[ism-1][j]->setAxisTitle("jx", 1); 00180 me_i01_[ism-1][j]->setAxisTitle("jy", 2); 00181 if ( me_i02_[ism-1][j] ) dqmStore_->removeElement( me_i02_[ism-1][j]->getName() ); 00182 sprintf(histo, "EETTT FineGrainVeto Emulated Digis Flag %d %s", j, Numbers::sEE(ism).c_str()); 00183 me_i02_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00184 me_i02_[ism-1][j]->setAxisTitle("jx", 1); 00185 me_i02_[ism-1][j]->setAxisTitle("jy", 2); 00186 if ( me_n01_[ism-1][j] ) dqmStore_->removeElement( me_n01_[ism-1][j]->getName() ); 00187 sprintf(histo, "EETTT EmulFineGrainVetoError Flag %d %s", j, Numbers::sEE(ism).c_str()); 00188 me_n01_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00189 me_n01_[ism-1][j]->setAxisTitle("jx", 1); 00190 me_n01_[ism-1][j]->setAxisTitle("jy", 2); 00191 } 00192 for (int j=0; j<6; j++) { 00193 string bits; 00194 if ( j == 0 ) bits = "Bit 000"; 00195 if ( j == 1 ) bits = "Bit 001"; 00196 if ( j == 2 ) bits = "Bit 011"; 00197 if ( j == 3 ) bits = "Bit 100"; 00198 if ( j == 4 ) bits = "Bit 101"; 00199 if ( j == 5 ) bits = "Bits 110+111"; 00200 if ( me_j01_[ism-1][j] ) dqmStore_->removeElement( me_j01_[ism-1][j]->getName() ); 00201 sprintf(histo, "EETTT Flags Real Digis %s %s", bits.c_str(), Numbers::sEE(ism).c_str()); 00202 me_j01_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00203 me_j01_[ism-1][j]->setAxisTitle("jx", 1); 00204 me_j01_[ism-1][j]->setAxisTitle("jy", 2); 00205 if ( me_j02_[ism-1][j] ) dqmStore_->removeElement( me_j02_[ism-1][j]->getName() ); 00206 sprintf(histo, "EETTT Flags Emulated Digis %s %s", bits.c_str(), Numbers::sEE(ism).c_str()); 00207 me_j02_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00208 me_j02_[ism-1][j]->setAxisTitle("jx", 1); 00209 me_j02_[ism-1][j]->setAxisTitle("jy", 2); 00210 if ( me_m01_[ism-1][j] ) dqmStore_->removeElement( me_m01_[ism-1][j]->getName() ); 00211 sprintf(histo, "EETTT EmulFlagError %s %s", bits.c_str(), Numbers::sEE(ism).c_str()); 00212 me_m01_[ism-1][j] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00213 me_m01_[ism-1][j]->setAxisTitle("jx", 1); 00214 me_m01_[ism-1][j]->setAxisTitle("jy", 2); 00215 } 00216 if ( me_o01_[ism-1] ) dqmStore_->removeElement( me_o01_[ism-1]->getName() ); 00217 sprintf(histo, "EETTT Trigger Primitives Timing %s", Numbers::sEB(ism).c_str()); 00218 me_o01_[ism-1] = dqmStore_->book2D(histo, histo, 50, Numbers::ix0EE(ism)+0., Numbers::ix0EE(ism)+50., 50, Numbers::iy0EE(ism)+0., Numbers::iy0EE(ism)+50.); 00219 me_o01_[ism-1]->setAxisTitle("jx", 1); 00220 me_o01_[ism-1]->setAxisTitle("jy", 2); 00221 00222 } 00223 00224 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00225 00226 int ism = superModules_[i]; 00227 00228 if ( me_h01_[ism-1] ) me_h01_[ism-1]->Reset(); 00229 if ( me_h02_[ism-1] ) me_h02_[ism-1]->Reset(); 00230 for (int j=0; j<2; j++) { 00231 if ( me_i01_[ism-1][j] ) me_i01_[ism-1][j]->Reset(); 00232 if ( me_i02_[ism-1][j] ) me_i02_[ism-1][j]->Reset(); 00233 if ( me_n01_[ism-1][j] ) me_n01_[ism-1][j]->Reset(); 00234 } 00235 for (int j=0; j<6; j++) { 00236 if ( me_j01_[ism-1][j] ) me_j01_[ism-1][j]->Reset(); 00237 if ( me_j02_[ism-1][j] ) me_j02_[ism-1][j]->Reset(); 00238 if ( me_m01_[ism-1][j] ) me_m01_[ism-1][j]->Reset(); 00239 } 00240 if ( me_o01_[ism-1] ) me_o01_[ism-1]->Reset(); 00241 00242 } 00243 00244 }
bool EETriggerTowerClient::writeDb | ( | EcalCondDBInterface * | econn, | |
RunIOV * | runiov, | |||
MonRunIOV * | moniov, | |||
bool & | status, | |||
bool | flag | |||
) | [virtual] |
WriteDB.
Implements EEClient.
Definition at line 346 of file EETriggerTowerClient.cc.
References GenMuonPlsPt100GeV_cfg::cout, lat::endl(), i, j, me_m01_, me_n01_, mel01_, UtilsClient::printBadChannels(), Numbers::sEE(), superModules_, and verbose_.
00346 { 00347 00348 status = true; 00349 00350 if ( ! flag ) return false; 00351 00352 for ( unsigned int i=0; i<superModules_.size(); i++ ) { 00353 00354 int ism = superModules_[i]; 00355 00356 if ( verbose_ ) { 00357 cout << " " << Numbers::sEE(ism) << " (ism=" << ism << ")" << endl; 00358 cout << endl; 00359 UtilsClient::printBadChannels(mel01_[ism-1], UtilsClient::getHisto<TH2F*>(mel01_[ism-1]), true); 00360 for (int j=0; j<2; j++) { 00361 UtilsClient::printBadChannels(me_n01_[ism-1][j], UtilsClient::getHisto<TH2F*>(me_n01_[ism-1][j]), true); 00362 } 00363 for (int j=0; j<6; j++) { 00364 UtilsClient::printBadChannels(me_m01_[ism-1][j], UtilsClient::getHisto<TH2F*>(me_m01_[ism-1][j]), true); 00365 } 00366 } 00367 00368 } 00369 00370 return true; 00371 00372 }
friend class EESummaryClient [friend] |
Definition at line 35 of file EETriggerTowerClient.h.
bool EETriggerTowerClient::cloneME_ [private] |
Definition at line 86 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
bool EETriggerTowerClient::debug_ [private] |
Definition at line 89 of file EETriggerTowerClient.h.
Referenced by analyze(), beginJob(), beginRun(), EETriggerTowerClient(), endJob(), and endRun().
DQMStore* EETriggerTowerClient::dqmStore_ [private] |
Definition at line 97 of file EETriggerTowerClient.h.
Referenced by analyze(), beginJob(), cleanup(), and setup().
bool EETriggerTowerClient::enableCleanup_ [private] |
Definition at line 93 of file EETriggerTowerClient.h.
Referenced by cleanup(), and EETriggerTowerClient().
TH2F* EETriggerTowerClient::h01_ [private] |
Definition at line 112 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH2F* EETriggerTowerClient::h02_ [private] |
Definition at line 113 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::i01_[18] [private] |
Definition at line 114 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::i02_[18] [private] |
Definition at line 115 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
int EETriggerTowerClient::ievt_ [private] |
Definition at line 83 of file EETriggerTowerClient.h.
Referenced by analyze(), beginJob(), endJob(), and getEvtPerJob().
TH3F* EETriggerTowerClient::j01_[18] [private] |
Definition at line 116 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::j02_[18] [private] |
Definition at line 117 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
int EETriggerTowerClient::jevt_ [private] |
Definition at line 84 of file EETriggerTowerClient.h.
Referenced by analyze(), beginJob(), beginRun(), endRun(), and getEvtPerRun().
TH2F* EETriggerTowerClient::l01_[18] [private] |
Definition at line 119 of file EETriggerTowerClient.h.
Referenced by EESummaryClient::analyze(), analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::m01_[18] [private] |
Definition at line 120 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::me_h01_[18] [private] |
Definition at line 130 of file EETriggerTowerClient.h.
Referenced by EESummaryClient::analyze(), analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_h02_[18] [private] |
Definition at line 131 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_i01_[18][2] [private] |
Definition at line 133 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_i02_[18][2] [private] |
Definition at line 134 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_j01_[18][6] [private] |
Definition at line 137 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_j02_[18][6] [private] |
Definition at line 138 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::me_m01_[18][6] [private] |
Definition at line 139 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), setup(), and writeDb().
MonitorElement* EETriggerTowerClient::me_n01_[18][2] [private] |
Definition at line 135 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), setup(), and writeDb().
MonitorElement* EETriggerTowerClient::me_o01_[18] [private] |
Definition at line 140 of file EETriggerTowerClient.h.
Referenced by EESummaryClient::analyze(), analyze(), cleanup(), EETriggerTowerClient(), and setup().
MonitorElement* EETriggerTowerClient::meh01_ [private] |
Definition at line 99 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::meh02_ [private] |
Definition at line 100 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::mei01_[18] [private] |
Definition at line 102 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::mei02_[18] [private] |
Definition at line 103 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::mej01_[18] [private] |
Definition at line 104 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::mej02_[18] [private] |
Definition at line 105 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::mel01_[18] [private] |
Definition at line 107 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and writeDb().
MonitorElement* EETriggerTowerClient::mem01_[18] [private] |
Definition at line 108 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::men01_[18] [private] |
Definition at line 109 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
MonitorElement* EETriggerTowerClient::meo01_[18] [private] |
Definition at line 110 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::n01_[18] [private] |
Definition at line 121 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
TH3F* EETriggerTowerClient::o01_[18] [private] |
Definition at line 122 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), and EETriggerTowerClient().
std::string EETriggerTowerClient::prefixME_ [private] |
Definition at line 91 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), and setup().
std::vector<int> EETriggerTowerClient::superModules_ [private] |
Definition at line 95 of file EETriggerTowerClient.h.
Referenced by analyze(), cleanup(), EETriggerTowerClient(), setup(), and writeDb().
bool EETriggerTowerClient::verbose_ [private] |
Definition at line 88 of file EETriggerTowerClient.h.
Referenced by EETriggerTowerClient(), and writeDb().