CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
plotting.FakeDuplicate Class Reference

Public Member Functions

def __init__ (self, name, assoc, dup, reco, title="")
 
def __str__ (self)
 
def create (self, tdirectory)
 

Private Attributes

 _assoc
 
 _dup
 
 _name
 
 _reco
 
 _title
 

Detailed Description

Class to calculate the fake+duplicate rate

Definition at line 677 of file plotting.py.

Constructor & Destructor Documentation

def plotting.FakeDuplicate.__init__ (   self,
  name,
  assoc,
  dup,
  reco,
  title = "" 
)
Constructor.

Arguments:
name  -- String for the name of the resulting efficiency histogram
assoc -- String for the name of the "associated" histogram
dup   -- String for the name of the "duplicates" histogram
reco  -- String for the name of the "reco" (denominator) histogram

Keyword arguments:
title  -- String for a title of the resulting histogram (default "")

The result is calculated as 1 - (assoc - dup) / reco

Definition at line 679 of file plotting.py.

679  def __init__(self, name, assoc, dup, reco, title=""):
680  """Constructor.
681 
682  Arguments:
683  name -- String for the name of the resulting efficiency histogram
684  assoc -- String for the name of the "associated" histogram
685  dup -- String for the name of the "duplicates" histogram
686  reco -- String for the name of the "reco" (denominator) histogram
687 
688  Keyword arguments:
689  title -- String for a title of the resulting histogram (default "")
690 
691  The result is calculated as 1 - (assoc - dup) / reco
692  """
693  self._name = name
694  self._assoc = assoc
695  self._dup = dup
696  self._reco = reco
697  self._title = title
698 
def __init__(self, name, assoc, dup, reco, title="")
Definition: plotting.py:679

Member Function Documentation

def plotting.FakeDuplicate.__str__ (   self)
def plotting.FakeDuplicate.create (   self,
  tdirectory 
)
Create and return the fake+duplicate histogram from a TDirectory

Definition at line 703 of file plotting.py.

References SpecialClusterImporter< T >._assoc, plotting.FakeDuplicate._assoc, plotting.FakeDuplicate._dup, plotting._getObject(), FP420HitsObject._name, TrackerHitsObject._name, PGeometricDet::Item._name, TrackingRecHitAlgorithm._name, LikelihoodSpecies._name, L1TMuon::PtAssignmentUnit._name, L1TMuon::PtRefinementUnit._name, LikelihoodPdfProduct._name, LikelihoodPdf._name, citk::IsolationConeDefinitionBase._name, Logger._name, hcaldqm::DQModule._name, DrellYanValidation._name, WValidation._name, HistoParams< T >._name, hcaldqm::flag::Flag._name, hcaldqm::quantity::Quantity._name, CutApplicatorBase._name, ElectronMVAEstimatorRun2Phys14NonTrig._name, PhotonMVAEstimatorRun2Spring15NonTrig._name, PhotonMVAEstimatorRun2Phys14NonTrig._name, GeometricDetExtra._name, ElectronMVAEstimatorRun2Spring15Trig._name, ElectronMVAEstimatorRun2Spring15NonTrig._name, HistoParams< TH2F >._name, HistoParams< TProfile2D >._name, Vispa.Views.PropertyView.Property._name, SequenceTypes.SequencePlaceholder._name, plotting.Subtract._name, plotting.Transform._name, plotting.FakeDuplicate._name, plotting.FakeDuplicate._reco, HistoParams< T >._title, SiStripHitEffFromCalibTree._title, HistoParams< TH2F >._title, HistoParams< TProfile2D >._title, html.PageSet._title, plotting.Subtract._title, plotting.Transform._title, html.HtmlReport._title, and plotting.FakeDuplicate._title.

703  def create(self, tdirectory):
704  """Create and return the fake+duplicate histogram from a TDirectory"""
705  # Get the numerator/denominator histograms
706  hassoc = _getObject(tdirectory, self._assoc)
707  hdup = _getObject(tdirectory, self._dup)
708  hreco = _getObject(tdirectory, self._reco)
709 
710  # Skip if any of them does not exist
711  if not hassoc or not hdup or not hreco:
712  return None
713 
714  hfakedup = hreco.Clone(self._name)
715  hfakedup.SetTitle(self._title)
716 
717  for i in xrange(1, hassoc.GetNbinsX()+1):
718  numerVal = hassoc.GetBinContent(i) - hdup.GetBinContent(i)
719  denomVal = hreco.GetBinContent(i)
720 
721  fakedupVal = (1 - numerVal / denomVal) if denomVal != 0.0 else 0.0
722  errVal = math.sqrt(fakedupVal*(1-fakedupVal)/denomVal) if (denomVal != 0.0 and fakedupVal <= 1) else 0.0
723 
724  hfakedup.SetBinContent(i, fakedupVal)
725  hfakedup.SetBinError(i, errVal)
726 
727  return hfakedup
728 
def create(self, tdirectory)
Definition: plotting.py:703
def _getObject(tdirectory, name)
Definition: plotting.py:45

Member Data Documentation

plotting.FakeDuplicate._assoc
private

Definition at line 694 of file plotting.py.

Referenced by plotting.FakeDuplicate.create().

plotting.FakeDuplicate._dup
private

Definition at line 695 of file plotting.py.

Referenced by plotting.FakeDuplicate.create().

plotting.FakeDuplicate._name
private
plotting.FakeDuplicate._reco
private

Definition at line 696 of file plotting.py.

Referenced by plotting.FakeDuplicate.create().

plotting.FakeDuplicate._title
private