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

Fix GEM Offline DQM for GE2/1 Demonstrator (backport of #36883, 12_2_X) #36906

Conversation

seungjin-yang
Copy link
Contributor

PR description:

Backport of #36883. This PR fixes MonitorElement: WARNING:setBinLabel caused by GEM offline DQM not handling the new GEM geometry with GE2/1 demonstrator. See #36860 (comment).

PR validation:

This PR is tested with 11634.911.

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

This PR is a backport of #36883.

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2022

A new Pull Request was created by @seungjin-yang (Seungjin Yang) for CMSSW_12_2_X.

It involves the following packages:

  • DQMOffline/Muon (dqm)

@emanueleusai, @ahmad3213, @cmsbuild, @jfernan2, @pmandrik, @pbo0, @rvenditti can you please review it and eventually sign? Thanks.
@sscruz, @barvic, @bellan, @abbiendi, @Fedespring, @calderona, @HuguesBrun, @jhgoh, @ptcox, @trocino, @cericeci, @rociovilar this is something you requested to watch as well.
@perrotta, @dpiparo, @qliphy you are the release manager for this.

cms-bot commands are listed here

@seungjin-yang seungjin-yang changed the title Fix GEM Offline DQM for GE2/1 Demonstrator. Fix GEM Offline DQM for GE2/1 Demonstrator (backport of #36883, 12_2_X) Feb 8, 2022
@perrotta
Copy link
Contributor

perrotta commented Feb 8, 2022

Please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-038172/22277/summary.html
COMMIT: c24439e
CMSSW: CMSSW_12_2_X_2022-02-07-2300/slc7_amd64_gcc900
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/36906/22277/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: 27 differences found in the comparisons
  • DQMHistoTests: Total files compared: 42
  • DQMHistoTests: Total histograms compared: 3251344
  • DQMHistoTests: Total failures: 16
  • DQMHistoTests: Total nulls: 7
  • DQMHistoTests: Total successes: 3251299
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: -202.088 KiB( 41 files compared)
  • DQMHistoSizes: changed ( 11634.0,... ): -33.682 KiB GEM/Efficiency
  • DQMHistoSizes: changed ( 312.0 ): 0.004 KiB MessageLogger/Warnings
  • Checked 177 log files, 37 edm output root files, 42 DQM output files
  • TriggerResults: no differences found

@perrotta
Copy link
Contributor

perrotta commented Feb 8, 2022

urgent

@cmsbuild cmsbuild added the urgent label Feb 8, 2022
@jfernan2
Copy link
Contributor

jfernan2 commented Feb 8, 2022

+1

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 8, 2022

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

Copy link
Contributor

@perrotta perrotta left a comment

Choose a reason for hiding this comment

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

I notice that there are two modules missing with respect to the corresponding version in the master:

  • gemEfficiencyAnalyzer
  • gemEfficiencyHarvester

Are they needed in 12_2, or not?
Could you please comment about the difference?

@@ -27,30 +27,34 @@

Copy link
Contributor

Choose a reason for hiding this comment

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

Where is defined (and modified for Phase2) the gemEfficiencyAnalyzer?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

GEMEfficiencyAnalyzer::fillDescriptions automatically generates DQMOffline.Muon.gemEfficiencyAnalyzerDefault_cfi.py. Then, DQMOffline.Muon.gemEfficiencyAnalyzer_cfi loads GEMEfficiencyAnalyzer module from DQMOffline.Muon.gemEfficiencyAnalyzerDefault_cfi. Am I understanding your question correctly?

void GEMEfficiencyAnalyzer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
// beam scenario
{
edm::ParameterSetDescription desc;
desc.addUntracked<std::string>("name", "GlobalMuon");
desc.addUntracked<std::string>("folder", "GEM/Efficiency/type0");
desc.add<edm::InputTag>("recHitTag", edm::InputTag("gemRecHits"));
desc.add<edm::InputTag>("muonTag", edm::InputTag("muons"));
desc.addUntracked<bool>("isCosmics", false);
desc.addUntracked<bool>("useGlobalMuon", true);
desc.add<bool>("useSkipLayer", true);
desc.add<bool>("useOnlyME11", false);
desc.add<double>("residualRPhiCut", 2.0); // TODO need to be tuned
desc.add<bool>("usePropRErrorCut", false);
desc.add<double>("propRErrorCut", 1.0);
desc.add<bool>("usePropPhiErrorCut", false);
desc.add<double>("propPhiErrorCut", 0.01);
desc.addUntracked<std::vector<double> >("ptBins", {20., 30., 40., 50., 60., 70., 80., 90., 100., 120.});
desc.addUntracked<int>("etaNbins", 9);
desc.addUntracked<double>("etaLow", 1.4);
desc.addUntracked<double>("etaUp", 2.3);
desc.addUntracked<bool>("monitorGE11", true);
desc.addUntracked<bool>("monitorGE21", false);
desc.addUntracked<bool>("monitorGE0", false);
{
edm::ParameterSetDescription psd0;
psd0.setAllowAnything();
desc.add<edm::ParameterSetDescription>("ServiceParameters", psd0);
}
descriptions.add("gemEfficiencyAnalyzerDefault", desc);
} // beam scenario
// cosmic scenario
{
edm::ParameterSetDescription desc;
desc.addUntracked<std::string>("name", "GlobalMuon"); // FIXME
desc.addUntracked<std::string>("folder", "GEM/Efficiency/type0");
desc.add<edm::InputTag>("recHitTag", edm::InputTag("gemRecHits"));
desc.add<edm::InputTag>("muonTag", edm::InputTag("muons"));
desc.addUntracked<bool>("isCosmics", true);
desc.addUntracked<bool>("useGlobalMuon", false);
desc.add<bool>("useSkipLayer", true);
desc.add<bool>("useOnlyME11", true);
desc.add<double>("residualRPhiCut", 5.0); // TODO need to be tuned
desc.add<bool>("usePropRErrorCut", true);
desc.add<double>("propRErrorCut", 1.0);
desc.add<bool>("usePropPhiErrorCut", true);
desc.add<double>("propPhiErrorCut", 0.001);
desc.addUntracked<std::vector<double> >("ptBins", {0., 10., 20., 30., 40., 50., 60., 70., 80., 90., 100., 120.});
desc.addUntracked<int>("etaNbins", 9);
desc.addUntracked<double>("etaLow", 1.4);
desc.addUntracked<double>("etaUp", 2.3);
desc.addUntracked<bool>("monitorGE11", true);
desc.addUntracked<bool>("monitorGE21", false);
desc.addUntracked<bool>("monitorGE0", false);
{
edm::ParameterSetDescription psd0;
psd0.setAllowAnything();
desc.add<edm::ParameterSetDescription>("ServiceParameters", psd0);
}
descriptions.add("gemEfficiencyAnalyzerCosmicsDefault", desc);
} // cosmics
}

@@ -6,9 +6,9 @@
from DQMOffline.Muon.gemEfficiencyAnalyzer_cfi import gemEfficiencyAnalyzerSta as _gemEfficiencyAnalyzerSta

Copy link
Contributor

Choose a reason for hiding this comment

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

and the same for gemEfficiencyHarvester

Copy link
Contributor Author

Choose a reason for hiding this comment

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

same with the previous question. I know the configuration files are not currently following the style guide, but I will fix it later in the master branch.

void GEMEfficiencyHarvester::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.addUntracked<std::string>("folder", "GEM/Efficiency/type0");
descriptions.add("gemEfficiencyHarvesterDefault", desc);
}

@perrotta
Copy link
Contributor

perrotta commented Feb 8, 2022

@seungjin-yang in the two fillDescriptions methods that you are pointing out two modules are created with names

  • gemEfficiencyAnalyzerDefault
  • gemEfficiencyHarvesterDefault

If I am not wrong (and I am asking because I could be wrong) in the backport PR there are no modules called

  • gemEfficiencyAnalyzer
  • gemEfficiencyHarvester

My question is: unless those modules exist already somewhere else, aren't they needed in 12_2_X?

@seungjin-yang
Copy link
Contributor Author

seungjin-yang commented Feb 8, 2022

I notice that there are two modules missing with respect to the corresponding version in the master:

  • gemEfficiencyAnalyzer
  • gemEfficiencyHarvester
    Are they needed in 12_2, or not?

Please ignore this comment.
GEMEfficiencyAnalyzer and GEMEfficiencyHarvester are required for GEM offline DQM in 12_2X. Both modules have been moved from DQMOffline/Muon to DQM/GEM package in the master branch for better packaging.

@seungjin-yang
Copy link
Contributor Author

seungjin-yang commented Feb 8, 2022

@perrotta We don't need gemEfficiencyAnalyzer and gemEfficiencyHarvester in 12_2_X. I added them into the master branch to follow the style convention and remove some duplicate codes. However, I didn't add them to 12_2_X because I wanted to make minimal changes. Sorry for the confusion.

The hierarchies are as follows.

  • master: gemEfficiencyAnalyzerDefault -> gemEfficiencyAnalyzer -> gemEfficiencyAnalyzerTightGlb, gemEfficiencyAnalyzerSta`
  • 12_2_X: gemEfficiencyAnalyzerDefault -> gemEfficiencyAnalyzerTightGlb, gemEfficiencyAnalyzerSta

Then, the last two modules (gemEfficiencyAnalyzerTightGlb, gemEfficiencyAnalyzerSta) are included in the DQM sequence.

@perrotta
Copy link
Contributor

perrotta commented Feb 8, 2022

Ok, thank you @seungjin-yang , that makes sense (and indeed the python configuration in this backport PR do correspond to what you write)

@perrotta
Copy link
Contributor

perrotta commented Feb 8, 2022

+1

@cmsbuild cmsbuild merged commit 3662f17 into cms-sw:CMSSW_12_2_X Feb 8, 2022
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.

4 participants