CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
plotting.PlotterItem Class Reference

Public Member Functions

def __init__ (self, name, possibleDirs, plotFolder, fallbackNames=[], fallbackDqmSubFolders=[])
 
def appendTableCreator (self, tc)
 
def getName (self)
 
def getPlotFolder (self)
 
def readDirs (self, files)
 

Private Attributes

 _fallbackDqmSubFolders
 
 _fallbackNames
 
 _name
 
 _plotFolder
 
 _possibleDirs
 
 _tableCreators
 

Detailed Description

Definition at line 2840 of file plotting.py.

Constructor & Destructor Documentation

def plotting.PlotterItem.__init__ (   self,
  name,
  possibleDirs,
  plotFolder,
  fallbackNames = [],
  fallbackDqmSubFolders = [] 
)
Constructor

Arguments:
name          -- Name of the folder (is used in the output directory naming)
possibleDirs  -- List of strings for possible directories of histograms in TFiles
plotFolder    -- PlotFolder object

Keyword arguments
fallbackNames -- Optional list of names for backward compatibility. These are used only by validation.Validation (class responsible of the release validation workflow) in case the reference file pointed by 'name' does not exist.
fallbackDqmSubFolders -- Optional list of functions for (string->string) mapping the subfolder names found in the first file to another names (function should return None for no mapping). Use case is comparing files that have different iteration naming convention.

Definition at line 2841 of file plotting.py.

2841  def __init__(self, name, possibleDirs, plotFolder, fallbackNames=[], fallbackDqmSubFolders=[]):
2842  """ Constructor
2843 
2844  Arguments:
2845  name -- Name of the folder (is used in the output directory naming)
2846  possibleDirs -- List of strings for possible directories of histograms in TFiles
2847  plotFolder -- PlotFolder object
2848 
2849  Keyword arguments
2850  fallbackNames -- Optional list of names for backward compatibility. These are used only by validation.Validation (class responsible of the release validation workflow) in case the reference file pointed by 'name' does not exist.
2851  fallbackDqmSubFolders -- Optional list of functions for (string->string) mapping the subfolder names found in the first file to another names (function should return None for no mapping). Use case is comparing files that have different iteration naming convention.
2852  """
2853  self._name = name
2854  self._possibleDirs = possibleDirs
2855  self._plotFolder = plotFolder
2856  self._fallbackNames = fallbackNames
2857  self._fallbackDqmSubFolders = fallbackDqmSubFolders
2858  self._tableCreators = []
2859 
def __init__(self, name, possibleDirs, plotFolder, fallbackNames=[], fallbackDqmSubFolders=[])
Definition: plotting.py:2841

Member Function Documentation

def plotting.PlotterItem.appendTableCreator (   self,
  tc 
)

Definition at line 2866 of file plotting.py.

2866  def appendTableCreator(self, tc):
2867  self._tableCreators.append(tc)
2868 
def appendTableCreator(self, tc)
Definition: plotting.py:2866
def plotting.PlotterItem.getName (   self)
def plotting.PlotterItem.getPlotFolder (   self)

Definition at line 2863 of file plotting.py.

References plotting.PlotterFolder._plotFolder, and plotting.PlotterItem._plotFolder.

2863  def getPlotFolder(self):
2864  return self._plotFolder
2865 
def getPlotFolder(self)
Definition: plotting.py:2863
def plotting.PlotterItem.readDirs (   self,
  files 
)
Read available subfolders from the files

Arguments:
files -- List of strings for paths to files, or list of TFiles

For each file, loop over 'possibleDirs', and read the
subfolders of first one that exists.

Returns a PlotterFolder if at least one file for which one of
'possibleDirs' exists. Otherwise, return None to signal that
there is nothing available for this PlotFolder.

Definition at line 2869 of file plotting.py.

References plotting.PlotterFolder._fallbackDqmSubFolders, plotting.PlotterItem._fallbackDqmSubFolders, plotting.PlotterFolder._fallbackNames, plotting.PlotterItem._fallbackNames, FP420HitsObject._name, TrackerHitsObject._name, PGeometricDet::Item._name, LikelihoodSpecies._name, TrackingRecHitAlgorithm._name, LikelihoodPdfProduct._name, LikelihoodPdf._name, citk::IsolationConeDefinitionBase._name, Logger._name, hcaldqm::DQModule._name, DrellYanValidation._name, WValidation._name, HistoParams< T >._name, hcaldqm::flag::Flag._name, hcaldqm::quantity::Quantity._name, GeometricTimingDetExtra._name, CutApplicatorBase._name, GeometricDetExtra._name, HistoParams< TH2F >._name, HistoParams< TProfile2D >._name, Vispa.Views.PropertyView.Property._name, SequenceTypes.SequencePlaceholder._name, plotting.Subtract._name, plotting.Transform._name, plotting.FakeDuplicate._name, plotting.CutEfficiency._name, plotting.AggregateBins._name, plotting.AggregateHistos._name, plotting.ROC._name, SequenceTypes.TaskPlaceholder._name, plotting.Plot._name, plotting.PlotGroup._name, plotting.PlotterFolder._name, plotting.PlotterItem._name, plotting.PlotterFolder._plotFolder, plotting.PlotterItem._plotFolder, plotting.PlotterItem._possibleDirs, plotting.PlotterFolder._tableCreators, and plotting.PlotterItem._tableCreators.

2869  def readDirs(self, files):
2870  """Read available subfolders from the files
2871 
2872  Arguments:
2873  files -- List of strings for paths to files, or list of TFiles
2874 
2875  For each file, loop over 'possibleDirs', and read the
2876  subfolders of first one that exists.
2877 
2878  Returns a PlotterFolder if at least one file for which one of
2879  'possibleDirs' exists. Otherwise, return None to signal that
2880  there is nothing available for this PlotFolder.
2881  """
2882  subFolders = None
2883  if self._plotFolder.loopSubFolders():
2884  subFolders = []
2885  possibleDirFound = False
2886  for fname in files:
2887  if fname is None:
2888  continue
2889 
2890  isOpenFile = isinstance(fname, ROOT.TFile)
2891  if isOpenFile:
2892  tfile = fname
2893  else:
2894  tfile = ROOT.TFile.Open(fname)
2895  for pd in self._possibleDirs:
2896  d = tfile.Get(pd)
2897  if d:
2898  possibleDirFound = True
2899  if subFolders is not None:
2900  subf = []
2901  for key in d.GetListOfKeys():
2902  if isinstance(key.ReadObj(), ROOT.TDirectory):
2903  subf.append(key.GetName())
2904  subFolders.append(subf)
2905  break
2906 
2907  if not isOpenFile:
2908  tfile.Close()
2909 
2910  if not possibleDirFound:
2911  return None
2912 
2913  return PlotterFolder(self._name, self._possibleDirs, subFolders, self._plotFolder, self._fallbackNames, self._fallbackDqmSubFolders, self._tableCreators)
2914 
def readDirs(self, files)
Definition: plotting.py:2869

Member Data Documentation

plotting.PlotterItem._fallbackDqmSubFolders
private

Definition at line 2857 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().

plotting.PlotterItem._fallbackNames
private

Definition at line 2856 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().

plotting.PlotterItem._name
private
plotting.PlotterItem._plotFolder
private
plotting.PlotterItem._possibleDirs
private
plotting.PlotterItem._tableCreators
private

Definition at line 2858 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().