CMS 3D CMS Logo

PedsOnlyAnalysis Class Reference

Author:
M.
More...

#include <CondFormats/SiStripObjects/interface/PedsOnlyAnalysis.h>

Inheritance diagram for PedsOnlyAnalysis:

CommissioningAnalysis

List of all members.

Public Member Functions

bool isValid () const
 Identifies if analysis is valid or not.
const VVFloatpeds () const
const VFloatpedsMax () const
const VFloatpedsMean () const
const VFloatpedsMin () const
 PedsOnlyAnalysis ()
 PedsOnlyAnalysis (const uint32_t &key)
const VFloatpedsSpread () const
void print (std::stringstream &, uint32_t apv_number=0)
 Prints analysis results.
const VVFloatraw () const
const VFloatrawMax () const
const VFloatrawMean () const
const VFloatrawMin () const
const VFloatrawSpread () const
void reset ()
 Resets analysis member data.
void summary (std::stringstream &) const
 Overrides base method.
virtual ~PedsOnlyAnalysis ()

Private Attributes

bool legacy_
VVFloat peds_
 Peds values.
VFloat pedsMax_
 Max peds value.
VFloat pedsMean_
 Mean peds value.
VFloat pedsMin_
 Min peds value.
VFloat pedsSpread_
 Rms spread in peds.
VVFloat raw_
 Raw noise values.
VFloat rawMax_
 Max raw noise value.
VFloat rawMean_
 Mean raw noise value.
VFloat rawMin_
 Min raw noise value.
VFloat rawSpread_
 Rms spread in raw noise.

Friends

class PedsOnlyAlgorithm


Detailed Description

Author:
M.

Wingham, R.Bainbridge Histogram-based analysis for pedestal run.

Definition at line 15 of file PedsOnlyAnalysis.h.


Constructor & Destructor Documentation

PedsOnlyAnalysis::PedsOnlyAnalysis ( const uint32_t &  key  ) 

Definition at line 13 of file PedsOnlyAnalysis.cc.

PedsOnlyAnalysis::PedsOnlyAnalysis (  ) 

Definition at line 30 of file PedsOnlyAnalysis.cc.

virtual PedsOnlyAnalysis::~PedsOnlyAnalysis (  )  [inline, virtual]

Definition at line 25 of file PedsOnlyAnalysis.h.

00025 {;}


Member Function Documentation

bool PedsOnlyAnalysis::isValid ( void   )  const [virtual]

Identifies if analysis is valid or not.

Reimplemented from CommissioningAnalysis.

Definition at line 63 of file PedsOnlyAnalysis.cc.

References empty, CommissioningAnalysis::getErrorCodes(), sistrip::maximum_, pedsMax_, pedsMean_, pedsMin_, pedsSpread_, rawMax_, rawMean_, rawMin_, and rawSpread_.

Referenced by PedsOnlyHistosUsingDb::create(), PedsOnlyHistograms::histoAnalysis(), print(), and summary().

00063                                      {
00064   return ( pedsMean_[0] < sistrip::maximum_ &&
00065            pedsMean_[1] < sistrip::maximum_ &&
00066            pedsSpread_[0] < sistrip::maximum_ &&
00067            pedsSpread_[1] < sistrip::maximum_ &&
00068            rawMean_[0] < sistrip::maximum_ &&
00069            rawMean_[1] < sistrip::maximum_ &&
00070            rawSpread_[0] < sistrip::maximum_ &&
00071            rawSpread_[1] < sistrip::maximum_ &&
00072            pedsMax_[0] < sistrip::maximum_ &&
00073            pedsMax_[1] < sistrip::maximum_ &&
00074            pedsMin_[0] < sistrip::maximum_ &&
00075            pedsMin_[1] < sistrip::maximum_ &&
00076            rawMax_[0] < sistrip::maximum_ &&
00077            rawMax_[1] < sistrip::maximum_ &&
00078            rawMin_[0] < sistrip::maximum_ &&
00079            rawMin_[1] < sistrip::maximum_ &&
00080            getErrorCodes().empty() );
00081 } 

const PedsOnlyAnalysis::VVFloat & PedsOnlyAnalysis::peds (  )  const [inline]

Definition at line 106 of file PedsOnlyAnalysis.h.

References peds_.

Referenced by PedsOnlySummaryFactory::extract(), and PedsOnlyHistosUsingDb::update().

00106 { return peds_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::pedsMax (  )  const [inline]

Definition at line 114 of file PedsOnlyAnalysis.h.

References pedsMax_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00114 { return pedsMax_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::pedsMean (  )  const [inline]

Definition at line 109 of file PedsOnlyAnalysis.h.

References pedsMean_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00109 { return pedsMean_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::pedsMin (  )  const [inline]

Definition at line 115 of file PedsOnlyAnalysis.h.

References pedsMin_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00115 { return pedsMin_; } 

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::pedsSpread (  )  const [inline]

Definition at line 110 of file PedsOnlyAnalysis.h.

References pedsSpread_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00110 { return pedsSpread_; }

void PedsOnlyAnalysis::print ( std::stringstream &  ss,
uint32_t  apv_number = 0 
) [virtual]

Prints analysis results.

Implements CommissioningAnalysis.

Definition at line 159 of file PedsOnlyAnalysis.cc.

References empty, lat::endl(), CommissioningAnalysis::getErrorCodes(), CommissioningAnalysis::header(), isValid(), sistrip::mlCommissioning_, CommissioningAnalysis::myName(), peds_, pedsMax_, pedsMean_, pedsMin_, pedsSpread_, raw_, rawMax_, rawMean_, rawMin_, rawSpread_, and size.

00159                                                                  { 
00160 
00161   if ( iapv == 1 || iapv == 2 ) { iapv--; }
00162   else { iapv = 0; }
00163   
00164   if ( peds_[iapv].size() < 128 ||
00165        raw_[iapv].size() < 128 ) { 
00166     edm::LogWarning(mlCommissioning_)
00167       << "[" << myName() << "::" << __func__ << "]"
00168       << " Unexpected number of pedestal/noise values: " 
00169       << peds_[iapv].size() << ", " 
00170       << raw_[iapv].size();
00171     return;
00172   }
00173   
00174   header( ss );
00175   ss << " Monitorables for APV number     : " << iapv;
00176   if ( iapv == 0 ) { ss << " (first of pair)"; }
00177   else if ( iapv == 1 ) { ss << " (second of pair)"; } 
00178   ss << std::endl;
00179   ss << std::fixed << std::setprecision(2);
00180   ss << " Example peds/noise for strips   : "
00181      << "     0,     31,     63,    127" << std::endl
00182      << "  Peds                     [ADC] : " 
00183      << std::setw(6) << peds_[iapv][0] << ", " 
00184      << std::setw(6) << peds_[iapv][31] << ", " 
00185      << std::setw(6) << peds_[iapv][63] << ", " 
00186      << std::setw(6) << peds_[iapv][127] << std::endl
00187      << "  Raw noise                [ADC] : " 
00188      << std::setw(6) << raw_[iapv][0] << ", " 
00189      << std::setw(6) << raw_[iapv][31] << ", " 
00190      << std::setw(6) << raw_[iapv][63] << ", " 
00191      << std::setw(6) << raw_[iapv][127] << std::endl;
00192   ss << " Mean peds +/- spread      [ADC] : " << pedsMean_[iapv] << " +/- " << pedsSpread_[iapv] << std::endl 
00193      << " Min/Max pedestal          [ADC] : " << pedsMin_[iapv] << " <-> " << pedsMax_[iapv] << std::endl
00194      << " Mean raw noise +/- spread [ADC] : " << rawMean_[iapv] << " +/- " << rawSpread_[iapv] << std::endl 
00195      << " Min/Max raw noise         [ADC] : " << rawMin_[iapv] << " <-> " << rawMax_[iapv] << std::endl
00196      << std::boolalpha 
00197      << " isValid                         : " << isValid()  << std::endl
00198      << std::noboolalpha
00199      << " Error codes (found "
00200      << std::setw(2) << std::setfill(' ') << getErrorCodes().size() 
00201      << ")          : ";
00202   if ( getErrorCodes().empty() ) { ss << "(none)"; }
00203   else { 
00204     VString::const_iterator istr = getErrorCodes().begin();
00205     VString::const_iterator jstr = getErrorCodes().end();
00206     for ( ; istr != jstr; ++istr ) { ss << *istr << " "; }
00207   }
00208   ss << std::endl;
00209 }

const PedsOnlyAnalysis::VVFloat & PedsOnlyAnalysis::raw (  )  const [inline]

Definition at line 107 of file PedsOnlyAnalysis.h.

References raw_.

Referenced by PedsOnlySummaryFactory::extract(), and PedsOnlyHistosUsingDb::update().

00107 { return raw_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::rawMax (  )  const [inline]

Definition at line 116 of file PedsOnlyAnalysis.h.

References rawMax_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00116 { return rawMax_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::rawMean (  )  const [inline]

Definition at line 111 of file PedsOnlyAnalysis.h.

References rawMean_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00111 { return rawMean_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::rawMin (  )  const [inline]

Definition at line 117 of file PedsOnlyAnalysis.h.

References rawMin_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00117 { return rawMin_; }

const PedsOnlyAnalysis::VFloat & PedsOnlyAnalysis::rawSpread (  )  const [inline]

Definition at line 112 of file PedsOnlyAnalysis.h.

References rawSpread_.

Referenced by PedsOnlyHistosUsingDb::create(), and PedsOnlySummaryFactory::extract().

00112 { return rawSpread_; }

void PedsOnlyAnalysis::reset ( void   )  [virtual]

Resets analysis member data.

Implements CommissioningAnalysis.

Definition at line 47 of file PedsOnlyAnalysis.cc.

References sistrip::invalid_, legacy_, peds_, pedsMax_, pedsMean_, pedsMin_, pedsSpread_, raw_, rawMax_, rawMean_, rawMin_, and rawSpread_.

void PedsOnlyAnalysis::summary ( std::stringstream &  ss  )  const [virtual]

Overrides base method.

Reimplemented from CommissioningAnalysis.

Definition at line 85 of file PedsOnlyAnalysis.cc.

References sistrip::APV, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), sistrip::extrainfo::commonMode_, sistrip::controlView_, sistrip::dir_, sistrip::dqmRoot_, lat::endl(), sistrip::EXPERT_HISTO, false, SiStripFecKey::fecCrate(), CommissioningAnalysis::fecKey(), SiStripFecKey::fecRing(), SiStripFecKey::fecSlot(), sistrip::FED_KEY, CommissioningAnalysis::fedKey(), SiStripFecKey::i2cAddr(), isValid(), SiStripKey::key(), legacy_, sistrip::LLD_CHAN, SiStripFecKey::lldChan(), CommissioningAnalysis::myName(), path(), sistrip::extrainfo::pedestals_, sistrip::extrainfo::pedsAndCmSubNoise_, sistrip::extrainfo::pedsAndRawNoise_, sistrip::extrainfo::rawNoise_, SiStripEnumsAndStrings::runType(), indexGen::title, and true.

00085                                                           { 
00086 
00087   SiStripFecKey fec_key( fecKey() );
00088   SiStripFedKey fed_key( fedKey() );
00089   
00090   sistrip::RunType type = SiStripEnumsAndStrings::runType( myName() );
00091   
00092   std::stringstream extra1,extra2,extra3;
00093   if ( legacy_ ) {
00094     extra1 << sistrip::extrainfo::pedsAndRawNoise_; 
00095     extra2 << sistrip::extrainfo::pedsAndCmSubNoise_; 
00096     extra3 << sistrip::extrainfo::commonMode_;
00097   } else {
00098     extra1 << sistrip::extrainfo::pedestals_; 
00099     extra2 << sistrip::extrainfo::rawNoise_; 
00100     extra3 << sistrip::extrainfo::commonMode_;
00101   }
00102   
00103   std::string title1 = SiStripHistoTitle( sistrip::EXPERT_HISTO, 
00104                                           type,
00105                                           sistrip::FED_KEY, 
00106                                           fed_key.key(),
00107                                           sistrip::LLD_CHAN, 
00108                                           fec_key.lldChan(),
00109                                           extra1.str() ).title();
00110   std::string title2 = SiStripHistoTitle( sistrip::EXPERT_HISTO, 
00111                                           type,
00112                                           sistrip::FED_KEY, 
00113                                           fed_key.key(),
00114                                           sistrip::LLD_CHAN, 
00115                                           fec_key.lldChan(),
00116                                           extra2.str() ).title();
00117   std::string title3 = SiStripHistoTitle( sistrip::EXPERT_HISTO, 
00118                                           type,
00119                                           sistrip::FED_KEY, 
00120                                           fed_key.key(),
00121                                           sistrip::APV, 
00122                                           SiStripFecKey::i2cAddr( fec_key.lldChan(), true ),
00123                                           extra3.str() ).title();
00124   std::string title4 = SiStripHistoTitle( sistrip::EXPERT_HISTO, 
00125                                           type,
00126                                           sistrip::FED_KEY, 
00127                                           fed_key.key(),
00128                                           sistrip::APV, 
00129                                           SiStripFecKey::i2cAddr( fec_key.lldChan(), false ),
00130                                           extra3.str() ).title();
00131   
00132   
00133   ss << " Summary"
00134      << ":"
00135      << ( isValid() ? "Valid" : "Invalid" )
00136      << ":"
00137      << sistrip::controlView_ << ":"
00138      << fec_key.fecCrate() << "/" 
00139      << fec_key.fecSlot() << "/" 
00140      << fec_key.fecRing() << "/" 
00141      << fec_key.ccuAddr() << "/" 
00142      << fec_key.ccuChan() 
00143      << ":"
00144      << sistrip::dqmRoot_ << sistrip::dir_ 
00145      << "Collate" << sistrip::dir_ 
00146      << SiStripFecKey( fec_key.fecCrate(),
00147                        fec_key.fecSlot(), 
00148                        fec_key.fecRing(), 
00149                        fec_key.ccuAddr(), 
00150                        fec_key.ccuChan() ).path()
00151      << ":"
00152      << title1 << ";" << title2 << ";" << title3 << ";" << title4
00153      << std::endl;
00154   
00155 }


Friends And Related Function Documentation

friend class PedsOnlyAlgorithm [friend]

Definition at line 27 of file PedsOnlyAnalysis.h.


Member Data Documentation

bool PedsOnlyAnalysis::legacy_ [private]

Definition at line 100 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), PedsOnlyAlgorithm::extract(), reset(), and summary().

VVFloat PedsOnlyAnalysis::peds_ [private]

Peds values.

Definition at line 68 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), peds(), print(), and reset().

VFloat PedsOnlyAnalysis::pedsMax_ [private]

Max peds value.

Definition at line 88 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), pedsMax(), print(), and reset().

VFloat PedsOnlyAnalysis::pedsMean_ [private]

Mean peds value.

Definition at line 76 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), pedsMean(), print(), and reset().

VFloat PedsOnlyAnalysis::pedsMin_ [private]

Min peds value.

Definition at line 91 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), pedsMin(), print(), and reset().

VFloat PedsOnlyAnalysis::pedsSpread_ [private]

Rms spread in peds.

Definition at line 79 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), pedsSpread(), print(), and reset().

VVFloat PedsOnlyAnalysis::raw_ [private]

Raw noise values.

Definition at line 71 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), print(), raw(), and reset().

VFloat PedsOnlyAnalysis::rawMax_ [private]

Max raw noise value.

Definition at line 94 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), print(), rawMax(), and reset().

VFloat PedsOnlyAnalysis::rawMean_ [private]

Mean raw noise value.

Definition at line 82 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), print(), rawMean(), and reset().

VFloat PedsOnlyAnalysis::rawMin_ [private]

Min raw noise value.

Definition at line 97 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), print(), rawMin(), and reset().

VFloat PedsOnlyAnalysis::rawSpread_ [private]

Rms spread in raw noise.

Definition at line 85 of file PedsOnlyAnalysis.h.

Referenced by PedsOnlyAlgorithm::analyse(), isValid(), print(), rawSpread(), and reset().


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