CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Protected Member Functions
PedsOnlySummaryFactory Class Reference

#include <PedsOnlySummaryFactory.h>

Inheritance diagram for PedsOnlySummaryFactory:
SummaryPlotFactory< CommissioningAnalysis * > SummaryPlotFactoryBase

Protected Member Functions

void extract (Iterator)
 
void format ()
 
- Protected Member Functions inherited from SummaryPlotFactoryBase
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 ()
 

Additional Inherited Members

- Public Types inherited from SummaryPlotFactory< CommissioningAnalysis * >
typedef std::map< uint32_t,
CommissioningAnalysis * >
::const_iterator 
Iterator
 
- Public Member Functions inherited from SummaryPlotFactory< CommissioningAnalysis * >
void fill (TH1 &summary_histo)
 
uint32_t init (const sistrip::Monitorable &, const sistrip::Presentation &, const sistrip::View &, const std::string &top_level_dir, const sistrip::Granularity &, const std::map< uint32_t, CommissioningAnalysis * > &data)
 
 SummaryPlotFactory ()
 
virtual ~SummaryPlotFactory ()
 
- Protected Attributes inherited from SummaryPlotFactoryBase
SummaryGeneratorgenerator_
 
sistrip::Granularity gran_
 
std::string level_
 
sistrip::Monitorable mon_
 
sistrip::Presentation pres_
 
sistrip::View view_
 

Detailed Description

Definition at line 6 of file PedsOnlySummaryFactory.h.

Member Function Documentation

void PedsOnlySummaryFactory::extract ( Iterator  iter)
protectedvirtual

Reimplemented from SummaryPlotFactory< CommissioningAnalysis * >.

Definition at line 12 of file PedsOnlySummaryFactory.cc.

References combineCards::bins, SummaryGenerator::fillMap(), SummaryPlotFactoryBase::generator_, SummaryPlotFactoryBase::gran_, sistrip::invalid_, SummaryPlotFactoryBase::level_, sistrip::mlSummaryPlots_, SummaryPlotFactoryBase::mon_, SiStripEnumsAndStrings::monitorable(), sistrip::NOISE_ALL_STRIPS, sistrip::NOISE_MAX, sistrip::NOISE_MEAN, sistrip::NOISE_MIN, sistrip::NOISE_SPREAD, sistrip::PEDESTALS_ALL_STRIPS, sistrip::PEDESTALS_MAX, sistrip::PEDESTALS_MEAN, sistrip::PEDESTALS_MIN, sistrip::PEDESTALS_SPREAD, PedsOnlyAnalysis::peds(), PedsOnlyAnalysis::pedsMax(), PedsOnlyAnalysis::pedsMean(), PedsOnlyAnalysis::pedsMin(), PedsOnlyAnalysis::pedsSpread(), PedsOnlyAnalysis::raw(), PedsOnlyAnalysis::rawMax(), PedsOnlyAnalysis::rawMean(), PedsOnlyAnalysis::rawMin(), PedsOnlyAnalysis::rawSpread(), findQualityFiles::size, groupFilesInBlocks::temp, and relativeConstraints::value.

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

12  {
13 
14  PedsOnlyAnalysis* anal = dynamic_cast<PedsOnlyAnalysis*>( iter->second );
15  if ( !anal ) { return; }
16 
17  std::vector<float> temp(128, 1. * sistrip::invalid_ );
18  std::vector< std::vector<float> > value( 2, temp );
19  std::vector< std::vector<float> > peds( 2, temp );
20  std::vector< std::vector<float> > noise( 2, temp );
21  peds[0] = anal->peds()[0];
22  peds[1] = anal->peds()[1];
23  noise[0] = anal->raw()[0]; //@@ raw noise
24  noise[1] = anal->raw()[1]; //@@ raw noise
25 
26  bool all_strips = false;
28  all_strips = true;
29  uint16_t bins = peds[0].size();
30  if ( peds[0].size() < peds[1].size() ) { bins = peds[1].size(); }
31  for ( uint16_t iped = 0; iped < bins; iped++ ) {
32  value[0][iped] = peds[0][iped];
33  value[1][iped] = peds[1][iped];
34  }
35  } else if ( mon_ == sistrip::PEDESTALS_MEAN ) {
36  value[0][0] = anal->pedsMean()[0];
37  value[1][0] = anal->pedsMean()[1];
38  } else if ( mon_ == sistrip::PEDESTALS_SPREAD ) {
39  value[0][0] = anal->pedsSpread()[0];
40  value[1][0] = anal->pedsSpread()[1];
41  } else if ( mon_ == sistrip::PEDESTALS_MAX ) {
42  value[0][0] = anal->pedsMax()[0];
43  value[1][0] = anal->pedsMax()[1];
44  } else if ( mon_ == sistrip::PEDESTALS_MIN ) {
45  value[0][0] = anal->pedsMin()[0];
46  value[1][0] = anal->pedsMin()[1];
47  } else if ( mon_ == sistrip::NOISE_ALL_STRIPS ) {
48  all_strips = true;
49  uint16_t bins = noise[0].size();
50  if ( noise[0].size() < noise[1].size() ) { bins = noise[1].size(); }
51  for ( uint16_t inoise = 0; inoise < bins; inoise++ ) {
52  value[0][inoise] = noise[0][inoise];
53  value[1][inoise] = noise[1][inoise];
54  }
55  } else if ( mon_ == sistrip::NOISE_MEAN ) {
56  value[0][0] = anal->rawMean()[0];
57  value[1][0] = anal->rawMean()[1];
58  } else if ( mon_ == sistrip::NOISE_SPREAD ) {
59  value[0][0] = anal->rawSpread()[0];
60  value[1][0] = anal->rawSpread()[1];
61  } else if ( mon_ == sistrip::NOISE_MAX ) {
62  value[0][0] = anal->rawMax()[0];
63  value[1][0] = anal->rawMax()[1];
64  } else if ( mon_ == sistrip::NOISE_MIN ) {
65  value[0][0] = anal->rawMin()[0];
66  value[1][0] = anal->rawMin()[1];
67  } else {
69  << "[SummaryPlotFactory::" << __func__ << "]"
70  << " Unexpected monitorable: "
72  return;
73  }
74 
75  if ( !all_strips ) {
76 
79  iter->first,
80  value[0][0] );
81 
84  iter->first,
85  value[1][0] );
86 
87  } else {
88 
89  for ( uint16_t istr = 0; istr < value[0].size(); istr++ ) {
92  iter->first,
93  value[0][istr] );
94  }
95 
96  for ( uint16_t istr = 0; istr < value[1].size(); istr++ ) {
99  iter->first,
100  value[1][istr] );
101  }
102 
103  }
104 
105 }
static std::string monitorable(const sistrip::Monitorable &)
Histogram-based analysis for pedestal run.
sistrip::Monitorable mon_
const VFloat & rawSpread() const
const VVFloat & raw() const
void fillMap(const std::string &top_level_dir, const sistrip::Granularity &, const uint32_t &key, const float &value, const float &error=0.)
const VFloat & rawMin() const
const VFloat & pedsMin() const
const VFloat & pedsMax() const
sistrip::Granularity gran_
const VFloat & rawMax() const
static const char mlSummaryPlots_[]
SummaryGenerator * generator_
static const uint16_t invalid_
Definition: Constants.h:17
const VVFloat & peds() const
const VFloat & pedsSpread() const
const VFloat & pedsMean() const
const VFloat & rawMean() const
tuple size
Write out results.
void PedsOnlySummaryFactory::format ( )
protectedvirtual

Reimplemented from SummaryPlotFactory< CommissioningAnalysis * >.

Definition at line 109 of file PedsOnlySummaryFactory.cc.

References sistrip::mlSummaryPlots_, SummaryPlotFactoryBase::mon_, SiStripEnumsAndStrings::monitorable(), sistrip::NOISE_ALL_STRIPS, sistrip::NOISE_MAX, sistrip::NOISE_MEAN, sistrip::NOISE_MIN, sistrip::NOISE_SPREAD, sistrip::NUM_OF_DEAD, sistrip::NUM_OF_NOISY, sistrip::PEDESTALS_ALL_STRIPS, sistrip::PEDESTALS_MAX, sistrip::PEDESTALS_MEAN, sistrip::PEDESTALS_MIN, and sistrip::PEDESTALS_SPREAD.

109  {
110 
112  generator_->axisLabel( "Pedestal value [adc]" );
113  } else if ( mon_ == sistrip::PEDESTALS_MEAN ) {
114  } else if ( mon_ == sistrip::PEDESTALS_SPREAD ) {
115  } else if ( mon_ == sistrip::PEDESTALS_MAX ) {
116  } else if ( mon_ == sistrip::PEDESTALS_MIN ) {
117  } else if ( mon_ == sistrip::NOISE_ALL_STRIPS ) {
118  generator_->axisLabel( "Noise [adc]" );
119  } else if ( mon_ == sistrip::NOISE_MEAN ) {
120  } else if ( mon_ == sistrip::NOISE_SPREAD ) {
121  } else if ( mon_ == sistrip::NOISE_MAX ) {
122  } else if ( mon_ == sistrip::NOISE_MIN ) {
123  } else if ( mon_ == sistrip::NUM_OF_DEAD ) {
124  } else if ( mon_ == sistrip::NUM_OF_NOISY ) {
125  } else {
127  << "[SummaryPlotFactory::" << __func__ << "]"
128  << " Unexpected SummaryHisto value:"
130  }
131 
132 }
static std::string monitorable(const sistrip::Monitorable &)
sistrip::Monitorable mon_
static const char mlSummaryPlots_[]
SummaryGenerator * generator_
void axisLabel(const std::string &)