CMS 3D CMS Logo

PedestalsSummaryFactory Class Reference

#include <DQM/SiStripCommissioningSummary/interface/PedestalsSummaryFactory.h>

Inheritance diagram for PedestalsSummaryFactory:

SummaryPlotFactory< CommissioningAnalysis * > SummaryPlotFactoryBase

List of all members.

Protected Member Functions

void extract (Iterator)
void format ()


Detailed Description

Definition at line 6 of file PedestalsSummaryFactory.h.


Member Function Documentation

void PedestalsSummaryFactory::extract ( Iterator  iter  )  [protected]

Definition at line 12 of file PedestalsSummaryFactory.cc.

References PedestalsAnalysis::dead(), SummaryGenerator::fillMap(), SummaryPlotFactoryBase::generator_, SummaryPlotFactoryBase::gran_, sistrip::invalid_, SummaryPlotFactoryBase::level_, sistrip::mlSummaryPlots_, SummaryPlotFactoryBase::mon_, SiStripEnumsAndStrings::monitorable(), PedestalsAnalysis::noise(), sistrip::NOISE_ALL_STRIPS, sistrip::NOISE_MAX, sistrip::NOISE_MEAN, sistrip::NOISE_MIN, sistrip::NOISE_SPREAD, PedestalsAnalysis::noiseMax(), PedestalsAnalysis::noiseMean(), PedestalsAnalysis::noiseMin(), PedestalsAnalysis::noiseSpread(), PedestalsAnalysis::noisy(), sistrip::NUM_OF_DEAD, sistrip::NUM_OF_NOISY, sistrip::PEDESTALS_ALL_STRIPS, sistrip::PEDESTALS_MAX, sistrip::PEDESTALS_MEAN, sistrip::PEDESTALS_MIN, sistrip::PEDESTALS_SPREAD, PedestalsAnalysis::peds(), PedestalsAnalysis::pedsMax(), PedestalsAnalysis::pedsMean(), PedestalsAnalysis::pedsMin(), PedestalsAnalysis::pedsSpread(), size, pyDBSRunClass::temp, and value.

00012                                                      {
00013   
00014   PedestalsAnalysis* anal = dynamic_cast<PedestalsAnalysis*>( iter->second );
00015   if ( !anal ) { return; }
00016     
00017   std::vector<float> temp(128, 1. * sistrip::invalid_ );
00018   std::vector< std::vector<float> > value( 2, temp );
00019   std::vector< std::vector<float> > peds( 2, temp );
00020   std::vector< std::vector<float> > noise( 2, temp );
00021   peds[0] = anal->peds()[0];
00022   peds[1] = anal->peds()[1];
00023   noise[0] = anal->noise()[0];
00024   noise[1] = anal->noise()[1];
00025 
00026   bool all_strips = false;
00027   if ( mon_ == sistrip::PEDESTALS_ALL_STRIPS ) {
00028     all_strips = true;
00029     uint16_t bins = peds[0].size();
00030     if ( peds[0].size() < peds[1].size() ) { bins = peds[1].size(); }
00031     for ( uint16_t iped = 0; iped < bins; iped++ ) {
00032       value[0][iped] = peds[0][iped]; 
00033       value[1][iped] = peds[1][iped];  
00034     }
00035   } else if ( mon_ == sistrip::PEDESTALS_MEAN ) {
00036     value[0][0] = anal->pedsMean()[0];
00037     value[1][0] = anal->pedsMean()[1];
00038   } else if ( mon_ == sistrip::PEDESTALS_SPREAD ) { 
00039     value[0][0] = anal->pedsSpread()[0]; 
00040     value[1][0] = anal->pedsSpread()[1]; 
00041   } else if ( mon_ == sistrip::PEDESTALS_MAX ) { 
00042     value[0][0] = anal->pedsMax()[0]; 
00043     value[1][0] = anal->pedsMax()[1];
00044   } else if ( mon_ == sistrip::PEDESTALS_MIN ) { 
00045     value[0][0] = anal->pedsMin()[0]; 
00046     value[1][0] = anal->pedsMin()[1]; 
00047   } else if ( mon_ == sistrip::NOISE_ALL_STRIPS ) {
00048     all_strips = true;
00049     uint16_t bins = noise[0].size();
00050     if ( noise[0].size() < noise[1].size() ) { bins = noise[1].size(); }
00051     for ( uint16_t inoise = 0; inoise < bins; inoise++ ) {
00052       value[0][inoise] = noise[0][inoise]; 
00053       value[1][inoise] = noise[1][inoise]; 
00054     }
00055   } else if ( mon_ == sistrip::NOISE_MEAN ) {
00056     value[0][0] = anal->noiseMean()[0];
00057     value[1][0] = anal->noiseMean()[1];
00058   } else if ( mon_ == sistrip::NOISE_SPREAD ) { 
00059     value[0][0] = anal->noiseSpread()[0]; 
00060     value[1][0] = anal->noiseSpread()[1]; 
00061   } else if ( mon_ == sistrip::NOISE_MAX ) { 
00062     value[0][0] = anal->noiseMax()[0]; 
00063     value[1][0] = anal->noiseMax()[1]; 
00064   } else if ( mon_ == sistrip::NOISE_MIN ) { 
00065     value[0][0] = anal->noiseMin()[0]; 
00066     value[1][0] = anal->noiseMin()[1]; 
00067   } else if ( mon_ == sistrip::NUM_OF_DEAD ) { 
00068     value[0][0] = 1. * anal->dead()[0].size(); 
00069     value[1][0] = 1. * anal->dead()[1].size();
00070   } else if ( mon_ == sistrip::NUM_OF_NOISY ) { 
00071     value[0][0] = 1. * anal->noisy()[0].size(); 
00072     value[1][0] = 1. * anal->noisy()[1].size();
00073   } else { 
00074     edm::LogWarning(mlSummaryPlots_)
00075       << "[SummaryPlotFactory::" << __func__ << "]" 
00076       << " Unexpected monitorable: "
00077       << SiStripEnumsAndStrings::monitorable( SummaryPlotFactoryBase::mon_ );
00078     return; 
00079   }
00080 
00081   if ( !all_strips ) {
00082 
00083     SummaryPlotFactoryBase::generator_->fillMap( SummaryPlotFactoryBase::level_, 
00084                                                  SummaryPlotFactoryBase::gran_, 
00085                                                  iter->first, 
00086                                                  value[0][0] );
00087     
00088     SummaryPlotFactoryBase::generator_->fillMap( SummaryPlotFactoryBase::level_, 
00089                                                  SummaryPlotFactoryBase::gran_, 
00090                                                  iter->first, 
00091                                                  value[1][0] );
00092 
00093   } else {
00094 
00095     for ( uint16_t istr = 0; istr < value[0].size(); istr++ ) {
00096       SummaryPlotFactoryBase::generator_->fillMap( SummaryPlotFactoryBase::level_, 
00097                                                    SummaryPlotFactoryBase::gran_, 
00098                                                    iter->first, 
00099                                                    value[0][istr] );
00100     }
00101     
00102     for ( uint16_t istr = 0; istr < value[1].size(); istr++ ) {
00103       SummaryPlotFactoryBase::generator_->fillMap( SummaryPlotFactoryBase::level_, 
00104                                                    SummaryPlotFactoryBase::gran_, 
00105                                                    iter->first, 
00106                                                    value[1][istr] );
00107     }
00108 
00109   }
00110 
00111 }

void PedestalsSummaryFactory::format (  )  [protected, virtual]

Reimplemented from SummaryPlotFactory< CommissioningAnalysis * >.

Definition at line 115 of file PedestalsSummaryFactory.cc.

References SummaryGenerator::axisLabel(), SummaryPlotFactoryBase::generator_, 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.

00115                                      {
00116   
00117   if ( mon_ == sistrip::PEDESTALS_ALL_STRIPS ) {
00118     generator_->axisLabel( "Pedestal value [adc]" );
00119   } else if ( mon_ == sistrip::PEDESTALS_MEAN ) {
00120   } else if ( mon_ == sistrip::PEDESTALS_SPREAD ) { 
00121   } else if ( mon_ == sistrip::PEDESTALS_MAX ) { 
00122   } else if ( mon_ == sistrip::PEDESTALS_MIN ) { 
00123   } else if ( mon_ == sistrip::NOISE_ALL_STRIPS ) {
00124     generator_->axisLabel( "Noise [adc]" );
00125   } else if ( mon_ == sistrip::NOISE_MEAN ) {
00126   } else if ( mon_ == sistrip::NOISE_SPREAD ) { 
00127   } else if ( mon_ == sistrip::NOISE_MAX ) { 
00128   } else if ( mon_ == sistrip::NOISE_MIN ) { 
00129   } else if ( mon_ == sistrip::NUM_OF_DEAD ) { 
00130   } else if ( mon_ == sistrip::NUM_OF_NOISY ) { 
00131   } else { 
00132     edm::LogWarning(mlSummaryPlots_)
00133       << "[SummaryPlotFactory::" << __func__ << "]" 
00134       << " Unexpected SummaryHisto value:"
00135       << SiStripEnumsAndStrings::monitorable( SummaryPlotFactoryBase::mon_ );
00136   } 
00137 
00138 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:29:32 2009 for CMSSW by  doxygen 1.5.4