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  GeneralTracksPt09
 
class  HighPurity
 
class  HighPurityPt09
 
class  Pixel
 

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 930 of file trackingPlots.py.

Constructor & Destructor Documentation

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

Definition at line 939 of file trackingPlots.py.

Member Function Documentation

def trackingPlots.TrackingSummaryTable.create (   self,
  tdirectory 
)

Definition at line 954 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.

954  def create(self, tdirectory):
955  def _getAlgoQuality(data, algo, quality):
956  for label, value in data.iteritems():
957  (a, q) = _mapCollectionToAlgoQuality(label)
958  if a == algo and q == quality:
959  return value[0] # value is (value, uncertainty) tuple
960  return None
961  def _getN(hname):
962  h = tdirectory.Get(hname)
963  if not h:
964  return None
967  return _getAlgoQuality(data, "ootb", "")
969  return _getAlgoQuality(data, "ootb", "Pt09")
971  return _getAlgoQuality(data, "ootb", "highPurity")
973  return _getAlgoQuality(data, "ootb", "highPurityPt09")
975  return _getAlgoQuality(data, "btvLike", "")
977  return _getAlgoQuality(data, "ak4PFJets", "")
979  return _getAlgoQuality(data, "pixel", "")
980  else:
981  raise Exception("Collection not recognized, %s" % str(self._collection))
982  def _formatOrNone(num, func):
983  if num is None:
984  return None
985  return func(num)
986 
987  n_tps = _formatOrNone(_getN("num_simul_coll"), int)
988  n_m_tps = _formatOrNone(_getN("num_assoc(simToReco)_coll"), int)
989 
990  n_tracks = _formatOrNone(_getN("num_reco_coll"), int)
991  n_true = _formatOrNone(_getN("num_assoc(recoToSim)_coll"), int)
992  if n_tracks is not None and n_true is not None:
993  n_fake = n_tracks-n_true
994  else:
995  n_fake = None
996  n_pileup = _formatOrNone(_getN("num_pileup_coll"), int)
997  n_duplicate = _formatOrNone(_getN("num_duplicate_coll"), int)
998 
999  eff = _formatOrNone(_getN("effic_vs_coll"), lambda n: "%.4f" % n)
1000  eff_nopt = _formatOrNone(_getN("effic_vs_coll_allPt"), lambda n: "%.4f" % n)
1001  fake = _formatOrNone(_getN("fakerate_vs_coll"), lambda n: "%.4f" % n)
1002  duplicate = _formatOrNone(_getN("duplicatesRate_coll"), lambda n: "%.4f" % n)
1003 
1004  ret = [eff, n_tps, n_m_tps,
1005  eff_nopt, fake, duplicate,
1006  n_tracks, n_true, n_fake, n_pileup, n_duplicate]
1007  if ret.count(None) == len(ret):
1008  return None
1009  return ret
1010 
def _mapCollectionToAlgoQuality(collName)
def _th1ToOrderedDict(th1, renameBin=None)
Definition: plotting.py:97
def trackingPlots.TrackingSummaryTable.getPage (   self)
def trackingPlots.TrackingSummaryTable.getPurpose (   self)
def trackingPlots.TrackingSummaryTable.getSection (   self,
  dqmSubFolder 
)
def trackingPlots.TrackingSummaryTable.headers (   self)

Definition at line 1011 of file trackingPlots.py.

1011  def headers(self):
1012  return [
1013  "Efficiency",
1014  "Number of TrackingParticles (after cuts)",
1015  "Number of matched TrackingParticles",
1016  "Efficiency (w/o pT cut)",
1017  "Fake rate",
1018  "Duplicate rate",
1019  "Number of tracks",
1020  "Number of true tracks",
1021  "Number of fake tracks",
1022  "Number of pileup tracks",
1023  "Number of duplicate tracks"
1024  ]
1025 
1026 # Provide a "PlotGroup" interface, but provide a html page

Member Data Documentation

trackingPlots.TrackingSummaryTable._collection
private

Definition at line 940 of file trackingPlots.py.

Referenced by trackingPlots.TrackingSummaryTable.create().

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