CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiPixelInformationExtractor Class Reference

#include <SiPixelInformationExtractor.h>

Public Member Functions

void bookNoisyPixels (DQMStore::IBooker &iBooker, float noiseRate, bool Tier0Flag)
 
void computeStatus (MonitorElement *mE, double &colorValue, std::pair< double, double > &norm)
 (Documentation under construction). More...
 
void findNoisyPixels (DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool init, float noiseRate, int noiseRateDenominator, edm::ESHandle< SiPixelFedCablingMap > theCablingMap)
 
int getDetId (MonitorElement *mE)
 (Documentation under construction). More...
 
std::string getMEType (MonitorElement *mE)
 
void getNormalization (MonitorElement *mE, std::pair< double, double > &norm, std::string theMEType)
 (Documentation under construction). More...
 
void getNormalization2D (MonitorElement *mE, std::pair< double, double > &normX, std::pair< double, double > &normY, std::string theMEType)
 (Documentation under construction). More...
 
void readConfiguration ()
 Read Configuration File. More...
 
bool readConfiguration (std::map< std::string, std::vector< std::string > > &layoutMap, std::map< std::string, std::map< std::string, std::string > > &qtestsMap, std::map< std::string, std::vector< std::string > > &meQTestsMap)
 
 SiPixelInformationExtractor (bool offlineXMLfile)
 Constructor of the SiPixelInformationExtractor class. More...
 
 ~SiPixelInformationExtractor ()
 Destructor of the SiPixelInformationExtractor class. More...
 

Private Member Functions

void createDummiesFromLayout ()
 
void getItemList (const std::multimap< std::string, std::string > &req_map, std::string item_name, std::vector< std::string > &items)
 (Documentation under construction). More...
 
std::string getItemValue (const std::multimap< std::string, std::string > &req_map, std::string item_name)
 (Documentation under construction). More...
 
std::string getItemValue (std::multimap< std::string, std::string > &req_map, std::string item_name)
 
bool hasItem (std::multimap< std::string, std::string > &req_map, std::string item_name)
 (Documentation under construction). More...
 
void selectColor (std::string &col, int status)
 
void selectColor (std::string &col, std::vector< QReport * > &reports)
 
void selectImage (std::string &name, int status)
 
void selectImage (std::string &name, std::vector< QReport * > &reports)
 

Private Attributes

SiPixelActionExecutoractionExecutor_
 
int alarmCounter_
 
MonitorElementBarrelNdigisFREQProjection
 
SiPixelConfigParserconfigParser_
 
SiPixelConfigWriterconfigWriter_
 
int count
 
MonitorElementEndcapNdigisFREQProjection
 
bool endOfModules_
 
int errcount
 
MonitorElementEventRateBarrelPixels
 
MonitorElementEventRateEndcapPixels
 
bool flagHotModule_
 
bool gotDigis
 
std::map< std::string, std::vector< std::string > > layoutMap
 
SiPixelLayoutParserlayoutParser_
 
std::map< std::string, std::vector< std::string > > meQTestsMap
 
std::ofstream myfile_
 
int nevents_
 
std::map< uint32_t, std::vector< std::pair< std::pair< int, int >, float > > > noisyDetIds_
 
bool offlineXMLfile_
 
std::map< std::string, std::map< std::string, std::string > > qtestsMap
 
bool readMeMap_
 
bool readQTestMap_
 
bool readReference_
 

Detailed Description

Definition at line 40 of file SiPixelInformationExtractor.h.

Constructor & Destructor Documentation

SiPixelInformationExtractor::SiPixelInformationExtractor ( bool  offlineXMLfile)

Constructor of the SiPixelInformationExtractor class.

Definition at line 68 of file SiPixelInformationExtractor.cc.

References readReference_.

68  : offlineXMLfile_(offlineXMLfile) {
69  edm::LogInfo("SiPixelInformationExtractor") <<
70  " Creating SiPixelInformationExtractor " << "\n" ;
71 
72  readReference_ = false;
73 }
SiPixelInformationExtractor::~SiPixelInformationExtractor ( )

Destructor of the SiPixelInformationExtractor class.

Definition at line 79 of file SiPixelInformationExtractor.cc.

79  {
80  edm::LogInfo("SiPixelInformationExtractor") <<
81  " Deleting SiPixelInformationExtractor " << "\n" ;
82 
83 }

Member Function Documentation

void SiPixelInformationExtractor::bookNoisyPixels ( DQMStore::IBooker iBooker,
float  noiseRate,
bool  Tier0Flag 
)

Definition at line 331 of file SiPixelInformationExtractor.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::cd(), EventRateBarrelPixels, EventRateEndcapPixels, MonitorElement::setAxisTitle(), and DQMStore::IBooker::setCurrentFolder().

331  {
332 //std::cout<<"BOOK NOISY PIXEL MEs!"<<std::endl;
333  iBooker.cd();
334  if(noiseRate_>=0.){
335  iBooker.setCurrentFolder("Pixel/Barrel");
336  EventRateBarrelPixels = iBooker.book1D("barrelEventRate","Digi event rate for all Barrel pixels",1000,0.,0.01);
337  EventRateBarrelPixels->setAxisTitle("Event Rate",1);
338  EventRateBarrelPixels->setAxisTitle("Number of Pixels",2);
339  iBooker.cd();
340  iBooker.setCurrentFolder("Pixel/Endcap");
341  EventRateEndcapPixels = iBooker.book1D("endcapEventRate","Digi event rate for all Endcap pixels",1000,0.,0.01);
342  EventRateEndcapPixels->setAxisTitle("Event Rate",1);
343  EventRateEndcapPixels->setAxisTitle("Number of Pixels",2);
344  }
345 }
void cd(void)
Definition: DQMStore.cc:269
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiPixelInformationExtractor::computeStatus ( MonitorElement theME,
double &  colorValue,
std::pair< double, double > &  norm 
)

(Documentation under construction).

Definition at line 213 of file SiPixelInformationExtractor.cc.

References MonitorElement::getMean(), getMEType(), getNormalization(), getNormalization2D(), reco::return(), and mathSSE::sqrt().

216 {
217  double normalizationX = 1 ;
218  double normalizationY = 1 ;
219  double meanX = 0 ;
220  double meanY = 0 ;
221 
222  colorValue = 0 ;
223 
224  pair<double,double> normX ;
225  pair<double,double> normY ;
226 
227  string theMEType = getMEType(theME) ;
228 
229  if( theMEType.find("TH1") != string::npos)
230  {
231  meanX = (double)theME->getMean();
232  getNormalization(theME, normX, "TH1") ;
233  normalizationX = fabs( normX.second - normX.first) ;
234  if( normalizationX == 0 ) {normalizationX=1.E-20;}
235  colorValue = meanX / normalizationX ;
236  norm.first = normX.first ;
237  norm.second = normX.second ;
238  }
239 
240  if( theMEType.find("TH2") != string::npos)
241  {
242  meanX = (double)theME->getMean(1);
243  meanY = (double)theME->getMean(2);
244  getNormalization2D(theME, normX, normY, "TH2") ;
245  normalizationX = fabs( normX.second - normX.first) ;
246  normalizationY = fabs( normY.second - normY.first) ;
247  if( normalizationX == 0 ) {normalizationX=1.E-20;}
248  if( normalizationY == 0 ) {normalizationY=1.E-20;}
249  double cVX = meanX / normalizationX ;
250  double cVY = meanY / normalizationY ;
251  colorValue = sqrt(cVX*cVX + cVY*cVY) ;
252  if( normalizationX >= normalizationY )
253  {
254  norm.first = normX.first;
255  norm.second = normX.second ;
256  } else {
257  norm.first = normY.first;
258  norm.second = normY.second ;
259  }
260  }
261 
262  return ;
263 }
void getNormalization(MonitorElement *mE, std::pair< double, double > &norm, std::string theMEType)
(Documentation under construction).
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
T sqrt(T t)
Definition: SSEVec.h:18
void getNormalization2D(MonitorElement *mE, std::pair< double, double > &normX, std::pair< double, double > &normY, std::string theMEType)
(Documentation under construction).
std::string getMEType(MonitorElement *mE)
return(e1-e2)*(e1-e2)+dp *dp
void SiPixelInformationExtractor::createDummiesFromLayout ( )
private
void SiPixelInformationExtractor::findNoisyPixels ( DQMStore::IBooker iBooker,
DQMStore::IGetter iGetter,
bool  init,
float  noiseRate,
int  noiseRateDenominator,
edm::ESHandle< SiPixelFedCablingMap theCablingMap 
)

Definition at line 350 of file SiPixelInformationExtractor.cc.

References DQMStore::IBooker::cd(), DQMStore::IGetter::cd(), sipixelobjects::ElectronicIndex::dcol, sipixelobjects::LocalPixel::DcolPxid::dcol, gamEcalExtractorBlocks_cff::detector, RefreshWebPage::dname, endOfModules_, EventRateBarrelPixels, EventRateEndcapPixels, MonitorElement::Fill(), SiPixelFedCablingMap::findItem(), DQMStore::IGetter::get(), getDetId(), DQMStore::IGetter::getMEs(), MonitorElement::getPathname(), DQMStore::IGetter::getSubdirs(), MonitorElement::getTH2F(), DQMStore::IBooker::goUp(), mps_fire::i, sipixelobjects::PixelROC::idInDetUnit(), PixelBarrelName::isHalfModule(), sipixelobjects::ElectronicIndex::link, create_public_lumi_plots::loc, genParticles_cff::map, myfile_, PixelEndcapName::name(), PixelBarrelName::name(), nevents_, noisyDetIds_, runTauDisplay::outputname, callgraph::path, edm::ESHandle< T >::product(), DQMStore::IBooker::pwd(), sipixelobjects::ElectronicIndex::pxid, sipixelobjects::LocalPixel::DcolPxid::pxid, sipixelobjects::ElectronicIndex::roc, sipixelobjects::LocalPixel::rocCol(), sipixelobjects::LocalPixel::rocRow(), DQMStore::IBooker::setCurrentFolder(), DQMStore::IGetter::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and DetId::subdetId().

351 {
352 
353 
354  if(init){
355  endOfModules_=false;
356  nevents_=noiseRateDenominator_;
357  if(nevents_ == -1){
358  iBooker.cd();
359  iGetter.cd();
360  iBooker.setCurrentFolder("Pixel/EventInfo");
361  iGetter.setCurrentFolder("Pixel/EventInfo");
362  nevents_ = (iGetter.get("Pixel/EventInfo/processedEvents"))->getIntValue();
363  }
364  iBooker.cd();
365  iGetter.cd();
366  myfile_.open ("NoisyPixelList.txt", ios::app);
367  myfile_ << "Noise summary, ran over " << nevents_ << " events, threshold was set to " << noiseRate_ << std::endl;
368  }
369  string currDir = iBooker.pwd();
370  string dname = currDir.substr(currDir.find_last_of("/")+1);
371 
372 
373  if(dname.find("Module_")!=string::npos){
374  vector<string> meVec = iGetter.getMEs();
375  for (vector<string>::const_iterator it = meVec.begin(); it != meVec.end(); it++) {
376  string full_path = currDir + "/" + (*it);
377  if(full_path.find("hitmap_siPixelDigis")!=string::npos){
378  MonitorElement * me = iGetter.get(full_path);
379  if (!me) continue;
380  int detid=getDetId(me); int pixcol=-1; int pixrow=-1;
381  std::vector<std::pair<std::pair<int, int>, float> > noisyPixelsInModule;
382  TH2F * hothisto = me->getTH2F();
383  if(hothisto){
384  for(int i=1; i!=hothisto->GetNbinsX()+1; i++){
385  for(int j=1; j!=hothisto->GetNbinsY()+1; j++){
386  float value = (hothisto->GetBinContent(i,j))/float(nevents_);
387  if(me->getPathname().find("Barrel")!=string::npos){
388  EventRateBarrelPixels = iGetter.get("Pixel/Barrel/barrelEventRate");
390  }else if(me->getPathname().find("Endcap")!=string::npos){
391  EventRateEndcapPixels = iGetter.get("Pixel/Endcap/endcapEventRate");
393  }
394  if(value > noiseRate_){
395  pixcol = i-1;
396  pixrow = j-1;
397 
398  std::pair<int, int> address(pixcol, pixrow);
399  std::pair<std::pair<int, int>, float> PixelStats(address, value);
400  noisyPixelsInModule.push_back(PixelStats);
401  }
402  }
403  }
404  }
405  noisyDetIds_[detid] = noisyPixelsInModule;
406  }
407  }
408  }
409  vector<string> subDirVec = iGetter.getSubdirs();
410  for (vector<string>::const_iterator ic = subDirVec.begin();
411  ic != subDirVec.end(); ic++) {
412  if((*ic).find("AdditionalPixelErrors")!=string::npos) continue;
413  iGetter.cd(*ic);
414  iBooker.cd(*ic);
415  init=false;
416  findNoisyPixels(iBooker,iGetter,init,noiseRate_,noiseRateDenominator_,theCablingMap);
417  iBooker.goUp();
418  iGetter.setCurrentFolder(iBooker.pwd());
419  }
420 
421  if(iBooker.pwd().find("EventInfo")!=string::npos) endOfModules_ = true;
422 
423  if(!endOfModules_) return;
424  if(currDir == "Pixel/EventInfo/reportSummaryContents"){
425  std::vector<std::pair<sipixelobjects::DetectorIndex,double> > pixelvec;
426  std::map<uint32_t,int> myfedmap;
427  std::map<uint32_t,std::string> mynamemap;
428  int realfedID = -1;
429  int counter = 0;
430  int n_noisyrocs_all = 0;
431  int n_noisyrocs_barrel = 0;
432  int n_noisyrocs_endcap = 0;
433  int n_verynoisyrocs_all = 0;
434  int n_verynoisyrocs_barrel = 0;
435  int n_verynoisyrocs_endcap = 0;
436 
437  for(int fid = 0; fid < 40; fid++){
438  for(std::map<uint32_t, std::vector< std::pair<std::pair<int, int>, float> > >::const_iterator it = noisyDetIds_.begin();
439  it != noisyDetIds_.end(); it++){
440  uint32_t detid = (*it).first;
441  std::vector< std::pair<std::pair<int, int>, float> > noisyPixels = (*it).second;
442  // now convert into online conventions:
443  for(int fedid=0; fedid<=40; ++fedid){
444  SiPixelFrameConverter converter(theCablingMap.product(),fedid);
445  uint32_t newDetId = detid;
446  if(converter.hasDetUnit(newDetId)){
447  realfedID=fedid;
448  break;
449  }
450  }
451  if(fid == realfedID){
452  if(realfedID==-1) continue;
453  DetId detId(detid);
454  uint32_t detSubId = detId.subdetId();
456  bool HalfModule = false;
457  if (detSubId == 2){ //FPIX
458  PixelEndcapName nameworker(detid);
459  outputname = nameworker.name();
460  } else if(detSubId == 1){ //BPIX
461  PixelBarrelName nameworker(detid);
462  outputname = nameworker.name();
463  HalfModule = nameworker.isHalfModule();
464 
465  } else{
466  continue;
467  }
468  std::map<int,int> myrocmap;
469  myfedmap[detid]=realfedID;
470  mynamemap[detid]=outputname;
471 
472  for(std::vector< std::pair< std::pair<int,int>, float> >::const_iterator pxl = noisyPixels.begin();
473  pxl != noisyPixels.end(); pxl++){
474  std::pair<int,int> offlineaddress = (*pxl).first;
475  float Noise_frac = (*pxl).second;
476  int offlineColumn = offlineaddress.first;
477  int offlineRow = offlineaddress.second;
478  counter++;
479 
481  SiPixelFrameConverter formatter(theCablingMap.product(),realfedID);
482  sipixelobjects::DetectorIndex detector = {detid, offlineRow, offlineColumn};
483  formatter.toCabling(cabling,detector);
484  // cabling should now contain cabling.roc and cabling.dcol and cabling.pxid
485  // however, the coordinates now need to be converted from dcl,pxid to the row,col coordinates used in the calibration info
487  loc.dcol = cabling.dcol;
488  loc.pxid = cabling.pxid;
489 
490  sipixelobjects::LocalPixel locpixel(loc);
491  assert(realfedID >= 0);
492  assert(cabling.link >= 0);
493  assert(cabling.roc >= 0);
494  sipixelobjects::CablingPathToDetUnit path = {static_cast<unsigned int>(realfedID),
495  static_cast<unsigned int>(cabling.link),
496  static_cast<unsigned int>(cabling.roc)};
497  const sipixelobjects::PixelROC *theRoc = theCablingMap->findItem(path);
498  // END of FIX
499 
500  int onlineColumn = locpixel.rocCol();
501  int onlineRow= locpixel.rocRow();
502  myrocmap[(theRoc->idInDetUnit())]++;
503 
504  // ROC numbers in the barrel go from 8 to 15 instead of 0 to 7 in half modules. This is a
505  // fix to get the roc number, and add 8 to it if:
506  // it's a Barrel module AND on the minus side AND a Half module
507 
508  int rocnumber = -1;
509 
510  if((detSubId == 1) && (outputname.find("mO")!=string::npos || outputname.find("mI")!=string::npos) && (HalfModule)){
511  rocnumber = theRoc->idInDetUnit() + 8;
512  }
513  else{
514  rocnumber = theRoc->idInDetUnit();
515  }
516 
517  myfile_ <<"NAME: "<<outputname<<" , DETID: "<<detid<<" , OFFLINE: col,row: "<<offlineColumn<<","<<offlineRow<<" \t , ONLINE: roc,col,row: "<<rocnumber<<","<<onlineColumn<<","<<onlineRow<< " \t , fed,dcol,pixid,link: "<<realfedID<<","<<loc.dcol<<","<<loc.pxid<<","<<cabling.link << ", Noise fraction: " << Noise_frac << std::endl;
518  }
519  for(std::map<int, int>::const_iterator nrc = myrocmap.begin(); nrc != myrocmap.end(); nrc++){
520  if((*nrc).second > 0){
521  n_noisyrocs_all++;
522  if(detSubId == 2){
523  n_noisyrocs_endcap++;
524  } else if(detSubId == 1){
525  n_noisyrocs_barrel++;}
526  }
527  if((*nrc).second > 40){
528  n_verynoisyrocs_all++;
529  if(detSubId == 2){
530  n_verynoisyrocs_endcap++;
531  } else if(detSubId == 1){
532  n_verynoisyrocs_barrel++;}
533  }
534  }
535  }
536 
537  }
538  }
539  myfile_ << "There are " << n_noisyrocs_all << " noisy ROCs (ROCs with at least 1 noisy pixel) in the entire detector. " << n_noisyrocs_endcap << " are in the FPIX and " << n_noisyrocs_barrel << " are in the BPIX. " << endl;
540  myfile_ << "There are " << n_verynoisyrocs_all << " highly noisy ROCs (ROCs with at least 10% of all pixels passing the noise threshold) in the entire detector. " << n_verynoisyrocs_endcap << " are in the FPIX and " << n_verynoisyrocs_barrel << " are in the BPIX. " << endl;
541 
542  }
543  myfile_.close();
544  return;
545 }
void cd(void)
Definition: DQMStore.cc:339
void cd(void)
Definition: DQMStore.cc:269
MonitorElement * get(const std::string &path)
Definition: DQMStore.cc:305
const std::string & pwd(void)
Definition: DQMStore.cc:285
std::map< uint32_t, std::vector< std::pair< std::pair< int, int >, float > > > noisyDetIds_
identify pixel inside single ROC
Definition: LocalPixel.h:7
void Fill(long long x)
const std::string & getPathname(void) const
get pathname of parent folder
void findNoisyPixels(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool init, float noiseRate, int noiseRateDenominator, edm::ESHandle< SiPixelFedCablingMap > theCablingMap)
unsigned int idInDetUnit() const
id of this ROC in DetUnit etermined by token path
Definition: PixelROC.h:40
virtual const sipixelobjects::PixelROC * findItem(const sipixelobjects::CablingPathToDetUnit &path) const
Definition: value.py:1
std::vector< std::string > getMEs(void)
Definition: DQMStore.cc:327
double collumn and pixel ID in double collumn representation
Definition: LocalPixel.h:22
Definition: DetId.h:18
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:277
void goUp(void)
Definition: DQMStore.cc:281
std::vector< std::string > getSubdirs(void)
Definition: DQMStore.cc:323
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:347
int getDetId(MonitorElement *mE)
(Documentation under construction).
TH2F * getTH2F(void) const
T const * product() const
Definition: ESHandle.h:86
int SiPixelInformationExtractor::getDetId ( MonitorElement mE)

(Documentation under construction).

Given a pointer to ME returns the associated detId

Definition at line 312 of file SiPixelInformationExtractor.cc.

References MonitorElement::getName().

Referenced by findNoisyPixels().

313 {
314  string mEName = mE->getName();
315 
316  int detId = 0;
317 
318  if( mEName.find("_3") != string::npos )
319  {
320  string detIdString = mEName.substr((mEName.find_last_of("_"))+1,9);
321  std::istringstream isst;
322  isst.str(detIdString);
323  isst>>detId;
324  }
325  return detId ;
326 
327 }
const std::string & getName(void) const
get name of ME
void SiPixelInformationExtractor::getItemList ( const std::multimap< std::string, std::string > &  req_map,
std::string  item_name,
std::vector< std::string > &  items 
)
private

(Documentation under construction).

This method

Definition at line 114 of file SiPixelInformationExtractor.cc.

116  {
117  items.clear();
118  for (multimap<string, string>::const_iterator it = req_map.begin();
119  it != req_map.end(); it++) {
120  if (it->first == item_name) {
121  items.push_back(it->second);
122  }
123  }
124 }
std::string SiPixelInformationExtractor::getItemValue ( const std::multimap< std::string, std::string > &  req_map,
std::string  item_name 
)
private

(Documentation under construction).

This method

Definition at line 143 of file SiPixelInformationExtractor.cc.

References AlCaHLTBitMon_QueryRunRegistry::string, and relativeConstraints::value.

144  {
145  std::multimap<std::string,std::string>::const_iterator pos = req_map.find(item_name);
146  std::string value = " ";
147  if (pos != req_map.end()) {
148  value = pos->second;
149  }
150  return value;
151 }
Definition: value.py:1
std::string SiPixelInformationExtractor::getItemValue ( std::multimap< std::string, std::string > &  req_map,
std::string  item_name 
)
private

Definition at line 152 of file SiPixelInformationExtractor.cc.

References cuy::col, dqm::qstatus::ERROR, dataset::name, dqm::qstatus::OTHER, selectColor(), selectImage(), mps_update::status, dqm::qstatus::STATUS_OK, AlCaHLTBitMon_QueryRunRegistry::string, relativeConstraints::value, and dqm::qstatus::WARNING.

153  {
154  std::multimap<std::string,std::string>::iterator pos = req_map.find(item_name);
155  std::string value = " ";
156  if (pos != req_map.end()) {
157  value = pos->second;
158  }
159  return value;
160 }
Definition: value.py:1
std::string SiPixelInformationExtractor::getMEType ( MonitorElement mE)

Definition at line 95 of file SiPixelInformationExtractor.cc.

References MonitorElement::getRootObject().

Referenced by computeStatus().

96 {
97  string qtype = theMe->getRootObject()->IsA()->GetName() ;
98  if( qtype.find("TH1") != string::npos )
99  {
100  return "TH1" ;
101  } else if ( qtype.find("TH2") != string::npos ) {
102  return "TH2" ;
103  } else if ( qtype.find("TH3") != string::npos ) {
104  return "TH3" ;
105  }
106  return "TH1" ;
107 }
void SiPixelInformationExtractor::getNormalization ( MonitorElement theME,
std::pair< double, double > &  norm,
std::string  theMEType 
)

(Documentation under construction).

Definition at line 269 of file SiPixelInformationExtractor.cc.

References MonitorElement::getNbinsX().

Referenced by computeStatus().

272 {
273  double normLow = 0 ;
274  double normHigh = 0 ;
275 
276  if( theMEType.find("TH1") != string::npos)
277  {
278  normHigh = (double)theME->getNbinsX() ;
279  norm.first = normLow ;
280  norm.second = normHigh ;
281  }
282 }
int getNbinsX(void) const
get # of bins in X-axis
void SiPixelInformationExtractor::getNormalization2D ( MonitorElement theME,
std::pair< double, double > &  normX,
std::pair< double, double > &  normY,
std::string  theMEType 
)

(Documentation under construction).

Definition at line 288 of file SiPixelInformationExtractor.cc.

References MonitorElement::getNbinsX(), and MonitorElement::getNbinsY().

Referenced by computeStatus().

292 {
293  double normLow = 0 ;
294  double normHigh = 0 ;
295 
296  if( theMEType.find("TH2") != string::npos )
297  {
298  normHigh = (double)theME->getNbinsX() ;
299  normX.first = normLow ;
300  normX.second = normHigh ;
301  normHigh = (double)theME->getNbinsY() ;
302  normY.first = normLow ;
303  normY.second = normHigh ;
304  }
305 }
int getNbinsY(void) const
get # of bins in Y-axis
int getNbinsX(void) const
get # of bins in X-axis
bool SiPixelInformationExtractor::hasItem ( std::multimap< std::string, std::string > &  req_map,
std::string  item_name 
)
private

(Documentation under construction).

This method

Definition at line 131 of file SiPixelInformationExtractor.cc.

132  {
133  multimap<string,string>::iterator pos = req_map.find(item_name);
134  if (pos != req_map.end()) return true;
135  return false;
136 }
void SiPixelInformationExtractor::readConfiguration ( )

Read Configuration File.

Definition at line 89 of file SiPixelInformationExtractor.cc.

89 { }
bool SiPixelInformationExtractor::readConfiguration ( std::map< std::string, std::vector< std::string > > &  layoutMap,
std::map< std::string, std::map< std::string, std::string > > &  qtestsMap,
std::map< std::string, std::vector< std::string > > &  meQTestsMap 
)
void SiPixelInformationExtractor::selectColor ( std::string &  col,
int  status 
)
private

Referenced by getItemValue().

void SiPixelInformationExtractor::selectColor ( std::string &  col,
std::vector< QReport * > &  reports 
)
private
void SiPixelInformationExtractor::selectImage ( std::string &  name,
int  status 
)
private

Referenced by getItemValue().

void SiPixelInformationExtractor::selectImage ( std::string &  name,
std::vector< QReport * > &  reports 
)
private

Member Data Documentation

SiPixelActionExecutor* SiPixelInformationExtractor::actionExecutor_
private

Definition at line 101 of file SiPixelInformationExtractor.h.

int SiPixelInformationExtractor::alarmCounter_
private

Definition at line 97 of file SiPixelInformationExtractor.h.

MonitorElement* SiPixelInformationExtractor::BarrelNdigisFREQProjection
private

Definition at line 132 of file SiPixelInformationExtractor.h.

SiPixelConfigParser* SiPixelInformationExtractor::configParser_
private

Definition at line 99 of file SiPixelInformationExtractor.h.

SiPixelConfigWriter* SiPixelInformationExtractor::configWriter_
private

Definition at line 100 of file SiPixelInformationExtractor.h.

int SiPixelInformationExtractor::count
private

Definition at line 119 of file SiPixelInformationExtractor.h.

MonitorElement* SiPixelInformationExtractor::EndcapNdigisFREQProjection
private

Definition at line 131 of file SiPixelInformationExtractor.h.

bool SiPixelInformationExtractor::endOfModules_
private

Definition at line 126 of file SiPixelInformationExtractor.h.

Referenced by findNoisyPixels().

int SiPixelInformationExtractor::errcount
private

Definition at line 120 of file SiPixelInformationExtractor.h.

MonitorElement* SiPixelInformationExtractor::EventRateBarrelPixels
private

Definition at line 128 of file SiPixelInformationExtractor.h.

Referenced by bookNoisyPixels(), and findNoisyPixels().

MonitorElement* SiPixelInformationExtractor::EventRateEndcapPixels
private

Definition at line 129 of file SiPixelInformationExtractor.h.

Referenced by bookNoisyPixels(), and findNoisyPixels().

bool SiPixelInformationExtractor::flagHotModule_
private

Definition at line 116 of file SiPixelInformationExtractor.h.

bool SiPixelInformationExtractor::gotDigis
private

Definition at line 121 of file SiPixelInformationExtractor.h.

std::map<std::string, std::vector< std::string> > SiPixelInformationExtractor::layoutMap
private

Definition at line 105 of file SiPixelInformationExtractor.h.

SiPixelLayoutParser* SiPixelInformationExtractor::layoutParser_
private

Definition at line 102 of file SiPixelInformationExtractor.h.

std::map<std::string, std::vector<std::string> > SiPixelInformationExtractor::meQTestsMap
private

Definition at line 110 of file SiPixelInformationExtractor.h.

std::ofstream SiPixelInformationExtractor::myfile_
private

Definition at line 123 of file SiPixelInformationExtractor.h.

Referenced by findNoisyPixels().

int SiPixelInformationExtractor::nevents_
private

Definition at line 124 of file SiPixelInformationExtractor.h.

Referenced by findNoisyPixels().

std::map< uint32_t , std::vector< std::pair< std::pair<int,int> , float > > > SiPixelInformationExtractor::noisyDetIds_
private

Definition at line 125 of file SiPixelInformationExtractor.h.

Referenced by findNoisyPixels().

bool SiPixelInformationExtractor::offlineXMLfile_
private

Definition at line 117 of file SiPixelInformationExtractor.h.

std::map<std::string, std::map<std::string, std::string> > SiPixelInformationExtractor::qtestsMap
private

Definition at line 108 of file SiPixelInformationExtractor.h.

bool SiPixelInformationExtractor::readMeMap_
private

Definition at line 115 of file SiPixelInformationExtractor.h.

bool SiPixelInformationExtractor::readQTestMap_
private

Definition at line 114 of file SiPixelInformationExtractor.h.

bool SiPixelInformationExtractor::readReference_
private

Definition at line 113 of file SiPixelInformationExtractor.h.

Referenced by SiPixelInformationExtractor().