14 : monitorDir_(ps.getParameter<
string>(
"monitorDir")),
21 alctNBin_(ps.getParameter<
std::
vector<unsigned>>(
"alctNBin")),
22 clctNBin_(ps.getParameter<
std::
vector<unsigned>>(
"clctNBin")),
23 lctNBin_(ps.getParameter<
std::
vector<unsigned>>(
"lctNBin")),
24 alctMinBin_(ps.getParameter<
std::
vector<double>>(
"alctMinBin")),
25 clctMinBin_(ps.getParameter<
std::
vector<double>>(
"clctMinBin")),
26 lctMinBin_(ps.getParameter<
std::
vector<double>>(
"lctMinBin")),
27 alctMaxBin_(ps.getParameter<
std::
vector<double>>(
"alctMaxBin")),
28 clctMaxBin_(ps.getParameter<
std::
vector<double>>(
"clctMaxBin")),
29 lctMaxBin_(ps.getParameter<
std::
vector<double>>(
"lctMaxBin")),
30 useB904ME11_(ps.getParameter<
bool>(
"useB904ME11")),
31 useB904ME21_(ps.getParameter<
bool>(
"useB904ME21")),
32 useB904ME234s2_(ps.getParameter<
bool>(
"useB904ME234s2")),
33 isRun3_(ps.getParameter<
bool>(
"isRun3")),
37 make1DPlots_(ps.getParameter<
bool>(
"make1DPlots")) {
90 for (
unsigned iType = 0; iType <
chambers_.size(); iType++) {
92 for (
unsigned iVar = 0; iVar <
alctVars_.size(); iVar++) {
104 for (
unsigned iVar = 0; iVar <
clctVars_.size(); iVar++) {
116 for (
unsigned iVar = 0; iVar <
lctVars_.size(); iVar++) {
131 "lct_csctp_data_summary_eff",
"Efficiency of data LCT being correctly emulated", 36, 1, 37, 18, 0, 18);
133 "alct_csctp_data_summary_eff",
"Efficiency of data ALCT being correctly emulated", 36, 1, 37, 18, 0, 18);
135 "clct_csctp_data_summary_eff",
"Efficiency of data CLCT being correctly emulated", 36, 1, 37, 18, 0, 18);
138 "lct_csctp_emul_summary_eff",
"Fraction of emulated LCT without matching data LCT", 36, 1, 37, 18, 0, 18);
140 "alct_csctp_emul_summary_eff",
"Fraction of emulated ALCT without matching data ALCT", 36, 1, 37, 18, 0, 18);
142 "clct_csctp_emul_summary_eff",
"Fraction of emulated CLCT without matching data CLCT", 36, 1, 37, 18, 0, 18);
163 const std::array<std::string, 9> suffix_label{{
"4/2",
"4/1",
"3/2",
"3/1",
" 2/2",
"2/1",
"1/3",
"1/2",
"1/1"}};
166 for (
int ybin = 1; ybin <= 9; ++ybin) {
192 for (
unsigned iType = 0; iType <
chambers_.size(); iType++) {
194 for (
unsigned iVar = 0; iVar <
alctVars_.size(); iVar++) {
202 if (dataMon ==
nullptr or emulMon ==
nullptr) {
204 << __PRETTY_FUNCTION__ <<
" could not load the necessary histograms for harvesting " << histData <<
" / " 211 if (dataMon && emulMon) {
212 TH1F *hData = dataMon->
getTH1F();
213 TH1F *hEmul = emulMon->
getTH1F();
214 hDiff->Add(hEmul, hData, 1, -1);
219 for (
unsigned iVar = 0; iVar <
clctVars_.size(); iVar++) {
227 if (dataMon ==
nullptr or emulMon ==
nullptr) {
229 << __PRETTY_FUNCTION__ <<
" could not load the necessary histograms for harvesting " << histData <<
" / " 236 if (dataMon && emulMon) {
237 TH1F *hData = dataMon->
getTH1F();
238 TH1F *hEmul = emulMon->
getTH1F();
239 hDiff->Add(hEmul, hData, 1, -1);
244 for (
unsigned iVar = 0; iVar <
lctVars_.size(); iVar++) {
252 if (dataMon ==
nullptr or emulMon ==
nullptr) {
254 << __PRETTY_FUNCTION__ <<
" could not load the necessary histograms for harvesting " << histData <<
" / " 261 if (dataMon && emulMon) {
262 TH1F *hData = dataMon->
getTH1F();
263 TH1F *hEmul = emulMon->
getTH1F();
264 hDiff->Add(hEmul, hData, 1, -1);
278 if (lctDataSummary_denom_ ==
nullptr or lctDataSummary_num_ ==
nullptr or alctDataSummary_denom_ ==
nullptr or 279 alctDataSummary_num_ ==
nullptr or clctDataSummary_denom_ ==
nullptr or clctDataSummary_num_ ==
nullptr) {
281 <<
" could not load the necessary data histograms for 2D summary plots";
292 if (lctEmulSummary_denom_ ==
nullptr or lctEmulSummary_num_ ==
nullptr or alctEmulSummary_denom_ ==
nullptr or 293 alctEmulSummary_num_ ==
nullptr or clctEmulSummary_denom_ ==
nullptr or clctEmulSummary_num_ ==
nullptr) {
295 << __PRETTY_FUNCTION__ <<
" could not load the necessary emulation histograms for the 2D summary plots";
std::vector< double > alctMaxBin_
MonitorElement * clctDataSummary_eff_
std::vector< double > clctMaxBin_
L1TdeCSCTPGClient(const edm::ParameterSet &ps)
Constructor.
~L1TdeCSCTPGClient() override
Destructor.
MonitorElement * lctDataSummary_eff_
virtual void setCurrentFolder(std::string const &fullpath)
std::vector< std::string > lctVars_
std::vector< double > lctMinBin_
std::vector< std::string > alctVars_
virtual void setOption(const char *option)
MonitorElement * alctEmulSummary_eff_
std::vector< unsigned > alctNBin_
virtual TH2F * getTH2F() const
void book(DQMStore::IBooker &ibooker)
void processHistograms(DQMStore::IGetter &)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
key
prepare the HTCondor submission files and eventually submit them
std::vector< double > alctMinBin_
MonitorElement * clctEmulSummary_eff_
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
std::vector< unsigned > lctNBin_
std::vector< double > clctMinBin_
virtual TH1F * getTH1F() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * lctEmulSummary_eff_
virtual MonitorElement * get(std::string const &fullpath) const
std::vector< double > lctMaxBin_
std::vector< std::string > chambers_
Log< level::Warning, false > LogWarning
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * alctDataSummary_eff_
std::vector< std::string > clctVars_
std::vector< unsigned > clctNBin_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::map< uint32_t, std::map< std::string, MonitorElement * > > chamberHistos_