CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
trackingPlots.TrackingSummaryTable Class Reference

Classes

class  AK4PFJets
 
class  BTVLike
 
class  GeneralTracks
 
class  HighPurity
 

Public Member Functions

def __init__ (self, section, collection=GeneralTracks)
 
def create (self, tdirectory)
 
def getPage (self)
 
def getPurpose (self)
 
def getSection (self, dqmSubFolder)
 
def headers (self)
 

Private Attributes

 _collection
 
 _page
 
 _purpose
 
 _section
 

Detailed Description

Definition at line 847 of file trackingPlots.py.

Constructor & Destructor Documentation

def trackingPlots.TrackingSummaryTable.__init__ (   self,
  section,
  collection = GeneralTracks 
)

Definition at line 853 of file trackingPlots.py.

Member Function Documentation

def trackingPlots.TrackingSummaryTable.create (   self,
  tdirectory 
)

Definition at line 868 of file trackingPlots.py.

References SequenceTypes._SequenceCollection._collection, trackingPlots.TrackingSummaryTable._collection, SequenceTypes.Task._collection, trackingPlots._mapCollectionToAlgoQuality(), plotting._th1ToOrderedDict(), RecoEcal_EventContent_cff.func, and harvestTrackValidationPlots.str.

868  def create(self, tdirectory):
869  def _getAlgoQuality(data, algo, quality):
870  for label, value in data.iteritems():
871  (a, q) = _mapCollectionToAlgoQuality(label)
872  if a == algo and q == quality:
873  return value[0] # value is (value, uncertainty) tuple
874  return None
875  def _getN(hname):
876  h = tdirectory.Get(hname)
877  if not h:
878  return None
881  return _getAlgoQuality(data, "ootb", "")
883  return _getAlgoQuality(data, "ootb", "highPurity")
885  return _getAlgoQuality(data, "btvLike", "")
887  return _getAlgoQuality(data, "ak4PFJets", "")
888  else:
889  raise Exception("Collection not recognized, %s" % str(self._collection))
890  def _formatOrNone(num, func):
891  if num is None:
892  return None
893  return func(num)
894 
895  n_tps = _formatOrNone(_getN("num_simul_coll"), int)
896  n_m_tps = _formatOrNone(_getN("num_assoc(simToReco)_coll"), int)
897 
898  n_tracks = _formatOrNone(_getN("num_reco_coll"), int)
899  n_true = _formatOrNone(_getN("num_assoc(recoToSim)_coll"), int)
900  if n_tracks is not None and n_true is not None:
901  n_fake = n_tracks-n_true
902  else:
903  n_fake = None
904  n_pileup = _formatOrNone(_getN("num_pileup_coll"), int)
905  n_duplicate = _formatOrNone(_getN("num_duplicate_coll"), int)
906 
907  eff = _formatOrNone(_getN("effic_vs_coll"), lambda n: "%.4f" % n)
908  eff_nopt = _formatOrNone(_getN("effic_vs_coll_allPt"), lambda n: "%.4f" % n)
909  fake = _formatOrNone(_getN("fakerate_vs_coll"), lambda n: "%.4f" % n)
910  duplicate = _formatOrNone(_getN("duplicatesRate_coll"), lambda n: "%.4f" % n)
911 
912  ret = [eff, n_tps, n_m_tps,
913  eff_nopt, fake, duplicate,
914  n_tracks, n_true, n_fake, n_pileup, n_duplicate]
915  if ret.count(None) == len(ret):
916  return None
917  return ret
918 
def _mapCollectionToAlgoQuality(collName)
def _th1ToOrderedDict(th1, renameBin=None)
Definition: plotting.py:96
def trackingPlots.TrackingSummaryTable.getPage (   self)
def trackingPlots.TrackingSummaryTable.getPurpose (   self)
def trackingPlots.TrackingSummaryTable.getSection (   self,
  dqmSubFolder 
)
def trackingPlots.TrackingSummaryTable.headers (   self)

Definition at line 919 of file trackingPlots.py.

919  def headers(self):
920  return [
921  "Efficiency",
922  "Number of TrackingParticles (after cuts)",
923  "Number of matched TrackingParticles",
924  "Efficiency (w/o pT cut)",
925  "Fake rate",
926  "Duplicate rate",
927  "Number of tracks",
928  "Number of true tracks",
929  "Number of fake tracks",
930  "Number of pileup tracks",
931  "Number of duplicate tracks"
932  ]
933 

Member Data Documentation

trackingPlots.TrackingSummaryTable._collection
private

Definition at line 854 of file trackingPlots.py.

Referenced by trackingPlots.TrackingSummaryTable.create().

trackingPlots.TrackingSummaryTable._page
private
trackingPlots.TrackingSummaryTable._purpose
private
trackingPlots.TrackingSummaryTable._section
private