![]() |
![]() |
#include <DPGAnalysis/SiStripTools/plugins/SiPixelQualityHistory.cc>
Public Types | |
enum | { Summary, Module, ROC } |
Public Member Functions | |
SiPixelQualityHistory (const edm::ParameterSet &) | |
~SiPixelQualityHistory () | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
virtual void | beginJob () |
virtual void | beginRun (const edm::Run &, const edm::EventSetup &) |
virtual void | endJob () |
virtual void | endRun (const edm::Run &, const edm::EventSetup &) |
Private Attributes | |
std::map< std::string, TProfile ** > | m_badmodrun |
std::map< std::string, TH1F * > | m_history |
const unsigned int | m_LSfrac |
const unsigned int | m_maxLS |
const unsigned int | m_mode |
const std::vector < edm::ParameterSet > | m_monitoredspq |
RunHistogramManager | m_rhm |
const bool | m_run |
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 58 of file SiPixelQualityHistory.cc.
anonymous enum |
Definition at line 63 of file SiPixelQualityHistory.cc.
SiPixelQualityHistory::SiPixelQualityHistory | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 97 of file SiPixelQualityHistory.cc.
References m_badmodrun, m_history, m_LSfrac, m_maxLS, m_monitoredspq, m_rhm, m_run, RunHistogramManager::makeTProfile(), mergeVDriftHistosByStation::name, and AlCaHLTBitMon_QueryRunRegistry::string.
: m_rhm(), m_monitoredspq(iConfig.getParameter<std::vector<edm::ParameterSet> >("monitoredSiPixelQuality")), m_mode(iConfig.getUntrackedParameter<unsigned int>("granularityMode",Module)), m_run(iConfig.getParameter<bool>("runProcess")), m_maxLS(iConfig.getUntrackedParameter<unsigned int>("maxLSBeforeRebin",100)), m_LSfrac(iConfig.getUntrackedParameter<unsigned int>("startingLSFraction",4)), m_history(),m_badmodrun() { //now do what ever initialization is needed edm::Service<TFileService> tfserv; for(std::vector<edm::ParameterSet>::const_iterator ps=m_monitoredspq.begin();ps!=m_monitoredspq.end();++ps) { std::string name = ps->getParameter<std::string>("name"); if(m_run) m_history[name] = tfserv->make<TH1F>(name.c_str(),name.c_str(),10,0,10); char hrunname[400]; sprintf(hrunname,"badmodrun_%s",name.c_str()); char hruntitle[400]; sprintf(hruntitle,"Number of bad modules %s",name.c_str()); m_badmodrun[name] = m_rhm.makeTProfile(hrunname,hruntitle,m_LSfrac*m_maxLS,0,m_maxLS*262144); } }
SiPixelQualityHistory::~SiPixelQualityHistory | ( | ) |
Definition at line 126 of file SiPixelQualityHistory.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void SiPixelQualityHistory::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 141 of file SiPixelQualityHistory.cc.
References HcalObjRepresent::Fill(), edm::EventSetup::get(), diffTwoXMLs::label, LogDebug, m_badmodrun, m_mode, m_monitoredspq, Module, mergeVDriftHistosByStation::name, edm::EventBase::orbitNumber(), ROC, AlCaHLTBitMon_QueryRunRegistry::string, and Summary.
{ // edm::LogInfo("EventProcessing") << "event being processed"; for(std::vector<edm::ParameterSet>::const_iterator ps=m_monitoredspq.begin();ps!=m_monitoredspq.end();++ps) { std::string name = ps->getParameter<std::string>("name"); std::string label = ps->getParameter<std::string>("spqLabel"); edm::ESHandle<SiPixelQuality> spq; iSetup.get<SiPixelQualityRcd>().get(label,spq); int nbad=0; if(m_mode==Summary) { // nbad = spq->BadModuleNumber(); } else { std::vector<SiPixelQuality::disabledModuleType> bads = spq->getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; for(std::vector<SiPixelQuality::disabledModuleType>::const_iterator bc=bads.begin();bc!=bads.end();++bc) { if(m_mode==Module) { if(spq->IsModuleBad(bc->DetID)) ++nbad; // if(bc->errorType==0) ++nbad; } else if(m_mode == ROC) { for(int roc=1;roc<2*2*2*2*2*2*2+1;roc*=2) { if((bc->BadRocs & roc)>0) ++nbad; } } } } if(m_badmodrun.find(name)!=m_badmodrun.end() && m_badmodrun[name] && *m_badmodrun[name]) { (*m_badmodrun[name])->Fill(iEvent.orbitNumber(),nbad); } } }
void SiPixelQualityHistory::beginJob | ( | void | ) | [private, virtual] |
void SiPixelQualityHistory::beginRun | ( | const edm::Run & | iRun, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 189 of file SiPixelQualityHistory.cc.
References RunHistogramManager::beginRun(), edm::EventSetup::get(), diffTwoXMLs::label, LogDebug, m_badmodrun, m_history, m_mode, m_monitoredspq, m_rhm, m_run, Module, mergeVDriftHistosByStation::name, ROC, edm::RunBase::run(), AlCaHLTBitMon_QueryRunRegistry::string, and Summary.
{ m_rhm.beginRun(iRun); // loop on all the SiPixelQuality objects to be monitored for(std::vector<edm::ParameterSet>::const_iterator ps=m_monitoredspq.begin();ps!=m_monitoredspq.end();++ps) { std::string name = ps->getParameter<std::string>("name"); std::string label = ps->getParameter<std::string>("spqLabel"); if(m_badmodrun.find(name)!=m_badmodrun.end()) { if(m_badmodrun[name] && *m_badmodrun[name]) { (*m_badmodrun[name])->SetBit(TH1::kCanRebin); (*m_badmodrun[name])->GetXaxis()->SetTitle("time [Orb#]"); (*m_badmodrun[name])->GetYaxis()->SetTitle("bad components"); } } if(m_run) { edm::ESHandle<SiPixelQuality> spq; iSetup.get<SiPixelQualityRcd>().get(label,spq); int nbad=0; if(m_mode==Summary) { // nbad = spq->BadModuleNumber(); } else { std::vector<SiPixelQuality::disabledModuleType> bads = spq->getBadComponentList(); LogDebug("BadComponents") << bads.size() << " bad components found"; for(std::vector<SiPixelQuality::disabledModuleType>::const_iterator bc=bads.begin();bc!=bads.end();++bc) { if(m_mode==Module) { if(spq->IsModuleBad(bc->DetID)) ++nbad; // if(bc->errorType==0) ++nbad; } else if(m_mode == ROC) { for(int roc=1;roc<2*2*2*2*2*2*2+1;roc*=2) { if((bc->BadRocs & roc)>0) ++nbad; } } } } char runname[100]; sprintf(runname,"%d",iRun.run()); LogDebug("AnalyzedRun") << name << " " << runname << " " << nbad; m_history[name]->Fill(runname,nbad); } } }
void SiPixelQualityHistory::endJob | ( | void | ) | [private, virtual] |
Reimplemented from edm::EDAnalyzer.
Definition at line 260 of file SiPixelQualityHistory.cc.
{ /* for(std::vector<edm::ParameterSet>::const_iterator ps=m_monitoredspq.begin();ps!=m_monitoredspq.end();++ps) { std::string name = ps->getParameter<std::string>("name"); m_history[name]->Write(); } */ }
void SiPixelQualityHistory::endRun | ( | const edm::Run & | iRun, |
const edm::EventSetup & | |||
) | [private, virtual] |
std::map<std::string,TProfile**> SiPixelQualityHistory::m_badmodrun [private] |
Definition at line 82 of file SiPixelQualityHistory.cc.
Referenced by analyze(), beginRun(), and SiPixelQualityHistory().
std::map<std::string,TH1F*> SiPixelQualityHistory::m_history [private] |
Definition at line 81 of file SiPixelQualityHistory.cc.
Referenced by beginRun(), and SiPixelQualityHistory().
const unsigned int SiPixelQualityHistory::m_LSfrac [private] |
Definition at line 79 of file SiPixelQualityHistory.cc.
Referenced by SiPixelQualityHistory().
const unsigned int SiPixelQualityHistory::m_maxLS [private] |
Definition at line 78 of file SiPixelQualityHistory.cc.
Referenced by SiPixelQualityHistory().
const unsigned int SiPixelQualityHistory::m_mode [private] |
Definition at line 76 of file SiPixelQualityHistory.cc.
Referenced by analyze(), and beginRun().
const std::vector<edm::ParameterSet> SiPixelQualityHistory::m_monitoredspq [private] |
Definition at line 75 of file SiPixelQualityHistory.cc.
Referenced by analyze(), beginRun(), and SiPixelQualityHistory().
Definition at line 74 of file SiPixelQualityHistory.cc.
Referenced by beginRun(), and SiPixelQualityHistory().
const bool SiPixelQualityHistory::m_run [private] |
Definition at line 77 of file SiPixelQualityHistory.cc.
Referenced by beginRun(), and SiPixelQualityHistory().