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 99 of file utils.py.

Constructor & Destructor Documentation

def utils.StatisticalTest.__init__ (   self,
  threshold 
)

Definition at line 100 of file utils.py.

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

Member Function Documentation

def utils.StatisticalTest.do_test (   self)

Definition at line 162 of file utils.py.

Referenced by utils.StatisticalTest.get_rank().

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

Definition at line 112 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, EgammaTowerIsolationNew< NC >.h2, DQMSourceExample.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().

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

Definition at line 152 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, FWTGeoRecoGeometry::Info.name, Types._Untracked.name, cond::persistency::TAG::INSERTION_TIME.name, preexistingValidation.PreexistingValidation.name, dataset.BaseDataset.name, cond::persistency::TAG::MODIFICATION_TIME.name, OutputMEPSet.name, SummaryTableOutputBranches::NamedBranchPtr.name, personalPlayback.Applet.name, production_tasks.Task.name, fit::RootMinuitCommand.name, ParameterSet.name, PixelDCSObject< T >::Item.name, analyzer.Analyzer.name, DQMRivetClient::LumiOption.name, MagCylinder.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, Mapper::definition< ScannerT >.name, MyWatcher.name, edm::PathTimingSummary.name, nanoaod::MergeableCounterTable::VectorColumn< T >.name, alignment.Alignment.name, dirstructure.Weighted.name, cond::TimeTypeSpecs.name, lumi::TriggerInfo.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, validateAlignments.ParallelMergeJob.name, EcalLogicID.name, cond::persistency::GLOBAL_TAG_MAP::LABEL.name, MEtoEDM< T >::MEtoEDMObject.name, cond::persistency::GLOBAL_TAG_MAP::TAG_NAME.name, ExpressionHisto< T >.name, python.rootplot.utilities.Hist2D.name, XMLProcessor::_loaderBaseConfig.name, cond::persistency::PAYLOAD::HASH.name, TreeCrawler.Package.name, CaloTrkProcessing::Detector.name, cond::persistency::PAYLOAD::OBJECT_TYPE.name, genericValidation.GenericValidation.name, cond::persistency::PAYLOAD::DATA.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, DQMGenericClient::ProfileOption.name, dqmoffline::l1t::HistDefinition.name, DeepFlavourJetTagsProducer::MVAVar.name, DQMGenericClient::NormOption.name, BTagProbabilityToDiscriminator::Discriminator.name, emtf::Node.name, h4DSegm.name, core.TriggerMatchAnalyzer.TriggerMatchAnalyzer.name, PhysicsTools::Calibration::Variable.name, PhysicsTools::Variable::Value.name, FastHFShowerLibrary.name, DQMGenericClient::CDOption.name, TriggerObjectTableProducer::SelectedObject.name, CounterChecker.name, cond::TagInfo_t.name, looper.Looper.name, ProcTMVA::Method.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, classes.MonitorData.name, cond::persistency::IOV::PAYLOAD_HASH.name, PhysicsTools::TreeReader::Value.name, cond::persistency::IOV::INSERTION_TIME.name, HistogramManager.name, PhysicsTools::TrainProcessor.name, MuonGeometrySanityCheckPoint.name, FastTimerSD.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, core.TriggerBitAnalyzer.TriggerBitAnalyzer.name, python.rootplot.utilities.Hist.name, nanoaod::FlatTable::Column.name, config.Analyzer.name, geometry.Structure.name, core.autovars.NTupleSubObject.name, DQMNet::WaitObject.name, AlpgenParameterName.name, NanoAODDQM::SelGroupConfig.name, SiStripMonitorDigi.name, core.autovars.NTupleObject.name, config.Service.name, public_plots_tools.ColorScheme.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, dqm_interfaces.DirWalkerFile.name, BeautifulSoup.Tag.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, EcalEBTrigPrimTestAlgo.threshold, EcalTrigPrimFunctionalAlgo.threshold, edm::service::ELdestination.threshold, and SiStripHitEffFromCalibTree.threshold.

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

Member Data Documentation

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

Definition at line 106 of file utils.py.

Referenced by utils.StatisticalTest.get_rank().

utils.StatisticalTest.name
utils.StatisticalTest.rank

2D! return test_codes["2D"]

Definition at line 105 of file utils.py.

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

utils.StatisticalTest.threshold

Definition at line 104 of file utils.py.

Referenced by utils.StatisticalTest.get_status().