#include <DQM/SiStripMonitorDigi/src/SiStripMonitorDigi.cc>
Data Quality Monitoring source of the Silicon Strip Tracker. Produces histograms related to digis.
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 26 of file SiStripMonitorDigi.h.
SiStripMonitorDigi::SiStripMonitorDigi | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 40 of file SiStripMonitorDigi.cc.
References apvPhaseProducer_, conf_, createTrendMEs, dcsStatus_, digiProducerList, digitkhistomapon, eventNb, firstEvent, edm::ParameterSet::getParameter(), historyProducer_, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, and xLumiProf.
: dqmStore_(edm::Service<DQMStore>().operator->()), conf_(iConfig), show_mechanical_structure_view(true), show_readout_view(false), show_control_view(false), select_all_detectors(true), reset_each_run(false), folder_organizer(), m_cacheID_(0) { firstEvent = -1; eventNb = 0; // Detector Partitions SubDetPhasePartMap["TIB"] = "TI"; SubDetPhasePartMap["TID__side__1"] = "TI"; SubDetPhasePartMap["TID__side__2"] = "TI"; SubDetPhasePartMap["TOB"] = "TO"; SubDetPhasePartMap["TEC__side__1"] = "TM"; SubDetPhasePartMap["TEC__side__2"] = "TP"; // get Digi Producer List digiProducerList = conf_.getParameter<std::vector<edm::InputTag> >("DigiProducersList"); //get on/off option for every cluster from cfi edm::ParameterSet ParametersNumberOfDigis = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigis"); layerswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("layerswitchon"); moduleswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersNumberOfDigisPerStrip = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigisPerStrip"); moduleswitchnumdigispstripon = ParametersNumberOfDigisPerStrip.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersADCsHottestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsHottestStrip"); layerswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("layerswitchon"); moduleswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersADCsCoolestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsCoolestStrip"); layerswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("layerswitchon"); moduleswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersDigiADCs = conf_.getParameter<edm::ParameterSet>("TH1DigiADCs"); layerswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("layerswitchon"); moduleswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersStripOccupancy = conf_.getParameter<edm::ParameterSet>("TH1StripOccupancy"); layerswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("layerswitchon"); moduleswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("moduleswitchon"); edm::ParameterSet ParametersDigiProf = conf_.getParameter<edm::ParameterSet>("TProfNumberOfDigi"); layerswitchnumdigisprofon = ParametersDigiProf.getParameter<bool>("layerswitchon"); edm::ParameterSet ParametersDigiADC = conf_.getParameter<edm::ParameterSet>("TProfDigiADC"); layerswitchdigiadcprofon = ParametersDigiProf.getParameter<bool>("layerswitchon"); edm::ParameterSet ParametersTotDigiProf = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis"); subdetswitchtotdigiprofon = ParametersTotDigiProf.getParameter<bool>("subdetswitchon"); edm::ParameterSet ParametersTotDigisProfVsLS = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigisVsLS"); subdetswitchtotdigiproflson = ParametersTotDigisProfVsLS.getParameter<bool>("subdetswitchon"); edm::ParameterSet ParametersTotDigiFailure = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure"); subdetswitchtotdigifailureon = ParametersTotDigiFailure.getParameter<bool>("subdetswitchon"); edm::ParameterSet ParametersDigiApvProf = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle"); subdetswitchapvcycleprofon = ParametersDigiApvProf.getParameter<bool>("subdetswitchon"); edm::ParameterSet ParametersDigiApvTH2 = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle"); subdetswitchapvcycleth2on = ParametersDigiApvTH2.getParameter<bool>("subdetswitchon"); digitkhistomapon = conf_.getParameter<bool>("TkHistoMap_On"); createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs"); Mod_On_ = conf_.getParameter<bool>("Mod_On"); xLumiProf = conf_.getParameter<int>("xLumiProf"); // Event History Producer historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer"); // Apv Phase Producer apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer"); // Create DCS Status bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering"); if (checkDCS) dcsStatus_ = new SiStripDCSStatus(); else dcsStatus_ = 0; }
SiStripMonitorDigi::~SiStripMonitorDigi | ( | ) |
Definition at line 117 of file SiStripMonitorDigi.cc.
References dcsStatus_.
{ if (dcsStatus_) delete dcsStatus_; }
bool SiStripMonitorDigi::AllDigis | ( | const edm::EventSetup & | es | ) | [private] |
void SiStripMonitorDigi::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements edm::EDAnalyzer.
Definition at line 309 of file SiStripMonitorDigi.cc.
References ecalMGPA::adc(), SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, apvPhaseProducer_, createTrendMEs, edm::DetSet< T >::data, dcsStatus_, cond::rpcobgas::detid, digi_detset_handles, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digiProducerList, digitkhistomapon, eventNb, edm::HandleBase::failedToGet(), MonitorElement::Fill(), TkHistoMap::fill(), fillME(), fillTrend(), folder_organizer, edm::Event::getByLabel(), getDigiSourceIndex(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), historyProducer_, edm::EventBase::id(), align::invalid, APVCyclePhaseCollection::invalid, edm::HandleBase::isValid(), SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, LayerDetMap, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, Association::map, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, APVCyclePhaseCollection::multiphase, APVCyclePhaseCollection::nopartition, NULL, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, edm::EventBase::orbitNumber(), pos, edm::Handle< T >::product(), edm::EventID::run(), runNb, SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkmapdigi, and SiStripMonitorDigi::SubDetMEs::totNDigis.
{ // Filter out events if DCS Event if requested if (dcsStatus_ && !dcsStatus_->getStatus(iEvent, iSetup)) return; runNb = iEvent.id().run(); eventNb++; float iOrbitSec = iEvent.orbitNumber()/11223.0; digi_detset_handles.clear(); for(std::vector<edm::InputTag>::iterator itDigiProducerList = digiProducerList.begin(); itDigiProducerList != digiProducerList.end(); ++itDigiProducerList ) { edm::Handle< edm::DetSetVector<SiStripDigi> > digi_handle; iEvent.getByLabel((*itDigiProducerList),digi_handle); if (digi_handle.isValid()) digi_detset_handles.push_back(digi_handle.product()); } // initialise # of clusters to zero for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin(); iSubdet != SubDetMEsMap.end(); iSubdet++) { iSubdet->second.totNDigis = 0; } for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin(); iterLayer != LayerDetMap.end(); iterLayer++) { std::string layer_label = iterLayer->first; std::vector< uint32_t > layer_dets = iterLayer->second; std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label); //get Layer MEs LayerMEs local_layermes; if(iLayerME == LayerMEsMap.end()) continue; else local_layermes = iLayerME->second; int largest_adc_layer= 0; int smallest_adc_layer= 99999; int ndigi_layer = 0; uint16_t iDet = 0; std::string subdet_label = ""; // loop over all modules in the layer for (std::vector< uint32_t >::const_iterator iterDets = layer_dets.begin() ; iterDets != layer_dets.end() ; iterDets++) { iDet++; // detid and type of ME uint32_t detid = (*iterDets); // Get SubDet label once if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid).second; // DetId and corresponding set of MEs std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(detid); ModMEs local_modmes = pos->second; // search digis of detid int loc = getDigiSourceIndex(detid); int ndigi_det = 0; if (loc > -1) ndigi_det = (*(digi_detset_handles[loc]))[detid].size(); // no digis for this detector module, so fill histogram with 0 if(Mod_On_ && moduleswitchnumdigison && (local_modmes.NumberOfDigis != NULL)) (local_modmes.NumberOfDigis)->Fill(ndigi_det); if (layerswitchnumdigisprofon) local_layermes.LayerNumberOfDigisProfile->Fill(iDet*1.0,ndigi_det); if (digitkhistomapon) tkmapdigi->fill(detid,ndigi_det); if (ndigi_det == 0) continue; // no digis for this detid => jump to next step of loop const edm::DetSet<SiStripDigi> & digi_detset = (*(digi_detset_handles[loc]))[detid]; ndigi_layer += ndigi_det; // ADCs int largest_adc=(digi_detset.data.begin())->adc(); int smallest_adc=(digi_detset.data.begin())->adc(); // Check if these parameters are really needed float det_occupancy = 0.0; for(edm::DetSet<SiStripDigi>::const_iterator digiIter = digi_detset.data.begin(); digiIter!= digi_detset.data.end(); digiIter++ ){ int this_adc = digiIter->adc(); if (this_adc > 0.0) det_occupancy++; if(this_adc>largest_adc) largest_adc = this_adc; if(this_adc<smallest_adc) smallest_adc = this_adc; if(Mod_On_ && moduleswitchnumdigispstripon && (local_modmes.NumberOfDigisPerStrip != NULL) && (this_adc > 0.0) ) (local_modmes.NumberOfDigisPerStrip)->Fill(digiIter->strip()); if(Mod_On_ && moduleswitchdigiadcson && (local_modmes.DigiADCs != NULL) ) (local_modmes.DigiADCs)->Fill(static_cast<float>(this_adc)); //Fill #ADCs for this digi at layer level if(layerswitchdigiadcson) { fillME(local_layermes.LayerDigiADCs , this_adc); if (createTrendMEs) fillTrend(local_layermes.LayerDigiADCsTrend, this_adc, iOrbitSec); } if (layerswitchdigiadcprofon) local_layermes.LayerDigiADCProfile->Fill(iDet*1.0,this_adc); }//end of loop over digis in this det // Occupancy short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; if (nstrips > 0 && det_occupancy > 0 ) { det_occupancy = det_occupancy/nstrips; if (Mod_On_ && moduleswitchstripoccupancyon && (local_modmes.StripOccupancy != NULL)) (local_modmes.StripOccupancy)->Fill(det_occupancy); if (layerswitchstripoccupancyon) { fillME(local_layermes.LayerStripOccupancy, det_occupancy); if (createTrendMEs) fillTrend(local_layermes.LayerStripOccupancyTrend, det_occupancy, iOrbitSec); } } if (largest_adc > largest_adc_layer) largest_adc_layer = largest_adc; if (smallest_adc < smallest_adc_layer) smallest_adc_layer = smallest_adc; // nr. of adcs for hottest strip if( Mod_On_ && moduleswitchadchotteston && (local_modmes.ADCsHottestStrip != NULL)) (local_modmes.ADCsHottestStrip)->Fill(static_cast<float>(largest_adc)); // nr. of adcs for coolest strip if(Mod_On_ && moduleswitchadccooleston && (local_modmes.ADCsCoolestStrip != NULL)) (local_modmes.ADCsCoolestStrip)->Fill(static_cast<float>(smallest_adc)); }//end of loop over DetIds if(layerswitchnumdigison) { fillME(local_layermes.LayerNumberOfDigis,ndigi_layer); if (createTrendMEs) fillTrend(local_layermes.LayerNumberOfDigisTrend, ndigi_layer, iOrbitSec); } if(layerswitchadchotteston) { fillME(local_layermes.LayerADCsHottestStrip,largest_adc_layer); if (createTrendMEs) fillTrend(local_layermes.LayerADCsHottestStripTrend, largest_adc_layer, iOrbitSec); } if(layerswitchadccooleston) { fillME(local_layermes.LayerADCsCoolestStrip ,smallest_adc_layer); if (createTrendMEs) fillTrend(local_layermes.LayerADCsCoolestStripTrend, smallest_adc_layer, iOrbitSec); } std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label); if(iSubdet != SubDetMEsMap.end()) iSubdet->second.totNDigis += ndigi_layer; } for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin(); it != SubDetMEsMap.end(); it++) { if (subdetswitchtotdigiproflson) { if (strcmp(it->first.c_str(),"TEC__side__1")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(1, it->second.totNDigis); }else if (strcmp(it->first.c_str(),"TEC__side__2")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(2, it->second.totNDigis); }else if (strcmp(it->first.c_str(),"TIB")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(3, it->second.totNDigis); }else if (strcmp(it->first.c_str(),"TID__side__1")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(4, it->second.totNDigis); }else if (strcmp(it->first.c_str(),"TID__side__2")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(5, it->second.totNDigis); }else if (strcmp(it->first.c_str(),"TOB")==0){ digiFailureMEs.SubDetTotDigiProfLS->Fill(6, it->second.totNDigis); } } } // get EventHistory edm::Handle<EventWithHistory> event_history; iEvent.getByLabel(historyProducer_,event_history); // get Phase of APV edm::Handle<APVCyclePhaseCollection> apv_phase_collection; iEvent.getByLabel(apvPhaseProducer_,apv_phase_collection); if (event_history.isValid() && !event_history.failedToGet() && apv_phase_collection.isValid() && !apv_phase_collection.failedToGet()) { long long tbx = event_history->absoluteBX(); float iOrbitSec = iEvent.orbitNumber()/11223.0; for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin(); it != SubDetMEsMap.end(); it++) { SubDetMEs subdetmes; std::string subdet = it->first; subdetmes = it->second; int the_phase = APVCyclePhaseCollection::invalid; long long tbx_corr = tbx; if (SubDetPhasePartMap.find(subdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[subdet]); if(the_phase==APVCyclePhaseCollection::nopartition || the_phase==APVCyclePhaseCollection::multiphase || the_phase==APVCyclePhaseCollection::invalid) the_phase=30; tbx_corr -= the_phase; if (subdetswitchtotdigiprofon)subdetmes.SubDetTotDigiProf->Fill(iOrbitSec,subdetmes.totNDigis); if (subdetswitchapvcycleprofon)subdetmes.SubDetDigiApvProf->Fill(tbx_corr%70,subdetmes.totNDigis); if (subdetswitchapvcycleth2on) subdetmes.SubDetDigiApvTH2->Fill(tbx_corr%70,subdetmes.totNDigis); } } }//end of method analyze
void SiStripMonitorDigi::beginJob | ( | void | ) | [virtual] |
void SiStripMonitorDigi::beginLuminosityBlock | ( | const edm::LuminosityBlock & | lb, |
const edm::EventSetup & | es | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 146 of file SiStripMonitorDigi.cc.
References digiFailureMEs, edm::LuminosityBlockBase::id(), MonitorElement::Reset(), subdetswitchtotdigiproflson, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, and xLumiProf.
{ if (lb.id().luminosityBlock() % xLumiProf == 0) { if (subdetswitchtotdigiproflson){ if (digiFailureMEs.SubDetTotDigiProfLS) digiFailureMEs.SubDetTotDigiProfLS->Reset(); } } }
void SiStripMonitorDigi::beginRun | ( | const edm::Run & | run, |
const edm::EventSetup & | es | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 122 of file SiStripMonitorDigi.cc.
References createMEs(), DigiMEs, edm::EventSetup::get(), m_cacheID_, reset_each_run, ResetModuleMEs(), and show_mechanical_structure_view.
{ if (show_mechanical_structure_view) { unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier(); if (m_cacheID_ != cacheID) { m_cacheID_ = cacheID; edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: " << " Creating MEs for new Cabling "; createMEs(es); } } else if (reset_each_run) { edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: " << " Resetting MEs "; for (std::map<uint32_t, ModMEs >::const_iterator idet = DigiMEs.begin() ; idet!=DigiMEs.end() ; idet++) { ResetModuleMEs(idet->first); } } }
void SiStripMonitorDigi::bookLayer | ( | ) | [private] |
MonitorElement * SiStripMonitorDigi::bookME1D | ( | const char * | ParameterSetLabel, |
const char * | HistoName | ||
) | [private] |
Definition at line 563 of file SiStripMonitorDigi.cc.
References DQMStore::book1D(), conf_, dqmStore_, and edm::ParameterSet::getParameter().
Referenced by createLayerMEs(), and createModuleMEs().
{ edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>(ParameterSetLabel); return dqmStore_->book1D(HistoName,HistoName, Parameters.getParameter<int32_t>("Nbinx"), Parameters.getParameter<double>("xmin"), Parameters.getParameter<double>("xmax") ); }
MonitorElement * SiStripMonitorDigi::bookMETrend | ( | const char * | ParameterSetLabel, |
const char * | HistoName | ||
) | [private] |
Definition at line 542 of file SiStripMonitorDigi.cc.
References DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), and MonitorElement::setAxisTitle().
Referenced by createLayerMEs().
{ edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending"); MonitorElement* me = dqmStore_->bookProfile(HistoName,HistoName, ParametersTrend.getParameter<int32_t>("Nbins"), // 0, ParametersTrend.getParameter<double>("xmin"), ParametersTrend.getParameter<double>("xmax"), // ParametersTrend.getParameter<int32_t>("Nbins"), 100, //that parameter should not be there !? ParametersTrend.getParameter<double>("ymin"), ParametersTrend.getParameter<double>("ymax"), "" ); if(!me) return me; me->setAxisTitle("Event Time in Seconds",1); if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin); return me; }
void SiStripMonitorDigi::bookTrendMEs | ( | TString | name, |
int32_t | layer, | ||
uint32_t | id, | ||
std::string | flag | ||
) | [private] |
void SiStripMonitorDigi::createLayerMEs | ( | std::string | label, |
int | ndet | ||
) | [private] |
Definition at line 645 of file SiStripMonitorDigi.cc.
References bookME1D(), bookMETrend(), DQMStore::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, dqmStore_, label, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, and layerswitchstripoccupancyon.
Referenced by createMEs().
{ std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label); if(iLayerME==LayerMEsMap.end()){ SiStripHistoId hidmanager; LayerMEs layerMEs; layerMEs.LayerNumberOfDigis = 0; layerMEs.LayerNumberOfDigisTrend = 0; layerMEs.LayerADCsHottestStrip = 0; layerMEs.LayerADCsHottestStripTrend = 0; layerMEs.LayerADCsCoolestStrip = 0; layerMEs.LayerADCsCoolestStripTrend = 0; layerMEs.LayerDigiADCs = 0; layerMEs.LayerDigiADCsTrend = 0; layerMEs.LayerStripOccupancy = 0; layerMEs.LayerStripOccupancyTrend = 0; layerMEs.LayerNumberOfDigisProfile = 0; layerMEs.LayerDigiADCProfile = 0; //#Digis if(layerswitchnumdigison) { layerMEs.LayerNumberOfDigis=bookME1D("TH1NumberOfDigis", hidmanager.createHistoLayer("Summary_TotalNumberOfDigis","layer",label,"").c_str()); if (createTrendMEs) layerMEs.LayerNumberOfDigisTrend=bookMETrend("TH1NumberOfDigis", hidmanager.createHistoLayer("Trend_NumberOfDigis","layer",label,"").c_str()); } //#ADCs for hottest strip if(layerswitchadchotteston) { layerMEs.LayerADCsHottestStrip=bookME1D("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Summary_ADCsHottestStrip","layer",label,"").c_str()); if (createTrendMEs) layerMEs.LayerADCsHottestStripTrend=bookMETrend("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Trend_ADCsHottestStrip","layer",label,"").c_str()); } //#ADCs for coolest strip if(layerswitchadccooleston) { layerMEs.LayerADCsCoolestStrip=bookME1D("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Summary_ADCsCoolestStrip","layer",label,"").c_str()); if (createTrendMEs) layerMEs.LayerADCsCoolestStripTrend=bookMETrend("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Trend_ADCsCoolestStrip","layer",label,"").c_str()); } //#ADCs for each digi if(layerswitchdigiadcson) { layerMEs.LayerDigiADCs=bookME1D("TH1DigiADCs", hidmanager.createHistoLayer("Summary_DigiADCs","layer",label,"").c_str()); if (createTrendMEs) layerMEs.LayerDigiADCsTrend=bookMETrend("TH1DigiADCs", hidmanager.createHistoLayer("Trend_DigiADCs","layer",label,"").c_str()); } //Strip Occupancy if(layerswitchstripoccupancyon) { layerMEs.LayerStripOccupancy=bookME1D("TH1StripOccupancy", hidmanager.createHistoLayer("Summary_StripOccupancy","layer",label,"").c_str()); if (createTrendMEs) layerMEs.LayerStripOccupancyTrend=bookMETrend("TH1StripOccupancy", hidmanager.createHistoLayer("Trend_StripOccupancy","layer",label,"").c_str()); } // # of Digis if(layerswitchnumdigisprofon) { std::string hid = hidmanager.createHistoLayer("NumberOfDigiProfile","layer",label,""); layerMEs.LayerNumberOfDigisProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 200.5); } // # of Digis if(layerswitchdigiadcprofon) { std::string hid = hidmanager.createHistoLayer("DigiADCProfile","layer",label,""); layerMEs.LayerDigiADCProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 64, -0.5, 255.5); } LayerMEsMap[label]=layerMEs; } }
void SiStripMonitorDigi::createMEs | ( | const edm::EventSetup & | es | ) | [private] |
Definition at line 179 of file SiStripMonitorDigi.cc.
References abs, SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, DQMStore::book2D(), DQMStore::bookProfile(), conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), cond::rpcobgas::detid, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digitkhistomapon, dqmStore_, folder_organizer, edm::EventSetup::get(), SiStripFolderOrganizer::getLayerFolderName(), edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), label, LayerDetMap, LayerMEsMap, Mod_On_, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, reset_each_run, ResetModuleMEs(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), show_mechanical_structure_view, SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures, SubDetMEsMap, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, and tkmapdigi.
Referenced by beginRun().
{ if ( show_mechanical_structure_view ){ // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on es.get<SiStripDetCablingRcd>().get(SiStripDetCabling_); // get list of active detectors from SiStripDetCabling std::vector<uint32_t> activeDets; activeDets.clear(); // just in case SiStripDetCabling_->addActiveDetectorsRawIds(activeDets); SiStripSubStructure substructure; // remove any eventual zero elements - there should be none, but just in case for(std::vector<uint32_t>::iterator idets = activeDets.begin(); idets != activeDets.end(); idets++){ if(*idets == 0) activeDets.erase(idets); } // create SiStripFolderOrganizer SiStripFolderOrganizer folder_organizer; // Create TkHistoMap for Digi if (digitkhistomapon) tkmapdigi = new TkHistoMap("SiStrip/TkHisto","TkHMap_NumberOfDigi",0.0,1); std::vector<uint32_t> tibDetIds; // loop over detectors and book MEs edm::LogInfo("SiStripTkDQM|SiStripMonitorDigi")<<"nr. of activeDets: "<<activeDets.size(); for(std::vector<uint32_t>::const_iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){ uint32_t detid = (*detid_iterator); ModMEs local_modmes; local_modmes.NumberOfDigis = 0; local_modmes.NumberOfDigisPerStrip = 0; local_modmes.ADCsHottestStrip = 0; local_modmes.ADCsCoolestStrip = 0; local_modmes.DigiADCs = 0; local_modmes.StripOccupancy = 0; if (Mod_On_) { // set appropriate folder using SiStripFolderOrganizer folder_organizer.setDetectorFolder(detid); // pass the detid to this method if (reset_each_run) ResetModuleMEs(detid); createModuleMEs(local_modmes, detid); // append to DigiMEs DigiMEs.insert( std::make_pair(detid, local_modmes)); } // Create Layer Level MEs if they are not created already std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid); SiStripHistoId hidmanager; std::string label = hidmanager.getSubdetid(detid,false); // get detids for the layer std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label); if(iLayerME==LayerMEsMap.end()) { int32_t lnumber = det_layer_pair.second; std::vector<uint32_t> layerDetIds; if (det_layer_pair.first == "TIB") { substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0); } else if (det_layer_pair.first == "TOB") { substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0); } else if (det_layer_pair.first == "TID" && lnumber > 0) { substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0); } else if (det_layer_pair.first == "TID" && lnumber < 0) { substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0); } else if (det_layer_pair.first == "TEC" && lnumber > 0) { substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0); } else if (det_layer_pair.first == "TEC" && lnumber < 0) { substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0); } LayerDetMap[label] = layerDetIds; // book Layer plots folder_organizer.setLayerFolder(detid,det_layer_pair.second); createLayerMEs(label, layerDetIds.size()); } // book sub-detector plots std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid); if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){ dqmStore_->setCurrentFolder(sdet_pair.first); createSubDetMEs(sdet_pair.second); } }//end of loop over detectors // // Book new histogram to monitor digi in last LS // digiFailureMEs.SubDetTotDigiProfLS = 0; digiFailureMEs.SubDetDigiFailures = 0; std::stringstream ss; folder_organizer.getLayerFolderName(ss, 0); dqmStore_->setCurrentFolder(ss.str().c_str()); if (subdetswitchtotdigiproflson) { const char* HistoName = "NumberOfDigisInLastLS"; digiFailureMEs.SubDetTotDigiProfLS= dqmStore_->bookProfile(HistoName, HistoName, 6,0.5,6.5, 100, 0., 10000., "" ); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(1, std::string("TECB")); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(2, std::string("TECF")); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(3, std::string("TIB")); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(4, std::string("TIDB")); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(5, std::string("TIDF")); digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(6, std::string("TOB")); } if (subdetswitchtotdigifailureon) { edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure"); std::string HistoName = "DataPresentInLastLS"; digiFailureMEs.SubDetDigiFailures = dqmStore_->book2D(HistoName,HistoName, Parameters.getParameter<int32_t>("Nbins"), Parameters.getParameter<double>("xmin"), Parameters.getParameter<double>("xmax"), Parameters.getParameter<int32_t>("Nbinsy"), Parameters.getParameter<double>("ymin"), Parameters.getParameter<double>("ymax")); digiFailureMEs.SubDetDigiFailures->setBinLabel(1, std::string("TECB")); digiFailureMEs.SubDetDigiFailures->setBinLabel(2, std::string("TECF")); digiFailureMEs.SubDetDigiFailures->setBinLabel(3, std::string("TIB")); digiFailureMEs.SubDetDigiFailures->setBinLabel(4, std::string("TIDB")); digiFailureMEs.SubDetDigiFailures->setBinLabel(5, std::string("TIDF")); digiFailureMEs.SubDetDigiFailures->setBinLabel(6, std::string("TOB")); } }//end of if }//end of method
void SiStripMonitorDigi::createModuleMEs | ( | ModMEs & | mod_single, |
uint32_t | detid | ||
) | [private] |
Definition at line 583 of file SiStripMonitorDigi.cc.
References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, DQMStore::book1D(), bookME1D(), SiStripHistoId::createHistoId(), SiStripMonitorDigi::ModMEs::DigiADCs, dqmStore_, MonitorElement::getTH1(), moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, MonitorElement::setAxisTitle(), SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, and DQMStore::tag().
Referenced by createMEs().
{ // use SistripHistoId for producing histogram id (and title) SiStripHistoId hidmanager; std::string hid; //nr. of digis per module if(moduleswitchnumdigison) { hid = hidmanager.createHistoId("NumberOfDigis","det",detid); mod_single.NumberOfDigis = dqmStore_->book1D(hid, hid, 21, -0.5, 20.5); dqmStore_->tag(mod_single.NumberOfDigis, detid); mod_single.NumberOfDigis->setAxisTitle("number of digis in one detector module"); mod_single.NumberOfDigis->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation } //nr. of digis per strip in module if(moduleswitchnumdigispstripon){ hid = hidmanager.createHistoId("NumberOfDigisPerStrip","det",detid); short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128; mod_single.NumberOfDigisPerStrip = dqmStore_->book1D(hid, hid, nstrips, -0.5, nstrips+0.5); dqmStore_->tag(mod_single.NumberOfDigisPerStrip, detid); mod_single.NumberOfDigisPerStrip->setAxisTitle("number of (digis > 0) per strip"); mod_single.NumberOfDigisPerStrip->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation } //#ADCs for hottest strip if(moduleswitchadchotteston) { hid = hidmanager.createHistoId("ADCsHottestStrip","det",detid); mod_single.ADCsHottestStrip = bookME1D("TH1ADCsHottestStrip", hid.c_str()); dqmStore_->tag(mod_single.ADCsHottestStrip, detid); // 6 APVs -> 768 strips mod_single.ADCsHottestStrip->setAxisTitle("number of ADCs for hottest strip"); } //#ADCs for coolest strip if(moduleswitchadccooleston) { hid = hidmanager.createHistoId("ADCsCoolestStrip","det",detid); mod_single.ADCsCoolestStrip = bookME1D("TH1ADCsCoolestStrip", hid.c_str()); dqmStore_->tag(mod_single.ADCsCoolestStrip, detid); mod_single.ADCsCoolestStrip->setAxisTitle("number of ADCs for coolest strip"); } //#ADCs for each digi if(moduleswitchdigiadcson) { hid = hidmanager.createHistoId("DigiADCs","det",detid); mod_single.DigiADCs = bookME1D("TH1DigiADCs", hid.c_str()); dqmStore_->tag(mod_single.DigiADCs, detid); mod_single.DigiADCs->setAxisTitle("number of ADCs for each digi"); } //Strip occupancy if(moduleswitchstripoccupancyon) { hid = hidmanager.createHistoId("StripOccupancy","det",detid); mod_single.StripOccupancy = bookME1D("TH1StripOccupancy", hid.c_str()); dqmStore_->tag(mod_single.StripOccupancy, detid); mod_single.StripOccupancy->setAxisTitle("strip occupancy"); } }
void SiStripMonitorDigi::createSubDetMEs | ( | std::string | label | ) | [private] |
Definition at line 713 of file SiStripMonitorDigi.cc.
References DQMStore::book2D(), DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), MonitorElement::kind(), label, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, and SiStripMonitorDigi::SubDetMEs::totNDigis.
Referenced by createMEs().
{ SubDetMEs subdetMEs; subdetMEs.totNDigis = 0; subdetMEs.SubDetTotDigiProf = 0; subdetMEs.SubDetDigiApvProf = 0; subdetMEs.SubDetDigiApvTH2 = 0; std::string HistoName; // Total Number of Digi - Profile if(subdetswitchtotdigiprofon){ edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis"); HistoName = "TotalNumberOfDigiProfile__" + label; subdetMEs.SubDetTotDigiProf=dqmStore_->bookProfile(HistoName,HistoName, Parameters.getParameter<int32_t>("Nbins"), Parameters.getParameter<double>("xmin"), Parameters.getParameter<double>("xmax"), 100, //that parameter should not be there !? Parameters.getParameter<double>("ymin"), Parameters.getParameter<double>("ymax"), "" ); subdetMEs.SubDetTotDigiProf->setAxisTitle("Event Time in Seconds",1); if (subdetMEs.SubDetTotDigiProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotDigiProf->getTH1()->SetBit(TH1::kCanRebin); } // Number of Digi vs Bx - Profile if(subdetswitchapvcycleprofon){ edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle"); HistoName = "Digi_vs_ApvCycle__" + label; subdetMEs.SubDetDigiApvProf=dqmStore_->bookProfile(HistoName,HistoName, Parameters.getParameter<int32_t>("Nbins"), Parameters.getParameter<double>("xmin"), Parameters.getParameter<double>("xmax"), 200, //that parameter should not be there !? Parameters.getParameter<double>("ymin"), Parameters.getParameter<double>("ymax"), "" ); subdetMEs.SubDetDigiApvProf->setAxisTitle("ApvCycle (Corrected Absolute Bx % 70)",1); } // Number of Digi vs Bx - TH2 if(subdetswitchapvcycleth2on){ edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle"); dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label); HistoName = "Digi_vs_ApvCycle_2D__" + label; // Adjusting the scale for 2D histogram double h2ymax = 9999.0; double yfact = Parameters.getParameter<double>("yfactor"); if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact; else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact; else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact; else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact; subdetMEs.SubDetDigiApvTH2=dqmStore_->book2D(HistoName,HistoName, Parameters.getParameter<int32_t>("Nbins"), Parameters.getParameter<double>("xmin"), Parameters.getParameter<double>("xmax"), Parameters.getParameter<int32_t>("Nbinsy"), //it was 100 that parameter should not be there !? Parameters.getParameter<double>("ymin"), h2ymax); subdetMEs.SubDetDigiApvTH2->setAxisTitle("absolute Bx mod(70)",1); } SubDetMEsMap[label]=subdetMEs; }
void SiStripMonitorDigi::createSubDetTH2 | ( | std::string | label | ) | [private] |
void SiStripMonitorDigi::endJob | ( | void | ) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 520 of file SiStripMonitorDigi.cc.
References conf_, dqmStore_, edm::ParameterSet::getParameter(), ExpressReco_HICollisions_FallBack::outputFileName, and DQMStore::save().
{ bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile"); std::string outputFileName = conf_.getParameter<std::string>("OutputFileName"); // save histograms in a file if(outputMEsInRootFile) dqmStore_->save(outputFileName); }//end of method
void SiStripMonitorDigi::endLuminosityBlock | ( | const edm::LuminosityBlock & | lb, |
const edm::EventSetup & | es | ||
) | [virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 155 of file SiStripMonitorDigi.cc.
References digiFailureMEs, dqmStore_, DQMStore::get(), MonitorElement::getBinContent(), edm::LuminosityBlockBase::id(), MonitorElement::Reset(), SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures, subdetswitchtotdigifailureon, relativeConstraints::value, and xLumiProf.
{ if(lb.id().luminosityBlock() % xLumiProf == 0){ if (subdetswitchtotdigifailureon){ if (digiFailureMEs.SubDetDigiFailures) digiFailureMEs.SubDetDigiFailures->Reset(); MonitorElement * me = dqmStore_->get("SiStrip/MechanicalView/NumberOfDigisInLastLS"); if (me){ for (int ibin = 1; ibin<7;ibin++){ float value = me->getBinContent(ibin); if (value < 50.){ digiFailureMEs.SubDetDigiFailures -> Fill(ibin,0); }else{ digiFailureMEs.SubDetDigiFailures -> Fill(ibin,1); } } } } } }
void SiStripMonitorDigi::endRun | ( | const edm::Run & | , |
const edm::EventSetup & | |||
) | [virtual] |
void SiStripMonitorDigi::fillDigiADCsMEs | ( | int | value, |
std::string | name | ||
) | [private] |
void SiStripMonitorDigi::fillME | ( | MonitorElement * | ME, |
float | value1, | ||
float | value2 | ||
) | [inline, private] |
Definition at line 87 of file SiStripMonitorDigi.h.
References MonitorElement::Fill().
{if (ME!=0)ME->Fill(value1,value2);}
void SiStripMonitorDigi::fillME | ( | MonitorElement * | ME, |
float | value1, | ||
float | value2, | ||
float | value3 | ||
) | [inline, private] |
Definition at line 88 of file SiStripMonitorDigi.h.
References MonitorElement::Fill().
{if (ME!=0)ME->Fill(value1,value2,value3);}
void SiStripMonitorDigi::fillME | ( | MonitorElement * | ME, |
float | value1 | ||
) | [inline, private] |
Definition at line 86 of file SiStripMonitorDigi.h.
References MonitorElement::Fill().
Referenced by analyze().
{if (ME!=0)ME->Fill(value1);}
void SiStripMonitorDigi::fillME | ( | MonitorElement * | ME, |
float | value1, | ||
float | value2, | ||
float | value3, | ||
float | value4 | ||
) | [inline, private] |
Definition at line 89 of file SiStripMonitorDigi.h.
References MonitorElement::Fill().
{if (ME!=0)ME->Fill(value1,value2,value3,value4);}
void SiStripMonitorDigi::fillTrend | ( | MonitorElement * | me, |
float | value, | ||
float | timeinorbit | ||
) | [private] |
Definition at line 574 of file SiStripMonitorDigi.cc.
References MonitorElement::Fill().
Referenced by analyze().
int SiStripMonitorDigi::getDigiSourceIndex | ( | uint32_t | id | ) | [private] |
Definition at line 780 of file SiStripMonitorDigi.cc.
References digi_detset_handles, end, and tests::location.
Referenced by analyze().
{ int location = -1; for (unsigned int ival = 0; ival < digi_detset_handles.size(); ++ival){ edm::DetSetVector<SiStripDigi>::const_iterator isearch = digi_detset_handles[ival]->find(id); if(isearch != digi_detset_handles[ival]->end()) { location = ival; break; } } return location; }
void SiStripMonitorDigi::ResetModuleMEs | ( | uint32_t | idet | ) | [private] |
Definition at line 529 of file SiStripMonitorDigi.cc.
References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, SiStripMonitorDigi::ModMEs::DigiADCs, DigiMEs, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, pos, MonitorElement::Reset(), and SiStripMonitorDigi::ModMEs::StripOccupancy.
Referenced by beginRun(), and createMEs().
{ std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(idet); ModMEs mod_me = pos->second; if(Mod_On_ && moduleswitchnumdigison) mod_me.NumberOfDigis->Reset(); if(Mod_On_ && moduleswitchnumdigispstripon) mod_me.NumberOfDigisPerStrip ->Reset(); if(Mod_On_ && moduleswitchadchotteston) mod_me.ADCsHottestStrip->Reset(); if(Mod_On_ && moduleswitchadccooleston) mod_me.ADCsCoolestStrip->Reset(); if(Mod_On_ && moduleswitchdigiadcson) mod_me.DigiADCs->Reset(); if(Mod_On_ && moduleswitchstripoccupancyon) mod_me.StripOccupancy->Reset(); }
Definition at line 157 of file SiStripMonitorDigi.h.
Referenced by analyze(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::calculate_strip_occupancy [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
edm::ParameterSet SiStripMonitorDigi::conf_ [private] |
Definition at line 100 of file SiStripMonitorDigi.h.
Referenced by bookME1D(), bookMETrend(), createMEs(), createSubDetMEs(), endJob(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::createTrendMEs [private] |
Definition at line 153 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
SiStripDCSStatus* SiStripMonitorDigi::dcsStatus_ [private] |
Definition at line 159 of file SiStripMonitorDigi.h.
Referenced by analyze(), SiStripMonitorDigi(), and ~SiStripMonitorDigi().
std::map<std::pair<std::string,int32_t>,bool> SiStripMonitorDigi::DetectedLayers [private] |
Definition at line 113 of file SiStripMonitorDigi.h.
std::vector<const edm::DetSetVector<SiStripDigi> *> SiStripMonitorDigi::digi_detset_handles [private] |
Definition at line 114 of file SiStripMonitorDigi.h.
Referenced by analyze(), and getDigiSourceIndex().
Definition at line 109 of file SiStripMonitorDigi.h.
Referenced by analyze(), beginLuminosityBlock(), createMEs(), and endLuminosityBlock().
std::map<uint32_t, ModMEs> SiStripMonitorDigi::DigiMEs [private] |
Definition at line 102 of file SiStripMonitorDigi.h.
Referenced by analyze(), beginRun(), createMEs(), and ResetModuleMEs().
std::vector<edm::InputTag> SiStripMonitorDigi::digiProducerList [private] |
Definition at line 101 of file SiStripMonitorDigi.h.
Referenced by analyze(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::digitkhistomapon [private] |
Definition at line 152 of file SiStripMonitorDigi.h.
Referenced by analyze(), createMEs(), and SiStripMonitorDigi().
DQMStore* SiStripMonitorDigi::dqmStore_ [private] |
Definition at line 99 of file SiStripMonitorDigi.h.
Referenced by bookME1D(), bookMETrend(), createLayerMEs(), createMEs(), createModuleMEs(), createSubDetMEs(), endJob(), and endLuminosityBlock().
int SiStripMonitorDigi::eventNb [private] |
Definition at line 122 of file SiStripMonitorDigi.h.
Referenced by analyze(), and SiStripMonitorDigi().
int SiStripMonitorDigi::firstEvent [private] |
Definition at line 123 of file SiStripMonitorDigi.h.
Referenced by SiStripMonitorDigi().
Definition at line 112 of file SiStripMonitorDigi.h.
Referenced by analyze(), and createMEs().
Definition at line 156 of file SiStripMonitorDigi.h.
Referenced by analyze(), and SiStripMonitorDigi().
std::map<std::string, std::vector< uint32_t > > SiStripMonitorDigi::LayerDetMap [private] |
Definition at line 105 of file SiStripMonitorDigi.h.
Referenced by analyze(), and createMEs().
std::map<std::string, LayerMEs> SiStripMonitorDigi::LayerMEsMap [private] |
Definition at line 106 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and createMEs().
bool SiStripMonitorDigi::layerswitchadccooleston [private] |
Definition at line 128 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchadchotteston [private] |
Definition at line 127 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchdigiadcprofon [private] |
Definition at line 132 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchdigiadcson [private] |
Definition at line 129 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchnumdigisapvon [private] |
Definition at line 126 of file SiStripMonitorDigi.h.
bool SiStripMonitorDigi::layerswitchnumdigison [private] |
Definition at line 125 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchnumdigisprofon [private] |
Definition at line 131 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::layerswitchstripoccupancyon [private] |
Definition at line 130 of file SiStripMonitorDigi.h.
Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().
unsigned long long SiStripMonitorDigi::m_cacheID_ [private] |
Definition at line 116 of file SiStripMonitorDigi.h.
Referenced by beginRun().
bool SiStripMonitorDigi::Mod_On_ [private] |
Definition at line 150 of file SiStripMonitorDigi.h.
Referenced by analyze(), createMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
std::vector<uint32_t> SiStripMonitorDigi::ModulesToBeExcluded_ [private] |
Definition at line 118 of file SiStripMonitorDigi.h.
bool SiStripMonitorDigi::moduleswitchadccooleston [private] |
Definition at line 137 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::moduleswitchadchotteston [private] |
Definition at line 136 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::moduleswitchdigiadcson [private] |
Definition at line 138 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::moduleswitchnumdigison [private] |
Definition at line 134 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::moduleswitchnumdigispstripon [private] |
Definition at line 135 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::moduleswitchstripoccupancyon [private] |
Definition at line 139 of file SiStripMonitorDigi.h.
Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().
TString SiStripMonitorDigi::name [private] |
Definition at line 111 of file SiStripMonitorDigi.h.
bool SiStripMonitorDigi::reset_each_run [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
Referenced by beginRun(), and createMEs().
int SiStripMonitorDigi::runNb [private] |
Definition at line 122 of file SiStripMonitorDigi.h.
Referenced by analyze().
bool SiStripMonitorDigi::select_all_detectors [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
bool SiStripMonitorDigi::show_control_view [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
bool SiStripMonitorDigi::show_mechanical_structure_view [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
Referenced by beginRun(), and createMEs().
bool SiStripMonitorDigi::show_readout_view [private] |
Definition at line 103 of file SiStripMonitorDigi.h.
Definition at line 117 of file SiStripMonitorDigi.h.
Referenced by analyze(), createMEs(), and createModuleMEs().
std::map<std::string, SubDetMEs> SiStripMonitorDigi::SubDetMEsMap [private] |
Definition at line 107 of file SiStripMonitorDigi.h.
Referenced by analyze(), createMEs(), and createSubDetMEs().
std::map<std::string, std::string> SiStripMonitorDigi::SubDetPhasePartMap [private] |
Definition at line 108 of file SiStripMonitorDigi.h.
Referenced by analyze(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::subdetswitchapvcycleprofon [private] |
Definition at line 142 of file SiStripMonitorDigi.h.
Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::subdetswitchapvcycleth2on [private] |
Definition at line 143 of file SiStripMonitorDigi.h.
Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::subdetswitchtotdigifailureon [private] |
Definition at line 146 of file SiStripMonitorDigi.h.
Referenced by createMEs(), endLuminosityBlock(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::subdetswitchtotdigiproflson [private] |
Definition at line 145 of file SiStripMonitorDigi.h.
Referenced by analyze(), beginLuminosityBlock(), createMEs(), and SiStripMonitorDigi().
bool SiStripMonitorDigi::subdetswitchtotdigiprofon [private] |
Definition at line 141 of file SiStripMonitorDigi.h.
Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().
TkHistoMap* SiStripMonitorDigi::tkmapdigi [private] |
Definition at line 120 of file SiStripMonitorDigi.h.
Referenced by analyze(), and createMEs().
std::string SiStripMonitorDigi::topDir [private] |
Definition at line 155 of file SiStripMonitorDigi.h.
int SiStripMonitorDigi::xLumiProf [private] |
Definition at line 148 of file SiStripMonitorDigi.h.
Referenced by beginLuminosityBlock(), endLuminosityBlock(), and SiStripMonitorDigi().