CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes | Friends
PedestalsAnalysis Class Reference

Histogram-based analysis for pedestal run. More...

#include <PedestalsAnalysis.h>

Inheritance diagram for PedestalsAnalysis:
CommissioningAnalysis

Public Member Functions

const VVIntdead () const
 
bool isValid () const override
 
const VVFloatnoise () const
 
const VFloatnoiseMax () const
 
const VFloatnoiseMean () const
 
const VFloatnoiseMin () const
 
const VFloatnoiseSpread () const
 
const VVIntnoisy () const
 
 PedestalsAnalysis (const uint32_t &key)
 
 PedestalsAnalysis ()
 
const VVFloatpeds () const
 
const VFloatpedsMax () const
 
const VFloatpedsMean () const
 
const VFloatpedsMin () const
 
const VFloatpedsSpread () const
 
void print (std::stringstream &, uint32_t apv_number=0) override
 
const VVFloatraw () const
 
const VFloatrawMax () const
 
const VFloatrawMean () const
 
const VFloatrawMin () const
 
const VFloatrawSpread () const
 
void reset () override
 
void summary (std::stringstream &) const override
 
 ~PedestalsAnalysis () override
 
- Public Member Functions inherited from CommissioningAnalysis
virtual void addErrorCode (const std::string &error)
 
 CommissioningAnalysis (const uint32_t &key, const std::string &my_name)
 
 CommissioningAnalysis (const std::string &my_name)
 
const uint32_t & dcuId () const
 
void dcuId (const uint32_t &)
 
const uint32_t & detId () const
 
void detId (const uint32_t &)
 
const uint32_t & fecKey () const
 
void fecKey (const uint32_t &)
 
const uint32_t & fedKey () const
 
void fedKey (const uint32_t &)
 
const VStringgetErrorCodes () const
 
virtual void header (std::stringstream &) const
 
const std::string & myName () const
 
void setErrorCodes (const VString &errors)
 
virtual ~CommissioningAnalysis ()
 

Private Attributes

VVInt dead_
 
bool legacy_
 
VVFloat noise_
 
VFloat noiseMax_
 
VFloat noiseMean_
 
VFloat noiseMin_
 
VFloat noiseSpread_
 
VVInt noisy_
 
VVFloat peds_
 
VFloat pedsMax_
 
VFloat pedsMean_
 
VFloat pedsMin_
 
VFloat pedsSpread_
 
VVFloat raw_
 
VFloat rawMax_
 
VFloat rawMean_
 
VFloat rawMin_
 
VFloat rawSpread_
 

Friends

class PedestalsAlgorithm
 

Additional Inherited Members

- Public Types inherited from CommissioningAnalysis
typedef std::vector< bool > VBool
 
typedef std::vector< float > VFloat
 
typedef std::vector< uint16_t > VInt
 
typedef std::vector< std::string > VString
 
typedef std::vector< VBoolVVBool
 
typedef std::vector< VFloatVVFloat
 
typedef std::vector< VIntVVInt
 

Detailed Description

Histogram-based analysis for pedestal run.

Author
M. Wingham, R.Bainbridge

Definition at line 15 of file PedestalsAnalysis.h.

Constructor & Destructor Documentation

PedestalsAnalysis::PedestalsAnalysis ( const uint32_t &  key)

Definition at line 13 of file PedestalsAnalysis.cc.

References dead_, and noisy_.

14  : CommissioningAnalysis(key, "PedestalsAnalysis"),
15  peds_(2, VFloat(128, sistrip::invalid_)),
17  raw_(2, VFloat(128, sistrip::invalid_)),
32  legacy_(false) {
33  dead_[0].reserve(256);
34  dead_[1].reserve(256);
35  noisy_[0].reserve(256);
36  noisy_[1].reserve(256);
37 }
std::vector< float > VFloat
tuple key
prepare the HTCondor submission files and eventually submit them
std::vector< uint16_t > VInt
static const uint16_t invalid_
Definition: Constants.h:16
PedestalsAnalysis::PedestalsAnalysis ( )

Definition at line 41 of file PedestalsAnalysis.cc.

References dead_, and noisy_.

42  : CommissioningAnalysis("PedestalsAnalysis"),
43  peds_(2, VFloat(128, sistrip::invalid_)),
45  raw_(2, VFloat(128, sistrip::invalid_)),
60  legacy_(false) {
61  dead_[0].reserve(256);
62  dead_[1].reserve(256);
63  noisy_[0].reserve(256);
64  noisy_[1].reserve(256);
65 }
std::vector< float > VFloat
std::vector< uint16_t > VInt
static const uint16_t invalid_
Definition: Constants.h:16
PedestalsAnalysis::~PedestalsAnalysis ( )
inlineoverride

Definition at line 23 of file PedestalsAnalysis.h.

23 { ; }

Member Function Documentation

const PedestalsAnalysis::VVInt & PedestalsAnalysis::dead ( ) const
inline
bool PedestalsAnalysis::isValid ( void  ) const
overridevirtual

Identifies if analysis is valid or not.

Reimplemented from CommissioningAnalysis.

Definition at line 96 of file PedestalsAnalysis.cc.

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

Referenced by ntupleDataFormat._Object::_checkIsValid(), PedestalsHistosUsingDb::create(), PedestalsHistograms::histoAnalysis(), print(), core.AutoHandle.AutoHandle::ReallyLoad(), and summary().

96  {
106  //noiseMean_[0] <= rawMean_[0] && //@@ temp
107  //noiseMean_[1] <= rawMean_[1] ); //@@ temp
108 }
static const uint16_t maximum_
Definition: Constants.h:20
const VString & getErrorCodes() const
const PedestalsAnalysis::VVFloat & PedestalsAnalysis::noise ( ) const
inline

Definition at line 135 of file PedestalsAnalysis.h.

References noise_.

Referenced by PedestalsSummaryFactory::extract(), and PedestalsHistosUsingDb::update().

135 { return noise_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::noiseMax ( ) const
inline

Definition at line 150 of file PedestalsAnalysis.h.

References noiseMax_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

150 { return noiseMax_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::noiseMean ( ) const
inline

Definition at line 143 of file PedestalsAnalysis.h.

References noiseMean_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

143 { return noiseMean_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::noiseMin ( ) const
inline

Definition at line 151 of file PedestalsAnalysis.h.

References noiseMin_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

151 { return noiseMin_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::noiseSpread ( ) const
inline

Definition at line 144 of file PedestalsAnalysis.h.

References noiseSpread_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

144 { return noiseSpread_; }
const PedestalsAnalysis::VVInt & PedestalsAnalysis::noisy ( ) const
inline
const PedestalsAnalysis::VVFloat & PedestalsAnalysis::peds ( ) const
inline

Definition at line 134 of file PedestalsAnalysis.h.

References peds_.

Referenced by PedestalsSummaryFactory::extract(), and PedestalsHistosUsingDb::update().

134 { return peds_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::pedsMax ( ) const
inline

Definition at line 148 of file PedestalsAnalysis.h.

References pedsMax_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

148 { return pedsMax_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::pedsMean ( ) const
inline

Definition at line 141 of file PedestalsAnalysis.h.

References pedsMean_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

141 { return pedsMean_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::pedsMin ( ) const
inline
const PedestalsAnalysis::VFloat & PedestalsAnalysis::pedsSpread ( ) const
inline

Definition at line 142 of file PedestalsAnalysis.h.

References pedsSpread_.

Referenced by PedestalsHistosUsingDb::create(), and PedestalsSummaryFactory::extract().

142 { return pedsSpread_; }
void PedestalsAnalysis::print ( std::stringstream &  ss,
uint32_t  apv_number = 0 
)
overridevirtual

Prints analysis results.

Implements CommissioningAnalysis.

Definition at line 173 of file PedestalsAnalysis.cc.

References dead_, relativeConstraints::empty, CommissioningAnalysis::getErrorCodes(), CommissioningAnalysis::header(), cuy::ii, isValid(), sistrip::mlCommissioning_, CommissioningAnalysis::myName(), noise_, noiseMax_, noiseMean_, noiseMin_, noiseSpread_, noisy_, peds_, pedsMax_, pedsMean_, pedsMin_, pedsSpread_, raw_, rawMax_, rawMean_, rawMin_, rawSpread_, and findQualityFiles::size.

173  {
174  if (iapv == 1 || iapv == 2) {
175  iapv--;
176  } else {
177  iapv = 0;
178  }
179 
180  if (peds_[iapv].size() < 128 || noise_[iapv].size() < 128 || raw_[iapv].size() < 128) {
181  edm::LogWarning(mlCommissioning_) << "[" << myName() << "::" << __func__ << "]"
182  << " Unexpected number of pedestal/noise values: " << peds_[iapv].size() << ", "
183  << noise_[iapv].size() << ", " << raw_[iapv].size();
184  return;
185  }
186 
187  header(ss);
188  ss << " Monitorables for APV number : " << iapv;
189  if (iapv == 0) {
190  ss << " (first of pair)";
191  } else if (iapv == 1) {
192  ss << " (second of pair)";
193  }
194  ss << std::endl;
195  ss << std::fixed << std::setprecision(2);
196  ss << " Example peds/noise for strips : "
197  << " 0, 31, 63, 127" << std::endl
198  << " Peds [ADC] : " << std::setw(6) << peds_[iapv][0] << ", " << std::setw(6)
199  << peds_[iapv][31] << ", " << std::setw(6) << peds_[iapv][63] << ", " << std::setw(6) << peds_[iapv][127]
200  << std::endl
201  << " Noise [ADC] : " << std::setw(6) << noise_[iapv][0] << ", " << std::setw(6)
202  << noise_[iapv][31] << ", " << std::setw(6) << noise_[iapv][63] << ", " << std::setw(6) << noise_[iapv][127]
203  << std::endl
204  << " Raw noise [ADC] : " << std::setw(6) << raw_[iapv][0] << ", " << std::setw(6) << raw_[iapv][31]
205  << ", " << std::setw(6) << raw_[iapv][63] << ", " << std::setw(6) << raw_[iapv][127] << std::endl
206  << " Dead strips (<5s) [strip] : (" << dead_[iapv].size() << " in total) ";
207  for (uint16_t ii = 0; ii < dead_[iapv].size(); ii++) {
208  ss << dead_[iapv][ii] << " ";
209  }
210 
211  ss << std::endl;
212  ss << " Noisy strips (>5s) [strip] : (" << noisy_[iapv].size() << " in total) ";
213  for (uint16_t ii = 0; ii < noisy_[iapv].size(); ii++) {
214  ss << noisy_[iapv][ii] << " ";
215  }
216  ss << std::endl;
217  ss << " Mean peds +/- spread [ADC] : " << pedsMean_[iapv] << " +/- " << pedsSpread_[iapv] << std::endl
218  << " Min/Max pedestal [ADC] : " << pedsMin_[iapv] << " <-> " << pedsMax_[iapv] << std::endl
219  << " Mean noise +/- spread [ADC] : " << noiseMean_[iapv] << " +/- " << noiseSpread_[iapv] << std::endl
220  << " Min/Max noise [ADC] : " << noiseMin_[iapv] << " <-> " << noiseMax_[iapv] << std::endl
221  << " Mean raw noise +/- spread [ADC] : " << rawMean_[iapv] << " +/- " << rawSpread_[iapv] << std::endl
222  << " Min/Max raw noise [ADC] : " << rawMin_[iapv] << " <-> " << rawMax_[iapv] << std::endl
223  << " Normalised noise : "
224  << "(yet to be implemented...)" << std::endl
225  << std::boolalpha << " isValid : " << isValid() << std::endl
226  << std::noboolalpha << " Error codes (found " << std::setw(2) << std::setfill(' ') << getErrorCodes().size()
227  << ") : ";
228  if (getErrorCodes().empty()) {
229  ss << "(none)";
230  } else {
231  VString::const_iterator istr = getErrorCodes().begin();
232  VString::const_iterator jstr = getErrorCodes().end();
233  for (; istr != jstr; ++istr) {
234  ss << *istr << " ";
235  }
236  }
237  ss << std::endl;
238 }
int ii
Definition: cuy.py:589
static const char mlCommissioning_[]
bool isValid() const override
virtual void header(std::stringstream &) const
Log< level::Warning, false > LogWarning
const VString & getErrorCodes() const
const std::string & myName() const
tuple size
Write out results.
const PedestalsAnalysis::VVFloat & PedestalsAnalysis::raw ( ) const
inline

Definition at line 136 of file PedestalsAnalysis.h.

References raw_.

136 { return raw_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::rawMax ( ) const
inline

Definition at line 152 of file PedestalsAnalysis.h.

References rawMax_.

Referenced by PedestalsHistosUsingDb::create().

152 { return rawMax_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::rawMean ( ) const
inline

Definition at line 145 of file PedestalsAnalysis.h.

References rawMean_.

Referenced by PedestalsHistosUsingDb::create().

145 { return rawMean_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::rawMin ( ) const
inline

Definition at line 153 of file PedestalsAnalysis.h.

References rawMin_.

Referenced by PedestalsHistosUsingDb::create().

153 { return rawMin_; }
const PedestalsAnalysis::VFloat & PedestalsAnalysis::rawSpread ( ) const
inline

Definition at line 146 of file PedestalsAnalysis.h.

References rawSpread_.

Referenced by PedestalsHistosUsingDb::create().

146 { return rawSpread_; }
void PedestalsAnalysis::reset ( void  )
overridevirtual

Resets analysis member data.

Implements CommissioningAnalysis.

Definition at line 69 of file PedestalsAnalysis.cc.

References dead_, sistrip::invalid_, legacy_, noise_, noiseMax_, noiseMean_, noiseMin_, noiseSpread_, noisy_, peds_, pedsMax_, pedsMean_, pedsMin_, pedsSpread_, raw_, rawMax_, rawMean_, rawMin_, and rawSpread_.

Referenced by MatrixReader.MatrixReader::__init__(), and MatrixReader.MatrixReader::showRaw().

69  {
87  dead_[0].reserve(256);
88  dead_[1].reserve(256);
89  noisy_[0].reserve(256);
90  noisy_[1].reserve(256);
91  legacy_ = false;
92 }
std::vector< float > VFloat
std::vector< uint16_t > VInt
std::vector< VInt > VVInt
static const uint16_t invalid_
Definition: Constants.h:16
std::vector< VFloat > VVFloat
void PedestalsAnalysis::summary ( std::stringstream &  ss) const
overridevirtual

Overrides base method.

Reimplemented from CommissioningAnalysis.

Definition at line 112 of file PedestalsAnalysis.cc.

References sistrip::APV, SiStripFecKey::ccuAddr(), SiStripFecKey::ccuChan(), sistrip::extrainfo::commonMode_, sistrip::controlView_, sistrip::dir_, sistrip::dqmRoot_, sistrip::EXPERT_HISTO, 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(), fed_dqm_sourceclient-live_cfg::path, sistrip::extrainfo::pedestals_, sistrip::extrainfo::pedsAndCmSubNoise_, sistrip::extrainfo::pedsAndRawNoise_, sistrip::extrainfo::rawNoise_, SiStripEnumsAndStrings::runType(), AlCaHLTBitMon_QueryRunRegistry::string, and runGCPTkAlMap::title.

112  {
113  SiStripFecKey fec_key(fecKey());
114  SiStripFedKey fed_key(fedKey());
115 
117 
118  std::stringstream extra1, extra2, extra3;
119  if (legacy_) {
123  } else {
127  }
128 
130  type,
132  fed_key.key(),
134  fec_key.lldChan(),
135  extra1.str())
136  .title();
138  type,
140  fed_key.key(),
142  fec_key.lldChan(),
143  extra2.str())
144  .title();
146  type,
148  fed_key.key(),
149  sistrip::APV,
150  SiStripFecKey::i2cAddr(fec_key.lldChan(), true),
151  extra3.str())
152  .title();
154  type,
156  fed_key.key(),
157  sistrip::APV,
158  SiStripFecKey::i2cAddr(fec_key.lldChan(), false),
159  extra3.str())
160  .title();
161 
162  ss << " Summary"
163  << ":" << (isValid() ? "Valid" : "Invalid") << ":" << sistrip::controlView_ << ":" << fec_key.fecCrate() << "/"
164  << fec_key.fecSlot() << "/" << fec_key.fecRing() << "/" << fec_key.ccuAddr() << "/" << fec_key.ccuChan() << ":"
165  << sistrip::dqmRoot_ << sistrip::dir_ << "Collate" << sistrip::dir_
166  << SiStripFecKey(fec_key.fecCrate(), fec_key.fecSlot(), fec_key.fecRing(), fec_key.ccuAddr(), fec_key.ccuChan())
167  .path()
168  << ":" << title1 << ";" << title2 << ";" << title3 << ";" << title4 << std::endl;
169 }
static const char rawNoise_[]
const uint32_t & fedKey() const
static const char pedsAndRawNoise_[]
static const char dir_[]
Utility class that holds histogram title.
A container class for generic run and event-related info, information required by the commissioning a...
Definition: SiStripFedKey.h:56
const uint16_t & i2cAddr() const
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
Definition: SiStripFecKey.h:45
static std::string runType(const sistrip::RunType &)
static const char controlView_[]
static const char dqmRoot_[]
const uint32_t & fecKey() const
static const char commonMode_[]
bool isValid() const override
static const char pedestals_[]
static const char pedsAndCmSubNoise_[]
const std::string & myName() const

Friends And Related Function Documentation

friend class PedestalsAlgorithm
friend

Definition at line 25 of file PedestalsAnalysis.h.

Member Data Documentation

VVInt PedestalsAnalysis::dead_
private

Dead strips.

Definition at line 85 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), dead(), PedestalsAnalysis(), print(), and reset().

bool PedestalsAnalysis::legacy_
private

Definition at line 129 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::extract(), reset(), and summary().

VVFloat PedestalsAnalysis::noise_
private

Noise values.

Definition at line 77 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), noise(), print(), and reset().

VFloat PedestalsAnalysis::noiseMax_
private

Max noise value.

Definition at line 117 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), isValid(), noiseMax(), print(), and reset().

VFloat PedestalsAnalysis::noiseMean_
private

Mean noise value.

Definition at line 99 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), isValid(), noiseMean(), print(), and reset().

VFloat PedestalsAnalysis::noiseMin_
private

Min noise value.

Definition at line 120 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), isValid(), noiseMin(), print(), and reset().

VFloat PedestalsAnalysis::noiseSpread_
private

Rms spread in noise.

Definition at line 102 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), isValid(), noiseSpread(), print(), and reset().

VVInt PedestalsAnalysis::noisy_
private

Noisy strips.

Definition at line 88 of file PedestalsAnalysis.h.

Referenced by PedestalsAlgorithm::analyse(), noisy(), PedestalsAnalysis(), print(), and reset().

VVFloat PedestalsAnalysis::peds_
private

Peds values.

Definition at line 74 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::pedsMax_
private

Max peds value.

Definition at line 111 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::pedsMean_
private

Mean peds value.

Definition at line 93 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::pedsMin_
private

Min peds value.

Definition at line 114 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::pedsSpread_
private

Rms spread in peds.

Definition at line 96 of file PedestalsAnalysis.h.

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

VVFloat PedestalsAnalysis::raw_
private

Raw noise values.

Definition at line 80 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::rawMax_
private

Max raw noise value.

Definition at line 123 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::rawMean_
private

Mean raw noise value.

Definition at line 105 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::rawMin_
private

Min raw noise value.

Definition at line 126 of file PedestalsAnalysis.h.

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

VFloat PedestalsAnalysis::rawSpread_
private

Rms spread in raw noise.

Definition at line 108 of file PedestalsAnalysis.h.

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