CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
evf::iDie::lsStat Class Reference

Public Member Functions

void calcStat ()
 
void deleteModuleSamplingPtr ()
 
float getDt ()
 
float getEvtTime ()
 
float getEvtTimeErr ()
 
float getFracBusy ()
 
float getFracCPUBusy ()
 
std::pair< unsigned int,
unsigned int > * 
getModuleSamplingPtr ()
 
unsigned int getNSampledNonIdle ()
 
float getOffenderFracAt (unsigned int x)
 
std::vector< std::pair
< unsigned int, unsigned int > > 
getOffendersVector ()
 
float getRate ()
 
float getRateErr ()
 
float getRateErrPerMachine ()
 
float getRatePerMachine ()
 
unsigned int getReports ()
 
 lsStat (unsigned int ls, unsigned int nbSubs, unsigned int maxreps, unsigned int nmodulenames)
 
void update (unsigned int nSampledNonIdle, unsigned int nSampledIdle, unsigned int nProc, unsigned int ncpubusy, unsigned int deltaTms)
 
 ~lsStat ()
 

Public Attributes

float avgDeltaT2_
 
float avgDeltaT_
 
double evtTimeAvg
 
double evtTimeErr
 
double fracCPUBusy_
 
double fracWaitingAvg
 
unsigned int ls_
 
std::pair< unsigned int,
unsigned int > * 
moduleSamplingSums
 
unsigned int nbSubs_
 
unsigned int nCPUBusy_
 
unsigned int nMaxReports_
 
unsigned int nmodulenames_
 
unsigned int nProc2_
 
unsigned int nProc_
 
unsigned int nReports_
 
unsigned int nSampledIdle2_
 
unsigned int nSampledIdle_
 
unsigned int nSampledNonIdle2_
 
unsigned int nSampledNonIdle_
 
double rateAvg
 
double rateErr
 
unsigned int sumDeltaTms_
 
bool updated_
 

Detailed Description

Definition at line 441 of file iDie.h.

Constructor & Destructor Documentation

evf::iDie::lsStat::lsStat ( unsigned int  ls,
unsigned int  nbSubs,
unsigned int  maxreps,
unsigned int  nmodulenames 
)
inline

Definition at line 467 of file iDie.h.

References i, moduleSamplingSums, and nmodulenames_.

467  :
468  ls_(ls),updated_(true),nbSubs_(nbSubs),
470  nProc_(0),nProc2_(0),nCPUBusy_(0),nReports_(0),nMaxReports_(maxreps),nmodulenames_(nmodulenames),
472  {
473  moduleSamplingSums = new std::pair<unsigned int,unsigned int>[nmodulenames_];
474  for (unsigned int i=0;i<nmodulenames_;i++) {
475  moduleSamplingSums[i].first=i;
476  moduleSamplingSums[i].second=0;
477  }
478  }
int i
Definition: DBlmapReader.cc:9
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465
unsigned int nSampledNonIdle_
Definition: iDie.h:446
unsigned int nbSubs_
Definition: iDie.h:445
float avgDeltaT_
Definition: iDie.h:463
float avgDeltaT2_
Definition: iDie.h:464
unsigned int nReports_
Definition: iDie.h:453
unsigned int nmodulenames_
Definition: iDie.h:461
unsigned int nMaxReports_
Definition: iDie.h:454
unsigned int nProc_
Definition: iDie.h:450
unsigned int nSampledIdle_
Definition: iDie.h:448
unsigned int nSampledIdle2_
Definition: iDie.h:449
unsigned int nProc2_
Definition: iDie.h:451
unsigned int sumDeltaTms_
Definition: iDie.h:462
bool updated_
Definition: iDie.h:444
unsigned int ls_
Definition: iDie.h:443
unsigned int nSampledNonIdle2_
Definition: iDie.h:447
unsigned int nCPUBusy_
Definition: iDie.h:452
evf::iDie::lsStat::~lsStat ( )
inline

Definition at line 480 of file iDie.h.

References moduleSamplingSums.

480  {
481  delete moduleSamplingSums;
482  }
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465

Member Function Documentation

void evf::iDie::lsStat::calcStat ( )
inline

Definition at line 509 of file iDie.h.

References avgDeltaT2_, avgDeltaT_, evtTimeAvg, evtTimeErr, fracCPUBusy_, fracWaitingAvg, nbSubs_, nCPUBusy_, nProc2_, nProc_, nReports_, nSampledIdle2_, nSampledIdle_, nSampledNonIdle2_, nSampledNonIdle_, funct::pow(), rateAvg, rateErr, mathSSE::sqrt(), sumDeltaTms_, and updated_.

Referenced by getDt(), getEvtTime(), getEvtTimeErr(), getFracBusy(), getFracCPUBusy(), getNSampledNonIdle(), getOffenderFracAt(), getOffendersVector(), getRate(), getRateErr(), getRateErrPerMachine(), and getRatePerMachine().

510  {
511  if (!updated_) return;
512  if (nReports_) {
513  float tinv = 0.001/nReports_;
514  fracCPUBusy_=nCPUBusy_*tinv;
516  if (avgDeltaT_==0.) {
517  avgDeltaT_=23.;//default value
518  avgDeltaT2_=0;
519  }
521  rateErr=sqrt(fabs(nProc2_ - pow(nProc_,2)))/avgDeltaT_;
522  }
523  else {
524  fracCPUBusy_=0.;
525  rateAvg=0.;
526  rateErr=0.;
527  avgDeltaT_=23.;
528  }
529 
531  unsigned int sampled = nSampledNonIdle_+nSampledIdle_;
532  if (rateAvg!=0. && sampled) {
533  float nAllInv = 1./sampled;
534  fracWaitingAvg= nSampledIdle_*nAllInv;
535  double nSampledIdleErr2=fabs(nSampledIdle2_ - pow(nSampledIdle_,2));
536  double nSampledNonIdleErr2=fabs(nSampledNonIdle2_ - pow(nSampledNonIdle_,2));
537  double fracWaitingAvgErr= sqrt(
538  (pow(nSampledIdle_,2)*nSampledNonIdleErr2
539  + pow(nSampledNonIdle_,2)*nSampledIdleErr2))*pow(nAllInv,2);
540  float rateAvgInv=1./rateAvg;
541  evtTimeAvg=nbSubs_ * nReports_ * (1.-fracWaitingAvg)*rateAvgInv;
542  evtTimeErr = nbSubs_ * nReports_ * sqrt(pow(fracWaitingAvg*rateErr*pow(rateAvgInv,2),2) + pow(fracWaitingAvgErr*rateAvgInv,2));
543  }
544  updated_=false;
545  }
unsigned int nSampledNonIdle_
Definition: iDie.h:446
unsigned int nbSubs_
Definition: iDie.h:445
double rateAvg
Definition: iDie.h:455
double fracCPUBusy_
Definition: iDie.h:460
float avgDeltaT_
Definition: iDie.h:463
float avgDeltaT2_
Definition: iDie.h:464
unsigned int nReports_
Definition: iDie.h:453
double evtTimeErr
Definition: iDie.h:458
T sqrt(T t)
Definition: SSEVec.h:48
unsigned int nProc_
Definition: iDie.h:450
unsigned int nSampledIdle_
Definition: iDie.h:448
unsigned int nSampledIdle2_
Definition: iDie.h:449
unsigned int nProc2_
Definition: iDie.h:451
unsigned int sumDeltaTms_
Definition: iDie.h:462
bool updated_
Definition: iDie.h:444
double fracWaitingAvg
Definition: iDie.h:459
unsigned int nSampledNonIdle2_
Definition: iDie.h:447
double rateErr
Definition: iDie.h:456
double evtTimeAvg
Definition: iDie.h:457
unsigned int nCPUBusy_
Definition: iDie.h:452
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
void evf::iDie::lsStat::deleteModuleSamplingPtr ( )
inline

Definition at line 503 of file iDie.h.

References moduleSamplingSums, and nmodulenames_.

503  {
504  delete moduleSamplingSums;
505  moduleSamplingSums=nullptr;
506  nmodulenames_=0;
507  }
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465
unsigned int nmodulenames_
Definition: iDie.h:461
float evf::iDie::lsStat::getDt ( )
inline

Definition at line 600 of file iDie.h.

References avgDeltaT2_, calcStat(), and updated_.

Referenced by evf::iDie::updateRollingHistos().

600  {
601  if (updated_) calcStat();
602  return avgDeltaT2_;
603  }
float avgDeltaT2_
Definition: iDie.h:464
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
float evf::iDie::lsStat::getEvtTime ( )
inline

Definition at line 571 of file iDie.h.

References calcStat(), evtTimeAvg, and updated_.

Referenced by evf::iDie::updateRollingHistos().

571  {
572  if (updated_) calcStat();
573  return evtTimeAvg;
574  }
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
double evtTimeAvg
Definition: iDie.h:457
float evf::iDie::lsStat::getEvtTimeErr ( )
inline

Definition at line 576 of file iDie.h.

References calcStat(), evtTimeErr, and updated_.

576  {
577  if (updated_) calcStat();
578  return evtTimeErr;
579  }
double evtTimeErr
Definition: iDie.h:458
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
float evf::iDie::lsStat::getFracBusy ( )
inline

Definition at line 586 of file iDie.h.

References calcStat(), fracWaitingAvg, and updated_.

Referenced by evf::iDie::updateRollingHistos().

586  {
587  if (updated_) calcStat();
588  return 1.-fracWaitingAvg;
589  }
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
double fracWaitingAvg
Definition: iDie.h:459
float evf::iDie::lsStat::getFracCPUBusy ( )
inline

Definition at line 591 of file iDie.h.

References calcStat(), fracCPUBusy_, and updated_.

Referenced by evf::iDie::updateRollingHistos().

591  {
592  if (updated_) calcStat();
593  return fracCPUBusy_;
594  }
double fracCPUBusy_
Definition: iDie.h:460
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
std::pair<unsigned int,unsigned int>* evf::iDie::lsStat::getModuleSamplingPtr ( )
inline

Definition at line 499 of file iDie.h.

References moduleSamplingSums.

Referenced by evf::iDie::parseModuleHisto().

499  {
500  return moduleSamplingSums;
501  }
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465
unsigned int evf::iDie::lsStat::getNSampledNonIdle ( )
inline

Definition at line 581 of file iDie.h.

References calcStat(), nSampledNonIdle_, and updated_.

Referenced by evf::iDie::parseModuleHisto().

581  {
582  if (updated_) calcStat();
583  return nSampledNonIdle_;
584  }
unsigned int nSampledNonIdle_
Definition: iDie.h:446
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
float evf::iDie::lsStat::getOffenderFracAt ( unsigned int  x)
inline

Definition at line 630 of file iDie.h.

References calcStat(), first, i, moduleSamplingSums, nmodulenames_, nSampledIdle_, nSampledNonIdle_, pileupDistInMC::total, and updated_.

630  {
631  if (x<nmodulenames_) {
632  if (updated_) calcStat();
634  if (total>0.) {
635  for (size_t i=0;i<nmodulenames_;i++) {
636  if (moduleSamplingSums[i].first==x)
637  return moduleSamplingSums[i].second/total;
638  }
639  }
640  }
641  return 0.;
642  }
int i
Definition: DBlmapReader.cc:9
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465
unsigned int nSampledNonIdle_
Definition: iDie.h:446
unsigned int nmodulenames_
Definition: iDie.h:461
void calcStat()
Definition: iDie.h:509
unsigned int nSampledIdle_
Definition: iDie.h:448
bool first
Definition: L1TdeRCT.cc:94
bool updated_
Definition: iDie.h:444
Definition: DDAxes.h:10
std::vector<std::pair<unsigned int, unsigned int> > evf::iDie::lsStat::getOffendersVector ( )
inline

Definition at line 605 of file iDie.h.

References calcStat(), prof2calltree::count, first, MODNAMES, moduleSamplingSums, nmodulenames_, run_regression::ret, and updated_.

Referenced by evf::iDie::parseModuleHisto().

605  {
606  std::vector<std::pair<unsigned int, unsigned int>> ret;
607  if (updated_) calcStat();
608  if (moduleSamplingSums) {
609  //make a copy for sorting
610  std::pair<unsigned int,unsigned int> *moduleSumsCopy = new std::pair<unsigned int,unsigned int>[nmodulenames_];
611  memcpy(moduleSumsCopy,moduleSamplingSums,nmodulenames_*sizeof(std::pair<unsigned int,unsigned int>));
612 
613  std::qsort((void *)moduleSumsCopy, nmodulenames_,
614  sizeof(std::pair<unsigned int,unsigned int>), modlistSortFunction);
615 
616  unsigned int count=0;
617  unsigned int saveidx=0;
618  while (saveidx < MODNAMES && count<nmodulenames_)
619  {
620  if (moduleSumsCopy[count].first==2) {count++;continue;}
621  ret.push_back(moduleSumsCopy[count]);
622  saveidx++;
623  count++;
624  }
625  delete moduleSumsCopy;
626  }
627  return ret;
628  }
std::pair< unsigned int, unsigned int > * moduleSamplingSums
Definition: iDie.h:465
unsigned int nmodulenames_
Definition: iDie.h:461
void calcStat()
Definition: iDie.h:509
bool first
Definition: L1TdeRCT.cc:94
bool updated_
Definition: iDie.h:444
#define MODNAMES
Definition: iDie.h:55
int modlistSortFunction(const void *a, const void *b)
Definition: iDie.h:708
float evf::iDie::lsStat::getRate ( )
inline

Definition at line 547 of file iDie.h.

References calcStat(), rateAvg, and updated_.

Referenced by evf::iDie::updateRollingHistos().

547  {
548  if (updated_) calcStat();
549  return rateAvg;
550  }
double rateAvg
Definition: iDie.h:455
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
float evf::iDie::lsStat::getRateErr ( )
inline

Definition at line 552 of file iDie.h.

References calcStat(), rateErr, and updated_.

552  {
553  if (updated_) calcStat();
554  return rateErr;
555  }
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
double rateErr
Definition: iDie.h:456
float evf::iDie::lsStat::getRateErrPerMachine ( )
inline

Definition at line 564 of file iDie.h.

References calcStat(), nReports_, rateErr, and updated_.

564  {
565  if (updated_) calcStat();
566  if (nReports_)
567  return rateErr/(1.*nReports_);
568  return 0.;
569  }
unsigned int nReports_
Definition: iDie.h:453
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
double rateErr
Definition: iDie.h:456
float evf::iDie::lsStat::getRatePerMachine ( )
inline

Definition at line 557 of file iDie.h.

References calcStat(), nReports_, rateAvg, and updated_.

557  {
558  if (updated_) calcStat();
559  if (nReports_)
560  return rateAvg/(1.*nReports_);
561  return 0.;
562  }
double rateAvg
Definition: iDie.h:455
unsigned int nReports_
Definition: iDie.h:453
void calcStat()
Definition: iDie.h:509
bool updated_
Definition: iDie.h:444
unsigned int evf::iDie::lsStat::getReports ( )
inline

Definition at line 596 of file iDie.h.

References nReports_.

Referenced by evf::iDie::updateRollingHistos().

596  {
597  return nReports_;
598  }
unsigned int nReports_
Definition: iDie.h:453
void evf::iDie::lsStat::update ( unsigned int  nSampledNonIdle,
unsigned int  nSampledIdle,
unsigned int  nProc,
unsigned int  ncpubusy,
unsigned int  deltaTms 
)
inline

Definition at line 484 of file iDie.h.

References nCPUBusy_, nProc2_, nProc_, nReports_, nSampledIdle2_, nSampledIdle_, nSampledNonIdle2_, nSampledNonIdle_, funct::pow(), sumDeltaTms_, and updated_.

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), evf::iDie::parseModuleHisto(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

486  {
487  nReports_++;
488  nSampledNonIdle_+=nSampledNonIdle;
489  nSampledNonIdle2_+=pow(nSampledNonIdle,2);
490  nSampledIdle_+=nSampledIdle;
491  nSampledIdle2_+=pow(nSampledIdle,2);
492  nProc_+=nProc;
493  nProc2_+=pow(nProc,2);
494  nCPUBusy_+=ncpubusy;
495  sumDeltaTms_+=deltaTms;
496  updated_=true;
497  }
unsigned int nSampledNonIdle_
Definition: iDie.h:446
unsigned int nReports_
Definition: iDie.h:453
unsigned int nProc_
Definition: iDie.h:450
unsigned int nSampledIdle_
Definition: iDie.h:448
unsigned int nSampledIdle2_
Definition: iDie.h:449
unsigned int nProc2_
Definition: iDie.h:451
unsigned int sumDeltaTms_
Definition: iDie.h:462
bool updated_
Definition: iDie.h:444
unsigned int nSampledNonIdle2_
Definition: iDie.h:447
unsigned int nCPUBusy_
Definition: iDie.h:452
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40

Member Data Documentation

float evf::iDie::lsStat::avgDeltaT2_

Definition at line 464 of file iDie.h.

Referenced by calcStat(), and getDt().

float evf::iDie::lsStat::avgDeltaT_

Definition at line 463 of file iDie.h.

Referenced by calcStat().

double evf::iDie::lsStat::evtTimeAvg

Definition at line 457 of file iDie.h.

Referenced by calcStat(), and getEvtTime().

double evf::iDie::lsStat::evtTimeErr

Definition at line 458 of file iDie.h.

Referenced by calcStat(), and getEvtTimeErr().

double evf::iDie::lsStat::fracCPUBusy_

Definition at line 460 of file iDie.h.

Referenced by calcStat(), and getFracCPUBusy().

double evf::iDie::lsStat::fracWaitingAvg

Definition at line 459 of file iDie.h.

Referenced by calcStat(), and getFracBusy().

unsigned int evf::iDie::lsStat::ls_

Definition at line 443 of file iDie.h.

std::pair<unsigned int,unsigned int>* evf::iDie::lsStat::moduleSamplingSums
unsigned int evf::iDie::lsStat::nbSubs_

Definition at line 445 of file iDie.h.

Referenced by calcStat().

unsigned int evf::iDie::lsStat::nCPUBusy_

Definition at line 452 of file iDie.h.

Referenced by calcStat(), and update().

unsigned int evf::iDie::lsStat::nMaxReports_

Definition at line 454 of file iDie.h.

unsigned int evf::iDie::lsStat::nmodulenames_

Definition at line 461 of file iDie.h.

Referenced by deleteModuleSamplingPtr(), getOffenderFracAt(), getOffendersVector(), and lsStat().

unsigned int evf::iDie::lsStat::nProc2_

Definition at line 451 of file iDie.h.

Referenced by calcStat(), and update().

unsigned int evf::iDie::lsStat::nProc_

Definition at line 450 of file iDie.h.

Referenced by calcStat(), and update().

unsigned int evf::iDie::lsStat::nReports_

Definition at line 453 of file iDie.h.

Referenced by calcStat(), getRateErrPerMachine(), getRatePerMachine(), getReports(), and update().

unsigned int evf::iDie::lsStat::nSampledIdle2_

Definition at line 449 of file iDie.h.

Referenced by calcStat(), and update().

unsigned int evf::iDie::lsStat::nSampledIdle_

Definition at line 448 of file iDie.h.

Referenced by calcStat(), getOffenderFracAt(), and update().

unsigned int evf::iDie::lsStat::nSampledNonIdle2_

Definition at line 447 of file iDie.h.

Referenced by calcStat(), and update().

unsigned int evf::iDie::lsStat::nSampledNonIdle_

Definition at line 446 of file iDie.h.

Referenced by calcStat(), getNSampledNonIdle(), getOffenderFracAt(), and update().

double evf::iDie::lsStat::rateAvg

Definition at line 455 of file iDie.h.

Referenced by calcStat(), getRate(), and getRatePerMachine().

double evf::iDie::lsStat::rateErr

Definition at line 456 of file iDie.h.

Referenced by calcStat(), getRateErr(), and getRateErrPerMachine().

unsigned int evf::iDie::lsStat::sumDeltaTms_

Definition at line 462 of file iDie.h.

Referenced by calcStat(), and update().

bool evf::iDie::lsStat::updated_