Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DRnR plots to PixelPhase1 DQM #34516

Merged
merged 6 commits into from Jul 21, 2021
Merged

Conversation

arossi83
Copy link
Contributor

PR description:

The main target of this PR is the addition of DRnR plots to the PixelPhase1 DQM. Everything has been packed inside a dedicated harvester and also other residuals plots creation has been moved here for consistency

PR validation:

Running wf 136.892 and standalone pixel online DQM client

if this PR is a backport please specify the original PR and why you need to backport that PR:

not a backport and no backport forseen

@arossi83
Copy link
Contributor Author

@mmusich @sroychow @dmeuser FYI

}
for (int j : {1, 2, 3, 4, 6, 7, 8, 9}) {
if (me_x->getBinEntries(j, i) < minHits_){
std::cout<<"Barrel Bin "<<j<<","<<i<<" - Entries "<<me2_x->getBinEntries(j, i)<<std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no cout please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

me2_y->setBinEntries(me2_y->getBin(j, i),1);
}
else{
std::cout<<"Endcap Bin "<<j<<","<<i<<" - Entries "<<me2_x->getBinEntries(j, i)<<std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no cout please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@@ -81,6 +83,14 @@ namespace {
histo[RESIDUAL_X].fill(it.resXprime, id, &iEvent);
histo[RESIDUAL_Y].fill(it.resYprime, id, &iEvent);

if (it.resXprimeErr!=0 && it.resXprimeErr!=0){
std::cout<<it.resXprime<<" - "<<it.resXprimeErr<<" - "<<it.resXprime/it.resXprimeErr<<std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no cout please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-34516/24018

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@cmsbuild
Copy link
Contributor

-code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-34516/24020

Code check has found code style and quality issues which could be resolved by applying following patch(s)

@mmusich
Copy link
Contributor

mmusich commented Jul 16, 2021

code-checks

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-34516/24021

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @arossi83 (Alessandro Rossi) for master.

It involves the following packages:

  • DQM/SiPixelPhase1Config (dqm)
  • DQM/SiPixelPhase1Summary (dqm)
  • DQM/SiPixelPhase1Track (dqm)

@andrius-k, @kmaeshima, @ErnestaP, @ahmad3213, @cmsbuild, @jfernan2, @rvenditti can you please review it and eventually sign? Thanks.
@arossi83, @hdelanno, @sroychow, @fioriNTU, @jandrea, @idebruyn, @threus this is something you requested to watch as well.
@silviodonato, @dpiparo, @qliphy, @perrotta you are the release manager for this.

cms-bot commands are listed here

#include "FWCore/Framework/interface/EventSetup.h"
#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/LuminosityBlock.h"
#include "FWCore/Framework/interface/ESHandle.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's not needed.

Copy link
Contributor Author

@arossi83 arossi83 Jul 19, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

~SiPixelPhase1ResidualsExtra() override;

protected:
// BeginJob
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove commented code

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@@ -81,6 +92,13 @@ namespace {
histo[RESIDUAL_X].fill(it.resXprime, id, &iEvent);
histo[RESIDUAL_Y].fill(it.resYprime, id, &iEvent);

if (it.resXprimeErr != 0 && it.resXprimeErr != 0) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't understand the logic here, isn't this duplicated twice?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@arossi83 can you please clarify this, or remove the duplication?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I just realize where the duplication is, obviously is a typo. I just fixed it!

if (it.resXprimeErr != 0 && it.resXprimeErr != 0) {
histo[NormRes_X].fill(it.resXprime / it.resXprimeErr, id, &iEvent);
histo[NormRes_Y].fill(it.resYprime / it.resYprimeErr, id, &iEvent);
histo[DRNR_X].fill(it.resXprime / it.resXprimeErr, id, &iEvent);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how is DRNR_X different from NormRes_X ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No difference at this level, the differences are introduced in the harvesting step. I separate the plots here in order to have a proper histogram name on the DQMIO root file for DRnR. Summarizing: here DRNR_X is used to fill a 2D Profile which will show NormRes mean value for each bin, in the harvesting the content of this 2D profile is changed replacing the Mean value with RMS for each bin(module).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't the histogram be booked directly in the harvesting step?

Copy link
Contributor Author

@arossi83 arossi83 Jul 19, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In principle we can have the MEs booked and filled in the step3 but to do that we need to implement a method to evaluate RMS of single module in a running way (storing average, average of the square and number of entries) and be sure to be multithread and Concurrent LS safe. In the way things are implemented the 2DProfile ME take care of everything and the "cost" is to have an apparently duplicated entry on step3.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-34516/24093

@cmsbuild
Copy link
Contributor

Pull request #34516 was updated. @andrius-k, @kmaeshima, @ErnestaP, @ahmad3213, @cmsbuild, @jfernan2, @rvenditti can you please check and sign again.

@mmusich
Copy link
Contributor

mmusich commented Jul 20, 2021

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-9f6227/17011/summary.html
COMMIT: 80973f9
CMSSW: CMSSW_12_0_X_2021-07-19-1100/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/34516/17011/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 39
  • DQMHistoTests: Total histograms compared: 2995596
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2995573
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 1646.008 KiB( 38 files compared)
  • DQMHistoSizes: changed ( 10024.0,... ): 117.572 KiB PixelPhase1/Tracks
  • Checked 165 log files, 37 edm output root files, 39 DQM output files
  • TriggerResults: no differences found

@jfernan2
Copy link
Contributor

+1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo, @qliphy, @perrotta (and backports should be raised in the release meeting by the corresponding L2)

@qliphy
Copy link
Contributor

qliphy commented Jul 21, 2021

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants