CMS 3D CMS Logo

Protected Member Functions | Protected Attributes

SummaryPlotFactoryBase Class Reference

#include <SummaryPlotFactoryBase.h>

Inheritance diagram for SummaryPlotFactoryBase:
SummaryPlotFactory< T > SummaryPlotFactory< CommissioningAnalysis * > SummaryPlotFactory< FedCablingAnalysis * > ApvTimingSummaryFactory CalibrationSummaryFactory FastFedCablingSummaryFactory NoiseSummaryFactory OptoScanSummaryFactory PedestalsSummaryFactory PedsFullNoiseSummaryFactory PedsOnlySummaryFactory SamplingSummaryFactory VpspScanSummaryFactory

List of all members.

Protected Member Functions

void fill (TH1 &summary_histo)
void init (const sistrip::Monitorable &, const sistrip::Presentation &, const sistrip::View &, const std::string &top_level_dir, const sistrip::Granularity &)
 SummaryPlotFactoryBase ()
 ~SummaryPlotFactoryBase ()

Protected Attributes

SummaryGeneratorgenerator_
sistrip::Granularity gran_
std::string level_
sistrip::Monitorable mon_
sistrip::Presentation pres_
sistrip::View view_

Detailed Description

Definition at line 9 of file SummaryPlotFactoryBase.h.


Constructor & Destructor Documentation

SummaryPlotFactoryBase::SummaryPlotFactoryBase ( ) [protected]
SummaryPlotFactoryBase::~SummaryPlotFactoryBase ( ) [protected]

Definition at line 22 of file SummaryPlotFactoryBase.cc.

References generator_.

                                                {
  if ( generator_ ) { delete generator_; }
}

Member Function Documentation

void SummaryPlotFactoryBase::fill ( TH1 &  summary_histo) [protected]

Reimplemented in SummaryPlotFactory< CommissioningAnalysis * >, SummaryPlotFactory< FedCablingAnalysis * >, and SummaryPlotFactory< T >.

Definition at line 112 of file SummaryPlotFactoryBase.cc.

References SummaryGenerator::format(), generator_, gran_, SummaryGenerator::histo1D(), SummaryGenerator::histo2DScatter(), SummaryGenerator::histo2DSum(), sistrip::HISTO_1D, sistrip::HISTO_2D_SCATTER, sistrip::HISTO_2D_SUM, level_, sistrip::mlSummaryPlots_, mon_, SummaryGenerator::nBins(), pres_, SiStripEnumsAndStrings::presentation(), SummaryGenerator::profile1D(), sistrip::PROFILE_1D, sistrip::UNKNOWN_RUN_TYPE, and view_.

Referenced by SummaryPlotFactory< T >::fill(), and SummaryPlotFactory< FedCablingAnalysis * >::fill().

                                                      {
  
  // Check if instance of generator class exists
  if ( !generator_ ) { 
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]" 
      << " NULL pointer to SummaryGenerator object!";
    return;
  }
  
  // Check if map is filled
  if ( !generator_->nBins() ) { 
    edm::LogWarning(mlSummaryPlots_)
      << "[SummaryPlotFactoryBase::" << __func__ << "]" 
      << " Zero bins returned by SummaryGenerator!";
    return; 
  } 
  
  // Check if instance of generator class exists
  if ( !(&summary_histo) ) { 
    edm::LogWarning(mlSummaryPlots_)
      << "[SummaryPlotFactoryBase::" << __func__ << "]" 
      << " NULL pointer to TH1 object!";
    return;
  }
  
  // Print contents of map for histogram
  //generator_->printMap();
  
  // Generate appropriate summary histogram 
  if ( pres_ == sistrip::HISTO_1D ) {
    generator_->histo1D( summary_histo );
  } else if ( pres_ == sistrip::HISTO_2D_SUM ) {
    generator_->histo2DSum( summary_histo );
  } else if ( pres_ == sistrip::HISTO_2D_SCATTER ) {
    generator_->histo2DScatter( summary_histo );
  } else if ( pres_ == sistrip::PROFILE_1D ) {
    generator_->profile1D( summary_histo );
  } else { 
    edm::LogWarning(mlSummaryPlots_)
      << "[SummaryPlotFactoryBase::" << __func__ << "]" 
      << " Unexpected presentation type: "
      << SiStripEnumsAndStrings::presentation( pres_ );
    return; 
  }
  
  // Histogram formatting
  generator_->format( sistrip::UNKNOWN_RUN_TYPE, //@@ not used
                      mon_, 
                      pres_, 
                      view_, 
                      level_, 
                      gran_, 
                      summary_histo );
  
}
void SummaryPlotFactoryBase::init ( const sistrip::Monitorable mon,
const sistrip::Presentation pres,
const sistrip::View view,
const std::string &  top_level_dir,
const sistrip::Granularity gran 
) [protected]

Definition at line 28 of file SummaryPlotFactoryBase.cc.

References SummaryGenerator::clearMap(), generator_, gran_, SiStripEnumsAndStrings::granularity(), sistrip::HISTO_1D, SummaryGenerator::instance(), testEve_cfg::level, level_, sistrip::mlSummaryPlots_, LaserDQM_cfi::mon, mon_, SiStripEnumsAndStrings::monitorable(), pres_, SiStripEnumsAndStrings::presentation(), sistrip::UNDEFINED_GRAN, sistrip::UNDEFINED_MONITORABLE, sistrip::UNDEFINED_PRESENTATION, sistrip::UNDEFINED_VIEW, sistrip::undefinedView_, sistrip::UNKNOWN_GRAN, sistrip::UNKNOWN_MONITORABLE, sistrip::UNKNOWN_PRESENTATION, sistrip::UNKNOWN_VIEW, sistrip::unknownView_, SiStripEnumsAndStrings::view(), and view_.

                                                                    {
  
  // Create generator object
  if ( generator_ ) { delete generator_; generator_ = 0; }
  generator_ = SummaryGenerator::instance( view );
  
  // Check if generator object exists
  if ( !generator_ ) { 
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]" 
      << " NULL pointer to generator object!"; 
    return; 
  }
  
  // Clear map used to build histogram 
  generator_->clearMap();
  
  // Set parameters
  mon_ = mon;
  pres_ = pres;
  view_ = view;
  level_ = level;
  gran_ = gran;
  
  // Some checks
  if ( mon_ == sistrip::UNKNOWN_MONITORABLE ||
       mon_ == sistrip::UNDEFINED_MONITORABLE ) {
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]"
      << " Unexpected monitorable: " 
      << SiStripEnumsAndStrings::monitorable(mon_);
  }
  
  if ( pres_ == sistrip::UNKNOWN_PRESENTATION ||
       pres_ == sistrip::UNDEFINED_PRESENTATION ) {
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]"
      << " Unexpected presentation: " 
      << SiStripEnumsAndStrings::presentation(pres_);
  } 

  if ( view_ == sistrip::UNKNOWN_VIEW ||
       view_ == sistrip::UNDEFINED_VIEW ) {
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]"
      << " Unexpected view: " 
      << SiStripEnumsAndStrings::view(view_);
  }
  
  if ( level_.empty() ||
       level_.find(sistrip::unknownView_) != std::string::npos ||
       level_.find(sistrip::undefinedView_) != std::string::npos ) {
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]"
      << " Unexpected top-level directory: \"" 
      << level_ << "\"";
  } 
  
  if ( ( gran_ == sistrip::UNKNOWN_GRAN ||
         gran_ == sistrip::UNDEFINED_GRAN ) &&
       pres != sistrip::HISTO_1D ) {
    edm::LogWarning(mlSummaryPlots_) 
      << "[SummaryPlotFactoryBase::" << __func__ << "]"
      << " Unexpected granularity: " 
      << SiStripEnumsAndStrings::granularity(gran_);
  }
  
//   ss << "[SummaryPlotFactoryBase::" << __func__ << "]" 
//      << " Dump of parameters defining summary plot:" << std::endl
//      << " Monitorable   : " << SiStripEnumsAndStrings::monitorable( mon_ ) << std::endl
//      << " Presentation  : " << SiStripEnumsAndStrings::presentation( pres_ ) << std::endl
//      << " Logical view  : " << SiStripEnumsAndStrings::view( view_ ) << std::endl
//      << " Top level dir : " << level_ << std::endl
//      << " Granularity   : " << SiStripEnumsAndStrings::granularity( gran_ );
//   LogTrace(mlSummaryPlots_) << ss.str();
  
}

Member Data Documentation

std::string SummaryPlotFactoryBase::level_ [protected]

Definition at line 29 of file SummaryPlotFactoryBase.h.

Referenced by fill(), and init().

Definition at line 30 of file SummaryPlotFactoryBase.h.

Referenced by fill(), and init().