30 struct RunBasedHistograms {
32 std::vector<ConcurrentMonitorElement> orbit_bx;
33 std::vector<ConcurrentMonitorElement> orbit_bx_all_byLS;
50 static const unsigned int s_bx_range = 3564;
51 static const unsigned int s_orbit_range = 262144;
55 static constexpr const char *
const s_tcds_trigger_types[] = {
98 descriptions.
add(
"triggerBxVsOrbitMonitor", desc);
104 m_hlt_results( consumes<
edm::TriggerResults>( config.getUntrackedParameter<
edm::InputTag>(
"hltResults" ) ) ),
105 m_dqm_path( config.getUntrackedParameter<
std::
string>(
"dqmPath" ) ),
106 m_minLS( config.getUntrackedParameter<
int>(
"minLS" ) ),
107 m_maxLS( config.getUntrackedParameter<
int>(
"maxLS" ) ),
108 m_minBX( config.getUntrackedParameter<
int>(
"minBX" ) ),
109 m_maxBX( config.getUntrackedParameter<
int>(
"maxBX" ) )
117 histograms.orbit_bx_all_byLS.clear();
118 histograms.orbit_bx_all_byLS.resize(nLS);
120 histograms.orbit_bx.clear();
133 histograms.orbit_bx_all = booker.
book2D(
135 "Event orbits vs. bunch crossing",
136 nBX, m_minBX - 0.5,
m_maxBX + 0.5,
138 histograms.orbit_bx_all.setXTitle(
"BX");
139 histograms.orbit_bx_all.setYTitle(
"orbit");
141 for (
unsigned int i = 0;
i < nLS; ++
i) {
143 histograms.orbit_bx_all_byLS[
i] = booker.
book2D(
144 "OrbitVsBX_LS" + iname,
145 "Event orbits vs. bunch crossing, for lumisection " + iname,
146 nBX, m_minBX - 0.5,
m_maxBX + 0.5,
148 histograms.orbit_bx_all_byLS[
i].setXTitle(
"BX");
149 histograms.orbit_bx_all_byLS[
i].setYTitle(
"orbit");
153 for (
unsigned int i = 0;
i <
size; ++
i) {
155 histograms.orbit_bx[
i] = booker.
book2D(
158 nBX, m_minBX - 0.5,
m_maxBX + 0.5,
160 histograms.orbit_bx[
i].setXTitle(
"BX");
161 histograms.orbit_bx[
i].setYTitle(
"orbit");
169 unsigned int type =
event.experimentType();
170 unsigned int ls =
event.id().luminosityBlock();
172 unsigned int bx =
event.bunchCrossing();
173 histograms.orbit_bx_all.fill(bx, orbit);
176 if (iLS >= 0 and iLS <
int(histograms.orbit_bx_all_byLS.size()))
177 histograms.orbit_bx_all_byLS[iLS].fill(bx, orbit);
181 if (type < size and histograms.orbit_bx[type]) {
182 histograms.orbit_bx[
type].fill(bx, orbit);
static const char *const s_tcds_trigger_types[]
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void bookHistograms(DQMStore::ConcurrentBooker &, edm::Run const &, edm::EventSetup const &, RunBasedHistograms &) const override
static const unsigned int s_orbit_range
def setup(process, global_tag, zero_tesla=False)
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath)
ConcurrentMonitorElement book2D(Args &&...args)
example_global void dqmAnalyze(edm::Event const &,@example_global edm::EventSetup const &,@example_global Histograms___class__ const &) const override
const edm::EDGetTokenT< GlobalAlgBlkBxCollection > m_l1t_results
TriggerBxVsOrbitMonitor(edm::ParameterSet const &)
const edm::EDGetTokenT< edm::TriggerResults > m_hlt_results
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const std::string m_dqm_path
void dqmAnalyze(edm::Event const &, edm::EventSetup const &, RunBasedHistograms const &) const override
void dqmBeginRun(edm::Run const &, edm::EventSetup const &, RunBasedHistograms &) const override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)