CMS 3D CMS Logo

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

Public Member Functions

def __call__ (self, tdirectory, labels)
 
def __init__ (self)
 

Private Member Functions

def _findOrder (self, f)
 

Private Attributes

 _cache
 

Detailed Description

Definition at line 1717 of file trackingPlots.py.

Constructor & Destructor Documentation

def trackingPlots.TrackingIterationOrder.__init__ (   self)

Member Function Documentation

def trackingPlots.TrackingIterationOrder.__call__ (   self,
  tdirectory,
  labels 
)

Definition at line 1732 of file trackingPlots.py.

References DTCache< T, Coll >._cache, tkal_create_file_lists.FileListCreator._cache, L1MuDTTrackFinder._cache, L1MuBMTrackFinder._cache, DTTrig._cache, trackingPlots.TimePerEventPlot._cache, trackingPlots.TrackingIterationOrder._cache, trackingPlots.TrackingIterationOrder._findOrder(), and list().

1732  def __call__(self, tdirectory, labels):
1733  ret = list(range(0, len(labels)))
1734  f = tdirectory.GetFile()
1735  if not f:
1736  return ret
1737 
1738  if not f.GetName() in self._cache:
1739  r = self._findOrder(f)
1740  if r is None:
1741  return ret
1742  self._cache[f.GetName()] = r
1743  order = self._cache[f.GetName()]
1744 
1745  # O(N^2) I know, but we're talking about O(10) elements...
1746  orderIndices = []
1747  for l in order:
1748  try:
1749  orderIndices.append(labels.index(l))
1750  except ValueError:
1751  pass
1752  ret = []
1753  for i, l in enumerate(labels):
1754  if l in order:
1755  try:
1756  found = orderIndices.index(i)
1757  if found == 0:
1758  ret.append(i)
1759  else:
1760  ret.append(orderIndices[0])
1761  except ValueError:
1762  ret.append(orderIndices[0])
1763  orderIndices.pop(0)
1764  else:
1765  ret.append(i)
1766  return ret
1767 
def __call__(self, tdirectory, labels)
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
def trackingPlots.TrackingIterationOrder._findOrder (   self,
  f 
)
private

Definition at line 1721 of file trackingPlots.py.

References python.rootplot.root2matplotlib.replace().

Referenced by trackingPlots.TrackingIterationOrder.__call__().

1721  def _findOrder(self, f):
1722  h = f.Get(_trackingIterationOrderHistogram)
1723  if not h:
1724  return None
1725  xaxis = h.GetXaxis()
1726  def _edit(s):
1727  # remove "Tracks" from the track producer name to get the iteration name
1728  # muonSeeded iterations do not have "Step" in the producer name, so add it here
1729  return s.replace("Tracks", "").replace("muonSeeded", "muonSeededStep")
1730  return [_edit(xaxis.GetBinLabel(i)) for i in range(1, h.GetNbinsX()+1)]
1731 
def replace(string, replacements)

Member Data Documentation

trackingPlots.TrackingIterationOrder._cache
private

Definition at line 1719 of file trackingPlots.py.

Referenced by trackingPlots.TrackingIterationOrder.__call__().