#include <CondFormats/SiStripObjects/interface/PedsOnlyAnalysis.h>
Public Member Functions | |
bool | isValid () const |
Identifies if analysis is valid or not. | |
const VVFloat & | peds () const |
const VFloat & | pedsMax () const |
const VFloat & | pedsMean () const |
const VFloat & | pedsMin () const |
PedsOnlyAnalysis () | |
PedsOnlyAnalysis (const uint32_t &key) | |
const VFloat & | pedsSpread () const |
void | print (std::stringstream &, uint32_t apv_number=0) |
Prints analysis results. | |
const VVFloat & | raw () const |
const VFloat & | rawMax () const |
const VFloat & | rawMean () const |
const VFloat & | rawMin () const |
const VFloat & | rawSpread () 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 |
Wingham, R.Bainbridge Histogram-based analysis for pedestal run.
Definition at line 15 of file PedsOnlyAnalysis.h.
PedsOnlyAnalysis::PedsOnlyAnalysis | ( | const uint32_t & | key | ) |
Definition at line 13 of file PedsOnlyAnalysis.cc.
00014 : CommissioningAnalysis(key,"PedsOnlyAnalysis"), 00015 peds_(2,VFloat(128,sistrip::invalid_)), 00016 raw_(2,VFloat(128,sistrip::invalid_)), 00017 pedsMean_(2,sistrip::invalid_), 00018 pedsSpread_(2,sistrip::invalid_), 00019 rawMean_(2,sistrip::invalid_), 00020 rawSpread_(2,sistrip::invalid_), 00021 pedsMax_(2,sistrip::invalid_), 00022 pedsMin_(2,sistrip::invalid_), 00023 rawMax_(2,sistrip::invalid_), 00024 rawMin_(2,sistrip::invalid_), 00025 legacy_(false) 00026 {}
PedsOnlyAnalysis::PedsOnlyAnalysis | ( | ) |
Definition at line 30 of file PedsOnlyAnalysis.cc.
00031 : CommissioningAnalysis("PedsOnlyAnalysis"), 00032 peds_(2,VFloat(128,sistrip::invalid_)), 00033 raw_(2,VFloat(128,sistrip::invalid_)), 00034 pedsMean_(2,sistrip::invalid_), 00035 pedsSpread_(2,sistrip::invalid_), 00036 rawMean_(2,sistrip::invalid_), 00037 rawSpread_(2,sistrip::invalid_), 00038 pedsMax_(2,sistrip::invalid_), 00039 pedsMin_(2,sistrip::invalid_), 00040 rawMax_(2,sistrip::invalid_), 00041 rawMin_(2,sistrip::invalid_), 00042 legacy_(false) 00043 {}
virtual PedsOnlyAnalysis::~PedsOnlyAnalysis | ( | ) | [inline, 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_; }
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_.
00047 { 00048 peds_ = VVFloat(2,VFloat(128,sistrip::invalid_)); 00049 raw_ = VVFloat(2,VFloat(128,sistrip::invalid_)); 00050 pedsMean_ = VFloat(2,sistrip::invalid_); 00051 pedsSpread_ = VFloat(2,sistrip::invalid_); 00052 rawMean_ = VFloat(2,sistrip::invalid_); 00053 rawSpread_ = VFloat(2,sistrip::invalid_); 00054 pedsMax_ = VFloat(2,sistrip::invalid_); 00055 pedsMin_ = VFloat(2,sistrip::invalid_); 00056 rawMax_ = VFloat(2,sistrip::invalid_); 00057 rawMin_ = VFloat(2,sistrip::invalid_); 00058 legacy_ = false; 00059 }
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 }
friend class PedsOnlyAlgorithm [friend] |
Definition at line 27 of file PedsOnlyAnalysis.h.
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().