test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
plotting.PlotterItem Class Reference

Public Member Functions

def __init__
 
def appendTableCreator
 
def getName
 
def getPlotFolder
 
def readDirs
 

Private Attributes

 _fallbackDqmSubFolders
 
 _fallbackNames
 
 _name
 
 _plotFolder
 
 _possibleDirs
 
 _tableCreators
 

Detailed Description

Definition at line 2643 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 2644 of file plotting.py.

2645  def __init__(self, name, possibleDirs, plotFolder, fallbackNames=[], fallbackDqmSubFolders=[]):
2646  """ Constructor
2647 
2648  Arguments:
2649  name -- Name of the folder (is used in the output directory naming)
2650  possibleDirs -- List of strings for possible directories of histograms in TFiles
2651  plotFolder -- PlotFolder object
2652 
2653  Keyword arguments
2654  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.
2655  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.
2656  """
2657  self._name = name
2658  self._possibleDirs = possibleDirs
2659  self._plotFolder = plotFolder
2660  self._fallbackNames = fallbackNames
2661  self._fallbackDqmSubFolders = fallbackDqmSubFolders
2662  self._tableCreators = []

Member Function Documentation

def plotting.PlotterItem.appendTableCreator (   self,
  tc 
)

Definition at line 2669 of file plotting.py.

2670  def appendTableCreator(self, tc):
2671  self._tableCreators.append(tc)
def plotting.PlotterItem.getName (   self)

Definition at line 2663 of file plotting.py.

References FP420HitsObject._name, TrackerHitsObject._name, PGeometricDet::Item._name, TrackingRecHitAlgorithm._name, LikelihoodSpecies._name, L1TMuon::PtAssignmentUnit._name, L1TMuon::PtRefinementUnit._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, CutApplicatorBase._name, ElectronMVAEstimatorRun2Phys14NonTrig._name, PhotonMVAEstimatorRun2Spring15NonTrig._name, PhotonMVAEstimatorRun2Phys14NonTrig._name, ElectronMVAEstimatorRun2Spring15Trig._name, GeometricDetExtra._name, ElectronMVAEstimatorRun2Spring15NonTrig._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, plotting.Plot._name, plotting.PlotGroup._name, plotting.PlotterFolder._name, and plotting.PlotterItem._name.

2664  def getName(self):
2665  return self._name
def plotting.PlotterItem.getPlotFolder (   self)

Definition at line 2666 of file plotting.py.

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

2667  def getPlotFolder(self):
2668  return self._plotFolder
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 2672 of file plotting.py.

References plotting.PlotterFolder._fallbackDqmSubFolders, plotting.PlotterItem._fallbackDqmSubFolders, plotting.PlotterFolder._fallbackNames, plotting.PlotterItem._fallbackNames, FP420HitsObject._name, TrackerHitsObject._name, PGeometricDet::Item._name, TrackingRecHitAlgorithm._name, LikelihoodSpecies._name, L1TMuon::PtAssignmentUnit._name, L1TMuon::PtRefinementUnit._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, CutApplicatorBase._name, ElectronMVAEstimatorRun2Phys14NonTrig._name, PhotonMVAEstimatorRun2Spring15NonTrig._name, PhotonMVAEstimatorRun2Phys14NonTrig._name, ElectronMVAEstimatorRun2Spring15Trig._name, GeometricDetExtra._name, ElectronMVAEstimatorRun2Spring15NonTrig._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, 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.

2673  def readDirs(self, files):
2674  """Read available subfolders from the files
2675 
2676  Arguments:
2677  files -- List of strings for paths to files, or list of TFiles
2678 
2679  For each file, loop over 'possibleDirs', and read the
2680  subfolders of first one that exists.
2681 
2682  Returns a PlotterFolder if at least one file for which one of
2683  'possibleDirs' exists. Otherwise, return None to signal that
2684  there is nothing available for this PlotFolder.
2685  """
2686  subFolders = None
2687  if self._plotFolder.loopSubFolders():
2688  subFolders = []
2689  possibleDirFound = False
2690  for fname in files:
2691  if fname is None:
2692  continue
2693 
2694  isOpenFile = isinstance(fname, ROOT.TFile)
2695  if isOpenFile:
2696  tfile = fname
2697  else:
2698  tfile = ROOT.TFile.Open(fname)
2699  for pd in self._possibleDirs:
2700  d = tfile.Get(pd)
2701  if d:
2702  possibleDirFound = True
2703  if subFolders is not None:
2704  subf = []
2705  for key in d.GetListOfKeys():
2706  if isinstance(key.ReadObj(), ROOT.TDirectory):
2707  subf.append(key.GetName())
2708  subFolders.append(subf)
2709  break
2710 
2711  if not isOpenFile:
2712  tfile.Close()
2713 
2714  if not possibleDirFound:
2715  return None
2716 
2717  return PlotterFolder(self._name, self._possibleDirs, subFolders, self._plotFolder, self._fallbackNames, self._fallbackDqmSubFolders, self._tableCreators)

Member Data Documentation

plotting.PlotterItem._fallbackDqmSubFolders
private

Definition at line 2660 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().

plotting.PlotterItem._fallbackNames
private

Definition at line 2659 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().

plotting.PlotterItem._name
private

Definition at line 2656 of file plotting.py.

Referenced by trackingPlots.TimePerTrackPlot.__str__(), trackingPlots.TimePerTrackPlot.create(), plotting.PlotterItem.getName(), validation.SimpleSample.name(), trackingPlots.Iteration.name(), and plotting.PlotterItem.readDirs().

plotting.PlotterItem._plotFolder
private

Definition at line 2658 of file plotting.py.

Referenced by plotting.PlotterItem.getPlotFolder(), and plotting.PlotterItem.readDirs().

plotting.PlotterItem._possibleDirs
private

Definition at line 2657 of file plotting.py.

Referenced by plotting.PlotterTableItem.create(), and plotting.PlotterItem.readDirs().

plotting.PlotterItem._tableCreators
private

Definition at line 2661 of file plotting.py.

Referenced by plotting.PlotterItem.readDirs().