41 monitorName_ = parameters_.getUntrackedParameter<
string>(
"monitorName",
"YourSubsystemName");
42 cout <<
"DQMSourceExample: Monitor name = " << monitorName_ << endl;
43 if (!monitorName_.empty())
44 monitorName_ = monitorName_ +
"/";
47 prescaleLS_ = parameters_.getUntrackedParameter<
int>(
"prescaleLS", -1);
48 cout <<
"DQMSourceExample: DQM lumi section prescale = " << prescaleLS_ <<
" lumi section(s)" << endl;
49 prescaleEvt_ = parameters_.getUntrackedParameter<
int>(
"prescaleEvt", -1);
50 cout <<
"DQMSourceExample: DQM event prescale = " << prescaleEvt_ <<
" events(s)" << endl;
65 dbe_->setCurrentFolder(monitorName_ +
"DQMsource/Summary");
66 summ =
dbe_->book1D(
"summary",
"Run Summary", 100, 0, 100);
73 dbe_->setCurrentFolder(monitorName_ +
"DQMsource/QTests");
83 xTrue =
dbe_->book1D(
"XTrue",
"X Range QTest",
NBINS, XMIN, XMAX);
84 xFalse =
dbe_->book1D(
"XFalse",
"X Range QTest",
NBINS, XMIN, XMAX);
85 yTrue =
dbe_->book1D(
"YTrue",
"Y Range QTest",
NBINS, XMIN, XMAX);
86 yFalse =
dbe_->book1D(
"YFalse",
"Y Range QTest",
NBINS, XMIN, XMAX);
87 wExpTrue =
dbe_->book2D(
"WExpTrue",
"Contents Within Expected QTest",
NBINS, XMIN, XMAX,
NBINS, XMIN, XMAX);
88 wExpFalse =
dbe_->book2D(
"WExpFalse",
"Contents Within Expected QTest",
NBINS, XMIN, XMAX,
NBINS, XMIN, XMAX);
89 meanTrue =
dbe_->book1D(
"MeanTrue",
"Mean Within Expected QTest",
NBINS, XMIN, XMAX);
90 meanFalse =
dbe_->book1D(
"MeanFalse",
"Mean Within Expected QTest",
NBINS, XMIN, XMAX);
91 deadTrue =
dbe_->book1D(
"DeadTrue",
"Dead Channel QTest",
NBINS, XMIN, XMAX);
92 deadFalse =
dbe_->book1D(
"DeadFalse",
"Dead Channel QTest",
NBINS, XMIN, XMAX);
93 noisyTrue =
dbe_->book1D(
"NoisyTrue",
"Noisy Channel QTest",
NBINS, XMIN, XMAX);
94 noisyFalse =
dbe_->book1D(
"NoisyFalse",
"Noisy Channel QTest",
NBINS, XMIN, XMAX);
101 dbe_->setCurrentFolder(monitorName_ +
"DQMsource/C1");
102 const int NBINS2 = 10;
104 i1 =
dbe_->bookInt(
"int1");
105 f1 =
dbe_->bookFloat(
"float1");
106 s1 =
dbe_->bookString(
"s1",
"My string");
107 h1 =
dbe_->book1D(
"h1f",
"Example TH1F 1D histogram.", NBINS2, XMIN, XMAX);
108 h2 =
dbe_->book1S(
"h1s",
"Example TH1S histogram.",
NBINS, XMIN, XMAX);
112 p1 =
dbe_->bookProfile(
"prof1",
"My profile 1D",
NBINS, XMIN, XMAX,
NBINS, XMIN, XMAX,
"");
113 p2 =
dbe_->bookProfile2D(
"prof2",
"My profile 2D",
NBINS, XMIN, XMAX,
NBINS, XMIN, XMAX,
NBINS, XMIN, XMAX,
"");
114 h1hist =
dbe_->book1D(
"history 1D",
"Example 1 1D history plot", 30, 0., 30.);
118 for (
int i = 1;
i <= NBINS2; ++
i) {
119 sprintf(temp,
" bin no. %d",
i);
120 h1->setBinLabel(
i, temp);
124 const unsigned int detector_id = 17;
125 dbe_->tag(h1, detector_id);
128 dbe_->tagContents(monitorName_ +
"DQMsource/C1", detector_id);
140 dbe_->showDirStructure();
153 if (prescaleEvt_ < 1)
155 if (prescaleEvt_ > 0 && counterEvt_ % prescaleEvt_ != 0)
161 i1->Fill(400000000000000LL);
170 if (counterEvt_ % 1000 == 0) {
171 cout <<
" # of events = " << counterEvt_ << endl;
172 summ->Fill(counterEvt_ / 1000., counterEvt_);
175 if (counterEvt_ % 100 == 0) {
176 h1hist->ShiftFillLast(gRandom->Gaus(12, 1.), 1., 5);
179 float z = gRandom->Uniform(XMAX);
180 xTrue->Fill(z, 1. /
log(z + 1.));
181 xFalse->Fill(z + (XMAX / 2.), z);
182 yTrue->Fill(z, 1. /
log(z + 1.));
184 meanTrue->Fill(gRandom->Gaus(10, 2), 1.);
185 meanFalse->Fill(gRandom->Gaus(12, 3), 1.);
186 wExpTrue->Fill(gRandom->Gaus(12, 1), gRandom->Gaus(12, 1), 1.);
187 wExpFalse->Fill(gRandom->Gaus(20, 2), gRandom->Gaus(20, 2), 1.);
188 deadTrue->Fill(gRandom->Gaus(20, 10), 2.);
189 deadFalse->Fill(gRandom->Gaus(20, 4), 1.);
190 h2->Fill(gRandom->Gaus(20, 4), 1.);
197 for (
int i = 0;
i != 10; ++
i) {
198 float w = gRandom->Uniform(XMAX);
199 noisyTrue->Fill(w, 1.);
200 noisyFalse->Fill(z, 1.);
201 float x = gRandom->Gaus(12, 1);
202 float y = gRandom->Gaus(20, 2);
204 p2->Fill(x, y, (x + y) / 2.);
static AlgebraicMatrix initialize()
~DQMSourceExample() override
DQMSourceExample(const edm::ParameterSet &)
void beginRun(const edm::Run &r, const edm::EventSetup &c) override
void endRun(const edm::Run &r, const edm::EventSetup &c) override
void analyze(const edm::Event &e, const edm::EventSetup &c) override