27 <<
" NULL pointer to Analysis object!";
42 std::vector<TH1*>::const_iterator ihis =
histos.begin();
43 for (; ihis !=
histos.end(); ihis++) {
59 hFedId_.second = (*ihis)->GetName();
62 hFedCh_.second = (*ihis)->GetName();
74 <<
" NULL pointer to base Analysis object!";
82 <<
" NULL pointer to derived Analysis object!";
96 TProfile* fedid_histo =
dynamic_cast<TProfile*
>(
hFedId_.first);
102 TProfile* fedch_histo =
dynamic_cast<TProfile*
>(
hFedCh_.first);
109 anal->candidates_.clear();
117 for (uint16_t ifed = 0; ifed < fedid_histo->GetNbinsX(); ifed++) {
118 if (fedid_histo->GetBinEntries(ifed + 1)) {
119 if (fedid_histo->GetBinContent(ifed + 1) >
max &&
122 max = fedid_histo->GetBinContent(ifed + 1);
130 for (uint16_t ichan = 0; ichan < fedch_histo->GetNbinsX(); ichan++) {
131 if (fedch_histo->GetBinEntries(ichan + 1)) {
132 if (fedch_histo->GetBinContent(ichan + 1) >
max &&
135 max = fedch_histo->GetBinContent(ichan + 1);
147 anal->fedId_ = id_val;
148 anal->fedCh_ = ch_val;
static const char feDriver_[]
CommissioningAnalysis *const anal() const
static const char unexpectedTask_[]
const uint16_t & feChan() const
const uint16_t & feUnit() const
Utility class that holds histogram title.
A container class for generic run and event-related info, information required by the commissioning a...
Histogram-based analysis for connection loop.
static const char numberOfHistos_[]
static const float threshold_
static const char unexpectedExtraInfo_[]
static const char noCandidates_[]
uint32_t extractFedKey(const TH1 *const)
static const char mlCommissioning_[]
void extract(const std::vector< TH1 *> &) override
const uint32_t & key() const
virtual void addErrorCode(const std::string &error)
static const char fedChannel_[]
const uint32_t & fedKey() const
static const uint16_t invalid_
Abstract base for derived classes that provide analysis of commissioning histograms.
Log< level::Warning, false > LogWarning
static const char nullPtr_[]