CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Attributes
utils_v2.Chi2Test Class Reference
Inheritance diagram for utils_v2.Chi2Test:
utils_v2.StatisticalTest

Public Member Functions

def do_test
 
def enough_filled_bins
 
def make_absolute
 
- Public Member Functions inherited from utils_v2.StatisticalTest
def do_test
 
def get_N_bins
 
def is_empty
 

Static Public Attributes

string name = 'Chi2'
 
- Static Public Attributes inherited from utils_v2.StatisticalTest
 name = None
 

Detailed Description

Definition at line 347 of file utils_v2.py.

Member Function Documentation

def utils_v2.Chi2Test.do_test (   self,
  h1,
  h2 
)

Definition at line 367 of file utils_v2.py.

References utils_v2.Chi2Test.enough_filled_bins(), utils_v2.StatisticalTest.get_N_bins(), and utils_v2.Chi2Test.make_absolute().

368  def do_test(self, h1, h2):
369  p_value = super(Chi2Test, self).do_test(h1, h2)
370  if p_value is not None:
371  return p_value
372 
373  bin_count = self.get_N_bins(h1)
374 
375  # Make histograms absolute.
376  self.make_absolute(h1, bin_count)
377  self.make_absolute(h2, bin_count)
378 
379  # Check if there is enough filled bins in bouth histograms.
380  if not self.enough_filled_bins(h1, bin_count) or\
381  not self.enough_filled_bins(h2, bin_count):
382  return 1
383 
384  if h1.InheritsFrom("TProfile") or (h1.GetEntries() != h1.GetSumOfWeights()):
385  return h1.Chi2Test(h2, 'WW')
386  return h1.Chi2Test(h2, 'UU')
387 
def enough_filled_bins
Definition: utils_v2.py:358
def utils_v2.Chi2Test.enough_filled_bins (   self,
  h,
  bin_count,
  more_than = 3 
)

Definition at line 358 of file utils_v2.py.

References sistrip::SpyUtilities.range().

Referenced by utils_v2.Chi2Test.do_test().

359  def enough_filled_bins(self, h, bin_count, more_than=3):
360  filled_bins = 0
361  for i in range(1, bin_count):
362  if h.GetBinContent(i) > 0:
363  filled_bins += 1
364  if filled_bins > more_than:
365  return True
366  return False
def enough_filled_bins
Definition: utils_v2.py:358
const uint16_t range(const Frame &aFrame)
def utils_v2.Chi2Test.make_absolute (   self,
  h,
  bin_count 
)

Definition at line 350 of file utils_v2.py.

References sistrip::SpyUtilities.range().

Referenced by utils_v2.Chi2Test.do_test().

351  def make_absolute(self, h, bin_count):
352  for i in range(1, bin_count): # Why here is no +1?
353  content = h.GetBinContent(i)
354  if content < 0:
355  h.SetBinContent(i, -1 * content)
356  if h.GetBinError(i) == 0 and content != 0:
357  h.SetBinContent(i, 0)
const uint16_t range(const Frame &aFrame)

Member Data Documentation

string utils_v2.Chi2Test.name = 'Chi2'
static

Definition at line 348 of file utils_v2.py.

Referenced by config.CFG.__str__(), geometryComparison.GeometryComparison.createScript(), validation.Sample.digest(), primaryVertexResolution.PrimaryVertexResolution.getRepMap(), primaryVertexValidation.PrimaryVertexValidation.getRepMap(), zMuMuValidation.ZMuMuValidation.getRepMap(), and VIDSelectorBase.VIDSelectorBase.initialize().