CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
trackingPlots.TrackingPlotFolder Class Reference
Inheritance diagram for trackingPlots.TrackingPlotFolder:
plotting.PlotFolder

Public Member Functions

def __init__ (self, *args, **kwargs)
 
def isAlgoIterative (self, algo)
 
def iterSelectionName (self, plotFolderName, translatedDqmSubFolder)
 
def limitSubFolder (self, limitOnlyTo, translatedDqmSubFolder)
 
def translateSubFolder (self, dqmSubFolderName)
 
- Public Member Functions inherited from plotting.PlotFolder
def append (self, plotGroup)
 
def create (self, dirsNEvents, labels, isPileupSample=True, requireAllHistograms=False)
 
def draw (self, prefix=None, separate=False, saveFormat=".pdf", ratio=True, directory="")
 
def getNumberOfEventsHistogram (self)
 
def getPage (self)
 
def getPlotGroup (self, name)
 
def getPlotGroups (self)
 
def getPurpose (self)
 
def getSection (self)
 
def loopSubFolders (self)
 
def onlyForBHadron (self)
 
def onlyForConversion (self)
 
def onlyForElectron (self)
 
def onlyForPileup (self)
 
def set (self, plotGroups)
 

Private Attributes

 _fallbackRefFiles
 

Detailed Description

Definition at line 896 of file trackingPlots.py.

Constructor & Destructor Documentation

◆ __init__()

def trackingPlots.TrackingPlotFolder.__init__ (   self,
plotGroups,
**  kwargs 
)
Constructor.

Arguments:
plotGroups     -- List of PlotGroup objects

Keyword arguments
loopSubFolders -- Should the subfolders be looped over? (default: True)
onlyForPileup  -- Plots this folder only for pileup samples
onlyForElectron -- Plots this folder only for electron samples
onlyForConversion -- Plots this folder only for conversion samples
onlyForBHadron -- Plots this folder only for B-hadron samples
purpose        -- html.PlotPurpose member class for the purpose of the folder, used for grouping of the plots to the HTML pages
page           -- Optional string for the page in HTML generatin
section        -- Optional string for the section within a page in HTML generation
numberOfEventsHistogram -- Optional path to histogram filled once per event. Needed if there are any plots normalized by number of events. Path is relative to "possibleDqmFolders".

Reimplemented from plotting.PlotFolder.

Definition at line 897 of file trackingPlots.py.

897  def __init__(self, *args, **kwargs):
898  self._fallbackRefFiles = kwargs.pop("fallbackRefFiles", [])
899  PlotFolder.__init__(self, *args, **kwargs)
900 

Member Function Documentation

◆ isAlgoIterative()

def trackingPlots.TrackingPlotFolder.isAlgoIterative (   self,
  algo 
)

Definition at line 934 of file trackingPlots.py.

934  def isAlgoIterative(self, algo):
935  return algo not in _possibleTrackingNonIterationColls
936 

◆ iterSelectionName()

def trackingPlots.TrackingPlotFolder.iterSelectionName (   self,
  plotFolderName,
  translatedDqmSubFolder 
)
Iterate over possible selections name (used in output directory name and legend) from the name of PlotterFolder, and a return value of translateSubFolder

Reimplemented from plotting.PlotFolder.

Definition at line 908 of file trackingPlots.py.

908  def iterSelectionName(self, plotFolderName, translatedDqmSubFolder):
909  (algoOrig, quality) = translatedDqmSubFolder
910 
911  for fallback in [lambda n: n]+self._fallbackRefFiles:
912  algo = fallback(algoOrig)
913 
914  ret = ""
915  if plotFolderName != "":
916  ret += "_"+plotFolderName
917  if quality != "":
918  ret += "_"+quality
919  if not (algo == "ootb" and quality != ""):
920  ret += "_"+algo
921  yield ret
922 

References trackingPlots.TrackingPlotFolder._fallbackRefFiles, and trackingPlots.fallback.

◆ limitSubFolder()

def trackingPlots.TrackingPlotFolder.limitSubFolder (   self,
  limitOnlyTo,
  translatedDqmSubFolder 
)
Return True if this subfolder should be processed

Arguments:
limitOnlyTo            -- Function '(algo, quality) -> bool'
translatedDqmSubFolder -- Return value of translateSubFolder

Reimplemented from plotting.PlotFolder.

Definition at line 923 of file trackingPlots.py.

923  def limitSubFolder(self, limitOnlyTo, translatedDqmSubFolder):
924  """Return True if this subfolder should be processed
925 
926  Arguments:
927  limitOnlyTo -- Function '(algo, quality) -> bool'
928  translatedDqmSubFolder -- Return value of translateSubFolder
929  """
930  (algo, quality) = translatedDqmSubFolder
931  return limitOnlyTo(algo, quality)
932 

◆ translateSubFolder()

def trackingPlots.TrackingPlotFolder.translateSubFolder (   self,
  dqmSubFolderName 
)
Method called to (possibly) translate a subfolder name to more 'readable' form

The implementation in this (base) class just returns the
argument. The idea is that a deriving class might want to do
something more complex (like trackingPlots.TrackingPlotFolder
does)

Reimplemented from plotting.PlotFolder.

Definition at line 901 of file trackingPlots.py.

901  def translateSubFolder(self, dqmSubFolderName):
902  spl = dqmSubFolderName.split("_")
903  if len(spl) != 2:
904  return None
905  collName = spl[0]
906  return _mapCollectionToAlgoQuality(collName)
907 

References trackingPlots._mapCollectionToAlgoQuality().

Member Data Documentation

◆ _fallbackRefFiles

trackingPlots.TrackingPlotFolder._fallbackRefFiles
private
trackingPlots._mapCollectionToAlgoQuality
def _mapCollectionToAlgoQuality(collName)
Definition: trackingPlots.py:587
trackingPlots.fallback
fallback
Definition: trackingPlots.py:341