CMS 3D CMS Logo

EETriggerTowerClient Class Reference

#include <DQM/EcalEndcapMonitorClient/interface/EETriggerTowerClient.h>

Inheritance diagram for EETriggerTowerClient:

EEClient

List of all members.

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_
DQMStoredqmStore_
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]
MonitorElementme_h01_ [18]
MonitorElementme_h02_ [18]
MonitorElementme_i01_ [18][2]
MonitorElementme_i02_ [18][2]
MonitorElementme_j01_ [18][6]
MonitorElementme_j02_ [18][6]
MonitorElementme_m01_ [18][6]
MonitorElementme_n01_ [18][2]
MonitorElementme_o01_ [18]
MonitorElementmeh01_
MonitorElementmeh02_
MonitorElementmei01_ [18]
MonitorElementmei02_ [18]
MonitorElementmej01_ [18]
MonitorElementmej02_ [18]
MonitorElementmel01_ [18]
MonitorElementmem01_ [18]
MonitorElementmen01_ [18]
MonitorElementmeo01_ [18]
TH3F * n01_ [18]
TH3F * o01_ [18]
std::string prefixME_
std::vector< intsuperModules_
bool verbose_

Friends

class EESummaryClient


Detailed Description

Definition at line 33 of file EETriggerTowerClient.h.


Constructor & Destructor Documentation

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]

Destructor.

Definition at line 114 of file EETriggerTowerClient.cc.

00114                                             {
00115 
00116 }


Member Function Documentation

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 }

void EETriggerTowerClient::analyze ( void   )  [virtual]

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 }

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

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 }

void EETriggerTowerClient::beginRun ( void   )  [virtual]

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 }

void EETriggerTowerClient::cleanup ( void   )  [virtual]

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 }

void EETriggerTowerClient::endJob ( void   )  [virtual]

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 }

void EETriggerTowerClient::endRun ( void   )  [virtual]

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 }

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

Get Functions.

Implements EEClient.

Definition at line 76 of file EETriggerTowerClient.h.

References ievt_.

00076 { return ievt_; }

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

Returns the number of processed events in this Run.

Implements EEClient.

Definition at line 77 of file EETriggerTowerClient.h.

References jevt_.

00077 { return jevt_; }

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

HtmlOutput.

Implements EEClient.

void EETriggerTowerClient::setup ( void   )  [virtual]

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 }

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

SoftReset.

Implements EEClient.

Definition at line 615 of file EETriggerTowerClient.cc.

00615                                               {
00616 
00617 }

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 }


Friends And Related Function Documentation

friend class EESummaryClient [friend]

Definition at line 35 of file EETriggerTowerClient.h.


Member Data Documentation

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().


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