13 using namespace sistrip;
27 <<
" NULL pointer to Analysis object!";
32 if (histos.size() != 2) {
37 if (!histos.empty()) {
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);
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);
static const char feDriver_[]
void extract(const std::vector< TH1 * > &) override
static const char unexpectedTask_[]
const uint32_t & fedKey() 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_[]
const uint32_t & key() const
uint32_t extractFedKey(const TH1 *const)
static const char mlCommissioning_[]
tuple key
prepare the HTCondor submission files and eventually submit them
virtual void addErrorCode(const std::string &error)
static const char fedChannel_[]
const uint16_t & feUnit() const
static const uint16_t invalid_
const uint16_t & feChan() const
Abstract base for derived classes that provide analysis of commissioning histograms.
Log< level::Warning, false > LogWarning
CommissioningAnalysis *const anal() const
static const char nullPtr_[]