4 monitorDir_(ps.getUntrackedParameter<
std::
string>(
"monitorDir")),
5 inputNum_(ps.getUntrackedParameter<
std::
string>(
"inputNum")),
6 inputDen_(ps.getUntrackedParameter<
std::
string>(
"inputDen")),
7 ratioName_(ps.getUntrackedParameter<
std::
string>(
"ratioName")),
8 ratioTitle_(ps.getUntrackedParameter<
std::
string>(
"ratioTitle")),
9 yAxisTitle_(ps.getUntrackedParameter<
std::
string>(
"yAxisTitle")),
10 binomialErr_(ps.getUntrackedParameter<
bool>(
"binomialErr")),
11 ignoreBin_(ps.getUntrackedParameter<
std::vector<
int>>(
"ignoreBin")),
21 desc.
addUntracked<
std::string>(
"monitorDir",
"")->setComment(
"Target directory in the DQM file. Will be created if not existing.");
27 desc.
addUntracked<
bool>(
"binomialErr",
"true")->setComment(
"Compute binomial errors.");
28 desc.
addUntracked<std::vector<int>>(
"ignoreBin", std::vector<int>())->
setComment(
"List of bins to ignore. Will set their ratio to 0.");
29 descriptions.
add(
"l1TStage2RatioClient", desc);
34 book(ibooker, igetter);
63 if (numME_ && denME_) {
65 TH1F *hDen =
dynamic_cast<TH1F *
>(denME_->
getTH1F()->Clone(
"den"));
70 if (hNum->GetXaxis()->IsAlphanumeric()) {
71 for (
int i = 1;
i <= hNum->GetNbinsX(); ++
i) {
72 hDen->GetXaxis()->SetBinLabel(
i, hNum->GetXaxis()->GetBinLabel(
i));
73 hRatio->GetXaxis()->SetBinLabel(
i, hNum->GetXaxis()->GetBinLabel(
i));
82 hRatio->Divide(hNum, hDen, 1, 1, errOption.c_str());
86 if (
bin > 0 && bin <= hRatio->GetNbinsX()) {
87 hRatio->SetBinContent(
bin, 0.0);
88 hRatio->GetXaxis()->SetBinLabel(
bin,
"Ignored");
97 book(ibooker, igetter);
void setComment(std::string const &value)
std::vector< int > ignoreBin_
void dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) override
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter, const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
void book(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter)
~L1TStage2RatioClient() override
void setCurrentFolder(std::string const &fullpath)
MonitorElement * book1D(Args &&...args)
void Reset()
reset ME (ie. contents, errors, etc)
MonitorElement * get(std::string const &path)
void processHistograms(DQMStore::IGetter &igetter)
bin
set the eta bin as selection string.
L1TStage2RatioClient(const edm::ParameterSet &)
MonitorElement * ratioME_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)