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

Constructor & Destructor Documentation

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

Definition at line 954 of file trackingPlots.py.

Member Function Documentation

def trackingPlots.TrackingSummaryTable.create (   self,
  tdirectory 
)

Definition at line 969 of file trackingPlots.py.

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

969  def create(self, tdirectory):
970  def _getAlgoQuality(data, algo, quality):
971  for label, value in six.iteritems(data):
972  (a, q) = _mapCollectionToAlgoQuality(label)
973  if a == algo and q == quality:
974  return value[0] # value is (value, uncertainty) tuple
975  return None
976  def _getN(hname):
977  h = tdirectory.Get(hname)
978  if not h:
979  return None
982  return _getAlgoQuality(data, "ootb", "")
984  return _getAlgoQuality(data, "ootb", "Pt09")
986  return _getAlgoQuality(data, "ootb", "highPurity")
988  return _getAlgoQuality(data, "ootb", "highPurityPt09")
990  return _getAlgoQuality(data, "btvLike", "")
992  return _getAlgoQuality(data, "ak4PFJets", "")
994  return _getAlgoQuality(data, "pixel", "")
995  else:
996  raise Exception("Collection not recognized, %s" % str(self._collection))
997  def _formatOrNone(num, func):
998  if num is None:
999  return None
1000  return func(num)
1001 
1002  n_tps = _formatOrNone(_getN("num_simul_coll"), int)
1003  n_m_tps = _formatOrNone(_getN("num_assoc(simToReco)_coll"), int)
1004 
1005  n_tracks = _formatOrNone(_getN("num_reco_coll"), int)
1006  n_true = _formatOrNone(_getN("num_assoc(recoToSim)_coll"), int)
1007  if n_tracks is not None and n_true is not None:
1008  n_fake = n_tracks-n_true
1009  else:
1010  n_fake = None
1011  n_pileup = _formatOrNone(_getN("num_pileup_coll"), int)
1012  n_duplicate = _formatOrNone(_getN("num_duplicate_coll"), int)
1013 
1014  eff = _formatOrNone(_getN("effic_vs_coll"), lambda n: "%.4f" % n)
1015  eff_nopt = _formatOrNone(_getN("effic_vs_coll_allPt"), lambda n: "%.4f" % n)
1016  fake = _formatOrNone(_getN("fakerate_vs_coll"), lambda n: "%.4f" % n)
1017  duplicate = _formatOrNone(_getN("duplicatesRate_coll"), lambda n: "%.4f" % n)
1018 
1019  ret = [eff, n_tps, n_m_tps,
1020  eff_nopt, fake, duplicate,
1021  n_tracks, n_true, n_fake, n_pileup, n_duplicate]
1022  if ret.count(None) == len(ret):
1023  return None
1024  return ret
1025 
def _mapCollectionToAlgoQuality(collName)
#define str(s)
def _th1ToOrderedDict(th1, renameBin=None)
Definition: plotting.py:101
def trackingPlots.TrackingSummaryTable.getPage (   self)
def trackingPlots.TrackingSummaryTable.getPurpose (   self)
def trackingPlots.TrackingSummaryTable.getSection (   self,
  dqmSubFolder 
)
def trackingPlots.TrackingSummaryTable.headers (   self)

Definition at line 1026 of file trackingPlots.py.

1026  def headers(self):
1027  return [
1028  "Efficiency",
1029  "Number of TrackingParticles (after cuts)",
1030  "Number of matched TrackingParticles",
1031  "Efficiency (w/o pT cut)",
1032  "Fake rate",
1033  "Duplicate rate",
1034  "Number of tracks",
1035  "Number of true tracks",
1036  "Number of fake tracks",
1037  "Number of pileup tracks",
1038  "Number of duplicate tracks"
1039  ]
1040 
1041 # Provide a "PlotGroup" interface, but provide a html page

Member Data Documentation

trackingPlots.TrackingSummaryTable._collection
private

Definition at line 955 of file trackingPlots.py.

Referenced by trackingPlots.TrackingSummaryTable.create().

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