50 : DQMEDHarvester(iConfig), conf_(iConfig) {
51 LogInfo(
"PixelDQM") <<
"SiPixelPhase1ResidualsExtra::SiPixelPhase1ResidualsExtra: Got DQM BackEnd interface" << endl;
59 LogInfo(
"PixelDQM") <<
"SiPixelPhase1ResidualsExtra::~SiPixelPhase1ResidualsExtra: Destructor" << endl;
79 float mean_range = 100.;
80 float rms_range = 200.;
86 iBooker.
book1D(
"residual_mean_x_Inner_PXLayer_" +
layer,
87 "Mean of Track Residuals X Inner Modules for Layer " +
layer +
";mean(x_rec-x_pred)[#mum]",
92 iBooker.
book1D(
"residual_mean_x_Outer_PXLayer_" +
layer,
93 "Mean of Track Residuals X Outer Modules for Layer " +
layer +
";mean(x_rec-x_pred)[#mum]",
98 iBooker.
book1D(
"residual_mean_y_Inner_PXLayer_" +
layer,
99 "Mean of Track Residuals Y Inner Modules for Layer " +
layer +
";mean(y_rec-y_pred)[#mum]",
104 iBooker.
book1D(
"residual_mean_y_Outer_PXLayer_" +
layer,
105 "Mean of Track Residuals Y Outer Modules for Layer " +
layer +
";mean(y_rec-y_pred)[#mum]",
111 iBooker.
book1D(
"residual_rms_x_Inner_PXLayer_" +
layer,
112 "RMS of Track Residuals X Inner Modules for Layer " +
layer +
";rms(x_rec-x_pred)[#mum]",
117 iBooker.
book1D(
"residual_rms_x_Outer_PXLayer_" +
layer,
118 "RMS of Track Residuals X Outer Modules for Layer " +
layer +
";rms(x_rec-x_pred)[#mum]",
123 iBooker.
book1D(
"residual_rms_y_Inner_PXLayer_" +
layer,
124 "RMS of Track Residuals Y Inner Modules for Layer " +
layer +
";rms(y_rec-y_pred)[#mum]",
129 iBooker.
book1D(
"residual_rms_y_Outer_PXLayer_" +
layer,
130 "RMS of Track Residuals Y Outer Modules for Layer " +
layer +
";rms(y_rec-y_pred)[#mum]",
136 "NormRes_mean_x_Inner_PXLayer_" +
layer,
137 "Mean of Normalized Track Residuals X Inner Modules for Layer " +
layer +
";mean((x_rec-x_pred)/x_err)",
142 "NormRes_mean_x_Outer_PXLayer_" +
layer,
143 "Mean of Normalized Track Residuals X Outer Modules for Layer " +
layer +
";mean((x_rec-x_pred)/x_err)",
148 "NormRes_mean_y_Inner_PXLayer_" +
layer,
149 "Mean of Normalized Track Residuals Y Inner Modules for Layer " +
layer +
";mean((y_rec-y_pred)/y_err)",
154 "NormRes_mean_y_Outer_PXLayer_" +
layer,
155 "Mean of Normalized Track Residuals Y Outer Modules for Layer " +
layer +
";mean((y_rec-y_pred)/y_err)",
161 "DRnR_x_Inner_PXLayer_" +
layer,
162 "RMS of Normalized Track Residuals X Inner Modules for Layer " +
layer +
";rms((x_rec-x_pred)/x_err)",
167 "DRnR_x_Outer_PXLayer_" +
layer,
168 "RMS of Normalized Track Residuals X Outer Modules for Layer " +
layer +
";rms((x_rec-x_pred)/x_err)",
173 "DRnR_y_Inner_PXLayer_" +
layer,
174 "RMS of Normalized Track Residuals Y Inner Modules for Layer " +
layer +
";rms((y_rec-y_pred)/y_err)",
179 "DRnR_y_Outer_PXLayer_" +
layer,
180 "RMS of Normalized Track Residuals Y Outer Modules for Layer " +
layer +
";rms((y_rec-y_pred)/y_err)",
190 "residual_mean_x_Inner",
"Mean of Track Residuals X Inner Modules;mean(x_rec-x_pred)[#mum]", 100, -100., 100.);
192 "residual_mean_x_Outer",
"Mean of Track Residuals X Outer Modules;mean(x_rec-x_pred)[#mum]", 100, -100., 100.);
194 "residual_mean_y_Inner",
"Mean of Track Residuals Y Inner Modules;mean(y_rec-y_pred)[#mum]", 100, -100., 100.);
196 "residual_mean_y_Outer",
"Mean of Track Residuals Y Outer Modules;mean(y_rec-y_pred)[#mum]", 100, -100., 100.);
199 "residual_rms_x_Inner",
"RMS of Track Residuals X Inner Modules;rms(x_rec-x_pred)[#mum]", 100, 0., 200.);
201 "residual_rms_x_Outer",
"RMS of Track Residuals X Outer Modules;rms(x_rec-x_pred)[#mum]", 100, 0., 200.);
203 "residual_rms_y_Inner",
"RMS of Track Residuals Y Inner Modules;rms(y_rec-y_pred)[#mum]", 100, 0., 200.);
205 "residual_rms_y_Outer",
"RMS of Track Residuals Y Outer Modules;rms(y_rec-y_pred)[#mum]", 100, 0., 200.);
207 DRnR_[
"NormRes_mean_x_Inner"] =
208 iBooker.
book1D(
"NormRes_mean_x_Inner",
209 "Mean of Normalized Track Residuals X Inner Modules;mean((x_rec-x_pred)/x_err)",
213 DRnR_[
"NormRes_mean_x_Outer"] =
214 iBooker.
book1D(
"NormRes_mean_x_Outer",
215 "Mean of Normalized Track Residuals X Outer Modules;mean((x_rec-x_pred)/x_err)",
219 DRnR_[
"NormRes_mean_y_Inner"] =
220 iBooker.
book1D(
"NormRes_mean_y_Inner",
221 "Mean of Normalized Track Residuals Y Inner Modules;mean((y_rec-y_pred)/y_err)",
225 DRnR_[
"NormRes_mean_y_Outer"] =
226 iBooker.
book1D(
"NormRes_mean_y_Outer",
227 "Mean of Normalized Track Residuals Y Outer Modules;mean((y_rec-y_pred)/y_err)",
233 "DRnR_x_Inner",
"RMS of Normalized Track Residuals X Inner Modules;rms((x_rec-x_pred)/x_err)", 100, 0., 5.);
235 "DRnR_x_Outer",
"RMS of Normalized Track Residuals X Outer Modules;rms((x_rec-x_pred)/x_err)", 100, 0., 5.);
237 "DRnR_y_Inner",
"RMS of Normalized Track Residuals Y Inner Modules;rms((y_rec-y_pred)/y_err)", 100, 0., 5.);
239 "DRnR_y_Outer",
"RMS of Normalized Track Residuals Y Outer Modules;rms((y_rec-y_pred)/y_err)", 100, 0., 5.);
245 "residual_mean_x_pos",
"Mean of Track Residuals X pos. Side;mean(x_rec-x_pred)[#mum]", 100, -100., 100.);
247 "residual_mean_x_neg",
"Mean of Track Residuals X neg. Side;mean(x_rec-x_pred)[#mum]", 100, -100., 100.);
249 "residual_mean_y_pos",
"Mean of Track Residuals Y pos. Side;mean(y_rec-y_pred)[#mum]", 100, -100., 100.);
251 "residual_mean_y_neg",
"Mean of Track Residuals Y neg. Side;mean(y_rec-y_pred)[#mum]", 100, -100., 100.);
254 iBooker.
book1D(
"residual_rms_x_pos",
"RMS of Track Residuals X pos. Side;rms(x_rec-x_pred)[#mum]", 100, 0., 200.);
256 iBooker.
book1D(
"residual_rms_x_neg",
"RMS of Track Residuals X neg. Side;rms(x_rec-x_pred)[#mum]", 100, 0., 200.);
258 iBooker.
book1D(
"residual_rms_y_pos",
"RMS of Track Residuals Y pos. Side;rms(y_rec-y_pred)[#mum]", 100, 0., 200.);
260 iBooker.
book1D(
"residual_rms_y_neg",
"RMS of Track Residuals Y neg. Side;rms(y_rec-y_pred)[#mum]", 100, 0., 200.);
263 "NormRes_mean_x_pos",
"Mean of Normalized Track Residuals X pos. Side;mean((x_rec-x_pred)/x_err)", 100, -5., 5.);
265 "NormRes_mean_x_neg",
"Mean of Normalized Track Residuals X neg. Side;mean((x_rec-x_pred)/x_err)", 100, -5., 5.);
267 "NormRes_mean_y_pos",
"Mean of Normalized Track Residuals Y pos. Side;mean((y_rec-y_pred)/y_err)", 100, -5., 5.);
269 "NormRes_mean_y_neg",
"Mean of Normalized Track Residuals Y neg. Side;mean((y_rec-y_pred)/y_err)", 100, -5., 5.);
272 "DRnR_x_pos",
"RMS of Normalized Track Residuals X pos. Side;rms((x_rec-x_pred)/x_err)", 100, 0., 5.);
274 "DRnR_x_neg",
"RMS of Normalized Track Residuals X neg. Side;rms((x_rec-x_pred)/x_err)", 100, 0., 5.);
276 "DRnR_y_pos",
"RMS of Normalized Track Residuals Y pos. Side;rms((y_rec-y_pred)/y_err)", 100, 0., 5.);
278 "DRnR_y_neg",
"RMS of Normalized Track Residuals Y neg. Side;rms((y_rec-y_pred)/y_err)", 100, 0., 5.);
295 iGetter.
get(
"PixelPhase1/Tracks/PXBarrel/residual_x_per_SignedModule_per_SignedLadder_PXLayer_" +
layer);
297 iGetter.
get(
"PixelPhase1/Tracks/PXBarrel/residual_y_per_SignedModule_per_SignedLadder_PXLayer_" +
layer);
299 "PixelPhase1/Tracks/ResidualsExtra/PXBarrel/DRnR_x_per_SignedModule_per_SignedLadder_PXLayer_" +
layer);
301 "PixelPhase1/Tracks/ResidualsExtra/PXBarrel/DRnR_y_per_SignedModule_per_SignedLadder_PXLayer_" +
layer);
303 if (me_x ==
nullptr || me_y ==
nullptr || me2_x ==
nullptr || me2_y ==
nullptr) {
305 <<
"Residuals plots for Pixel BPIX Layer" <<
layer <<
" not found. Skipping ResidualsExtra plots generation.";
313 if (i <= me_x->getNbinsY() / 2) {
314 bool iAmInner = (
i % 2 == 0);
316 for (
int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
329 for (
int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
343 bool iAmInner = (
i % 2 == 1);
345 for (
int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
358 for (
int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
372 for (
int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
391 iGetter.
get(
"PixelPhase1/Tracks/PXForward/residual_x_per_PXDisk_per_SignedBladePanel_PXRing_" +
ring);
393 iGetter.
get(
"PixelPhase1/Tracks/PXForward/residual_y_per_PXDisk_per_SignedBladePanel_PXRing_" +
ring);
395 "PixelPhase1/Tracks/ResidualsExtra/PXForward/DRnR_x_per_PXDisk_per_SignedBladePanel_PXRing_" +
ring);
397 "PixelPhase1/Tracks/ResidualsExtra/PXForward/DRnR_y_per_PXDisk_per_SignedBladePanel_PXRing_" +
ring);
399 if (me_x ==
nullptr || me_y ==
nullptr || me2_x ==
nullptr || me2_y ==
nullptr) {
401 <<
"Residuals plots for Pixel FPIX Ring" <<
ring <<
" not found. Skipping ResidualsExtra plots generation.";
405 bool posSide =
false;
420 bool iAmInner = (
i % 2 == 0);
virtual int getNbinsY() const
get # of bins in Y-axis
virtual void setCurrentFolder(std::string const &fullpath)
#define DEFINE_FWK_MODULE(type)
virtual double getBinError(int binx) const
get uncertainty on content of bin (1-D) - See TH1::GetBinError for details
constexpr std::array< uint8_t, layerIndexSize > layer
virtual int getNbinsX() const
get # of bins in X-axis
virtual MonitorElement * get(std::string const &fullpath) const
virtual double getBinContent(int binx) const
get content of bin (1-D)
Log< level::Info, false > LogInfo
virtual void setBinEntries(int bin, double nentries)
set # of bin entries (to be used for profiles)
virtual int getBin(int binx, int biny) const
get global bin number (for 2-D profiles)
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
T getParameter(std::string const &) const
virtual double getBinEntries(int bin) const
get # of bin entries (for profiles)
Log< level::Warning, false > LogWarning
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())