#include <RPCNoisyStripTest.h>
Definition at line 20 of file RPCNoisyStripTest.h.
RPCNoisyStripTest::RPCNoisyStripTest | ( | const edm::ParameterSet & | ps | ) |
Definition at line 15 of file RPCNoisyStripTest.cc.
References edm::ParameterSet::getUntrackedParameter(), globalFolder_, numberOfDisks_, numberOfRings_, and prescaleFactor_.
{ edm::LogVerbatim ("rpcnoisetest") << "[RPCNoisyStripTest]: Constructor"; globalFolder_ = ps.getUntrackedParameter<std::string>("RPCGlobalFolder", "RPC/RecHits/SummaryHistograms"); prescaleFactor_ = ps.getUntrackedParameter<int>("DiagnosticPrescale", 1); numberOfDisks_ = ps.getUntrackedParameter<int>("NumberOfEndcapDisks", 3); numberOfRings_ = ps.getUntrackedParameter<int>("NumberOfEndcapRings", 2); }
RPCNoisyStripTest::~RPCNoisyStripTest | ( | ) | [virtual] |
void RPCNoisyStripTest::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | c | ||
) | [virtual] |
void RPCNoisyStripTest::beginJob | ( | DQMStore * | dbe | ) | [virtual] |
Implements RPCClient.
Definition at line 27 of file RPCNoisyStripTest.cc.
References dbe_.
{ edm::LogVerbatim ("rpcnoisetest") << "[RPCNoisyStripTest]: Begin job "; dbe_ = dbe; }
void RPCNoisyStripTest::beginLuminosityBlock | ( | edm::LuminosityBlock const & | lumiSeg, |
edm::EventSetup const & | context | ||
) | [virtual] |
void RPCNoisyStripTest::beginRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [virtual] |
void RPCNoisyStripTest::clientOperation | ( | edm::EventSetup const & | c | ) | [virtual] |
Implements RPCClient.
Definition at line 147 of file RPCNoisyStripTest.cc.
References DEVDDisk, DEVDWheel, fillGlobalME(), i, MessageLogger_cff::limit, myDetIds_, myOccupancyMe_, NOISEDDisk, NOISEDWheel, numberOfDisks_, and MonitorElement::Reset().
{ edm::LogVerbatim ("rpcnoisetest") <<"[RPCNoisyStripTest]: Client Operation"; //Clear Distributions int limit = numberOfDisks_ * 2; if(numberOfDisks_<2) limit = 5; for(int i =0 ; i<limit; i++){ if(i < numberOfDisks_ * 2){ DEVDDisk[i]->Reset(); NOISEDDisk[i]->Reset(); } if(i<5){ DEVDWheel[i]->Reset(); NOISEDWheel[i]->Reset(); } } //Loop on MEs for (unsigned int i = 0 ; i<myOccupancyMe_.size();i++){ this->fillGlobalME(myDetIds_[i],myOccupancyMe_[i], iSetup); }//End loop on MEs }
void RPCNoisyStripTest::endJob | ( | void | ) | [virtual] |
void RPCNoisyStripTest::endLuminosityBlock | ( | edm::LuminosityBlock const & | lumiSeg, |
edm::EventSetup const & | c | ||
) | [virtual] |
void RPCNoisyStripTest::endRun | ( | const edm::Run & | r, |
const edm::EventSetup & | iSetup, | ||
std::vector< MonitorElement * > | meVector, | ||
std::vector< RPCDetId > | detIdVector | ||
) | [virtual] |
Implements RPCClient.
Definition at line 33 of file RPCNoisyStripTest.cc.
References DQMStore::book1D(), DQMStore::book2D(), dbe_, DEVDDisk, DEVDWheel, DQMStore::get(), MonitorElement::getName(), globalFolder_, i, rpcdqm::utils::labelXAxisSector(), rpcdqm::utils::labelXAxisSegment(), rpcdqm::utils::labelYAxisRing(), rpcdqm::utils::labelYAxisRoll(), MessageLogger_cff::limit, myDetIds_, myOccupancyMe_, NOISEDDisk, NOISEDisk, NOISEDWheel, NOISEWheel, numberOfDisks_, numberOfRings_, rpcdqm::OCCUPANCY, evf::evtn::offset(), DQMStore::removeElement(), DQMStore::setCurrentFolder(), and packageDocSplitter::tagList.
{ edm::LogVerbatim ("rpcnoisetest") << "[RPCNoisyStripTest]: End run"; MonitorElement* me; dbe_->setCurrentFolder( globalFolder_); std::stringstream histoName; rpcdqm::utils rpcUtils; int limit = numberOfDisks_; if(numberOfDisks_ < 2) limit = 2; for (int w = -1 * limit; w<= limit;w++ ){//loop on wheels and disks if (w>-3 && w<3){//Barrel histoName.str(""); histoName<<"RPCNoisyStrips_Distribution_Wheel"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } NOISEDWheel[w+2] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 6, -0.5, 5.5); histoName.str(""); histoName<<"RPCStripsDeviation_Distribution_Wheel"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } DEVDWheel[w+2] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 101, -0.01, 10.01); histoName.str(""); histoName<<"RPCNoisyStrips_Roll_vs_Sector_Wheel"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } NOISEWheel[w+2] = dbe_->book2D(histoName.str().c_str(), histoName.str().c_str() , 12, 0.5, 12.5, 21, 0.5, 21.5); rpcUtils.labelXAxisSector(NOISEWheel[w+2]); rpcUtils.labelYAxisRoll(NOISEWheel[w+2], 0, w); } if (w == 0 || w > numberOfDisks_ || w< (-1 * numberOfDisks_))continue;//ENDCAP int offset = numberOfDisks_; if (w>0) offset --; //used to skip case equale to zero histoName.str(""); histoName<<"RPCNoisyStrips_Distribution_Disk"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } NOISEDDisk[w+offset] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 6, -0.5, 5.5); histoName.str(""); histoName<<"RPCStripsDeviation_Distribution_Disk"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } DEVDDisk[w+offset] = dbe_->book1D(histoName.str().c_str(), histoName.str().c_str(), 101, -0.01, 10.01); histoName.str(""); histoName<<"RPCNoisyStrips_Ring_vs_Segment_Disk"<<w; me =0; me = dbe_->get( globalFolder_ +"/"+ histoName.str()); if ( 0!=me ) { dbe_->removeElement(me->getName()); } NOISEDisk[w+offset] = dbe_->book2D(histoName.str().c_str(), histoName.str().c_str() , 36, 0.5, 36.5, 3*numberOfRings_, 0.5,3*numberOfRings_+ 0.5); rpcUtils.labelXAxisSegment(NOISEDisk[w+offset]); rpcUtils.labelYAxisRing(NOISEDisk[w+offset], numberOfRings_); }//end loop wheel and disks //Get NumberOfDigi ME for each roll for (unsigned int i = 0 ; i<meVector.size(); i++){ bool flag= false; DQMNet::TagList tagList; tagList = meVector[i]->getTags(); DQMNet::TagList::iterator tagItr = tagList.begin(); while (tagItr != tagList.end() && !flag ) { if((*tagItr) == rpcdqm::OCCUPANCY) flag= true; tagItr++; } if(flag){ myOccupancyMe_.push_back(meVector[i]); myDetIds_.push_back(detIdVector[i]); } } }
void RPCNoisyStripTest::fillGlobalME | ( | RPCDetId & | detId, |
MonitorElement * | myMe, | ||
edm::EventSetup const & | iSetup | ||
) | [protected] |
Definition at line 180 of file RPCNoisyStripTest.cc.
References rpcdqm::utils::detId2RollNr(), DEVDDisk, DEVDWheel, python::tagInventory::entries, MonitorElement::Fill(), MonitorElement::getBinContent(), i, sistrip::NOISE, NOISEDDisk, NOISEDisk, NOISEDWheel, NOISEWheel, NULL, numberOfDisks_, numberOfRings_, RPCDetId::region(), RPCDetId::ring(), RPCDetId::roll(), RPCDetId::sector(), RPCGeomServ::segment(), MonitorElement::setBinContent(), and RPCDetId::station().
Referenced by clientOperation().
{ // ESHandle<RPCGeometry> rpcgeo; // iSetup.get<MuonGeometryRecord>().get(rpcgeo); std::stringstream meName; MonitorElement * NOISE=NULL; MonitorElement * DEVD=NULL; MonitorElement * NOISED=NULL; if (detId.region()==0) { //BARREL NOISE = NOISEWheel[detId.ring()+2]; DEVD = DEVDWheel[detId.ring()+2]; NOISED= NOISEDWheel[detId.ring()+2]; }else if(detId.region()<0 && (-detId.station() + numberOfDisks_) >= 0 ){//ENDCAP- NOISE = NOISEDisk[ -detId.station() + numberOfDisks_]; DEVD = DEVDDisk[ -detId.station() + numberOfDisks_]; NOISED= NOISEDDisk[-detId.station() + numberOfDisks_]; }else if((-detId.station() + numberOfDisks_)>= 0 ){//ENDCAP + NOISE = NOISEDisk[detId.station() + numberOfDisks_-1]; DEVD = DEVDDisk[detId.station() + numberOfDisks_-1]; NOISED= NOISEDDisk[detId.station() + numberOfDisks_-1]; } int entries = (int) myMe -> getEntries(); int bins = (int) myMe ->getNbinsX(); std::vector<float> myvector; // count alive strips and alive strip values put in the vector for(int xbin =1 ; xbin <= bins ; xbin++) { float binContent = myMe->getBinContent(xbin); if (binContent > 0) myvector.push_back(binContent); } int noisyStrips=0; // calculate mean on YAxis and check diff between bins and mean if (myvector.size()>0) { float ymean = entries/myvector.size(); //mean on Yaxis for(unsigned int i=0; i<myvector.size(); i++) { float deviation = myvector[i]/ymean; if(deviation > 3.5) noisyStrips++; if(deviation > 5) deviation = 5; //overflow if(DEVD) DEVD-> Fill(deviation); } if(NOISE && NOISED ){ int xBin,yBin; if(detId.region()==0){//Barrel xBin= detId.sector(); rpcdqm::utils rollNumber; yBin = rollNumber.detId2RollNr(detId); }else{//Endcap //get segment number RPCGeomServ RPCServ(detId); xBin = RPCServ.segment(); (numberOfRings_ == 3 ? yBin= detId.ring()*3-detId.roll()+1 : yBin= (detId.ring()-1)*3-detId.roll()+1); } NOISE->setBinContent(xBin,yBin,noisyStrips); NOISED ->Fill(noisyStrips); } } }
DQMStore* RPCNoisyStripTest::dbe_ [private] |
Definition at line 45 of file RPCNoisyStripTest.h.
Referenced by beginJob(), endRun(), and ~RPCNoisyStripTest().
MonitorElement* RPCNoisyStripTest::DEVDDisk[10] [private] |
Definition at line 56 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), endRun(), and fillGlobalME().
MonitorElement* RPCNoisyStripTest::DEVDWheel[5] [private] |
Definition at line 52 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), endRun(), and fillGlobalME().
std::string RPCNoisyStripTest::globalFolder_ [private] |
Definition at line 41 of file RPCNoisyStripTest.h.
Referenced by endRun(), and RPCNoisyStripTest().
std::vector<RPCDetId> RPCNoisyStripTest::myDetIds_ [private] |
Definition at line 48 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), and endRun().
std::vector<MonitorElement *> RPCNoisyStripTest::myOccupancyMe_ [private] |
Definition at line 47 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), and endRun().
MonitorElement* RPCNoisyStripTest::NOISEDDisk[10] [private] |
Definition at line 55 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), endRun(), and fillGlobalME().
MonitorElement* RPCNoisyStripTest::NOISEDisk[10] [private] |
Definition at line 54 of file RPCNoisyStripTest.h.
Referenced by endRun(), and fillGlobalME().
MonitorElement* RPCNoisyStripTest::NOISEDWheel[5] [private] |
Definition at line 51 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), endRun(), and fillGlobalME().
MonitorElement* RPCNoisyStripTest::NOISEWheel[5] [private] |
Definition at line 50 of file RPCNoisyStripTest.h.
Referenced by endRun(), and fillGlobalME().
int RPCNoisyStripTest::numberOfDisks_ [private] |
Definition at line 57 of file RPCNoisyStripTest.h.
Referenced by clientOperation(), endRun(), fillGlobalME(), and RPCNoisyStripTest().
int RPCNoisyStripTest::numberOfRings_ [private] |
Definition at line 42 of file RPCNoisyStripTest.h.
Referenced by endRun(), fillGlobalME(), and RPCNoisyStripTest().
int RPCNoisyStripTest::prescaleFactor_ [private] |
Definition at line 43 of file RPCNoisyStripTest.h.
Referenced by RPCNoisyStripTest().