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

DQM: Make DQMProvInfo not use lumi transitions. #29907

Merged
merged 3 commits into from May 21, 2020

Conversation

schneiml
Copy link
Contributor

@schneiml schneiml commented May 19, 2020

PR description:

As pointed out in #25090 , DQMProvInfo is still a DQMOneLumiEDAnalyzer.

Rather than giving it the 1:1 port to lumi caches, I restructured it in a way that it does not need lumi transitions at all: In part, to have a nice example for how to do this; in part, because I think this is easier to understand; and in part, because it gives more correct output.

This is done by using a TProfile (edit: not any more) to aggregate data within a lumisection, and keeping state in local variables rather than instance variables. The code could easily run as DQMEDAnalyzer or DQMGlobalEDAnalyzer apart from one logical race condition around setupLumiSection, which is needed to treat "never seen" different from "empty". There would be other ways to do this, but DQMOneEDAnalyzer should be ok for such a small/fast analyzer.

However, this means the semantics have slightly changed, and a more thorough validation is needed.

Themain difference is that now reportSummaryMap is a TProfile2D, where each bin is the percentage (0..1) of events where this flag was set. This matches the old definition in the corner cases, but provides more information on the transitions. It also handles merging more correctly (though we should never merge inside lumis, so this is not really relevant). (Edit: switched back to TH2F for compatibility with the render plugin).

A side effect of the design change is that empty LS now show up as not valid, while they were valid before. In case of missing information, bins will be white, instead of red. I think this is acceptable.

Finally, the valid flag for each lumi is set as soon as at least one event of it is processed, while before it was set when the lumisection is completely processed. The latter semantics are hard to achieve in modern CMSSW, since we never really know if we have seen the full lumi or not. (It also does not really mean much in online, since this plot is created in a different client compared to most others, and its indistinguishable in the offline output).

PR validation:

Not much so far. PR tests should provide a good check on whether things work correctly.

@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-29907/15499

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

A new Pull Request was created by @schneiml (Marcel Schneider) for master.

It involves the following packages:

DQMServices/Components

@andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please review it and eventually sign? Thanks.
@barvic this is something you requested to watch as well.
@silviodonato, @dpiparo you are the release manager for this.

cms-bot commands are listed here

@schneiml
Copy link
Contributor Author

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented May 19, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/6424/console Started: 2020/05/19 15:59

@cmsbuild
Copy link
Contributor

+1
Tested at: d99c26b
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-989dce/6424/summary.html
CMSSW: CMSSW_11_1_X_2020-05-18-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-989dce/6424/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2694466
  • DQMHistoTests: Total failures: 29
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2694388
  • DQMHistoTests: Total skipped: 49
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 19623.735 KiB( 34 files compared)
  • DQMHistoSizes: changed ( 1000.0,... ): 726.805 KiB Info/EventInfo
  • Checked 150 log files, 16 edm output root files, 35 DQM output files

@schneiml
Copy link
Contributor Author

Ok, 700kB added is more than I expected, but exactly consistent with the reportSummarMap now being a profile. The comparison seems to be somewhere between perfectly clean and confused, I'll look at it in more detail tomorrow.

@schneiml
Copy link
Contributor Author

schneiml commented May 20, 2020

Ah, the GUI seems to have trouble rendering the TProfile based plot, and it is blacklisted now. Good to have checked...

Edit: The render plugin strictly expects a TH2F, which is not that surprising in hindsight. I'll convert the code to keep producing a TH2F; that is a bit less elegant but more robust than changing the render plugin.

The render plugin does not like the Profile. Also saves space.
This is more complicated/fragile, but fine.
@cmsbuild
Copy link
Contributor

The code-checks are being triggered in jenkins.

@schneiml
Copy link
Contributor Author

I missed part of the logic used for the legacy (SCAL) DCS status extraction. Should be fixed now.

@cmsbuild
Copy link
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-29907/15532

  • This PR adds an extra 20KB to repository

@cmsbuild
Copy link
Contributor

Pull request #29907 was updated. @andrius-k, @kmaeshima, @schneiml, @cmsbuild, @jfernan2, @fioriNTU can you please check and sign again.

@schneiml
Copy link
Contributor Author

please test

now things should be fine.

@cmsbuild
Copy link
Contributor

cmsbuild commented May 20, 2020

The tests are being triggered in jenkins.
https://cmssdt.cern.ch/jenkins/job/ib-run-pr-tests/6466/console Started: 2020/05/20 17:43

@cmsbuild
Copy link
Contributor

+1
Tested at: 09e28ab
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-989dce/6466/summary.html
CMSSW: CMSSW_11_1_X_2020-05-19-2300
SCRAM_ARCH: slc7_amd64_gcc820

@cmsbuild
Copy link
Contributor

Comparison job queued.

@cmsbuild
Copy link
Contributor

Comparison is ready
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-989dce/6466/summary.html

Comparison Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 35
  • DQMHistoTests: Total histograms compared: 2694466
  • DQMHistoTests: Total failures: 1
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 2694416
  • DQMHistoTests: Total skipped: 49
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 34 files compared)
  • Checked 150 log files, 16 edm output root files, 35 DQM output files

@schneiml
Copy link
Contributor Author

+1

looks indeed good.

@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 (and backports should be raised in the release meeting by the corresponding L2)

@silviodonato
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit 4bbb63b into cms-sw:master May 21, 2020
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

3 participants