264 std::stringstream extra1, extra2, extra3;
314 <<
":" << title1 <<
";" << title2 <<
";" << title3 <<
";" << title4 << std::endl;
320 if (iapv == 1 || iapv == 2) {
328 <<
" Unexpected number of pedestal/noise values: " <<
peds_[iapv].size() <<
", " 329 <<
noise_[iapv].size() <<
", " <<
raw_[iapv].size();
334 ss <<
" Monitorables for APV number : " << iapv;
336 ss <<
" (first of pair)";
337 }
else if (iapv == 1) {
338 ss <<
" (second of pair)";
342 ss <<
" Example peds/noise for strips : " 343 <<
" 0, 31, 63, 127" << std::endl
344 <<
" Peds [ADC] : " << std::setw(6) <<
peds_[iapv][0] <<
", " << std::setw(6)
345 <<
peds_[iapv][31] <<
", " << std::setw(6) <<
peds_[iapv][63] <<
", " << std::setw(6) <<
peds_[iapv][127]
347 <<
" Noise [ADC] : " << std::setw(6) <<
noise_[iapv][0] <<
", " << std::setw(6)
348 <<
noise_[iapv][31] <<
", " << std::setw(6) <<
noise_[iapv][63] <<
", " << std::setw(6) <<
noise_[iapv][127]
350 <<
" Raw noise [ADC] : " << std::setw(6) <<
raw_[iapv][0] <<
", " << std::setw(6) <<
raw_[iapv][31]
351 <<
", " << std::setw(6) <<
raw_[iapv][63] <<
", " << std::setw(6) <<
raw_[iapv][127] << std::endl
352 <<
" Dead strips (<5s) [strip] : (" <<
deadStrip_[iapv].size() <<
" in total) ";
359 ss <<
" Bad strips (>5s) [strip] : (" <<
badStrip_[iapv].size() <<
" in total) ";
365 <<
" Min/Max pedestal [ADC] : " <<
pedsMin_[iapv] <<
" <-> " <<
pedsMax_[iapv] << std::endl
367 <<
" Min/Max noise [ADC] : " <<
noiseMin_[iapv] <<
" <-> " <<
noiseMax_[iapv] << std::endl
368 <<
" Mean raw noise +/- spread [ADC] : " <<
rawMean_[iapv] <<
" +/- " <<
rawSpread_[iapv] << std::endl
369 <<
" Min/Max raw noise [ADC] : " <<
rawMin_[iapv] <<
" <-> " <<
rawMax_[iapv] << std::endl
370 <<
" Normalised noise : " 371 <<
"(yet to be implemented...)" << std::endl
372 << std::boolalpha <<
" isValid : " <<
isValid() << std::endl
373 << std::noboolalpha <<
" Error codes (found " << std::setw(2) << std::setfill(
' ') <<
getErrorCodes().size()
380 for (; istr != jstr; ++istr) {
const VString & getErrorCodes() const
VVFloat peds_
Quantitles that are always filled for every strip.
VVInt badDoublePeakStrip_
const uint16_t & ccuAddr() const
Utility class that holds histogram title.
A container class for generic run and event-related info, information required by the commissioning a...
static const char noiseMean_[]
const uint16_t & ccuChan() const
bool isValid() const override
VVFloat residualIntegral_
static const char noiseMax_[]
static const char noiseMin_[]
const uint16_t & lldChan() const
VVInt deadStrip_
Quantities filled only for bad strips i.e. vectors of strip-id.
void summary(std::stringstream &) const override
Utility class that identifies a position within the strip tracker control structure, down to the level of an APV25.
static std::string runType(const sistrip::RunType &)
const std::string & myName() const
std::vector< float > VFloat
static const char mlCommissioning_[]
VVFloat noiseSignificance_
const uint16_t & i2cAddr() const
VVFloat residualIntegralNsigma_
static const char controlView_[]
const uint32_t & key() const
VVFloat residualSkewness_
static const uint16_t maximum_
static const char dqmRoot_[]
static const char noiseSpread_[]
key
prepare the HTCondor submission files and eventually submit them
const uint32_t & fecKey() const
const uint32_t & fedKey() const
std::vector< uint16_t > VInt
std::vector< VInt > VVInt
VVFloat residualKurtosis_
static const char deadStripBit_[]
static const uint16_t invalid_
const uint16_t & fecSlot() const
virtual void header(std::stringstream &) const
VVInt largeNoiseSignificance_
static const char badStripBit_[]
std::vector< VFloat > VVFloat
Abstract base for derived classes that provide analysis of commissioning histograms.
Log< level::Warning, false > LogWarning
const uint16_t & fecRing() const
const uint16_t & fecCrate() const
VVFloat residualSigmaGaus_
void print(std::stringstream &, uint32_t apv_number=0) override