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
SummaryHistogramFactory< FedTimingAnalysis > Class Template Reference

#include <FedTimingSummaryFactory.h>

Public Member Functions

uint32_t extract (const std::map< uint32_t, FedTimingAnalysis > &data)
 
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 &)
 
 SummaryHistogramFactory ()
 
 ~SummaryHistogramFactory ()
 

Private Attributes

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

Detailed Description

template<>
class SummaryHistogramFactory< FedTimingAnalysis >

Definition at line 10 of file FedTimingSummaryFactory.h.

Constructor & Destructor Documentation

Definition at line 24 of file FedTimingSummaryFactory.cc.

References SummaryHistogramFactory< T >::generator_.

24  {
25  if ( generator_ ) { delete generator_; }
26 }

Member Function Documentation

uint32_t SummaryHistogramFactory< FedTimingAnalysis >::extract ( const std::map< uint32_t, FedTimingAnalysis > &  data)

Definition at line 51 of file FedTimingSummaryFactory.cc.

References SummaryGenerator::clearMap(), sistrip::FED_TIMING_BASE, sistrip::FED_TIMING_DELAY, sistrip::FED_TIMING_ERROR, sistrip::FED_TIMING_HEIGHT, sistrip::FED_TIMING_MAX_TIME, sistrip::FED_TIMING_PEAK, sistrip::FED_TIMING_TIME, SummaryGenerator::fillMap(), SummaryHistogramFactory< T >::generator_, SummaryHistogramFactory< T >::gran_, SummaryHistogramFactory< T >::level_, sistrip::mlSummaryPlots_, SummaryHistogramFactory< T >::mon_, SiStripEnumsAndStrings::monitorable(), and SummaryGenerator::size().

Referenced by BeautifulSoup.PageElement::_invert(), and BeautifulSoup.Tag::decompose().

51  {
52 
53  // Check if data are present
54  if ( data.empty() ) {
55  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
56  << " No data in monitorables std::map!";
57  return 0;
58  }
59 
60  // Check if instance of generator class exists
61  if ( !generator_ ) {
62  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
63  << " NULL pointer to SummaryGenerator object!";
64  return 0;
65  }
66 
67  // Transfer appropriate monitorables info to generator object
69  std::map<uint32_t,FedTimingAnalysis>::const_iterator iter = data.begin();
70  for ( ; iter != data.end(); iter++ ) {
71  if ( mon_ == sistrip::FED_TIMING_TIME ) {
72  generator_->fillMap( level_, gran_, iter->first, iter->second.time() );
73  } else if ( mon_ == sistrip::FED_TIMING_MAX_TIME ) {
74  generator_->fillMap( level_, gran_, iter->first, iter->second.max() );
75  } else if ( mon_ == sistrip::FED_TIMING_DELAY ) {
76  generator_->fillMap( level_, gran_, iter->first, iter->second.delay() );
77  } else if ( mon_ == sistrip::FED_TIMING_ERROR ) {
78  generator_->fillMap( level_, gran_, iter->first, iter->second.error() );
79  } else if ( mon_ == sistrip::FED_TIMING_BASE ) {
80  generator_->fillMap( level_, gran_, iter->first, iter->second.base() );
81  } else if ( mon_ == sistrip::FED_TIMING_PEAK ) {
82  generator_->fillMap( level_, gran_, iter->first, iter->second.peak() );
83  } else if ( mon_ == sistrip::FED_TIMING_HEIGHT ) {
84  generator_->fillMap( level_, gran_, iter->first, iter->second.height() );
85  } else {
86  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
87  << " Unexpected SummaryHisto value:"
89  ;
90  continue;
91  }
92  }
93  return generator_->size();
94 }
static std::string monitorable(const sistrip::Monitorable &)
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
uint32_t size() const
static const char mlSummaryPlots_[]
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void SummaryHistogramFactory< FedTimingAnalysis >::fill ( TH1 &  summary_histo)

Definition at line 98 of file FedTimingSummaryFactory.cc.

References sistrip::FED_TIMING, sistrip::FED_TIMING_BASE, sistrip::FED_TIMING_DELAY, sistrip::FED_TIMING_ERROR, sistrip::FED_TIMING_HEIGHT, sistrip::FED_TIMING_MAX_TIME, sistrip::FED_TIMING_PEAK, sistrip::FED_TIMING_TIME, SummaryGenerator::format(), SummaryHistogramFactory< T >::generator_, SummaryHistogramFactory< T >::gran_, SummaryGenerator::histo1D(), SummaryGenerator::histo2DScatter(), SummaryGenerator::histo2DSum(), sistrip::HISTO_1D, sistrip::HISTO_2D_SCATTER, sistrip::HISTO_2D_SUM, SummaryHistogramFactory< T >::level_, sistrip::mlSummaryPlots_, SummaryHistogramFactory< T >::mon_, SiStripEnumsAndStrings::monitorable(), SummaryHistogramFactory< T >::pres_, SiStripEnumsAndStrings::presentation(), SummaryGenerator::profile1D(), sistrip::PROFILE_1D, SummaryGenerator::size(), and SummaryHistogramFactory< T >::view_.

98  {
99 
100  // Check if instance of generator class exists
101  if ( !generator_ ) {
102  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
103  << " NULL pointer to SummaryGenerator object!";
104  return;
105  }
106 
107  // Check if instance of generator class exists
108  if ( !(&summary_histo) ) {
109  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
110  << " NULL pointer to SummaryGenerator object!";
111  return;
112  }
113 
114  // Check if std::map is filled
115  if ( !generator_->size() ) {
116  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
117  << " No data in the monitorables std::map!";
118  return;
119  }
120 
121  // Generate appropriate summary histogram
122  if ( pres_ == sistrip::HISTO_1D ) {
123  generator_->histo1D( summary_histo );
124  } else if ( pres_ == sistrip::HISTO_2D_SUM ) {
125  generator_->histo2DSum( summary_histo );
126  } else if ( pres_ == sistrip::HISTO_2D_SCATTER ) {
127  generator_->histo2DScatter( summary_histo );
128  } else if ( pres_ == sistrip::PROFILE_1D ) {
129  generator_->profile1D( summary_histo );
130  } else {
131  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
132  << " Unexpected SummaryType value:"
134  ;
135  return;
136  }
137 
138  // Histogram formatting
139  if ( mon_ == sistrip::FED_TIMING_TIME ) {
140  } else if ( mon_ == sistrip::FED_TIMING_MAX_TIME ) {
141  } else if ( mon_ == sistrip::FED_TIMING_DELAY ) {
142  } else if ( mon_ == sistrip::FED_TIMING_ERROR ) {
143  } else if ( mon_ == sistrip::FED_TIMING_BASE ) {
144  } else if ( mon_ == sistrip::FED_TIMING_PEAK ) {
145  } else if ( mon_ == sistrip::FED_TIMING_HEIGHT ) {
146  } else {
147  edm::LogWarning(mlSummaryPlots_) << "[SummaryHistogramFactory::" << __func__ << "]"
148  << " Unexpected SummaryHisto value:"
150  ;
151  }
153 
154 }
static std::string monitorable(const sistrip::Monitorable &)
void histo2DSum(TH1 &)
void histo2DScatter(TH1 &)
uint32_t size() const
void format(const sistrip::RunType &, const sistrip::Monitorable &, const sistrip::Presentation &, const sistrip::View &, const std::string &directory, const sistrip::Granularity &, TH1 &)
static const char mlSummaryPlots_[]
static std::string presentation(const sistrip::Presentation &)
void SummaryHistogramFactory< FedTimingAnalysis >::init ( const sistrip::Monitorable mon,
const sistrip::Presentation pres,
const sistrip::View view,
const std::string &  top_level_dir,
const sistrip::Granularity gran 
)

Definition at line 30 of file FedTimingSummaryFactory.cc.

References SummaryHistogramFactory< T >::generator_, SummaryHistogramFactory< T >::gran_, SummaryGenerator::instance(), SummaryHistogramFactory< T >::level_, LogTrace, sistrip::mlSummaryPlots_, LaserDQM_cfi::mon, SummaryHistogramFactory< T >::mon_, SummaryHistogramFactory< T >::pres_, and SummaryHistogramFactory< T >::view_.

34  {
36  << "[SummaryHistogramFactory::" << __func__ << "]";
37  mon_ = mon;
38  pres_ = pres;
39  view_ = view;
40  level_ = top_level_dir;
41  gran_ = gran;
42 
43  // Retrieve utility class used to generate summary histograms
44  if ( generator_ ) { delete generator_; generator_ = 0; }
46 
47 }
static SummaryGenerator * instance(const sistrip::View &)
#define LogTrace(id)
static const char mlSummaryPlots_[]

Member Data Documentation

Definition at line 34 of file FedTimingSummaryFactory.h.

Definition at line 33 of file FedTimingSummaryFactory.h.

std::string SummaryHistogramFactory< FedTimingAnalysis >::level_
private

Definition at line 32 of file FedTimingSummaryFactory.h.

Definition at line 29 of file FedTimingSummaryFactory.h.

Definition at line 30 of file FedTimingSummaryFactory.h.

Definition at line 31 of file FedTimingSummaryFactory.h.