CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
utils.StatisticalTest Class Reference
Inheritance diagram for utils.StatisticalTest:
utils.BinToBin utils.BinToBin1percent utils.Chi2 utils.KS

Public Member Functions

def __init__ (self, threshold)
 
def do_test (self)
 
def get_rank (self)
 
def get_status (self)
 
def set_operands (self, h1, h2)
 

Public Attributes

 h1
 
 h2
 
 is_init
 
 name
 
 rank
 2D! return test_codes["2D"] More...
 
 threshold
 

Detailed Description

Definition at line 100 of file utils.py.

Constructor & Destructor Documentation

def utils.StatisticalTest.__init__ (   self,
  threshold 
)

Definition at line 101 of file utils.py.

101  def __init__(self,threshold):
102  self.name=""
103  self.h1=None
104  self.h2=None
105  self.threshold=float(threshold)
106  self.rank=-1
107  self.is_init=False
108 
def __init__(self, threshold)
Definition: utils.py:101
rank
2D! return test_codes["2D"]
Definition: utils.py:106

Member Function Documentation

def utils.StatisticalTest.do_test (   self)

Definition at line 163 of file utils.py.

Referenced by utils.StatisticalTest.get_rank().

163  def do_test(self):
164  pass
165 
166 #-------------------------------------------------------------------------------
167 
def do_test(self)
Definition: utils.py:163
def utils.StatisticalTest.get_rank (   self)

Definition at line 113 of file utils.py.

References utils.StatisticalTest.do_test(), utils.getNbins(), FitSlicesYTool.h1, ConfigurableHisto.h1, DQMSourceExample.h1, utils.StatisticalTest.h1, PlotAlignmentValidation::DMRPlotInfo.h1, FitSlicesYTool.h2, EgammaTowerIsolationNew< NC >::Sum.h2, ConfigurableHisto.h2, DQMSourceExample.h2, EgammaTowerIsolationNew< NC >.h2, utils.StatisticalTest.h2, PlotAlignmentValidation::DMRPlotInfo.h2, utils.is_empty(), utils.StatisticalTest.is_init, utils.StatisticalTest.rank, l1t::EMTFTrack.rank, and dirstructure.Comparison.rank.

Referenced by utils.StatisticalTest.get_status().

113  def get_rank(self):
114  if not self.is_init:
115  if self.rank < 0:
116  type1=type(self.h1)
117  type2=type(self.h2)
118  if (type1 != type2):
119  logger(1,"*** ERROR: object types in comparison don't match: %s!=%s" %(type1,type2))
120  self.rank=test_codes["DIFF_TYPES"]
121  elif not self.h2.InheritsFrom("TH1"):
122  logger(1,"*** ERROR: object type is not histogram but a %s" %(type1))
123  self.rank=test_codes["NO_HIST"]
124  # if histos are empty
125  #elif self.h1.InheritsFrom("TH2") and not "BinToBin" in self.name:
126  ## 2D!
127  #return test_codes["2D"]
128  else:
129  is_empty1=is_empty(self.h1)
130  is_empty2=is_empty(self.h2)
131  are_empty=is_empty1 and is_empty2
132  one_empty=is_empty1 or is_empty2
133 
134  Nbins1= getNbins(self.h1)
135  Nbins2= getNbins(self.h2)
136 
137  if are_empty:
138  #return -103
139  # Conversation with JeanRoch and David 5 April
140  return 1
141  elif one_empty:
142  # Due conversation with Giovanni on 2015-09-10
143  return 0
144 
145  # if histos have different number of bins
146  if Nbins1!=Nbins2:
147  return test_codes["DIFF_BIN"]
148 
149  self.rank=self.do_test()
150  self.is_init=True
151  return self.rank
152 
def get_rank(self)
Definition: utils.py:113
def do_test(self)
Definition: utils.py:163
Definition: logger.py:1
def getNbins(h)
Definition: utils.py:90
def is_empty(h)
Definition: utils.py:168
rank
2D! return test_codes["2D"]
Definition: utils.py:106
def utils.StatisticalTest.get_status (   self)

Definition at line 153 of file utils.py.

References utils.StatisticalTest.get_rank(), ElectronMVAID.ElectronMVAID.name, counter.Counter.name, average.Average.name, histograms.Histograms.name, AlignableObjectId::entry.name, TmModule.name, cond::persistency::TAG::NAME.name, cond::persistency::GLOBAL_TAG::NAME.name, core.autovars.NTupleVariable.name, cond::persistency::RUN_INFO::RUN_NUMBER.name, cond::persistency::TAG::TIME_TYPE.name, cond::persistency::GLOBAL_TAG::VALIDITY.name, cond::persistency::RUN_INFO::START_TIME.name, cond::persistency::TAG::OBJECT_TYPE.name, cond::persistency::GLOBAL_TAG::DESCRIPTION.name, cond::persistency::RUN_INFO::END_TIME.name, cond::persistency::TAG::SYNCHRONIZATION.name, cond::persistency::GLOBAL_TAG::RELEASE.name, MEPSet.name, cond::persistency::TAG::END_OF_VALIDITY.name, cond::persistency::GLOBAL_TAG::SNAPSHOT_TIME.name, cond::persistency::GTEditorData.name, cond::persistency::TAG::DESCRIPTION.name, cond::persistency::GLOBAL_TAG::INSERTION_TIME.name, nanoaod::MergeableCounterTable::SingleColumn< T >.name, cond::persistency::TAG::LAST_VALIDATED_TIME.name, cond::persistency::TAG::INSERTION_TIME.name, cond::persistency::TAG::MODIFICATION_TIME.name, preexistingValidation.PreexistingValidation.name, FWTGeoRecoGeometry::Info.name, Types._Untracked.name, dataset.BaseDataset.name, OutputMEPSet.name, SummaryTableOutputBranches::NamedBranchPtr.name, fit::RootMinuitCommand.name, personalPlayback.Applet.name, ParameterSet.name, PixelDCSObject< T >::Item.name, production_tasks.Task.name, DQMRivetClient::LumiOption.name, MagCylinder.name, analyzer.Analyzer.name, CharmTagger::MVAVar.name, HcalForwardLibWriter::FileHandle.name, TriggerOutputBranches::NamedBranchPtr.name, PFTauMVAInputDiscriminantTranslator::DiscriminantInfo.name, PrintSensitive.name, ParSet.name, TableOutputBranches::NamedBranchPtr.name, DQMRivetClient::ScaleFactorOption.name, RHStopTracer::StopPoint.name, EgHLTOfflineSummaryClient::SumHistBinData.name, PhysicsTools::Source.name, SingleObjectCondition.name, cond::persistency::GTProxyData.name, core.autovars.NTupleObjectType.name, MyWatcher.name, edm::PathTimingSummary.name, nanoaod::MergeableCounterTable::VectorColumn< T >.name, cms::DDAlgoArguments.name, cond::TimeTypeSpecs.name, lumi::TriggerInfo.name, dirstructure.Weighted.name, alignment.Alignment.name, PrintMaterialBudgetInfo.name, edm::PathSummary.name, PixelEndcapLinkMaker::Item.name, perftools::EdmEventSize::BranchRecord.name, cond::persistency::GLOBAL_TAG_MAP::GLOBAL_TAG_NAME.name, DQMGenericClient::EfficOption.name, FWTableViewManager::TableEntry.name, cond::persistency::GLOBAL_TAG_MAP::RECORD.name, PixelBarrelLinkMaker::Item.name, EcalLogicID.name, cond::persistency::GLOBAL_TAG_MAP::LABEL.name, validateAlignments.ParallelMergeJob.name, MEtoEDM< T >::MEtoEDMObject.name, cond::persistency::GLOBAL_TAG_MAP::TAG_NAME.name, ExpressionHisto< T >.name, XMLProcessor::_loaderBaseConfig.name, python.rootplot.utilities.Hist2D.name, cond::persistency::PAYLOAD::HASH.name, cond::persistency::PAYLOAD::OBJECT_TYPE.name, CaloTrkProcessing::Detector.name, cond::persistency::PAYLOAD::DATA.name, genericValidation.GenericValidation.name, TreeCrawler.Package.name, PrintGeomInfoAction.name, cond::persistency::PAYLOAD::STREAMER_INFO.name, cond::persistency::PAYLOAD::VERSION.name, options.ConnectionHLTMenu.name, MagGeoBuilderFromDDD::volumeHandle.name, cond::persistency::PAYLOAD::INSERTION_TIME.name, DisplayManager.DisplayManager.name, MVAVar.name, DQMGenericClient::ProfileOption.name, dqmoffline::l1t::HistDefinition.name, DQMGenericClient::NormOption.name, emtf::Node.name, BTagProbabilityToDiscriminator::Discriminator.name, h4DSegm.name, PhysicsTools::Calibration::Variable.name, PhysicsTools::Variable::Value.name, FastHFShowerLibrary.name, core.TriggerMatchAnalyzer.TriggerMatchAnalyzer.name, DQMGenericClient::CDOption.name, TriggerObjectTableProducer::SelectedObject.name, CounterChecker.name, cond::TagInfo_t.name, ProcTMVA::Method.name, looper.Looper.name, TreeSaver::Var.name, DQMGenericClient::NoFlowOption.name, python.rootplot.tree2hists.Plot.name, cond::persistency::IOV::TAG_NAME.name, TrackerSectorStruct.name, EDMtoMEConverter.name, cond::persistency::IOV::SINCE.name, Mapper::definition< ScannerT >.name, cond::persistency::IOV::PAYLOAD_HASH.name, classes.MonitorData.name, PhysicsTools::TreeReader::Value.name, cond::persistency::IOV::INSERTION_TIME.name, HistogramManager.name, PhysicsTools::TrainProcessor.name, MuonGeometrySanityCheckPoint.name, classes.OutputData.name, PhysicsTools::MVAModuleHelper< Record, Object, Filler >::Value.name, PhysicsTools::ProcessRegistry< Base_t, CalibBase_t, Parent_t >.name, utils.StatisticalTest.name, PhysicsTools::MVATrainer.name, options.HLTProcessOptions.name, h2DSegm.name, python.rootplot.utilities.Hist.name, core.TriggerBitAnalyzer.TriggerBitAnalyzer.name, nanoaod::FlatTable::Column.name, geometry.Structure.name, config.Analyzer.name, core.autovars.NTupleSubObject.name, DQMNet::WaitObject.name, AlpgenParameterName.name, NanoAODDQM::SelGroupConfig.name, SiStripMonitorDigi.name, core.autovars.NTupleObject.name, public_plots_tools.ColorScheme.name, config.Service.name, PhysicsTools::Variable.name, cond::persistency::TAG_LOG::TAG_NAME.name, cond::persistency::TAG_LOG::EVENT_TIME.name, cond::persistency::TAG_LOG::USER_NAME.name, cond::persistency::TAG_LOG::HOST_NAME.name, cond::persistency::TAG_LOG::COMMAND.name, cond::persistency::TAG_LOG::ACTION.name, PhysicsTools::TrainerMonitoring::Object.name, cond::persistency::TAG_LOG::USER_TEXT.name, core.autovars.NTupleCollection.name, BPHRecoBuilder::BPHRecoSource.name, BPHRecoBuilder::BPHCompSource.name, personalPlayback.FrameworkJob.name, plotscripts.SawTeethFunction.name, dirstructure.Comparison.name, dqm_interfaces.DirID.name, python.rootplot.utilities.RootFile.name, crabFunctions.CrabTask.name, hTMaxCell.name, cscdqm::ParHistoDef.name, BeautifulSoup.Tag.name, dqm_interfaces.DirWalkerFile.name, Id.name, SummaryOutputProducer::GenericSummary.name, BeautifulSoup.SoupStrainer.name, utils.StatisticalTest.rank, l1t::EMTFTrack.rank, dirstructure.Comparison.rank, muonisolation::Cuts::CutSpec.threshold, EcalTPGFineGrainStripEE::Item.threshold, GaussNoiseFP420.threshold, SiGaussianTailNoiseAdder.threshold, JetVertexMain.threshold, HLTLogMonitorFilter::CategoryEntry.threshold, SingleObjectCondition.threshold, MatchJet.threshold, FastLineRecognition.threshold, CondFormats_ESObjects::dictionary.threshold, SingleObjectTrigger.threshold, TotemRPUVPatternFinder.threshold, MuIsolatorResultProducer< BT >::DepositConf.threshold, edm::service::MessageLoggerDefaults::Category.threshold, edm::MessageLoggerQ.threshold, edm::service::MessageLoggerDefaults::Destination.threshold, IsASeed.threshold, utils.StatisticalTest.threshold, EcalTrigPrimFunctionalAlgo.threshold, EcalEBTrigPrimTestAlgo.threshold, edm::service::ELdestination.threshold, and SiStripHitEffFromCalibTree.threshold.

153  def get_status(self):
154  status = SUCCESS
155  if self.get_rank()<0:
156  status=NULL
157  logger(0,"+++ Test %s FAILED: rank is %s and threshold is %s ==> %s" %(self.name, self.rank, self.threshold, status))
158  elif self.get_rank() < self.threshold:
159  status=FAIL
160  logger(0,"+++ Test %s: rank is %s and threshold is %s ==> %s" %(self.name, self.rank, self.threshold, status))
161  return status
162 
def get_status(self)
Definition: utils.py:153
def get_rank(self)
Definition: utils.py:113
Definition: logger.py:1
rank
2D! return test_codes["2D"]
Definition: utils.py:106
def utils.StatisticalTest.set_operands (   self,
  h1,
  h2 
)

Member Data Documentation

utils.StatisticalTest.h1
utils.StatisticalTest.h2
utils.StatisticalTest.is_init

Definition at line 107 of file utils.py.

Referenced by utils.StatisticalTest.get_rank().

utils.StatisticalTest.name
utils.StatisticalTest.rank

2D! return test_codes["2D"]

Definition at line 106 of file utils.py.

Referenced by utils.StatisticalTest.get_rank(), and utils.StatisticalTest.get_status().

utils.StatisticalTest.threshold

Definition at line 105 of file utils.py.

Referenced by utils.StatisticalTest.get_status().