#include <EcalBarrelMonitorClient.h>
Public Member Functions | |
void | analyze (void) |
Analyze. | |
void | analyze (const edm::Event &e, const edm::EventSetup &c) |
void | beginJob (void) |
BeginJob. | |
void | beginLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c) |
BeginLumiBlock. | |
void | beginRun (const edm::Run &r, const edm::EventSetup &c) |
void | beginRun (void) |
BeginRun. | |
void | beginRunDb (void) |
BeginRunDB. | |
void | cleanup (void) |
Cleanup. | |
EcalBarrelMonitorClient (const edm::ParameterSet &ps) | |
Constructor. | |
void | endJob (void) |
EndJob. | |
void | endLuminosityBlock (const edm::LuminosityBlock &l, const edm::EventSetup &c) |
EndLumiBlock. | |
void | endRun (void) |
EndRun. | |
void | endRun (const edm::Run &r, const edm::EventSetup &c) |
void | endRunDb (void) |
EndRunDB. | |
const char * | getRunType (void) |
void | reset (void) |
Reset. | |
void | setup (void) |
Setup. | |
void | softReset (bool flag) |
SoftReset. | |
void | writeDb (void) |
WriteDB. | |
virtual | ~EcalBarrelMonitorClient () |
Destructor. | |
Private Attributes | |
bool | begin_run_ |
std::vector< EBClient * > | clients_ |
std::vector< std::string > | clientsNames_ |
std::multimap< EBClient *, int > | clientsRuns_ |
std::map< std::string, int > | clientsStatus_ |
bool | cloneME_ |
time_t | current_time_ |
std::string | dbHostName_ |
int | dbHostPort_ |
std::string | dbName_ |
std::string | dbPassword_ |
std::string | dbTagName_ |
time_t | dbUpdateTime_ |
std::string | dbUserName_ |
bool | debug_ |
DQMStore * | dqmStore_ |
bool | enableCleanup_ |
std::vector< std::string > | enabledClients_ |
bool | end_run_ |
int | evt_ |
int | evtType_ |
bool | forced_status_ |
bool | forced_update_ |
TH1F * | h_ |
int | ievt_ |
std::string | inputFile_ |
int | jevt_ |
int | last_run_ |
time_t | last_time_reset_ |
time_t | last_time_update_ |
std::string | location_ |
bool | mergeRuns_ |
std::string | prefixME_ |
int | prescaleFactor_ |
bool | produceReports_ |
std::string | resetFile_ |
int | run_ |
int | runType_ |
std::vector< std::string > | runTypes_ |
std::string | status_ |
int | subrun_ |
EBSummaryClient * | summaryClient_ |
std::vector< int > | superModules_ |
time_t | updateTime_ |
bool | verbose_ |
Friends | |
class | EcalBarrelMonitorXdaqClient |
Definition at line 36 of file EcalBarrelMonitorClient.h.
EcalBarrelMonitorClient::EcalBarrelMonitorClient | ( | const edm::ParameterSet & | ps | ) |
Constructor.
Definition at line 60 of file EcalBarrelMonitorClient.cc.
References EcalDCCHeaderBlock::BEAMH2, EcalDCCHeaderBlock::BEAMH4, EcalDCCHeaderBlock::CALIB_LOCAL, clients_, clientsNames_, clientsRuns_, clientsStatus_, cloneME_, EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, gather_cfg::cout, dbHostName_, dbHostPort_, dbName_, dbPassword_, dbTagName_, dbUpdateTime_, dbUserName_, debug_, enableCleanup_, enabledClients_, spr::find(), edm::ParameterSet::getUntrackedParameter(), EcalDCCHeaderBlock::HALO_GLOBAL, EcalDCCHeaderBlock::HALO_LOCAL, i, inputFile_, EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, EcalDCCHeaderBlock::LED_GAP, EcalDCCHeaderBlock::LED_STD, location_, mergeRuns_, EcalDCCHeaderBlock::MTCC, EcalDCCHeaderBlock::PEDESTAL_GAP, EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN, EcalDCCHeaderBlock::PEDESTAL_STD, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, prefixME_, prescaleFactor_, produceReports_, resetFile_, runTypes_, EBSummaryClient::setFriends(), summaryClient_, superModules_, EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, updateTime_, and verbose_.
{ // verbose switch verbose_ = ps.getUntrackedParameter<bool>("verbose", true); if ( verbose_ ) { std::cout << std::endl; std::cout << " *** Ecal Barrel Generic Monitor Client ***" << std::endl; std::cout << std::endl; } // DQM ROOT input file inputFile_ = ps.getUntrackedParameter<std::string>("inputFile", ""); if ( verbose_ ) { if ( inputFile_.size() != 0 ) { std::cout << " Reading DQM data from inputFile '" << inputFile_ << "'" << std::endl; } } // Ecal Cond DB dbName_ = ps.getUntrackedParameter<std::string>("dbName", ""); dbHostName_ = ps.getUntrackedParameter<std::string>("dbHostName", ""); dbHostPort_ = ps.getUntrackedParameter<int>("dbHostPort", 1521); dbUserName_ = ps.getUntrackedParameter<std::string>("dbUserName", ""); dbPassword_ = ps.getUntrackedParameter<std::string>("dbPassword", ""); dbTagName_ = ps.getUntrackedParameter<std::string>("dbTagName", "CMSSW"); if ( verbose_ ) { if ( dbName_.size() != 0 ) { std::cout << " Ecal Cond DB: " << std::endl; std::cout << " dbName = '" << dbName_ << "'" << std::endl; std::cout << " dbUserName = '" << dbUserName_ << "'" << std::endl; if ( dbHostName_.size() != 0 ) { std::cout << " dbHostName = '" << dbHostName_ << "'" << std::endl; std::cout << " dbHostPort = '" << dbHostPort_ << "'" << std::endl; } std::cout << " dbTagName = '" << dbTagName_ << "'" << std::endl; #ifndef WITH_ECAL_COND_DB std::cout << std::endl; std::cout << "WARNING: DB access is NOT available" << std::endl; std::cout << std::endl; #endif } else { std::cout << " Ecal Cond DB is OFF" << std::endl; } } // mergeRuns switch mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns", false); if ( verbose_ ) { if ( mergeRuns_ ) { std::cout << " mergeRuns switch is ON" << std::endl; } else { std::cout << " mergeRuns switch is OFF" << std::endl; } } // resetFile resetFile_ = ps.getUntrackedParameter<std::string>("resetFile", ""); if ( verbose_ ) { if ( resetFile_.size() != 0 ) { std::cout << " resetFile is '" << resetFile_ << "'" << std::endl; } } // updateTime updateTime_ = ps.getUntrackedParameter<int>("updateTime", 0); if ( verbose_ ) { std::cout << " updateTime is " << updateTime_ << " minute(s)" << std::endl; } // dbUpdateTime dbUpdateTime_ = ps.getUntrackedParameter<int>("dbUpdateTime", 0); if ( verbose_ ) { std::cout << " dbUpdateTime is " << dbUpdateTime_ << " minute(s)" << std::endl; } // location location_ = ps.getUntrackedParameter<std::string>("location", "H4"); if ( verbose_ ) { std::cout << " location is '" << location_ << "'" << std::endl; } // cloneME switch cloneME_ = ps.getUntrackedParameter<bool>("cloneME", true); if ( verbose_ ) { if ( cloneME_ ) { std::cout << " cloneME switch is ON" << std::endl; } else { std::cout << " cloneME switch is OFF" << std::endl; } } // debug switch debug_ = ps.getUntrackedParameter<bool>("debug", false); if ( verbose_ ) { if ( debug_ ) { std::cout << " debug switch is ON" << std::endl; } else { std::cout << " debug switch is OFF" << std::endl; } } // prescaleFactor prescaleFactor_ = ps.getUntrackedParameter<int>("prescaleFactor", 1); if ( verbose_ ) { std::cout << " prescaleFactor is " << prescaleFactor_ << std::endl; } // prefixME path prefixME_ = ps.getUntrackedParameter<std::string>("prefixME", ""); if ( verbose_ ) { std::cout << " prefixME path is '" << prefixME_ << "'" << std::endl; } produceReports_ = ps.getUntrackedParameter<bool>("produceReports", true); if (produceReports_){ std::cout << " producing reportSummaries" << std::endl; } // enableCleanup switch enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup", false); if ( verbose_ ) { if ( enableCleanup_ ) { std::cout << " enableCleanup switch is ON" << std::endl; } else { std::cout << " enableCleanup switch is OFF" << std::endl; } } // vector of selected Super Modules (Defaults to all 36). superModules_.reserve(36); for ( unsigned int i = 1; i <= 36; i++ ) superModules_.push_back(i); superModules_ = ps.getUntrackedParameter<std::vector<int> >("superModules", superModules_); if ( verbose_ ) { std::cout << " Selected SMs:" << std::endl; for ( unsigned int i = 0; i < superModules_.size(); i++ ) { std::cout << " " << std::setw(2) << std::setfill('0') << superModules_[i]; } std::cout << std::endl; } // vector of enabled Clients (defaults) enabledClients_.push_back("Integrity"); enabledClients_.push_back("StatusFlags"); enabledClients_.push_back("PedestalOnline"); enabledClients_.push_back("Summary"); enabledClients_ = ps.getUntrackedParameter<std::vector<std::string> >("enabledClients", enabledClients_); if ( verbose_ ) { std::cout << " Enabled Clients:" << std::endl; for ( unsigned int i = 0; i < enabledClients_.size(); i++ ) { std::cout << " " << enabledClients_[i]; } std::cout << std::endl; } // set runTypes (use resize() on purpose!) runTypes_.resize(30); for ( unsigned int i = 0; i < runTypes_.size(); i++ ) runTypes_[i] = "UNKNOWN"; runTypes_[EcalDCCHeaderBlock::COSMIC] = "COSMIC"; runTypes_[EcalDCCHeaderBlock::BEAMH4] = "BEAM"; runTypes_[EcalDCCHeaderBlock::BEAMH2] = "BEAM"; runTypes_[EcalDCCHeaderBlock::MTCC] = "MTCC"; runTypes_[EcalDCCHeaderBlock::LASER_STD] = "LASER"; runTypes_[EcalDCCHeaderBlock::LED_STD] = "LED"; runTypes_[EcalDCCHeaderBlock::TESTPULSE_MGPA] = "TEST_PULSE"; runTypes_[EcalDCCHeaderBlock::PEDESTAL_STD] = "PEDESTAL"; runTypes_[EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN] = "PEDESTAL-OFFSET"; runTypes_[EcalDCCHeaderBlock::COSMICS_GLOBAL] = "COSMIC"; runTypes_[EcalDCCHeaderBlock::PHYSICS_GLOBAL] = "PHYSICS"; runTypes_[EcalDCCHeaderBlock::HALO_GLOBAL] = "HALO"; runTypes_[EcalDCCHeaderBlock::COSMICS_LOCAL] = "COSMIC"; runTypes_[EcalDCCHeaderBlock::PHYSICS_LOCAL] = "PHYSICS"; runTypes_[EcalDCCHeaderBlock::HALO_LOCAL] = "HALO"; runTypes_[EcalDCCHeaderBlock::LASER_GAP] = "LASER"; runTypes_[EcalDCCHeaderBlock::LED_GAP] = "LED"; runTypes_[EcalDCCHeaderBlock::TESTPULSE_GAP] = "TEST_PULSE"; runTypes_[EcalDCCHeaderBlock::PEDESTAL_GAP] = "PEDESTAL"; runTypes_[EcalDCCHeaderBlock::CALIB_LOCAL] = "CALIB"; // clients' constructors clients_.reserve(12); clientsNames_.reserve(12); if ( find(enabledClients_.begin(), enabledClients_.end(), "Integrity" ) != enabledClients_.end() ) { clients_.push_back( new EBIntegrityClient(ps) ); clientsNames_.push_back( "Integrity" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "StatusFlags" ) != enabledClients_.end() ) { clients_.push_back( new EBStatusFlagsClient(ps) ); clientsNames_.push_back( "StatusFlags" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Occupancy" ) != enabledClients_.end() ) { clients_.push_back( new EBOccupancyClient(ps) ); clientsNames_.push_back( "Occupancy" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_OFFSET_SCAN )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Cosmic" ) != enabledClients_.end() ) { clients_.push_back( new EBCosmicClient(ps) ); clientsNames_.push_back( "Cosmic" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Laser" ) != enabledClients_.end() ) { clients_.push_back( new EBLaserClient(ps) ); clientsNames_.push_back( "Laser" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Pedestal" ) != enabledClients_.end() ) { clients_.push_back( new EBPedestalClient(ps) ); clientsNames_.push_back( "Pedestal" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "PedestalOnline" ) != enabledClients_.end() ) { clients_.push_back( new EBPedestalOnlineClient(ps) ); clientsNames_.push_back( "PedestalOnline" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "TestPulse" ) != enabledClients_.end() ) { clients_.push_back( new EBTestPulseClient(ps) ); clientsNames_.push_back( "TestPulse" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "TriggerTower" ) != enabledClients_.end() ) { clients_.push_back( new EBTriggerTowerClient(ps) ); clientsNames_.push_back( "TriggerTower" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Cluster" ) != enabledClients_.end() ) { clients_.push_back( new EBClusterClient(ps) ); clientsNames_.push_back( "Cluster" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } if ( find(enabledClients_.begin(), enabledClients_.end(), "Timing" ) != enabledClients_.end() ) { clients_.push_back( new EBTimingClient(ps) ); clientsNames_.push_back( "Timing" ); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMIC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_STD )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_MGPA )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH4 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::BEAMH2 )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::MTCC )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_GLOBAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::COSMICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PHYSICS_LOCAL )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::LASER_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::TESTPULSE_GAP )); clientsRuns_.insert(std::pair<EBClient*,int>( clients_.back(), EcalDCCHeaderBlock::PEDESTAL_GAP )); } // define status bits clientsStatus_.insert(std::pair<std::string,int>( "Integrity", 0 )); clientsStatus_.insert(std::pair<std::string,int>( "Cosmic", 1 )); clientsStatus_.insert(std::pair<std::string,int>( "Laser", 2 )); clientsStatus_.insert(std::pair<std::string,int>( "Pedestal", 3 )); clientsStatus_.insert(std::pair<std::string,int>( "PedestalOnline", 4 )); clientsStatus_.insert(std::pair<std::string,int>( "TestPulse", 5 )); clientsStatus_.insert(std::pair<std::string,int>( "TriggerTower", 8 )); clientsStatus_.insert(std::pair<std::string,int>( "Cluster", 9 )); clientsStatus_.insert(std::pair<std::string,int>( "Timing", 10 )); clientsStatus_.insert(std::pair<std::string,int>( "Led", 11 )); clientsStatus_.insert(std::pair<std::string,int>( "StatusFlags", 12 )); clientsStatus_.insert(std::pair<std::string,int>( "Occupancy", 13 )); if ( find(enabledClients_.begin(), enabledClients_.end(), "Summary" ) != enabledClients_.end() ) { summaryClient_ = new EBSummaryClient(ps); } if ( summaryClient_ ) summaryClient_->setFriends(clients_); if ( verbose_ ) std::cout << std::endl; }
EcalBarrelMonitorClient::~EcalBarrelMonitorClient | ( | ) | [virtual] |
Destructor.
Definition at line 563 of file EcalBarrelMonitorClient.cc.
References clients_, gather_cfg::cout, i, summaryClient_, and verbose_.
{ if ( verbose_ ) std::cout << "Exit ..." << std::endl; for ( unsigned int i=0; i<clients_.size(); i++ ) { delete clients_[i]; } if ( summaryClient_ ) delete summaryClient_; }
void EcalBarrelMonitorClient::analyze | ( | void | ) |
Analyze.
Definition at line 1408 of file EcalBarrelMonitorClient.cc.
References EBSummaryClient::analyze(), EcalDCCHeaderBlock::BEAMH2, EcalDCCHeaderBlock::BEAMH4, begin_run_, beginRun(), clients_, clientsRuns_, cloneME_, EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, gather_cfg::cout, current_time_, dbUpdateTime_, debug_, run_regression::done, dqmStore_, end_run_, endRun(), evt_, evtType_, forced_status_, forced_update_, DQMStore::get(), getRunType(), h_, i, ievt_, inputFile_, j, jevt_, last_run_, last_time_reset_, location_, mergeRuns_, NULL, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, prefixME_, prescaleFactor_, reset(), resetFile_, run_, runType_, runTypes_, alignCSCRings::s, softReset(), status_, summaryClient_, cond::rpcobgas::time, create_public_pileup_plots::transform, update, MonitorElement::valueString(), verbose_, and writeDb().
Referenced by analyze(), endJob(), endLuminosityBlock(), and endRun().
{ current_time_ = time(NULL); ievt_++; jevt_++; if ( debug_ ) std::cout << "EcalBarrelMonitorClient: ievt/jevt = " << ievt_ << "/" << jevt_ << std::endl; MonitorElement* me; std::string s; me = dqmStore_->get(prefixME_ + "/EcalInfo/STATUS"); if ( me ) { status_ = "unknown"; s = me->valueString(); if ( strcmp(s.c_str(), "i=0") == 0 ) status_ = "begin-of-run"; if ( strcmp(s.c_str(), "i=1") == 0 ) status_ = "running"; if ( strcmp(s.c_str(), "i=2") == 0 ) status_ = "end-of-run"; if ( debug_ ) std::cout << "Found '" << prefixME_ << "/EcalInfo/STATUS'" << std::endl; } if ( inputFile_.size() != 0 ) { if ( ievt_ == 1 ) { if ( verbose_ ) { std::cout << std::endl; std::cout << " Reading DQM from file, forcing 'begin-of-run'" << std::endl; std::cout << std::endl; } status_ = "begin-of-run"; } } int ecal_run = -1; me = dqmStore_->get(prefixME_ + "/EcalInfo/RUN"); if ( me ) { s = me->valueString(); sscanf(s.c_str(), "i=%d", &ecal_run); if ( debug_ ) std::cout << "Found '" << prefixME_ << "/EcalInfo/RUN'" << std::endl; } int ecal_evt = -1; me = dqmStore_->get(prefixME_ + "/EcalInfo/EVT"); if ( me ) { s = me->valueString(); sscanf(s.c_str(), "i=%d", &ecal_evt); if ( debug_ ) std::cout << "Found '" << prefixME_ << "/EcalInfo/EVT'" << std::endl; } me = dqmStore_->get(prefixME_ + "/EcalInfo/EVTTYPE"); h_ = UtilsClient::getHisto<TH1F*>( me, cloneME_, h_ ); me = dqmStore_->get(prefixME_ + "/EcalInfo/RUNTYPE"); if ( me ) { s = me->valueString(); sscanf(s.c_str(), "i=%d", &evtType_); if ( runType_ == -1 ) runType_ = evtType_; if ( debug_ ) std::cout << "Found '" << prefixME_ << "/EcalInfo/RUNTYPE'" << std::endl; } // if the run number from the Event is less than zero, // use the run number from the ECAL DCC header if ( run_ <= 0 ) run_ = ecal_run; if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( ! mergeRuns_ && run_ != last_run_ ) forced_update_ = true; } bool update = ( forced_update_ ) || ( prescaleFactor_ != 1 ) || ( jevt_ < 10 ) || ( jevt_ < 100 && jevt_ % 10 == 0 ) || ( jevt_ < 1000 && jevt_ % 100 == 0 ) || ( jevt_ % 1000 == 0 ); if ( update || strcmp(status_.c_str(), "begin-of-run") == 0 || strcmp(status_.c_str(), "end-of-run") == 0 ) { if ( verbose_ ) { std::cout << " RUN status = \"" << status_ << "\"" << std::endl; std::cout << " CMS run/event number = " << run_ << "/" << evt_ << std::endl; std::cout << " EB run/event number = " << ecal_run << "/" << ecal_evt << std::endl; std::cout << " EB location = " << location_ << std::endl; std::cout << " EB run/event type = " << this->getRunType() << "/" << ( evtType_ == -1 ? "UNKNOWN" : runTypes_[evtType_] ) << std::flush; if ( h_ ) { if ( h_->GetSumOfWeights() != 0 ) { std::cout << " ( " << std::flush; for ( unsigned int i = 0; i < runTypes_.size(); i++ ) { if ( strcmp(runTypes_[i].c_str(), "UNKNOWN") != 0 && h_->GetBinContent(2+i) != 0 ) { std::string s = runTypes_[i]; transform( s.begin(), s.end(), s.begin(), (int(*)(int))tolower ); std::cout << s << " "; } } std::cout << ")" << std::flush; } } std::cout << std::endl; } } if ( strcmp(status_.c_str(), "begin-of-run") == 0 ) { if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( ! begin_run_ ) { forced_status_ = false; this->beginRun(); } } } if ( strcmp(status_.c_str(), "begin-of-run") == 0 || strcmp(status_.c_str(), "running") == 0 || strcmp(status_.c_str(), "end-of-run") == 0 ) { if ( begin_run_ && ! end_run_ ) { bool update = ( forced_update_ ) || ( prescaleFactor_ != 1 ) || ( jevt_ < 3 ) || ( jevt_ < 1000 && jevt_ % 100 == 0 ) || ( jevt_ < 10000 && jevt_ % 1000 == 0 ) || ( jevt_ % 10000 == 0 ); if ( update || strcmp(status_.c_str(), "begin-of-run") == 0 || strcmp(status_.c_str(), "end-of-run") == 0 ) { for ( int i=0; i<int(clients_.size()); i++ ) { bool done = false; for ( std::multimap<EBClient*,int>::iterator j = clientsRuns_.lower_bound(clients_[i]); j != clientsRuns_.upper_bound(clients_[i]); j++ ) { if ( runType_ != -1 && runType_ == (*j).second && !done ) { done = true; clients_[i]->analyze(); } } } if ( summaryClient_ ) summaryClient_->analyze(); } forced_update_ = false; bool reset = false; if ( resetFile_.size() != 0 ) { if ( access(resetFile_.c_str(), W_OK) == 0 ) { if ( unlink(resetFile_.c_str()) == 0 ) { reset |= true; } } } if ( dbUpdateTime_ > 0 ) { reset |= (current_time_ - last_time_reset_) > 60 * dbUpdateTime_; } if ( reset ) { if ( runType_ == EcalDCCHeaderBlock::COSMIC || runType_ == EcalDCCHeaderBlock::COSMICS_GLOBAL || runType_ == EcalDCCHeaderBlock::PHYSICS_GLOBAL || runType_ == EcalDCCHeaderBlock::COSMICS_LOCAL || runType_ == EcalDCCHeaderBlock::PHYSICS_LOCAL || runType_ == EcalDCCHeaderBlock::BEAMH2 || runType_ == EcalDCCHeaderBlock::BEAMH4 ) this->writeDb(); this->softReset(true); last_time_reset_ = current_time_; } } } if ( strcmp(status_.c_str(), "end-of-run") == 0 ) { if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( begin_run_ && ! end_run_ ) { forced_status_ = false; this->endRun(); } } } // BEGIN: run-time fixes for missing state transitions // run number transition if ( strcmp(status_.c_str(), "running") == 0 ) { if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( ! mergeRuns_ ) { int new_run_ = run_; int old_run_ = last_run_; if ( new_run_ != old_run_ ) { if ( begin_run_ && ! end_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << " Old run has finished, issuing endRun() ... " << std::endl; std::cout << std::endl; } // end old_run_ run_ = old_run_; forced_status_ = false; this->endRun(); } if ( ! begin_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << " New run has started, issuing beginRun() ... " << std::endl; std::cout << std::endl; } // start new_run_ run_ = new_run_; forced_status_ = false; this->beginRun(); } } } } } // 'running' state without a previous 'begin-of-run' state if ( strcmp(status_.c_str(), "running") == 0 ) { if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( ! forced_status_ ) { if ( ! begin_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << "Forcing beginRun() ... NOW !" << std::endl; std::cout << std::endl; } forced_status_ = true; this->beginRun(); } } } } // 'end-of-run' state without a previous 'begin-of-run' or 'running' state if ( strcmp(status_.c_str(), "end-of-run") == 0 ) { if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { if ( ! forced_status_ ) { if ( ! begin_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << "Forcing beginRun() ... NOW !" << std::endl; std::cout << std::endl; } forced_status_ = true; this->beginRun(); } } } } // END: run-time fixes for missing state transitions }
void EcalBarrelMonitorClient::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 1712 of file EcalBarrelMonitorClient.cc.
References analyze(), edm::EventID::event(), evt_, edm::EventBase::id(), jevt_, prescaleFactor_, edm::EventID::run(), and run_.
{ run_ = e.id().run(); evt_ = e.id().event(); if ( prescaleFactor_ > 0 ) { if ( jevt_ % prescaleFactor_ == 0 ) this->analyze(); } }
void EcalBarrelMonitorClient::beginJob | ( | void | ) | [virtual] |
BeginJob.
Reimplemented from edm::EDAnalyzer.
Definition at line 575 of file EcalBarrelMonitorClient.cc.
References begin_run_, EBSummaryClient::beginJob(), clients_, gather_cfg::cout, current_time_, debug_, dqmStore_, end_run_, evt_, evtType_, forced_status_, forced_update_, h_, i, ievt_, inputFile_, jevt_, last_run_, last_time_reset_, last_time_update_, NULL, DQMStore::open(), cppFunctionSkipper::operator, run_, runType_, status_, subrun_, summaryClient_, and cond::rpcobgas::time.
{ begin_run_ = false; end_run_ = false; forced_status_ = false; forced_update_ = false; h_ = 0; status_ = "unknown"; run_ = -1; evt_ = -1; runType_ = -1; evtType_ = -1; last_run_ = -1; subrun_ = -1; if ( debug_ ) std::cout << "EcalBarrelMonitorClient: beginJob" << std::endl; ievt_ = 0; jevt_ = 0; current_time_ = time(NULL); last_time_update_ = current_time_; last_time_reset_ = current_time_; // get hold of back-end interface dqmStore_ = edm::Service<DQMStore>().operator->(); if ( inputFile_.size() != 0 ) { if ( dqmStore_ ) { dqmStore_->open(inputFile_); } } for ( unsigned int i=0; i<clients_.size(); i++ ) { clients_[i]->beginJob(); } if ( summaryClient_ ) summaryClient_->beginJob(); }
void EcalBarrelMonitorClient::beginLuminosityBlock | ( | const edm::LuminosityBlock & | l, |
const edm::EventSetup & | c | ||
) | [virtual] |
BeginLumiBlock.
Reimplemented from edm::EDAnalyzer.
Definition at line 877 of file EcalBarrelMonitorClient.cc.
References gather_cfg::cout, edm::LuminosityBlockBase::id(), and verbose_.
void EcalBarrelMonitorClient::beginRun | ( | void | ) |
BeginRun.
Definition at line 624 of file EcalBarrelMonitorClient.cc.
References begin_run_, EBSummaryClient::beginRun(), beginRunDb(), clients_, clientsRuns_, gather_cfg::cout, current_time_, debug_, run_regression::done, end_run_, i, j, jevt_, last_run_, last_time_reset_, last_time_update_, NULL, run_, runType_, setup(), summaryClient_, and cond::rpcobgas::time.
Referenced by analyze().
{ begin_run_ = true; end_run_ = false; last_run_ = run_; if ( debug_ ) std::cout << "EcalBarrelMonitorClient: beginRun" << std::endl; jevt_ = 0; current_time_ = time(NULL); last_time_update_ = current_time_; last_time_reset_ = current_time_; this->setup(); this->beginRunDb(); for ( int i=0; i<int(clients_.size()); i++ ) { clients_[i]->cleanup(); bool done = false; for ( std::multimap<EBClient*,int>::iterator j = clientsRuns_.lower_bound(clients_[i]); j != clientsRuns_.upper_bound(clients_[i]); j++ ) { if ( runType_ != -1 && runType_ == (*j).second && !done ) { done = true; clients_[i]->beginRun(); } } } if ( summaryClient_ ) summaryClient_->beginRun(); }
void EcalBarrelMonitorClient::beginRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 658 of file EcalBarrelMonitorClient.cc.
References DQMStore::book2D(), DQMStore::bookFloat(), gather_cfg::cout, dqmStore_, evt_, MonitorElement::Fill(), DQMStore::get(), MonitorElement::getName(), i, edm::RunBase::id(), Numbers::initGeometry(), Masks::initMasking(), jevt_, mergeVDriftHistosByStation::name, prefixME_, produceReports_, DQMStore::removeElement(), run_, Numbers::sEB(), MonitorElement::setAxisTitle(), MonitorElement::setBinContent(), DQMStore::setCurrentFolder(), and verbose_.
{ Numbers::initGeometry(c, verbose_); if ( verbose_ ) std::cout << std::endl; Masks::initMasking(c, verbose_); if ( verbose_ ) { std::cout << std::endl; std::cout << "Standard beginRun() for run " << r.id().run() << std::endl; std::cout << std::endl; } run_ = r.id().run(); evt_ = 0; jevt_ = 0; // summary for DQM GUI if(produceReports_){ MonitorElement* me; dqmStore_->setCurrentFolder( prefixME_ + "/EventInfo" ); me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummary"); if ( me ) { dqmStore_->removeElement(me->getName()); } me = dqmStore_->bookFloat("reportSummary"); me->Fill(-1.0); dqmStore_->setCurrentFolder( prefixME_ + "/EventInfo/reportSummaryContents" ); std::string name; for (int i = 0; i < 36; i++) { name = "EcalBarrel_" + Numbers::sEB(i+1); me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryContents/" + name); if ( me ) { dqmStore_->removeElement(me->getName()); } me = dqmStore_->bookFloat(name); me->Fill(-1.0); } dqmStore_->setCurrentFolder( prefixME_ + "/EventInfo" ); me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryMap"); if ( me ) { dqmStore_->removeElement(me->getName()); } me = dqmStore_->book2D("reportSummaryMap","EcalBarrel Report Summary Map", 72, 0., 72., 34, 0., 34); for ( int iettx = 0; iettx < 34; iettx++ ) { for ( int ipttx = 0; ipttx < 72; ipttx++ ) { me->setBinContent( ipttx+1, iettx+1, -1.0 ); } } me->setAxisTitle("jphi", 1); me->setAxisTitle("jeta", 2); } }
void EcalBarrelMonitorClient::beginRunDb | ( | void | ) |
BeginRunDB.
Definition at line 951 of file EcalBarrelMonitorClient.cc.
References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, dbHostName_, dbHostPort_, dbName_, dbPassword_, dbUserName_, alignCSCRings::e, EcalCondDBInterface::fetchRunIOV(), getRunType(), i, EcalCondDBInterface::insertRunIOV(), location_, run_, runType_, runTypes_, RunTag::setGeneralTag(), LocationDef::setLocation(), RunTag::setLocationDef(), RunTypeDef::setRunType(), RunTag::setRunTypeDef(), Tm::setToCurrentGMTime(), subrun_, and verbose_.
Referenced by beginRun().
{ subrun_ = 0; #ifdef WITH_ECAL_COND_DB EcalCondDBInterface* econn; econn = 0; if ( dbName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection with TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbName_, dbUserName_, dbPassword_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; if ( dbHostName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection without TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbHostName_, dbName_, dbUserName_, dbPassword_, dbHostPort_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } } } // create the objects necessary to identify a dataset LocationDef locdef; locdef.setLocation(location_); RunTypeDef rundef; rundef.setRunType( this->getRunType() ); RunTag runtag; runtag.setLocationDef(locdef); runtag.setRunTypeDef(rundef); runtag.setGeneralTag( this->getRunType() ); // fetch the RunIOV from the DB bool foundRunIOV = false; if ( econn ) { try { if ( verbose_ ) std::cout << "Fetching RunIOV ..." << std::endl; // runiov_ = econn->fetchRunIOV(&runtag, run_); runiov_ = econn->fetchRunIOV(location_, run_); if ( verbose_ ) std::cout << "done." << std::endl; foundRunIOV = true; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; foundRunIOV = false; } } // begin - setup the RunIOV (on behalf of the DAQ) if ( ! foundRunIOV ) { Tm startRun; startRun.setToCurrentGMTime(); runiov_.setRunNumber(run_); runiov_.setRunStart(startRun); runiov_.setRunTag(runtag); if ( econn ) { try { if ( verbose_ ) std::cout << "Inserting RunIOV ..." << std::endl; econn->insertRunIOV(&runiov_); // runiov_ = econn->fetchRunIOV(&runtag, run_); runiov_ = econn->fetchRunIOV(location_, run_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; try { if ( verbose_ ) std::cout << "Fetching RunIOV (again) ..." << std::endl; // runiov_ = econn->fetchRunIOV(&runtag, run_); runiov_ = econn->fetchRunIOV(location_, run_); if ( verbose_ ) std::cout << "done." << std::endl; foundRunIOV = true; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; foundRunIOV = false; } } } } // end - setup the RunIOV (on behalf of the DAQ) if ( verbose_ ) { std::cout << std::endl; std::cout << "=============RunIOV:" << std::endl; std::cout << "Run Number: " << runiov_.getRunNumber() << std::endl; std::cout << "Run Start: " << runiov_.getRunStart().str() << std::endl; std::cout << "Run End: " << runiov_.getRunEnd().str() << std::endl; std::cout << "====================" << std::endl; std::cout << std::endl; std::cout << "=============RunTag:" << std::endl; std::cout << "GeneralTag: " << runiov_.getRunTag().getGeneralTag() << std::endl; std::cout << "Location: " << runiov_.getRunTag().getLocationDef().getLocation() << std::endl; std::cout << "Run Type: " << runiov_.getRunTag().getRunTypeDef().getRunType() << std::endl; std::cout << "====================" << std::endl; std::cout << std::endl; } std::string rt = runiov_.getRunTag().getRunTypeDef().getRunType(); if ( strcmp(rt.c_str(), "UNKNOWN") == 0 ) { runType_ = -1; } else { for ( unsigned int i = 0; i < runTypes_.size(); i++ ) { if ( strcmp(rt.c_str(), runTypes_[i].c_str()) == 0 ) { if ( runType_ != int(i) ) { if ( verbose_ ) { std::cout << std::endl; std::cout << "Fixing Run Type to: " << runTypes_[i] << std::endl; std::cout << std::endl; } runType_ = i; } break; } } } if ( verbose_ ) std::cout << std::endl; if ( econn ) { try { if ( verbose_ ) std::cout << "Closing DB connection ..." << std::endl; delete econn; econn = 0; if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } #endif if ( verbose_ ) std::cout << std::endl; }
void EcalBarrelMonitorClient::cleanup | ( | void | ) |
Cleanup.
Definition at line 939 of file EcalBarrelMonitorClient.cc.
References cloneME_, enableCleanup_, and h_.
Referenced by endJob(), and endRun().
{ if ( ! enableCleanup_ ) return; if ( cloneME_ ) { if ( h_ ) delete h_; } h_ = 0; }
void EcalBarrelMonitorClient::endJob | ( | void | ) | [virtual] |
EndJob.
Reimplemented from edm::EDAnalyzer.
Definition at line 724 of file EcalBarrelMonitorClient.cc.
References analyze(), begin_run_, cleanup(), clients_, gather_cfg::cout, debug_, end_run_, EBSummaryClient::endJob(), endRun(), forced_status_, forced_update_, i, ievt_, summaryClient_, and verbose_.
{ if ( ! end_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << "Checking last event at endJob() ... " << std::endl; std::cout << std::endl; } forced_update_ = true; this->analyze(); if ( begin_run_ && ! end_run_ ) { if ( verbose_ ) { std::cout << std::endl; std::cout << "Forcing endRun() ... " << std::endl; std::cout << std::endl; } forced_status_ = true; this->analyze(); this->endRun(); } } if ( debug_ ) std::cout << "EcalBarrelMonitorClient: endJob, ievt = " << ievt_ << std::endl; this->cleanup(); for ( unsigned int i=0; i<clients_.size(); i++ ) { clients_[i]->endJob(); } if ( summaryClient_ ) summaryClient_->endJob(); }
void EcalBarrelMonitorClient::endLuminosityBlock | ( | const edm::LuminosityBlock & | l, |
const edm::EventSetup & | c | ||
) | [virtual] |
EndLumiBlock.
Reimplemented from edm::EDAnalyzer.
Definition at line 887 of file EcalBarrelMonitorClient.cc.
References analyze(), OfflineClient_cff::client, clients_, clientsNames_, gather_cfg::cout, current_time_, DQMStore::dirExists(), dqmStore_, enabledClients_, evt_, spr::find(), forced_update_, edm::LuminosityBlockBase::id(), last_time_update_, mergeVDriftHistosByStation::name, NULL, prefixME_, run_, runType_, cond::rpcobgas::time, updateTime_, and verbose_.
{ current_time_ = time(NULL); if ( verbose_ ) { std::cout << std::endl; std::cout << "Standard endLuminosityBlock() for luminosity block " << l.id().luminosityBlock() << " of run " << l.id().run() << std::endl; std::cout << std::endl; } if ( updateTime_ > 0 ) { if ( (current_time_ - last_time_update_) < 60 * updateTime_ ) { return; } last_time_update_ = current_time_; } if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { forced_update_ = true; this->analyze(); } for(unsigned iC(0); iC < enabledClients_.size(); iC++){ std::string& name(enabledClients_[iC]); if(name == "Cluster" || name == "Cosmic" || name == "Occupancy" || name == "StatusFlags" || name == "Trend") continue; if(!dqmStore_->dirExists(prefixME_ + "/EB" + name + "Client")){ std::vector<std::string>::iterator itr(std::find(clientsNames_.begin(), clientsNames_.end(), name)); if(itr == clientsNames_.end()) continue; // something seriously wrong, but ignore std::cout << "EB" << name << "Client is missing plots; resetting now" << std::endl; EBClient* client(clients_[itr - clientsNames_.begin()]); client->cleanup(); client->setup(); } } }
void EcalBarrelMonitorClient::endRun | ( | void | ) |
EndRun.
Definition at line 765 of file EcalBarrelMonitorClient.cc.
References EBSummaryClient::analyze(), begin_run_, cleanup(), clients_, clientsRuns_, gather_cfg::cout, dbUpdateTime_, debug_, run_regression::done, end_run_, EBSummaryClient::endRun(), endRunDb(), evt_, evtType_, i, j, jevt_, resetFile_, run_, runType_, softReset(), status_, subrun_, summaryClient_, and writeDb().
Referenced by analyze(), endJob(), and endRun().
{ begin_run_ = false; end_run_ = true; if ( debug_ ) std::cout << "EcalBarrelMonitorClient: endRun, jevt = " << jevt_ << std::endl; if ( subrun_ != -1 ) { this->writeDb(); this->endRunDb(); } if ( resetFile_.size() != 0 || dbUpdateTime_ > 0 ) { this->softReset(false); for ( int i=0; i<int(clients_.size()); i++ ) { bool done = false; for ( std::multimap<EBClient*,int>::iterator j = clientsRuns_.lower_bound(clients_[i]); j != clientsRuns_.upper_bound(clients_[i]); j++ ) { if ( runType_ != -1 && runType_ == (*j).second && !done ) { done = true; clients_[i]->analyze(); } } } if ( summaryClient_ ) summaryClient_->analyze(); } for ( int i=0; i<int(clients_.size()); i++ ) { bool done = false; for ( std::multimap<EBClient*,int>::iterator j = clientsRuns_.lower_bound(clients_[i]); j != clientsRuns_.upper_bound(clients_[i]); j++ ) { if ( runType_ != -1 && runType_ == (*j).second && !done ) { done = true; clients_[i]->endRun(); } } } if ( summaryClient_ ) summaryClient_->endRun(); this->cleanup(); status_ = "unknown"; run_ = -1; evt_ = -1; runType_ = -1; evtType_ = -1; subrun_ = -1; }
void EcalBarrelMonitorClient::endRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 824 of file EcalBarrelMonitorClient.cc.
References analyze(), begin_run_, gather_cfg::cout, dqmStore_, end_run_, endRun(), evt_, MonitorElement::Fill(), forced_status_, forced_update_, DQMStore::get(), i, edm::RunBase::id(), mergeRuns_, prefixME_, run_, runType_, Numbers::sEB(), MonitorElement::setBinContent(), and verbose_.
{ if ( verbose_ ) { std::cout << std::endl; std::cout << "Standard endRun() for run " << r.id().run() << std::endl; std::cout << std::endl; } this->analyze(); if ( run_ != -1 && evt_ != -1 && runType_ != -1 ) { forced_update_ = true; this->analyze(); if ( ! mergeRuns_ ) { if ( begin_run_ && ! end_run_ ) { forced_status_ = false; this->endRun(); } } } // summary for DQM GUI if ( run_ != -1 && evt_ != -1 && runType_ == -1 ) { MonitorElement* me; me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummary"); if ( me ) me->Fill(-1.0); for (int i = 0; i < 36; i++) { me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryContents/EcalBarrel_" + Numbers::sEB(i+1)); if ( me ) me->Fill(-1.0); } me = dqmStore_->get(prefixME_ + "/EventInfo/reportSummaryMap"); for ( int iettx = 0; iettx < 34; iettx++ ) { for ( int ipttx = 0; ipttx < 72; ipttx++ ) { if ( me ) me->setBinContent( ipttx+1, iettx+1, -1.0 ); } } } }
void EcalBarrelMonitorClient::endRunDb | ( | void | ) |
EndRunDB.
Definition at line 1315 of file EcalBarrelMonitorClient.cc.
References dtNoiseDBValidation_cfg::cerr, gather_cfg::cout, dataset::dataset, dbHostName_, dbHostPort_, dbName_, dbPassword_, dbUserName_, alignCSCRings::e, EcalCondDBInterface::fetchDataSet(), LogicID::getEcalLogicID(), h_, EcalCondDBInterface::insertDataSet(), nevt, RunDat::setNumEvents(), and verbose_.
Referenced by endRun().
{ #ifdef WITH_ECAL_COND_DB EcalCondDBInterface* econn; econn = 0; if ( dbName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection with TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbName_, dbUserName_, dbPassword_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; if ( dbHostName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection without TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbHostName_, dbName_, dbUserName_, dbPassword_, dbHostPort_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } } } EcalLogicID ecid; RunDat rd; std::map<EcalLogicID, RunDat> dataset; float nevt = -1.; if ( h_ ) nevt = h_->GetSumOfWeights(); rd.setNumEvents(int(nevt)); // fetch the RunDat from the DB bool foundRunDat = false; if ( econn ) { try { if ( verbose_ ) std::cout << "Fetching RunDat ..." << std::endl; econn->fetchDataSet(&dataset, &runiov_); if ( verbose_ ) std::cout << "done." << std::endl; foundRunDat = true; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; foundRunDat = false; } } // begin - setup the RunDat (on behalf of the DAQ) if ( ! foundRunDat ) { if ( econn ) { try { ecid = LogicID::getEcalLogicID("EB"); dataset[ecid] = rd; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } if ( econn ) { try { if ( verbose_ ) std::cout << "Inserting RunDat ..." << std::endl; econn->insertDataSet(&dataset, &runiov_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } } // end - setup the RunDat (on behalf of the DAQ) if ( econn ) { try { if ( verbose_ ) std::cout << "Closing DB connection ..." << std::endl; delete econn; econn = 0; if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } #endif }
const char* EcalBarrelMonitorClient::getRunType | ( | void | ) | [inline] |
Definition at line 93 of file EcalBarrelMonitorClient.h.
References runType_, and runTypes_.
Referenced by analyze(), beginRunDb(), and EcalBarrelMonitorXdaqClient::defaultWebPage().
void EcalBarrelMonitorClient::reset | ( | void | ) |
void EcalBarrelMonitorClient::setup | ( | void | ) |
void EcalBarrelMonitorClient::softReset | ( | bool | flag | ) |
SoftReset.
Definition at line 1723 of file EcalBarrelMonitorClient.cc.
References DQMStore::disableSoftReset(), dqmStore_, DQMStore::get(), DQMStore::getAllContents(), prefixME_, and DQMStore::softReset().
Referenced by analyze(), and endRun().
{ std::vector<MonitorElement*> mes = dqmStore_->getAllContents(prefixME_); std::vector<MonitorElement*>::const_iterator meitr; for ( meitr=mes.begin(); meitr!=mes.end(); meitr++ ) { if ( !strncmp((*meitr)->getName().c_str(), "EB", 2) && strncmp((*meitr)->getName().c_str(), "EBTrend", 7) && strncmp((*meitr)->getName().c_str(), "by lumi", 7) ) { if ( flag ) { dqmStore_->softReset(*meitr); } else { dqmStore_->disableSoftReset(*meitr); } } } MonitorElement* me = dqmStore_->get(prefixME_ + "/EcalInfo/EVTTYPE"); if ( me ) { if ( flag ) { dqmStore_->softReset(me); } else { dqmStore_->disableSoftReset(me); } } }
void EcalBarrelMonitorClient::writeDb | ( | void | ) |
WriteDB.
Definition at line 1104 of file EcalBarrelMonitorClient.cc.
References dtNoiseDBValidation_cfg::cerr, clients_, clientsNames_, clientsRuns_, clientsStatus_, EcalDCCHeaderBlock::COSMIC, EcalDCCHeaderBlock::COSMICS_GLOBAL, EcalDCCHeaderBlock::COSMICS_LOCAL, gather_cfg::cout, dataset::dataset, dbHostName_, dbHostPort_, dbName_, dbPassword_, dbTagName_, dbUserName_, run_regression::done, alignCSCRings::e, EcalCondDBInterface::fetchMonRunIOV(), LogicID::getEcalLogicID(), h_, i, EcalCondDBInterface::insertDataSet(), EcalCondDBInterface::insertMonRunIOV(), j, EcalDCCHeaderBlock::LASER_GAP, EcalDCCHeaderBlock::LASER_STD, nevt, EcalDCCHeaderBlock::PEDESTAL_GAP, EcalDCCHeaderBlock::PEDESTAL_STD, EcalDCCHeaderBlock::PHYSICS_GLOBAL, EcalDCCHeaderBlock::PHYSICS_LOCAL, run_, runType_, MonRunTag::setGeneralTag(), MonVersionDef::setMonitoringVersion(), MonRunDat::setMonRunOutcomeDef(), MonRunTag::setMonVersionDef(), MonRunDat::setNumEvents(), MonRunOutcomeDef::setShortDesc(), MonRunDat::setTaskList(), MonRunDat::setTaskOutcome(), Tm::setToCurrentGMTime(), ntuplemaker::status, subrun_, summaryClient_, EcalDCCHeaderBlock::TESTPULSE_GAP, EcalDCCHeaderBlock::TESTPULSE_MGPA, and verbose_.
Referenced by analyze(), and endRun().
{ subrun_++; #ifdef WITH_ECAL_COND_DB EcalCondDBInterface* econn; econn = 0; if ( dbName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection with TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbName_, dbUserName_, dbPassword_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; if ( dbHostName_.size() != 0 ) { try { if ( verbose_ ) std::cout << "Opening DB connection without TNS_ADMIN ..." << std::endl; econn = new EcalCondDBInterface(dbHostName_, dbName_, dbUserName_, dbPassword_, dbHostPort_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } } } MonVersionDef monverdef; monverdef.setMonitoringVersion("test01"); MonRunTag montag; montag.setMonVersionDef(monverdef); montag.setGeneralTag(dbTagName_); Tm startSubRun; startSubRun.setToCurrentGMTime(); // fetch the MonIOV from the DB bool foundMonIOV = false; if ( econn ) { try { if ( verbose_ ) std::cout << "Fetching MonIOV ..." << std::endl; RunTag runtag = runiov_.getRunTag(); moniov_ = econn->fetchMonRunIOV(&runtag, &montag, run_, subrun_); if ( verbose_ ) std::cout << "done." << std::endl; foundMonIOV = true; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; foundMonIOV = false; } } // begin - setup the MonIOV if ( !foundMonIOV ) { moniov_.setRunIOV(runiov_); moniov_.setSubRunNumber(subrun_); if ( subrun_ > 1 ) { moniov_.setSubRunStart(startSubRun); } else { moniov_.setSubRunStart(runiov_.getRunStart()); } moniov_.setMonRunTag(montag); if ( econn ) { try { if ( verbose_ ) std::cout << "Inserting MonIOV ..." << std::endl; econn->insertMonRunIOV(&moniov_); RunTag runtag = runiov_.getRunTag(); moniov_ = econn->fetchMonRunIOV(&runtag, &montag, run_, subrun_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; try { if ( verbose_ ) std::cout << "Fetching MonIOV (again) ..." << std::endl; RunTag runtag = runiov_.getRunTag(); moniov_ = econn->fetchMonRunIOV(&runtag, &montag, run_, subrun_); if ( verbose_ ) std::cout << "done." << std::endl; foundMonIOV = true; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; foundMonIOV = false; } } } } // end - setup the MonIOV if ( verbose_ ) { std::cout << std::endl; std::cout << "==========MonRunIOV:" << std::endl; std::cout << "SubRun Number: " << moniov_.getSubRunNumber() << std::endl; std::cout << "SubRun Start: " << moniov_.getSubRunStart().str() << std::endl; std::cout << "SubRun End: " << moniov_.getSubRunEnd().str() << std::endl; std::cout << "====================" << std::endl; std::cout << std::endl; std::cout << "==========MonRunTag:" << std::endl; std::cout << "GeneralTag: " << moniov_.getMonRunTag().getGeneralTag() << std::endl; std::cout << "Monitoring Ver: " << moniov_.getMonRunTag().getMonVersionDef().getMonitoringVersion() << std::endl; std::cout << "====================" << std::endl; std::cout << std::endl; } int taskl = 0x0; int tasko = 0x0; for ( int i=0; i<int(clients_.size()); i++ ) { bool done = false; for ( std::multimap<EBClient*,int>::iterator j = clientsRuns_.lower_bound(clients_[i]); j != clientsRuns_.upper_bound(clients_[i]); j++ ) { if ( h_ && runType_ != -1 && runType_ == (*j).second && !done ) { if ( strcmp(clientsNames_[i].c_str(), "Cosmic") == 0 && runType_ != EcalDCCHeaderBlock::COSMIC && runType_ != EcalDCCHeaderBlock::COSMICS_LOCAL && runType_ != EcalDCCHeaderBlock::COSMICS_GLOBAL && runType_ != EcalDCCHeaderBlock::PHYSICS_GLOBAL && runType_ != EcalDCCHeaderBlock::PHYSICS_LOCAL && h_->GetBinContent(2+EcalDCCHeaderBlock::COSMIC) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::COSMICS_LOCAL) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::COSMICS_GLOBAL) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::PHYSICS_GLOBAL) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::PHYSICS_LOCAL) == 0 ) continue; if ( strcmp(clientsNames_[i].c_str(), "Laser") == 0 && runType_ != EcalDCCHeaderBlock::LASER_STD && runType_ != EcalDCCHeaderBlock::LASER_GAP && h_->GetBinContent(2+EcalDCCHeaderBlock::LASER_STD) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::LASER_GAP) == 0 ) continue; if ( strcmp(clientsNames_[i].c_str(), "Pedestal") == 0 && runType_ != EcalDCCHeaderBlock::PEDESTAL_STD && runType_ != EcalDCCHeaderBlock::PEDESTAL_GAP && h_->GetBinContent(2+EcalDCCHeaderBlock::PEDESTAL_STD) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::PEDESTAL_GAP) == 0 ) continue; if ( strcmp(clientsNames_[i].c_str(), "TestPulse") == 0 && runType_ != EcalDCCHeaderBlock::TESTPULSE_MGPA && runType_ != EcalDCCHeaderBlock::TESTPULSE_GAP && h_->GetBinContent(2+EcalDCCHeaderBlock::TESTPULSE_MGPA) == 0 && h_->GetBinContent(2+EcalDCCHeaderBlock::TESTPULSE_GAP) == 0 ) continue; done = true; if ( verbose_ ) { if ( econn ) { std::cout << " Writing " << clientsNames_[i] << " results to DB " << std::endl; std::cout << std::endl; } } bool status; if ( clients_[i]->writeDb(econn, &runiov_, &moniov_, status) ) { taskl |= 0x1 << clientsStatus_[clientsNames_[i]]; if ( status ) { tasko |= 0x1 << clientsStatus_[clientsNames_[i]]; } } else { tasko |= 0x1 << clientsStatus_[clientsNames_[i]]; } } } if ( ((taskl >> clientsStatus_[clientsNames_[i]]) & 0x1) ) { if ( verbose_ ) { std::cout << " Task output for " << clientsNames_[i] << " = " << ((tasko >> clientsStatus_[clientsNames_[i]]) & 0x1) << std::endl; std::cout << std::endl; } } } bool status; if ( summaryClient_ ) summaryClient_->writeDb(econn, &runiov_, &moniov_, status); EcalLogicID ecid; MonRunDat md; std::map<EcalLogicID, MonRunDat> dataset; MonRunOutcomeDef monRunOutcomeDef; monRunOutcomeDef.setShortDesc("success"); float nevt = -1.; if ( h_ ) nevt = h_->GetSumOfWeights(); md.setNumEvents(int(nevt)); md.setMonRunOutcomeDef(monRunOutcomeDef); // string fileName = ""; // md.setRootfileName(fileName); md.setTaskList(taskl); md.setTaskOutcome(tasko); if ( econn ) { try { ecid = LogicID::getEcalLogicID("EB"); dataset[ecid] = md; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } if ( econn ) { try { if ( verbose_ ) std::cout << "Inserting MonRunDat ..." << std::endl; econn->insertDataSet(&dataset, &moniov_); if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } if ( econn ) { try { if ( verbose_ ) std::cout << "Closing DB connection ..." << std::endl; delete econn; econn = 0; if ( verbose_ ) std::cout << "done." << std::endl; } catch (std::runtime_error &e) { std::cerr << e.what() << std::endl; } } #endif if ( verbose_ ) std::cout << std::endl; }
friend class EcalBarrelMonitorXdaqClient [friend] |
Definition at line 38 of file EcalBarrelMonitorClient.h.
bool EcalBarrelMonitorClient::begin_run_ [private] |
Definition at line 166 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), endJob(), and endRun().
std::vector<EBClient*> EcalBarrelMonitorClient::clients_ [private] |
Definition at line 144 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), EcalBarrelMonitorXdaqClient::defaultWebPage(), EcalBarrelMonitorClient(), endJob(), endLuminosityBlock(), endRun(), writeDb(), and ~EcalBarrelMonitorClient().
std::vector<std::string> EcalBarrelMonitorClient::clientsNames_ [private] |
Definition at line 145 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorXdaqClient::defaultWebPage(), EcalBarrelMonitorClient(), endLuminosityBlock(), and writeDb().
std::multimap<EBClient*,int> EcalBarrelMonitorClient::clientsRuns_ [private] |
Definition at line 142 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginRun(), EcalBarrelMonitorClient(), endRun(), and writeDb().
std::map<std::string,int> EcalBarrelMonitorClient::clientsStatus_ [private] |
Definition at line 146 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorClient(), and writeDb().
bool EcalBarrelMonitorClient::cloneME_ [private] |
Definition at line 100 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), cleanup(), and EcalBarrelMonitorClient().
time_t EcalBarrelMonitorClient::current_time_ [private] |
Definition at line 130 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), and endLuminosityBlock().
std::string EcalBarrelMonitorClient::dbHostName_ [private] |
Definition at line 112 of file EcalBarrelMonitorClient.h.
Referenced by beginRunDb(), EcalBarrelMonitorClient(), endRunDb(), and writeDb().
int EcalBarrelMonitorClient::dbHostPort_ [private] |
Definition at line 113 of file EcalBarrelMonitorClient.h.
Referenced by beginRunDb(), EcalBarrelMonitorClient(), endRunDb(), and writeDb().
std::string EcalBarrelMonitorClient::dbName_ [private] |
Definition at line 111 of file EcalBarrelMonitorClient.h.
Referenced by beginRunDb(), EcalBarrelMonitorClient(), endRunDb(), and writeDb().
std::string EcalBarrelMonitorClient::dbPassword_ [private] |
Definition at line 115 of file EcalBarrelMonitorClient.h.
Referenced by beginRunDb(), EcalBarrelMonitorClient(), endRunDb(), and writeDb().
std::string EcalBarrelMonitorClient::dbTagName_ [private] |
Definition at line 117 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorClient(), and writeDb().
time_t EcalBarrelMonitorClient::dbUpdateTime_ [private] |
Definition at line 136 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), EcalBarrelMonitorClient(), and endRun().
std::string EcalBarrelMonitorClient::dbUserName_ [private] |
Definition at line 114 of file EcalBarrelMonitorClient.h.
Referenced by beginRunDb(), EcalBarrelMonitorClient(), endRunDb(), and writeDb().
bool EcalBarrelMonitorClient::debug_ [private] |
Definition at line 103 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), EcalBarrelMonitorClient(), endJob(), and endRun().
DQMStore* EcalBarrelMonitorClient::dqmStore_ [private] |
Definition at line 150 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), endLuminosityBlock(), endRun(), and softReset().
bool EcalBarrelMonitorClient::enableCleanup_ [private] |
Definition at line 107 of file EcalBarrelMonitorClient.h.
Referenced by cleanup(), and EcalBarrelMonitorClient().
std::vector<std::string> EcalBarrelMonitorClient::enabledClients_ [private] |
Definition at line 140 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorClient(), and endLuminosityBlock().
bool EcalBarrelMonitorClient::end_run_ [private] |
Definition at line 167 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), endJob(), and endRun().
int EcalBarrelMonitorClient::evt_ [private] |
Definition at line 164 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), endLuminosityBlock(), and endRun().
int EcalBarrelMonitorClient::evtType_ [private] |
Definition at line 159 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), and endRun().
bool EcalBarrelMonitorClient::forced_status_ [private] |
Definition at line 169 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), endJob(), and endRun().
bool EcalBarrelMonitorClient::forced_update_ [private] |
Definition at line 171 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), endJob(), endLuminosityBlock(), and endRun().
TH1F* EcalBarrelMonitorClient::h_ [private] |
Definition at line 175 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), cleanup(), EcalBarrelMonitorXdaqClient::defaultWebPage(), endRunDb(), and writeDb().
int EcalBarrelMonitorClient::ievt_ [private] |
Definition at line 97 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), EcalBarrelMonitorXdaqClient::defaultWebPage(), and endJob().
std::string EcalBarrelMonitorClient::inputFile_ [private] |
Definition at line 109 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), and EcalBarrelMonitorClient().
int EcalBarrelMonitorClient::jevt_ [private] |
Definition at line 98 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), and endRun().
int EcalBarrelMonitorClient::last_run_ [private] |
Definition at line 173 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), and beginRun().
time_t EcalBarrelMonitorClient::last_time_reset_ [private] |
Definition at line 133 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), and beginRun().
time_t EcalBarrelMonitorClient::last_time_update_ [private] |
Definition at line 132 of file EcalBarrelMonitorClient.h.
Referenced by beginJob(), beginRun(), and endLuminosityBlock().
std::string EcalBarrelMonitorClient::location_ [private] |
Definition at line 156 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginRunDb(), and EcalBarrelMonitorClient().
bool EcalBarrelMonitorClient::mergeRuns_ [private] |
Definition at line 121 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), EcalBarrelMonitorClient(), and endRun().
std::string EcalBarrelMonitorClient::prefixME_ [private] |
Definition at line 152 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginRun(), EcalBarrelMonitorClient(), endLuminosityBlock(), endRun(), and softReset().
int EcalBarrelMonitorClient::prescaleFactor_ [private] |
Definition at line 105 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), and EcalBarrelMonitorClient().
bool EcalBarrelMonitorClient::produceReports_ [private] |
Definition at line 154 of file EcalBarrelMonitorClient.h.
Referenced by beginRun(), and EcalBarrelMonitorClient().
std::string EcalBarrelMonitorClient::resetFile_ [private] |
Definition at line 119 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), EcalBarrelMonitorClient(), and endRun().
int EcalBarrelMonitorClient::run_ [private] |
Definition at line 163 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), beginRunDb(), EcalBarrelMonitorXdaqClient::defaultWebPage(), endLuminosityBlock(), endRun(), and writeDb().
int EcalBarrelMonitorClient::runType_ [private] |
Definition at line 158 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), beginRunDb(), endLuminosityBlock(), endRun(), getRunType(), and writeDb().
std::vector<std::string> EcalBarrelMonitorClient::runTypes_ [private] |
Definition at line 143 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginRunDb(), EcalBarrelMonitorXdaqClient::defaultWebPage(), EcalBarrelMonitorClient(), and getRunType().
std::string EcalBarrelMonitorClient::status_ [private] |
Definition at line 161 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), and endRun().
int EcalBarrelMonitorClient::subrun_ [private] |
Definition at line 128 of file EcalBarrelMonitorClient.h.
Referenced by beginJob(), beginRunDb(), endRun(), and writeDb().
Definition at line 148 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginJob(), beginRun(), EcalBarrelMonitorClient(), endJob(), endRun(), writeDb(), and ~EcalBarrelMonitorClient().
std::vector<int> EcalBarrelMonitorClient::superModules_ [private] |
Definition at line 138 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorClient().
time_t EcalBarrelMonitorClient::updateTime_ [private] |
Definition at line 135 of file EcalBarrelMonitorClient.h.
Referenced by EcalBarrelMonitorClient(), and endLuminosityBlock().
bool EcalBarrelMonitorClient::verbose_ [private] |
Definition at line 102 of file EcalBarrelMonitorClient.h.
Referenced by analyze(), beginLuminosityBlock(), beginRun(), beginRunDb(), EcalBarrelMonitorClient(), endJob(), endLuminosityBlock(), endRun(), endRunDb(), writeDb(), and ~EcalBarrelMonitorClient().